UNPKG

@ark-ui/vue

Version:

A collection of unstyled, accessible UI components for Vue, utilizing state machines for seamless interaction.

52 lines (47 loc) 1.86 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const factory = require('../factory.cjs'); const useMenuContext = require('./use-menu-context.cjs'); const useMenuItemContext = require('./use-menu-item-context.cjs'); const useMenuOptionItemPropsContext = require('./use-menu-option-item-props-context.cjs'); const useForwardExpose = require('../../utils/use-forward-expose.cjs'); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "menu-checkbox-item", props: /* @__PURE__ */ vue.mergeDefaults({ checked: { type: Boolean }, value: {}, disabled: { type: Boolean }, valueText: {}, closeOnSelect: { type: Boolean }, asChild: { type: Boolean } }, { checked: void 0, disabled: void 0, closeOnSelect: void 0 }), emits: ["update:checked"], setup(__props, { emit: __emit }) { const props = __props; const emits = __emit; const menu = useMenuContext.useMenuContext(); const optionItemProps = vue.computed(() => ({ ...props, type: "checkbox", onCheckedChange: (e) => emits("update:checked", e) })); const optionItemState = vue.computed(() => menu.value.getOptionItemState(optionItemProps.value)); useMenuItemContext.MenuItemProvider(optionItemState); useMenuOptionItemPropsContext.MenuItemPropsProvider(optionItemProps); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(factory.ark).div, vue.mergeProps(vue.unref(menu).getOptionItemProps(optionItemProps.value), { "as-child": _ctx.asChild }), { default: vue.withCtx(() => [ vue.renderSlot(_ctx.$slots, "default") ]), _: 3 }, 16, ["as-child"]); }; } }); exports.default = _sfc_main;