UNPKG

song-ui-u

Version:

vue3 + js的PC前端组件库

191 lines (179 loc) 8.79 kB
'use strict'; var vue = require('vue'); var index = require('../../../hook/use-namespace/index.cjs'); var types = require('../../../utils/types.cjs'); var componentsType = require('../../../utils/componentsType.cjs'); var themeType = require('../../../utils/themeType.cjs'); require('../../../hook/use-zindex/index.cjs'); var index$2 = require('../../button/index.cjs'); require('../../buttonGroup/index.cjs'); var index$3 = require('../../icon/index.cjs'); require('../../input/index.cjs'); require('../../textarea/index.cjs'); require('../../row/index.cjs'); require('../../col/index.cjs'); require('../../container/index.cjs'); require('../../checkbox/index.cjs'); require('../../switch/index.cjs'); require('../../form/index.cjs'); require('../../message/index.cjs'); var index$1 = require('../../mask/index.cjs'); require('../../modal/index.cjs'); require('../index.cjs'); require('../../drawer/index.cjs'); require('../../badge/index.cjs'); require('../../space/index.cjs'); require('../../image/index.cjs'); require('../../radio/index.cjs'); require('../../divider/index.cjs'); require('../../chat/index.cjs'); require('../../progress/index.cjs'); require('../../upload/index.cjs'); require('../../vTree/index.cjs'); require('../../table/index.cjs'); require('../../tabs/index.cjs'); require('../../menu/index.cjs'); require('../../steps/index.cjs'); require('../../header/index.cjs'); require('../../breadcrumble/index.cjs'); require('../../datePicker/index.cjs'); require('../../tooltip/index.cjs'); require('../../popover/index.cjs'); require('../../timePicker/index.cjs'); require('../../select/index.cjs'); require('../../collapse/index.cjs'); require('../../card/index.cjs'); require('../../timeline/index.cjs'); require('../../tag/index.cjs'); require('../../result/index.cjs'); require('../../sender/index.cjs'); var useMessageBox = require('./composables/use-message-box.cjs'); var messageBox = require('./message-box.cjs'); var _pluginVue_exportHelper = require('../../../_virtual/_plugin-vue_export-helper.cjs'); const __default__ = { name: "x-message-box" }; const _sfc_main = /*#__PURE__*/Object.assign(__default__, { props: /*#__PURE__*/vue.mergeModels(messageBox.messageBoxProps, { "modelValue": {}, "modelModifiers": {}, }), emits: /*#__PURE__*/vue.mergeModels(["ok", "cancel", "open", "opened", "close", "closed"], ["update:modelValue"]), setup(__props, { expose: __expose, emit: __emit }) { __expose(); const props = __props; const emit = __emit; const ns = index.useNamespace("message-box"); const visible = vue.useModel(__props, "modelValue"); const { useBeforeCancel, useBeforeChange, useClose, isLoading } = useMessageBox.useMessageBox( { props, visible } ); // icon const icon = vue.computed(() => componentsType.typeIcon[props.icon]); const theme = vue.computed(() => themeType.themeType?.[props.icon] || props.icon); // isString const isString = vue.computed(() => types.types().isString(props.content)); const isVNodeDom = vue.computed(() => vue.isVNode(props.content)); vue.onMounted(() => { visible.value = true; }); const __returned__ = { props, emit, ns, visible, useBeforeCancel, useBeforeChange, useClose, isLoading, icon, theme, isString, isVNodeDom, onMounted: vue.onMounted, computed: vue.computed, isVNode: vue.isVNode, get useNamespace() { return index.useNamespace }, get typeIcon() { return componentsType.typeIcon }, get themeType() { return themeType.themeType }, get types() { return types.types }, get XMask() { return index$1.XMask }, get XButton() { return index$2.XButton }, get XIcon() { return index$3.XIcon }, get useMessageBox() { return useMessageBox.useMessageBox }, get messageBoxProps() { return messageBox.messageBoxProps } }; Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true }); return __returned__ } }); function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return (vue.openBlock(), vue.createBlock(vue.Transition, { name: $setup.ns.b(), persisted: "" }, { default: vue.withCtx(() => [ vue.withDirectives(vue.createVNode($setup["XMask"], vue.mergeProps(_ctx.$attrs, { onClose: $setup.useClose }), { default: vue.withCtx(() => [ vue.createElementVNode("div", { class: vue.normalizeClass([$setup.ns.b()]) }, [ vue.createElementVNode("div", { class: vue.normalizeClass([$setup.ns.e('wrap')]) }, [ vue.createElementVNode("div", { class: vue.normalizeClass([$setup.ns.e('body')]) }, [ vue.createElementVNode("div", { class: vue.normalizeClass([$setup.ns.e('header')]) }, [ vue.createVNode($setup["XIcon"], { class: vue.normalizeClass([$setup.ns.m($setup.theme)]) }, { default: vue.withCtx(() => [ (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($setup.icon))) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["class"]), vue.createElementVNode("div", { class: vue.normalizeClass([$setup.ns.e('title')]) }, vue.toDisplayString(_ctx.title), 3 /* TEXT, CLASS */) ], 2 /* CLASS */), vue.createElementVNode("div", { class: vue.normalizeClass([$setup.ns.e('content')]) }, [ ($setup.isString) ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [ vue.createTextVNode(vue.toDisplayString(_ctx.content), 1 /* TEXT */) ], 64 /* STABLE_FRAGMENT */)) : vue.createCommentVNode("v-if", true), ($setup.isVNodeDom) ? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.content), { key: 1 })) : vue.createCommentVNode("v-if", true) ], 2 /* CLASS */) ], 2 /* CLASS */), (_ctx.footer) ? (vue.openBlock(), vue.createElementBlock("div", { key: 0, class: vue.normalizeClass([$setup.ns.e('footer')]) }, [ (_ctx.$slots.footer) ? vue.renderSlot(_ctx.$slots, "footer", { key: 0 }) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [ (_ctx.cancelButtonShow) ? (vue.openBlock(), vue.createBlock($setup["XButton"], { key: 0, text: "", size: "large", onClick: $setup.useBeforeCancel }, { default: vue.withCtx(() => [ vue.createTextVNode(vue.toDisplayString(_ctx.cancelButtonText), 1 /* TEXT */) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["onClick"])) : vue.createCommentVNode("v-if", true), (_ctx.confirmButtonShow) ? (vue.openBlock(), vue.createBlock($setup["XButton"], { key: 1, type: "primary", size: "large", loading: $setup.isLoading, onClick: $setup.useBeforeChange }, { default: vue.withCtx(() => [ vue.createTextVNode(vue.toDisplayString(_ctx.confirmButtonText), 1 /* TEXT */) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["loading", "onClick"])) : vue.createCommentVNode("v-if", true) ], 64 /* STABLE_FRAGMENT */)) ], 2 /* CLASS */)) : vue.createCommentVNode("v-if", true) ], 2 /* CLASS */) ], 2 /* CLASS */) ]), _: 3 /* FORWARDED */ }, 16 /* FULL_PROPS */, ["onClose"]), [ [vue.vShow, $setup.visible] ]) ]), _: 3 /* FORWARDED */ }, 8 /* PROPS */, ["name"])) } var MessageBoxNode = /*#__PURE__*/_pluginVue_exportHelper(_sfc_main, [['render',_sfc_render],['__file',"E:\\code\\my-code\\song-ui-ultra\\packages\\components\\messageBox\\src\\message-box.vue"]]); module.exports = MessageBoxNode; //# sourceMappingURL=message-box.vue.cjs.map