UNPKG

@ark-ui/vue

Version:

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

75 lines (68 loc) 2.78 kB
'use strict'; Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } }); const vue = require('vue'); const toast = require('@zag-js/toast'); const vue$1 = require('@zag-js/vue'); const useEnvironmentContext = require('../../providers/environment/use-environment-context.cjs'); const useLocaleContext = require('../../providers/locale/use-locale-context.cjs'); const useForwardExpose = require('../../utils/use-forward-expose.cjs'); const factory = require('../factory.cjs'); const toasterItem_vue_vue_type_script_setup_true_lang = require('./toaster-item.vue.cjs'); function _interopNamespaceDefault(e) { const n = Object.create(null, { [Symbol.toStringTag]: { value: 'Module' } }); if (e) { for (const k in e) { if (k !== 'default') { const d = Object.getOwnPropertyDescriptor(e, k); Object.defineProperty(n, k, d.get ? d : { enumerable: true, get: () => e[k] }); } } } n.default = e; return Object.freeze(n); } const toast__namespace = /*#__PURE__*/_interopNamespaceDefault(toast); const _sfc_main = /* @__PURE__ */ vue.defineComponent({ __name: "toaster", props: { toaster: {}, asChild: { type: Boolean } }, setup(__props) { const props = __props; const locale = useLocaleContext.useLocaleContext(useLocaleContext.DEFAULT_LOCALE); const env = useEnvironmentContext.useEnvironmentContext(useEnvironmentContext.DEFAULT_ENVIRONMENT); const service = vue$1.useMachine(toast__namespace.group.machine, { store: props.toaster, id: vue.useId(), dir: locale?.value.dir, getRootNode: env?.value.getRootNode }); const api = vue.computed(() => toast__namespace.group.connect(service, vue$1.normalizeProps)); useForwardExpose.useForwardExpose(); return (_ctx, _cache) => { return vue.openBlock(), vue.createBlock(vue.unref(factory.ark).div, vue.normalizeProps(vue.guardReactiveProps(api.value.getGroupProps())), { default: vue.withCtx(() => [ (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(api.value.getToasts(), (toastItem, index) => { return vue.openBlock(), vue.createBlock(toasterItem_vue_vue_type_script_setup_true_lang.default, { key: toastItem.id, value: toastItem, parent: vue.unref(service), index }, { default: vue.withCtx((slotProps) => [ vue.renderSlot(_ctx.$slots, "default", vue.mergeProps({ ref_for: true }, slotProps)) ]), _: 3 }, 8, ["value", "parent", "index"]); }), 128)) ]), _: 3 }, 16); }; } }); exports.default = _sfc_main;