import { MenuItemBase, newMenu } from './base.js'; import { invoke } from '../core.js'; // Copyright 2019-2024 Tauri Programme within The Commons Conservancy // SPDX-License-Identifier: Apache-2.0 // SPDX-License-Identifier: MIT /** A predefined (native) menu item which has a predefined behavior by the OS or by tauri. */ class PredefinedMenuItem extends MenuItemBase { /** @ignore */ constructor(rid, id) { super(rid, id, 'Predefined'); } /** Create a new predefined menu item. */ static async new(opts) { return newMenu('Predefined', opts).then(([rid, id]) => new PredefinedMenuItem(rid, id)); } /** Returns the text of this predefined menu item. */ async text() { return invoke('plugin:menu|text', { rid: this.rid, kind: this.kind }); } /** Sets the text for this predefined menu item. */ async setText(text) { return invoke('plugin:menu|set_text', { rid: this.rid, kind: this.kind, text }); } } export { PredefinedMenuItem };