UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

199 lines (191 loc) 8.92 kB
import { mergeModels, useModel, openBlock, createBlock, Teleport, createVNode, Transition, withCtx, withDirectives, mergeProps, createElementVNode, normalizeClass, normalizeStyle, createElementBlock, renderSlot, Fragment, toDisplayString, createCommentVNode, createTextVNode, vShow } from 'vue'; import { useNamespace } from '../../../hook/use-namespace/index.mjs'; import 'song-ui-pro-icon'; import '../../../hook/use-zindex/index.mjs'; import { XButton } from '../../button/index.mjs'; import '../../buttonGroup/index.mjs'; import { XIcon } from '../../icon/index.mjs'; import '../../input/index.mjs'; import '../../textarea/index.mjs'; import '../../row/index.mjs'; import '../../col/index.mjs'; import '../../container/index.mjs'; import '../../checkbox/index.mjs'; import '../../switch/index.mjs'; import '../../form/index.mjs'; import '../../message/index.mjs'; import { XMask } from '../../mask/index.mjs'; import '../../modal/index.mjs'; import '../../messageBox/index.mjs'; import '../index.mjs'; import '../../badge/index.mjs'; import '../../space/index.mjs'; import '../../image/index.mjs'; import '../../radio/index.mjs'; import '../../divider/index.mjs'; import '../../chat/index.mjs'; import '../../progress/index.mjs'; import '../../upload/index.mjs'; import '../../vTree/index.mjs'; import '../../table/index.mjs'; import '../../tabs/index.mjs'; import '../../menu/index.mjs'; import '../../steps/index.mjs'; import '../../header/index.mjs'; import '../../breadcrumble/index.mjs'; import '../../datePicker/index.mjs'; import '../../tooltip/index.mjs'; import '../../popover/index.mjs'; import '../../timePicker/index.mjs'; import '../../select/index.mjs'; import '../../collapse/index.mjs'; import '../../card/index.mjs'; import '../../timeline/index.mjs'; import '../../tag/index.mjs'; import '../../result/index.mjs'; import '../../sender/index.mjs'; import _export_sfc from '../../../_virtual/_plugin-vue_export-helper.mjs'; import Close from '../../../icons/svg/Close.vue.mjs'; import { useDrawer } from './composables/use-drawer.mjs'; import { drawerProps } from './drawer.mjs'; const __default__ = { name: "x-drawer" }; const _sfc_main = /*#__PURE__*/Object.assign(__default__, { props: /*#__PURE__*/mergeModels(drawerProps, { "modelValue": {}, "modelModifiers": {}, }), emits: /*#__PURE__*/mergeModels(["ok", "cancel", "open", "opened", "close", "closed"], ["update:modelValue"]), setup(__props, { expose: __expose, emit: __emit }) { __expose(); const props = __props; const emit = __emit; const ns = useNamespace("drawer"); const visible = useModel(__props, "modelValue"); const { useBeforeCancel, useBeforeChange, useClose, isLoading, useBeforeEnter, useEnter, useAfterEnter, useBeforeLeave, useAfterLeave, rendered, size, offset, } = useDrawer({ props, visible }); const __returned__ = { props, emit, ns, visible, useBeforeCancel, useBeforeChange, useClose, isLoading, useBeforeEnter, useEnter, useAfterEnter, useBeforeLeave, useAfterLeave, rendered, size, offset, get useNamespace() { return useNamespace }, get XMask() { return XMask }, get XButton() { return XButton }, get XIcon() { return XIcon }, get Close() { return Close }, get useDrawer() { return useDrawer }, get drawerProps() { return drawerProps } }; Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); return __returned__ } }); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return (openBlock(), createBlock(Teleport, { to: "body" }, [ createVNode(Transition, { name: $setup.ns.b(), onBeforeEnter: $setup.useBeforeEnter, onEnter: $setup.useEnter, onAfterEnter: $setup.useAfterEnter, onBeforeLeave: $setup.useBeforeLeave, onAfterLeave: $setup.useAfterLeave, persisted: "" }, { default: withCtx(() => [ withDirectives(createVNode($setup["XMask"], mergeProps(_ctx.$attrs, { onClose: $setup.useClose }), { default: withCtx(() => [ createElementVNode("div", { class: normalizeClass([$setup.ns.b(), $setup.ns.m('placement', _ctx.placement), $setup.offset]), style: normalizeStyle([$setup.size]) }, [ createElementVNode("div", { class: normalizeClass([$setup.ns.e('wrap')]) }, [ (_ctx.header) ? (openBlock(), createElementBlock("div", { key: 0, class: normalizeClass([$setup.ns.e('header')]) }, [ (_ctx.$slots.header) ? renderSlot(_ctx.$slots, "header", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ createElementVNode("h4", { class: normalizeClass([$setup.ns.e('title')]) }, toDisplayString(_ctx.title), 3 /* TEXT, CLASS */), createVNode($setup["XIcon"], { class: normalizeClass([$setup.ns.e('close')]), onClick: $setup.useClose }, { default: withCtx(() => [ createVNode($setup["Close"]) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["class", "onClick"]) ], 64 /* STABLE_FRAGMENT */)) ], 2 /* CLASS */)) : createCommentVNode("v-if", true), createElementVNode("div", { class: normalizeClass([$setup.ns.e('body')]) }, [ ($setup.rendered) ? (openBlock(), createElementBlock("div", { key: 0, class: normalizeClass([$setup.ns.e('render-content')]) }, [ renderSlot(_ctx.$slots, "default") ], 2 /* CLASS */)) : createCommentVNode("v-if", true) ], 2 /* CLASS */), (_ctx.footer) ? (openBlock(), createElementBlock("div", { key: 1, class: normalizeClass([$setup.ns.e('footer')]) }, [ (_ctx.$slots.footer) ? renderSlot(_ctx.$slots, "footer", { key: 0 }) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [ (_ctx.cancelButtonShow) ? (openBlock(), createBlock($setup["XButton"], { key: 0, text: "", size: "large", onClick: $setup.useBeforeCancel }, { default: withCtx(() => [ createTextVNode(toDisplayString(_ctx.cancelButtonText), 1 /* TEXT */) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["onClick"])) : createCommentVNode("v-if", true), (_ctx.confirmButtonShow) ? (openBlock(), createBlock($setup["XButton"], { key: 1, type: "primary", size: "large", loading: $setup.isLoading, onClick: $setup.useBeforeChange }, { default: withCtx(() => [ createTextVNode(toDisplayString(_ctx.confirmButtonText), 1 /* TEXT */) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["loading", "onClick"])) : createCommentVNode("v-if", true) ], 64 /* STABLE_FRAGMENT */)) ], 2 /* CLASS */)) : createCommentVNode("v-if", true) ], 2 /* CLASS */) ], 6 /* CLASS, STYLE */) ]), _: 3 /* FORWARDED */ }, 16 /* FULL_PROPS */, ["onClose"]), [ [vShow, $setup.visible] ]) ]), _: 3 /* FORWARDED */ }, 8 /* PROPS */, ["name", "onBeforeEnter", "onEnter", "onAfterEnter", "onBeforeLeave", "onAfterLeave"]) ])) } var Drawer = /*#__PURE__*/_export_sfc(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\drawer\\src\\index.vue"]]); export { Drawer as default }; //# sourceMappingURL=index.vue.mjs.map