import { defineComponent as u, ref as i, provide as f, onMounted as h, getCurrentInstance as b, toRaw as y, onBeforeUnmount as g, openBlock as C, createElementBlock as S, watch as x } from "vue";
import { Menu as w } from "@bryntum/taskboard";
import { WrapperHelper as r } from "../helper/WrapperHelper.js";
const z = /* @__PURE__ */ u({
  __name: "BryntumMenu",
  props: {
    adopt: {},
    align: {},
    alignSelf: {},
    anchor: {},
    appendTo: {},
    ariaDescription: {},
    ariaLabel: {},
    autoClose: {},
    autoShow: {},
    autoUpdateRecord: {},
    bbar: {},
    bodyCls: {},
    border: {},
    bubbleEvents: {},
    callOnFunctions: {},
    catchEventHandlerExceptions: {},
    centered: {},
    closable: {},
    closeAction: {},
    closeOnEscape: {},
    cls: {},
    collapsed: {},
    collapsible: {},
    color: {},
    column: {},
    config: {},
    constrainTo: {},
    content: {},
    contentElementCls: {},
    dataField: {},
    dataset: {},
    defaultBindProperty: {},
    defaultFocus: { type: [Function, String] },
    defaults: {},
    detectCSSCompatibilityIssues: {},
    disabled: {},
    dock: {},
    draggable: {},
    drawer: {},
    elementAttributes: {},
    extraData: {},
    flex: {},
    floating: {},
    focusOnHover: {},
    focusOnToFront: {},
    footer: {},
    forElement: {},
    header: {},
    height: {},
    hidden: {},
    hideAnimation: {},
    hideWhenEmpty: {},
    html: { type: [String, Function, Array] },
    htmlCls: {},
    icon: {},
    id: {},
    ignoreParentReadOnly: {},
    inputFieldAlign: {},
    insertBefore: {},
    insertFirst: {},
    itemCls: {},
    items: {},
    keyMap: {},
    labelPosition: {},
    labelWidth: {},
    layout: {},
    layoutStyle: {},
    lazyItems: {},
    listeners: {},
    localeClass: {},
    localizable: {},
    localizableProperties: {},
    margin: {},
    maskDefaults: {},
    masked: {},
    maxHeight: {},
    maximizable: {},
    maximized: {},
    maximizeOnMobile: {},
    maxWidth: {},
    minHeight: {},
    minWidth: {},
    modal: {},
    monitorResize: {},
    namedItems: {},
    positioned: {},
    preventTooltipOnTouch: {},
    readOnly: {},
    record: {},
    relayStoreEvents: {},
    rendition: {},
    resizable: {},
    ripple: {},
    role: {},
    rootElement: {},
    rtl: {},
    scrollAction: {},
    showAnimation: {},
    showOnClick: {},
    showTooltipWhenDisabled: {},
    span: {},
    stateful: {},
    statefulEvents: {},
    stateId: {},
    stateProvider: {},
    strictRecordMapping: {},
    strips: {},
    tab: {},
    tabBarItems: {},
    tag: {},
    tbar: {},
    textAlign: {},
    textContent: {},
    title: {},
    tools: {},
    tooltip: {},
    trapFocus: {},
    type: {},
    ui: {},
    weight: {},
    width: {},
    x: {},
    y: {}
  },
  emits: ["beforeClose", "beforeDestroy", "beforeHide", "beforeSetRecord", "beforeShow", "beforeStateApply", "beforeStateSave", "catchAll", "collapse", "destroy", "dirtyStateChange", "elementCreated", "expand", "focusIn", "focusOut", "hide", "item", "paint", "readOnly", "recompose", "resize", "show", "toggle", "toolClick"],
  setup(E, { expose: s, emit: c }) {
    const d = c, a = {
      instanceClass: w,
      instanceName: "Menu",
      configNames: [
        "adopt",
        "align",
        "anchor",
        "ariaDescription",
        "ariaLabel",
        "autoClose",
        "autoShow",
        "autoUpdateRecord",
        "bbar",
        "bodyCls",
        "border",
        "bubbleEvents",
        "centered",
        "closable",
        "closeAction",
        "closeOnEscape",
        "collapsible",
        "color",
        "config",
        "constrainTo",
        "contentElementCls",
        "dataField",
        "defaultBindProperty",
        "defaultFocus",
        "defaults",
        "detectCSSCompatibilityIssues",
        "dock",
        "draggable",
        "drawer",
        "elementAttributes",
        "floating",
        "focusOnHover",
        "focusOnToFront",
        "footer",
        "forElement",
        "header",
        "hideAnimation",
        "hideWhenEmpty",
        "htmlCls",
        "icon",
        "ignoreParentReadOnly",
        "itemCls",
        "lazyItems",
        "listeners",
        "localeClass",
        "localizable",
        "localizableProperties",
        "maskDefaults",
        "masked",
        "maximizable",
        "modal",
        "monitorResize",
        "namedItems",
        "positioned",
        "preventTooltipOnTouch",
        "relayStoreEvents",
        "ripple",
        "role",
        "rootElement",
        "scrollAction",
        "showAnimation",
        "showOnClick",
        "showTooltipWhenDisabled",
        "stateful",
        "statefulEvents",
        "stateId",
        "stateProvider",
        "strips",
        "tab",
        "tabBarItems",
        "tag",
        "tbar",
        "textAlign",
        "textContent",
        "trapFocus",
        "type",
        "ui",
        "weight"
      ],
      propertyConfigNames: [
        "alignSelf",
        "appendTo",
        "callOnFunctions",
        "catchEventHandlerExceptions",
        "cls",
        "collapsed",
        "column",
        "content",
        "dataset",
        "disabled",
        "extraData",
        "flex",
        "height",
        "hidden",
        "html",
        "id",
        "inputFieldAlign",
        "insertBefore",
        "insertFirst",
        "items",
        "keyMap",
        "labelPosition",
        "labelWidth",
        "layout",
        "layoutStyle",
        "margin",
        "maxHeight",
        "maximized",
        "maximizeOnMobile",
        "maxWidth",
        "minHeight",
        "minWidth",
        "onBeforeClose",
        "onBeforeDestroy",
        "onBeforeHide",
        "onBeforeSetRecord",
        "onBeforeShow",
        "onBeforeStateApply",
        "onBeforeStateSave",
        "onCatchAll",
        "onCollapse",
        "onDestroy",
        "onDirtyStateChange",
        "onElementCreated",
        "onExpand",
        "onFocusIn",
        "onFocusOut",
        "onHide",
        "onItem",
        "onPaint",
        "onReadOnly",
        "onRecompose",
        "onResize",
        "onShow",
        "onToggle",
        "onToolClick",
        "readOnly",
        "record",
        "rendition",
        "resizable",
        "rtl",
        "span",
        "strictRecordMapping",
        "title",
        "tools",
        "tooltip",
        "width",
        "x",
        "y"
      ],
      propertyNames: [
        "parent",
        "selectedElement",
        "state",
        "values"
      ],
      eventNames: [
        "beforeClose",
        "beforeDestroy",
        "beforeHide",
        "beforeSetRecord",
        "beforeShow",
        "beforeStateApply",
        "beforeStateSave",
        "catchAll",
        "collapse",
        "destroy",
        "dirtyStateChange",
        "elementCreated",
        "expand",
        "focusIn",
        "focusOut",
        "hide",
        "item",
        "paint",
        "readOnly",
        "recompose",
        "resize",
        "show",
        "toggle",
        "toolClick"
      ]
    }, e = {}, t = i(), n = i(/* @__PURE__ */ new Map());
    return f("teleports", n), h(() => {
      const o = b();
      e.value = r.createWidget({
        me: o,
        widgetData: a,
        emit: d,
        element: t.value,
        toRaw: y
      });
      const l = (p, m) => x(() => o.props[p], m);
      r.watchProps(e.value, a, l);
    }), g(() => {
      e.value?.destroy?.();
    }), s({
      instance: e,
      refElement: t,
      teleports: n
    }), (o, l) => (C(), S("div", {
      ref_key: "refElement",
      ref: t
    }, null, 512));
  }
});
export {
  z as _
};
//# sourceMappingURL=C7Z7WBR-.js.map
