vue-devui
Version:
DevUI components based on Vite and Vue3
1,457 lines • 1.78 MB
JavaScript
var __defProp = Object.defineProperty;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __publicField = (obj, key, value) => {
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
return value;
};
import { createVNode, getCurrentInstance, defineComponent, toRefs, inject, computed, Fragment, mergeProps, resolveComponent, isVNode, ref, reactive, createTextVNode, provide, onMounted, watch, Transition, withDirectives, vShow, nextTick, onUnmounted, unref, withModifiers, Comment as Comment$1, Text, h, cloneVNode, Teleport, onBeforeUnmount, render as render$1, resolveDirective, resolveDynamicComponent, toRef, shallowRef, onBeforeMount, onUpdated, readonly, toRaw, watchEffect, renderSlot, useSlots, createApp, shallowReactive, effect, TransitionGroup } from "vue";
import { useRoute } from "vue-router";
import Clipboard from "clipboard";
import { offset, flip, arrow, computePosition } from "@floating-ui/dom";
import { onClickOutside, toRefs as toRefs$1, useResizeObserver } from "@vueuse/core";
import * as Diff2Html from "diff2html";
import { Diff2HtmlUI } from "diff2html/lib/ui/js/diff2html-ui";
import * as echarts from "echarts";
import hljs from "highlight.js";
import MarkdownIt from "markdown-it";
import { getDefaultWhiteList, getDefaultCSSWhiteList, filterXSS } from "xss";
import Mermaid from "mermaid/dist/mermaid.js";
import Token from "markdown-it/lib/token";
const accordionProps = {
data: {
type: Array,
default: null
},
titleKey: { type: String, default: "title" },
loadingKey: { type: String, default: "loading" },
childrenKey: { type: String, default: "children" },
disabledKey: { type: String, default: "disabled" },
activeKey: { type: String, default: "active" },
openKey: { type: String, default: "open" },
menuItemTemplate: { type: Boolean, default: true },
itemTemplate: { type: Boolean, default: true },
menuToggle: {
type: Function,
default: null
},
itemClick: {
type: Function,
default: null
},
activeItemChange: {
type: Function,
default: null
},
restrictOneOpen: { type: Boolean, default: false },
autoOpenActiveMenu: { type: Boolean, default: false },
showNoContent: { type: Boolean, default: true },
noContentTemplate: { type: Boolean, default: true },
loadingTemplate: { type: Boolean, default: true },
innerListTemplate: { type: Boolean, default: true },
linkType: {
type: String,
default: ""
},
linkTypeKey: { type: String, default: "linkType" },
linkKey: { type: String, default: "link" },
linkTargetKey: { type: String, default: "target" },
linkDefaultTarget: { type: String, default: "_self" },
accordionType: {
type: String,
default: "normal"
}
};
const OpenIcon = () => {
const svgProps = {
width: "1em",
height: "1em",
viewBox: "0 0 16 16",
version: "1.1",
xmlns: "http://www.w3.org/2000/svg",
"xmlns:xlink": "http://www.w3.org/1999/xlink"
};
return createVNode("svg", svgProps, [createVNode("g", {
"stroke": "none",
"stroke-width": "1",
"fill": "none",
"fill-rule": "evenodd"
}, [createVNode("path", {
"d": `M12.1464466,6.85355339 L8.35355339,10.6464466 C8.15829124,10.8417088
7.84170876,10.8417088 7.64644661,10.6464466 L3.85355339,6.85355339 C3.65829124,6.65829124
3.65829124,6.34170876 3.85355339,6.14644661 C3.94732158,6.05267842 4.07449854,6 4.20710678,6
L11.7928932,6 C12.0690356,6 12.2928932,6.22385763 12.2928932,6.5 C12.2928932,6.63260824
12.2402148,6.7597852 12.1464466,6.85355339 Z`,
"fill-rule": "nonzero"
}, null)])]);
};
const getRootSlots = () => {
const rootComponentName = "DAccordion";
const getRootComponent = (component) => {
if (component && component.type.name === rootComponentName) {
return component;
}
if (component && component.parent) {
const parent = component.parent;
return getRootComponent(parent);
}
};
const rootComponent = getRootComponent(getCurrentInstance());
return rootComponent == null ? void 0 : rootComponent.slots;
};
function createBem$1(namespace, element, modifier) {
let cls = namespace;
if (element) {
cls += `__${element}`;
}
if (modifier) {
cls += `--${modifier}`;
}
return cls;
}
function useNamespace$1(block, needDot = false) {
const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
const b = () => createBem$1(namespace);
const e = (element) => element ? createBem$1(namespace, element) : "";
const m = (modifier) => modifier ? createBem$1(namespace, "", modifier) : "";
const em = (element, modifier) => element && modifier ? createBem$1(namespace, element, modifier) : "";
return {
b,
e,
m,
em
};
}
var DAccordionMenu = defineComponent({
name: "DAccordionMenu",
components: {
OpenIcon
},
props: {
item: {
type: Object,
required: true
},
deepth: {
type: Number,
default: 0
},
parent: {
type: Object,
default: null
},
...accordionProps
},
setup(props) {
const {
item,
deepth,
parent,
openKey,
activeKey,
autoOpenActiveMenu,
disabledKey,
childrenKey,
titleKey,
menuItemTemplate
} = toRefs(props);
const ns2 = useNamespace$1("accordion");
const rootSlots = getRootSlots();
const accordionCtx = inject("accordionContext");
const parentValue = parent.value;
const deepValue = deepth.value;
const toggle = (itemEvent) => {
accordionCtx == null ? void 0 : accordionCtx.menuToggleFn(itemEvent);
};
const hasChildActive = (arr) => {
let flag = false;
if (!arr.length) {
return false;
}
for (let i = 0; i < arr.length; i++) {
if (arr[i][activeKey.value] === true) {
flag = true;
break;
}
if (arr[i][childrenKey.value]) {
flag = hasChildActive(arr[i][childrenKey.value]);
if (flag) {
break;
}
}
}
return flag;
};
const hasActiveChildren = (curItem) => {
if (curItem[activeKey.value] === true) {
return true;
}
if (curItem[childrenKey.value]) {
return hasChildActive(curItem[childrenKey.value]);
}
};
const keyOpen = computed(() => {
return item.value && item.value[openKey.value];
});
const disabled = computed(() => {
return item.value && item.value[disabledKey.value];
});
const title = computed(() => {
return item.value && item.value[titleKey.value];
});
const children = computed(() => {
return item.value && item.value[childrenKey.value];
});
const childActived = computed(() => {
return hasActiveChildren(item.value);
});
const open2 = computed(() => {
return keyOpen.value === void 0 && autoOpenActiveMenu.value ? childActived.value : keyOpen.value;
});
return () => {
var _a;
return createVNode(Fragment, null, [createVNode("div", {
"class": [ns2.e("item-title"), ns2.m("overflow-ellipsis"), open2.value && ns2.m("open"), childActived.value && ns2.m("active"), disabled.value && ns2.m("disabled")],
"title": title.value,
"style": {
textIndent: deepValue * 20 + "px"
},
"onClick": (e) => !disabled.value && toggle({
item: item.value,
open: !open2.value,
parent: parentValue,
event: e
})
}, [createVNode("div", {
"class": [ns2.e("splitter"), deepValue === 0 && ns2.e("parent-list")],
"style": {
left: deepValue * 20 + 10 + "px"
}
}, null), (!(rootSlots == null ? void 0 : rootSlots.menuItemTemplate) || menuItemTemplate.value === false) && createVNode(Fragment, null, [title.value]), (rootSlots == null ? void 0 : rootSlots.menuItemTemplate) && menuItemTemplate.value !== false && ((_a = rootSlots.menuItemTemplate) == null ? void 0 : _a.call(rootSlots, {
parent: parentValue,
deepth: deepValue,
item: item.value
})), createVNode("span", {
"class": ns2.e("open-icon")
}, [createVNode(OpenIcon, null, null)])]), createVNode("div", {
"class": [!open2.value && ns2.m("menu-hidden"), ns2.e("submenu"), ns2.m("show-animate")]
}, [createVNode(AccordionList, mergeProps(props, {
"deepth": deepValue + 1,
"data": children.value || [],
"parent": item.value
}), null)])]);
};
}
});
var DAccordionItem = defineComponent({
name: "DAccordionItem",
props: {
item: {
type: Object,
required: true
},
deepth: {
type: Number,
default: 0
},
parent: {
type: Object,
default: null
},
...accordionProps
},
setup(props) {
const {
item,
deepth,
parent,
titleKey,
activeKey,
disabledKey,
itemTemplate
} = toRefs(props);
const ns2 = useNamespace$1("accordion");
const rootSlots = getRootSlots();
const accordionCtx = inject("accordionContext");
const parentValue = parent.value;
const deepValue = deepth.value;
const disabled = computed(() => {
return item.value && item.value[disabledKey.value];
});
const title = computed(() => {
return item.value && item.value[titleKey.value];
});
const active = computed(() => {
return item.value && item.value[activeKey.value];
});
const childActived = computed(() => {
return active.value;
});
const itemClick = (itemEvent) => {
if (item.value && !disabled.value) {
accordionCtx == null ? void 0 : accordionCtx.itemClickFn(itemEvent);
}
};
return () => {
var _a;
return createVNode(Fragment, null, [createVNode("div", {
"class": [ns2.e("item-title"), ns2.m("overflow-ellipsis"), childActived.value && ns2.m("active"), disabled.value && ns2.m("disabled")],
"title": title.value,
"style": {
textIndent: deepValue * 20 + "px"
},
"onClick": (e) => itemClick({
item: item.value,
parent: parentValue,
event: e
})
}, [createVNode("div", {
"class": [ns2.e("splitter"), deepValue === 0 && ns2.e("parent-list")],
"style": {
left: deepValue * 20 + 10 + "px"
}
}, null), (!(rootSlots == null ? void 0 : rootSlots.itemTemplate) || itemTemplate.value === false) && createVNode(Fragment, null, [title.value]), (rootSlots == null ? void 0 : rootSlots.itemTemplate) && itemTemplate.value !== false && ((_a = rootSlots.itemTemplate) == null ? void 0 : _a.call(rootSlots, {
parent: parentValue,
deepth: deepValue,
item: item.value
}))])]);
};
}
});
var DAccordionItemHreflink = defineComponent({
name: "DAccordionItemHreflink",
component: {
DAccordionItem
},
props: {
item: {
type: Object,
required: true
},
deepth: {
type: Number,
default: 0
},
parent: {
type: Object,
default: null
},
...accordionProps
},
setup(props) {
const {
item,
deepth,
parent,
titleKey,
linkKey,
linkTargetKey,
linkDefaultTarget,
disabledKey,
itemTemplate
} = toRefs(props);
const ns2 = useNamespace$1("accordion");
const rootSlots = getRootSlots();
const accordionCtx = inject("accordionContext");
const title = computed(() => {
return item.value && item.value[titleKey.value];
});
const link = computed(() => {
return item.value && item.value[linkKey.value];
});
const target = computed(() => {
return item.value && (item.value[linkTargetKey.value] || linkDefaultTarget.value);
});
const disabled = computed(() => {
return item.value && item.value[disabledKey.value];
});
const parentValue = parent.value;
const deepValue = deepth.value;
const linkItemClickFn = (itemEvent) => {
if (item.value && !disabled.value) {
accordionCtx == null ? void 0 : accordionCtx.itemClickFn(itemEvent);
}
};
const renderContent = () => {
var _a;
return createVNode(Fragment, null, [createVNode("div", {
"class": [ns2.e("splitter"), deepValue === 0 && ns2.e("parent-list")],
"style": {
left: deepValue * 20 + 10 + "px"
}
}, null), (!(rootSlots == null ? void 0 : rootSlots.itemTemplate) || itemTemplate.value === false) && createVNode(Fragment, null, [title.value]), (rootSlots == null ? void 0 : rootSlots.itemTemplate) && itemTemplate.value !== false && ((_a = rootSlots.itemTemplate) == null ? void 0 : _a.call(rootSlots, {
parent: parentValue,
deepth: deepValue,
item: item.value
}))]);
};
return () => {
return createVNode(Fragment, null, [createVNode("div", {
"class": [ns2.e("item-title"), disabled.value && ns2.m("disabled")],
"style": {
textIndent: deepValue * 20 + "px"
}
}, [!disabled.value && createVNode("a", {
"href": link.value,
"target": target.value,
"class": ns2.m("overflow-ellipsis"),
"title": title.value,
"onClick": (e) => linkItemClickFn({
item: item.value,
parent: parentValue,
event: e
})
}, [renderContent()]), disabled.value && createVNode("a", {
"class": ns2.m("overflow-ellipsis"),
"title": title.value
}, [renderContent()])])]);
};
}
});
function _isSlot$f(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
}
var DAccordionItemRouterlink = defineComponent({
name: "DAccordionItemRouterlink",
component: {
DAccordionItem
},
props: {
item: {
type: Object,
required: true
},
deepth: {
type: Number,
default: 0
},
parent: {
type: Object,
default: null
},
...accordionProps
},
setup(props) {
const {
item,
deepth,
parent,
titleKey,
linkKey,
linkDefaultTarget,
disabledKey,
itemTemplate
} = toRefs(props);
const ns2 = useNamespace$1("accordion");
const route = useRoute();
const rootSlots = getRootSlots();
const accordionCtx = inject("accordionContext");
const title = computed(() => {
return item.value && item.value[titleKey.value];
});
const link = computed(() => {
return item.value && item.value[linkKey.value];
});
const isUsedVueRouter = computed(() => route !== void 0);
const routerLinkActive = computed(() => {
return route === link.value;
});
const disabled = computed(() => {
return item.value && item.value[disabledKey.value];
});
const parentValue = parent.value;
const deepValue = deepth.value;
const linkItemClickFn = (itemEvent) => {
if (item.value && !disabled.value) {
accordionCtx == null ? void 0 : accordionCtx.itemClickFn(itemEvent);
}
};
const renderContent = () => {
var _a;
return createVNode(Fragment, null, [createVNode("div", {
"class": [ns2.e("splitter"), deepValue === 0 && ns2.e("parent-list")],
"style": {
left: deepValue * 20 + 10 + "px"
}
}, null), (!(rootSlots == null ? void 0 : rootSlots.itemTemplate) || itemTemplate.value === false) && createVNode(Fragment, null, [title.value]), (rootSlots == null ? void 0 : rootSlots.itemTemplate) && itemTemplate.value !== false && ((_a = rootSlots.itemTemplate) == null ? void 0 : _a.call(rootSlots, {
parent: parentValue,
deepth: deepValue,
item: item.value
}))]);
};
return () => {
let _slot;
return createVNode(Fragment, null, [createVNode("div", {
"class": [ns2.e("item-title"), disabled.value && ns2.m("disabled")],
"style": {
textIndent: deepValue * 20 + "px"
}
}, [!disabled.value && createVNode(Fragment, null, [isUsedVueRouter.value && createVNode(resolveComponent("router-link"), {
"to": link.value,
"class": [ns2.m("overflow-ellipsis"), routerLinkActive.value && ns2.m("router-active")],
"custom": true,
"title": title.value,
"onClick": (e) => linkItemClickFn({
item: item.value,
parent: parentValue,
event: e
})
}, _isSlot$f(_slot = renderContent()) ? _slot : {
default: () => [_slot]
}), !isUsedVueRouter.value && createVNode("a", {
"href": link.value,
"target": linkDefaultTarget.value,
"class": ns2.m("overflow-ellipsis"),
"title": title.value,
"onClick": (e) => linkItemClickFn({
item: item.value,
parent: parentValue,
event: e
})
}, [renderContent()])]), disabled.value && createVNode("a", {
"class": ns2.m("overflow-ellipsis"),
"title": title.value
}, [renderContent()])])]);
};
}
});
function deepAssign(...objects) {
const isObject2 = (obj) => obj && typeof obj === "object";
return objects.reduce((prev, from2) => {
Object.keys(from2).forEach((key) => {
const pVal = prev[key];
const oVal = from2[key];
if (Array.isArray(pVal) && Array.isArray(oVal)) {
prev[key] = Array.from(/* @__PURE__ */ new Set([...oVal, ...pVal]));
} else if (isObject2(pVal) && isObject2(oVal)) {
prev[key] = deepAssign(pVal, oVal);
} else {
prev[key] = oVal;
}
});
return prev;
}, {});
}
var zhCN = {
pagination: {
totalItemText: "\u6240\u6709\u6761\u76EE",
goToText: "\u8DF3\u81F3",
perPage: "\u6761/\u9875"
},
accordion: {
loading: "\u52A0\u8F7D\u4E2D",
noData: "\u6CA1\u6709\u6570\u636E"
},
autoCompleteDropdown: {
latestInput: "\u6700\u8FD1\u8F93\u5165"
},
cascaderList: {
noData: "\u6CA1\u6709\u6570\u636E"
},
colorPicker: {
foundationPanel: "\u57FA\u7840\u9762\u677F",
advancedPanel: "\u9AD8\u7EA7\u9762\u677F"
},
datePickerPro: {
ok: "\u786E\u5B9A",
placeholder: "\u8BF7\u9009\u62E9\u65E5\u671F",
month1: "1\u6708",
month2: "2\u6708",
month3: "3\u6708",
month4: "4\u6708",
month5: "5\u6708",
month6: "6\u6708",
month7: "7\u6708",
month8: "8\u6708",
month9: "9\u6708",
month10: "10\u6708",
month11: "11\u6708",
month12: "12\u6708",
year: "\u5E74",
startPlaceholder: "\u8BF7\u9009\u62E9\u5F00\u59CB\u65E5\u671F",
endPlaceholder: "\u8BF7\u9009\u62E9\u7ED3\u675F\u65E5\u671F",
getWeekDays() {
return ["\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"];
},
getTimeArr() {
return ["\u65F6", "\u5206", "\u79D2"];
},
getYearMonthStr(year, month) {
return `${year}\u5E74${month}\u6708`;
}
},
editableSelect: {
noRelatedRecords: "\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",
noData: "\u6CA1\u6709\u6570\u636E"
},
input: {
placeholder: "\u8BF7\u8F93\u5165"
},
splitterBar: {
collapse: "\u6536\u8D77",
expand: "\u5C55\u5F00"
},
stepsGuide: {
previous: "\u4E0A\u4E00\u6B65",
continue: "\u6211\u77E5\u9053\u5566\uFF0C\u7EE7\u7EED",
ok: "\u6211\u77E5\u9053\u5566"
},
table: {
selectAll: "\u5168\u9009",
ok: "\u786E\u5B9A"
},
dataGrid: {
selectAll: "\u5168\u9009",
ok: "\u786E\u5B9A"
},
timePopup: {
ok: "\u786E\u5B9A"
},
transfer: {
unit: "\u9879",
panelUnit: "\u9879",
headerUnit: "\u9879",
noData: "\u6682\u65E0\u6570\u636E",
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u8BCD\u641C\u7D22"
},
tree: {
loading: "\u52A0\u8F7D\u4E2D",
newNode: "\u65B0\u8282\u70B9",
selectPlaceholder: "\u8BF7\u9009\u62E9"
},
upload: {
placeholder: "\u9009\u62E9\u6587\u4EF6",
getExistSameNameFilesMsg(sameNames) {
return `\u60A8\u4E0A\u4F20\u7684 "${sameNames}" \u5B58\u5728\u91CD\u540D\u6587\u4EF6, \u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`;
},
getAllFilesBeyondMaximalFileSizeMsg(maximalSize) {
return `\u6700\u5927\u652F\u6301\u4E0A\u4F20${maximalSize}MB\u7684\u6587\u4EF6, \u60A8\u672C\u6B21\u4E0A\u4F20\u7684\u6240\u6709\u6587\u4EF6\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`;
},
getBeyondMaximalFileSizeMsg(filename, maximalSize) {
return `\u6700\u5927\u652F\u6301\u4E0A\u4F20${maximalSize}MB\u7684\u6587\u4EF6, \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${filename}"\u8D85\u8FC7\u53EF\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F`;
},
getNotAllowedFileTypeMsg(filename, scope) {
return `\u652F\u6301\u7684\u6587\u4EF6\u7C7B\u578B: "${scope}", \u60A8\u4E0A\u4F20\u7684\u6587\u4EF6"${filename}"\u4E0D\u5728\u5141\u8BB8\u8303\u56F4\u5185\uFF0C\u8BF7\u91CD\u65B0\u9009\u62E9\u6587\u4EF6`;
}
},
search: {
placeholder: "\u8BF7\u8F93\u5165\u5173\u952E\u5B57"
},
select: {
placeholder: "\u8BF7\u9009\u62E9",
noDataText: "\u65E0\u6570\u636E",
noMatchText: "\u627E\u4E0D\u5230\u76F8\u5173\u8BB0\u5F55",
loadingText: "\u52A0\u8F7D\u4E2D..."
},
tagInput: {
maxTagsText: "\u5DF2\u8FBE\u5230\u6700\u5927\u4E2A\u6570\uFF1A"
},
timeSelect: {
placeholder: "\u8BF7\u9009\u62E9\u65F6\u95F4"
}
};
const lang = ref("zh-CN");
let langMessages = reactive({
[lang.value]: zhCN
});
const Locale = {
messages() {
return langMessages[lang.value];
},
lang() {
return lang.value;
},
use(newLang, newMessages2) {
lang.value = newLang;
this.add({ [newLang]: newMessages2 });
},
add(newMessages2 = {}) {
langMessages = deepAssign(langMessages, newMessages2);
}
};
const camelize = (name) => name.substring(1).replace(/^\S/, (s) => s.toLocaleLowerCase());
function get(object4, path) {
const keys2 = path.split(".");
let result2 = object4;
keys2.forEach((key) => {
var _a;
result2 = (_a = result2[key]) != null ? _a : "";
});
return result2;
}
function createI18nTranslate(name, app, newPrefix) {
const prefix = newPrefix || camelize(name) + ".";
return (path) => {
var _a;
const messages2 = ((_a = app == null ? void 0 : app.appContext.config.globalProperties.langMessages) == null ? void 0 : _a.value) || Locale.messages();
const message2 = get(messages2, prefix + path) || get(messages2, path);
return message2;
};
}
var AccordionList = defineComponent({
name: "DAccordionList",
components: {
DAccordionMenu,
DAccordionItem,
DAccordionItemHreflink,
DAccordionItemRouterlink
},
inheritAttrs: false,
props: {
...accordionProps,
data: {
type: Array,
default: null
},
deepth: {
type: Number,
default: 0
},
parent: {
type: Object,
default: null
},
innerListTemplate: Boolean
},
setup(props, {
attrs
}) {
const app = getCurrentInstance();
const t = createI18nTranslate("DAccordion", app);
const {
childrenKey,
deepth,
parent,
data,
linkType,
showNoContent,
loadingKey,
titleKey,
linkTypeKey,
loadingTemplate,
noContentTemplate,
innerListTemplate
} = toRefs(props);
const ns2 = useNamespace$1("accordion");
const deepValue = deepth.value;
const rootSlots = getRootSlots();
const accordionCtx = inject("accordionContext");
const loading2 = computed(() => {
return parent.value && parent.value[loadingKey.value];
});
const noContent = computed(() => {
const dataValue = data.value;
return dataValue === void 0 || dataValue === null || dataValue.length === 0;
});
return () => {
var _a, _b, _c;
return createVNode(Fragment, null, [(!(rootSlots == null ? void 0 : rootSlots.innerListTemplate) || deepth.value === 0 || innerListTemplate.value === false) && createVNode("ul", mergeProps({
"class": [ns2.e("list")]
}, attrs), [data.value.map((item) => {
return createVNode("li", {
"class": ns2.e("item"),
"key": item[titleKey.value]
}, [item[childrenKey.value] !== void 0 && createVNode("div", {
"class": ns2.e("menu-item")
}, [createVNode(resolveComponent("d-accordion-menu"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null)]), item[childrenKey.value] === void 0 && createVNode(Fragment, null, [(!linkType.value || linkType.value === "") && createVNode(resolveComponent("d-accordion-item"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null), linkType.value === "routerLink" && createVNode(resolveComponent("d-accordion-item-routerlink"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null), linkType.value === "hrefLink" && createVNode(resolveComponent("d-accordion-item-hreflink"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null), linkType.value === "dependOnLinkTypeKey" && createVNode(Fragment, null, [item[linkTypeKey.value] === "routerLink" && createVNode(resolveComponent("d-accordion-item-routerlink"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null), item[linkTypeKey.value] === "hrefLink" && createVNode(resolveComponent("d-accordion-item-hreflink"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null), item[linkTypeKey.value] !== "routerLink" && item[linkTypeKey.value] !== "hrefLink" && createVNode(resolveComponent("d-accordion-item"), mergeProps(props, {
"item": item,
"deepth": deepValue,
"parent": parent.value
}), null)])])]);
})]), (rootSlots == null ? void 0 : rootSlots.innerListTemplate) && innerListTemplate.value !== false && deepValue !== 0 && ((_a = rootSlots.innerListTemplate) == null ? void 0 : _a.call(rootSlots, {
item: parent.value,
deepth: deepValue,
itemClickFn: accordionCtx == null ? void 0 : accordionCtx.itemClickFn,
menuToggleFn: accordionCtx == null ? void 0 : accordionCtx.menuToggleFn
})), (!(rootSlots == null ? void 0 : rootSlots.innerListTemplate) || innerListTemplate.value === false) && (loading2.value || noContent.value && showNoContent.value) && createVNode("ul", mergeProps({
"class": [ns2.e("list")]
}, attrs), [
loading2.value && (!(rootSlots == null ? void 0 : rootSlots.loadingTemplate) || loadingTemplate.value === false) && createVNode("li", {
"class": ns2.e("item")
}, [createVNode("div", {
"class": [ns2.e("item-title"), ns2.m("overflow-ellipsis")],
"style": {
textIndent: deepValue * 20 + "px"
}
}, [t("loading"), createTextVNode("...")])]),
loading2.value && (rootSlots == null ? void 0 : rootSlots.loadingTemplate) && loadingTemplate.value !== false && ((_b = rootSlots.loadingTemplate) == null ? void 0 : _b.call(rootSlots, {
item: parent.value,
deepth: deepValue
})),
showNoContent.value && !loading2.value && noContent.value && (!(rootSlots == null ? void 0 : rootSlots.noContentTemplate) || noContentTemplate.value === false) && createVNode("li", {
"class": ns2.e("item")
}, [createVNode("div", {
"class": [ns2.e("item-title"), ns2.m("overflow-ellipsis"), ns2.m("disabled")],
"style": {
textIndent: deepValue * 20 + "px"
}
}, [t("noData")])]),
showNoContent.value && !loading2.value && noContent.value && (rootSlots == null ? void 0 : rootSlots.noContentTemplate) && noContentTemplate.value !== false && ((_c = rootSlots.noContentTemplate) == null ? void 0 : _c.call(rootSlots, {
item: parent.value,
deepth: deepValue
}))
])]);
};
}
});
var accordion = "";
var Accordion = defineComponent({
name: "DAccordion",
props: accordionProps,
setup(props, {
emit
}) {
const {
data,
childrenKey,
activeKey,
openKey,
accordionType,
autoOpenActiveMenu,
restrictOneOpen
} = toRefs(props);
const ns2 = useNamespace$1("accordion");
const scrollbarNs = useNamespace$1("scrollbar");
let clickActiveItem = void 0;
const flatten2 = (arr, curChildrenKey = "children", includeParent = false, includeLeaf = true) => {
return arr.reduce((acc, cur) => {
const children = cur[curChildrenKey];
if (children === void 0) {
if (includeLeaf) {
acc.push(cur);
}
} else {
if (includeParent) {
acc.push(cur);
}
if (Array.isArray(children)) {
acc.push(...flatten2(children, curChildrenKey, includeParent));
}
}
return acc;
}, []);
};
const activeItemFn = (item) => {
if (clickActiveItem && clickActiveItem[activeKey.value]) {
clickActiveItem[activeKey.value] = false;
}
item[activeKey.value] = true;
clickActiveItem = item;
emit("activeItemChange", clickActiveItem);
};
const initActiveItem = () => {
const activeItem = flatten2(data.value, childrenKey.value).filter((item) => item[activeKey.value]).pop();
if (activeItem) {
if (!clickActiveItem) {
activeItemFn(activeItem);
}
} else {
clickActiveItem = void 0;
}
};
const openMenuFn = (item, open2) => {
if (open2 && restrictOneOpen.value) {
data.value.forEach((itemtemp) => {
itemtemp[openKey.value] = false;
});
}
item[openKey.value] = open2;
};
const itemClickFn = (itemEvent) => {
const prevActiveItem = clickActiveItem;
activeItemFn(itemEvent.item);
emit("itemClick", {
...itemEvent,
prevActiveItem
});
};
const linkItemClickFn = (itemEvent) => {
const prevActiveItem = clickActiveItem;
clickActiveItem = itemEvent.item;
emit("linkItemClick", {
...itemEvent,
prevActiveItem
});
};
const menuToggleFn = (menuEvent) => {
openMenuFn(menuEvent.item, menuEvent.open);
emit("menuToggle", menuEvent);
};
const cleanOpenData = () => {
flatten2(data.value, childrenKey.value, true, false).forEach((item) => item[openKey.value] = void 0);
};
provide("accordionContext", {
itemClickFn,
linkItemClickFn,
menuToggleFn
});
onMounted(() => {
if (data.value) {
initActiveItem();
}
});
watch(() => autoOpenActiveMenu.value, (current, preV) => {
if (current && preV === false) {
cleanOpenData();
}
});
watch(data.value, () => {
initActiveItem();
}, {
deep: true
});
return () => {
return createVNode("div", {
"class": [ns2.e("menu"), ns2.m("show-animate"), scrollbarNs.b(), accordionType.value === "normal" && ns2.m("menu-normal")]
}, [createVNode(AccordionList, mergeProps(props, {
"data": data.value,
"deepth": 0,
"parent": void 0
}), null)]);
};
}
});
var AccordionInstall = {
title: "Accordion \u624B\u98CE\u7434",
category: "\u5BFC\u822A",
status: "10%",
deprecated: {
value: true,
reason: "Accordion \u662F Menu \u7EC4\u4EF6\u7684\u4E00\u79CD\u7279\u6027\u5F62\u6001(\u5782\u76F4\u65B9\u5411\u4E0A\u7684\u83DC\u5355)\uFF0C\u5E94\u8BE5\u4F7F\u7528\u66F4\u901A\u7528\u7684 Menu \u66FF\u4EE3\u3002"
},
install(app) {
app.component(Accordion.name, Accordion);
}
};
const actionTimelineProps = {
data: {
type: Array
},
layout: {
type: String,
default: "horizontal"
},
loadMoreConfig: {
type: Object
},
showTailLine: {
type: Boolean,
default: true
},
showStatusBgColor: {
type: Boolean,
default: false
},
showStatusLineColor: {
type: Boolean,
default: false
}
};
var actionTimeline = "";
var ActionTimeline = defineComponent({
name: "DActionTimeline",
props: actionTimelineProps,
emits: ["actionLoadMore"],
setup(props, ctx2) {
const {
layout: layout2,
data,
showTailLine,
showStatusBgColor,
showStatusLineColor,
loadMoreConfig
} = toRefs(props);
const isVertical = computed(() => layout2.value === "vertical");
const containerClass = computed(() => ({
"dp-action-timeline": true,
"dp-action-timeline-status-bg": showStatusBgColor.value,
"dp-action-timeline-status-line": showStatusLineColor.value
}));
const timelineItemClass = (childIndex, parentIndex, actionData, item) => ({
"dp-action-timeline-item": true,
"dp-action-timeline-item-info": showStatusLineColor.value && item.status === "color-info",
"dp-action-timeline-item-danger": showStatusLineColor.value && item.status === "color-danger",
"dp-action-timeline-item-success": showStatusLineColor.value && item.status === "color-info",
"vertical-list-item": isVertical.value,
"list-last-item": actionData.actions && (data == null ? void 0 : data.value) && childIndex === actionData.actions.length - 1 && parentIndex === data.value.length - 1 && showTailLine.value
});
const itemIconClass = (item, flag = false) => {
var _a, _b;
if (flag) {
return {
"dp-action-timeline-list-icon": true,
"item-empty-icon": !item.icon,
[(_a = item.status) != null ? _a : ""]: true
};
} else {
return {
icon: true,
[(_b = item.icon) != null ? _b : ""]: true
};
}
};
const renderVerticalBody = (actionData, parentIndex) => {
var _a;
return (_a = actionData.actions) == null ? void 0 : _a.map((item, index2) => {
var _a2, _b, _c, _d, _e, _f;
return createVNode("div", {
"class": timelineItemClass(index2, parentIndex, actionData, item)
}, [createVNode("div", {
"class": "vertical-list-item-top"
}, [createVNode("div", {
"class": "vertical-list-item-top-left"
}, [((_b = (_a2 = ctx2.slots).iconContent) == null ? void 0 : _b.call(_a2, {
option: item
})) || createVNode("div", {
"class": itemIconClass(item, true)
}, [!item.icon && createVNode("div", {
"class": "list-empty-icon-dot"
}, null), createVNode("em", {
"class": itemIconClass(item)
}, null)]), createVNode("div", {
"class": "vertical-list-item-top-left-title"
}, [(_d = (_c = ctx2.slots).title) == null ? void 0 : _d.call(_c, {
option: item
})])]), createVNode("div", {
"class": "dp-action-timeline-item-data"
}, [item.createdAt])]), createVNode("div", {
"class": "vertical-list-item-bottom"
}, [(_f = (_e = ctx2.slots).content) == null ? void 0 : _f.call(_e, {
option: item
})])]);
});
};
const renderHorizontalBody = (actionData, parentIndex) => {
var _a;
return (_a = actionData.actions) == null ? void 0 : _a.map((item, index2) => {
var _a2, _b, _c, _d, _e;
return createVNode("div", {
"class": timelineItemClass(index2, parentIndex, actionData, item)
}, [((_b = (_a2 = ctx2.slots).iconContent) == null ? void 0 : _b.call(_a2, {
option: item
})) || createVNode("div", {
"class": itemIconClass(item, true)
}, [!item.icon && createVNode("div", {
"class": "list-empty-icon-dot"
}, null), createVNode("em", {
"class": itemIconClass(item)
}, null)]), createVNode("div", {
"class": "dp-action-timeline-list-data"
}, [(_d = (_c = ctx2.slots).content) == null ? void 0 : _d.call(_c, {
option: item
})]), createVNode("div", {
"class": "dp-action-timeline-item-date"
}, [item.createdAt]), !(actionData.actions && (data == null ? void 0 : data.value) && index2 === actionData.actions.length - 1 && parentIndex === ((_e = data == null ? void 0 : data.value) == null ? void 0 : _e.length) - 1) && createVNode("div", {
"class": "border-bottom"
}, null)]);
});
};
const handleLoadMoreClicked = () => {
ctx2.emit("actionLoadMore");
};
const handleBackTopClicked = () => {
window.scrollTo(0, 0);
};
const renderLoadMore = () => {
var _a, _b;
return createVNode("div", {
"class": "dp-action-timeline-operation-container"
}, [((_a = loadMoreConfig == null ? void 0 : loadMoreConfig.value) == null ? void 0 : _a.loadMore) && createVNode("div", {
"class": "dp-action-timeline-operation",
"onClick": handleLoadMoreClicked
}, [loadMoreConfig.value.loadMoreText]), ((_b = loadMoreConfig == null ? void 0 : loadMoreConfig.value) == null ? void 0 : _b.isToTop) && createVNode("div", {
"class": "dp-action-timeline-operation",
"onClick": handleBackTopClicked
}, [loadMoreConfig.value.toTopText])]);
};
return () => {
var _a, _b;
return createVNode(Fragment, null, [(_a = data == null ? void 0 : data.value) == null ? void 0 : _a.map((item, parentIndex) => createVNode("div", {
"class": containerClass.value
}, [createVNode("div", {
"class": "dp-action-timeline-title"
}, [createVNode("p", null, [item.time])]), createVNode("div", {
"class": "dp-action-timeline-body"
}, [isVertical.value ? renderVerticalBody(item, parentIndex) : renderHorizontalBody(item, parentIndex)]), createVNode("div", {
"class": "border-left"
}, null)])), Boolean((_b = data == null ? void 0 : data.value) == null ? void 0 : _b.length) && renderLoadMore()]);
};
}
});
var ActionTimelineInstall = {
title: "ActionTimeline \u64CD\u4F5C\u65F6\u95F4\u8F74",
category: "\u6F14\u8FDB\u4E2D",
status: "100%",
install(app) {
app.component(ActionTimeline.name, ActionTimeline);
}
};
const AlertCloseIcon = () => createVNode("svg", {
"width": "10px",
"height": "10px",
"viewBox": "0 0 10 10",
"version": "1.1",
"xmlns": "http://www.w3.org/2000/svg"
}, [createVNode("g", {
"stroke": "none",
"stroke-width": "1",
"fill": "none",
"fill-rule": "evenodd"
}, [createVNode("g", {
"transform": "translate(-3.000000, -3.000000)",
"fill-rule": "nonzero"
}, [createVNode("path", {
"d": `M11.6426,3.19816936 C11.9239974,2.91574512 12.4131626,2.93784891 12.7352108,3.24751057 C13.0571998,3.5572302
13.0901298,4.03723416 12.8087324,4.31965839 L9.14064666,7.99900183 L12.8087324,11.6803416 C13.0645482,11.9370909
13.0605893,12.3571292 12.8158402,12.6640749 L12.7352108,12.7524894 C12.4131626,13.0621511 11.9239974,13.0842548
11.6426,12.8018306 L8,9.14489021 L4.35740003,12.8018306 C4.10158422,13.05858 3.6740594,13.0636532 3.35648225,12.8298003
L3.26478919,12.7524894 C2.94280021,12.4427698 2.90987023,11.9627658 3.19126762,11.6803416 L6.8583349,7.99900183
L3.19126762,4.31965839 C2.93545181,4.06290908 2.93941068,3.64287076 3.18415975,3.3359251 L3.26478919,3.24751057
C3.58683735,2.93784891 4.07600264,2.91574512 4.35740003,3.19816936 L8,6.85411161 L11.6426,3.19816936 Z`
}, null)])])]);
function hasClass(el, className2) {
if (el.classList) {
return el.classList.contains(className2);
}
const originClass = el.className;
return ` ${originClass} `.indexOf(` ${className2} `) > -1;
}
function addClass(el, className2) {
if (el.classList) {
el.classList.add(className2);
} else {
if (!hasClass(el, className2)) {
el.className = `${el.className} ${className2}`;
}
}
}
function removeClass(el, className2) {
if (el.classList) {
el.classList.remove(className2);
} else {
if (hasClass(el, className2)) {
const originClass = el.className;
el.className = ` ${originClass} `.replace(` ${className2} `, " ");
}
}
}
const inBrowser = typeof window !== "undefined";
function debounce(func, wait, immediate) {
let timer2, result2;
return function(...args) {
if (timer2) {
clearTimeout(timer2);
}
if (immediate) {
const localImmediate = !timer2;
timer2 = window.setTimeout(() => {
timer2 = null;
}, wait);
if (localImmediate) {
result2 = func.apply(this, args);
}
} else {
timer2 = window.setTimeout(() => {
func.apply(this, args);
}, wait);
}
return result2;
};
}
function judgeFireIsElement(element) {
const str = Object.prototype.toString.call(element);
return str.includes("object") && str.includes("HTML") && str.includes("Element");
}
function getElement(element) {
if (element instanceof Element || judgeFireIsElement(element)) {
return element;
}
if (element && typeof element === "object" && (element.$el instanceof Element || judgeFireIsElement(element.$el))) {
return element.$el;
}
return null;
}
function lockScroll() {
if (document.documentElement.scrollHeight > document.documentElement.clientHeight) {
const scrollTop = document.documentElement.scrollTop;
const style = document.documentElement.getAttribute("style");
document.documentElement.style.position = "fixed";
document.documentElement.style.top = `-${scrollTop}px`;
document.documentElement.style.width = document.documentElement.style.width || "100%";
document.documentElement.style.overflowY = "scroll";
return () => {
if (style) {
document.documentElement.setAttribute("style", style);
} else {
document.documentElement.removeAttribute("style");
}
document.documentElement.scrollTop = scrollTop;
};
}
return;
}
function getPropsSlot(slots, props, prop = "default") {
var _a, _b;
return (_b = props[prop]) != null ? _b : (_a = slots[prop]) == null ? void 0 : _a.call(slots);
}
function randomId(n = 8) {
const str = "abcdefghijklmnopqrstuvwxyz0123456789";
let result2 = "";
for (let i = 0; i < n; i++) {
result2 += str[parseInt((Math.random() * str.length).toString())];
}
return result2;
}
function toClipboard(text) {
return new Promise((resolve, reject) => {
const ele = document.createElement("button");
const clipboard = new Clipboard(ele, {
text: () => text,
action: () => "copy"
});
clipboard.on("success", (e) => {
clipboard.destroy();
resolve(e);
});
clipboard.on("error", (e) => {
clipboard.destroy();
reject(e);
});
document.body.appendChild(ele);
ele.click();
document.body.removeChild(ele);
});
}
function setStyle(element, style) {
const oldStyle = {};
const styleKeys = Object.keys(style);
styleKeys.forEach((key) => {
oldStyle[key] = element.style[key];
});
styleKeys.forEach((key) => {
element.style[key] = style[key];
});
return oldStyle;
}
function middleNum(num, min = 0, max = 100) {
let middle = 0;
middle = Math.min(num, max);
middle = Math.max(middle, min);
return middle;
}
const isNumber = (value) => typeof value === "number";
const isBoolean = (value) => typeof value === "boolean";
const isString$2 = (value) => typeof value === "string";
const isFunction$4 = (value) => Object.prototype.toString.call(value) === "[object Function]";
const isUndefined = (value) => value === void 0;
const isHTMLElement = (value) => inBrowser && "HTMLElement" in window && value instanceof HTMLElement;
function omit(obj, fields) {
const shallowCopy = Object.assign({}, obj);
for (let i = 0; i < fields.length; i += 1) {
const key = fields[i];
delete shallowCopy[key];
}
return shallowCopy;
}
function createBem(namespace, element, modifier) {
let cls = namespace;
if (element) {
cls += `__${element}`;
}
if (modifier) {
cls += `--${modifier}`;
}
return cls;
}
function useNamespace(block, needDot = false) {
const namespace = needDot ? `.devui-${block}` : `devui-${block}`;
const b = () => createBem(namespace);
const e = (element) => element ? createBem(namespace, element) : "";
const m = (modifier) => modifier ? createBem(namespace, "", modifier) : "";
const em = (element, modifier) => element && modifier ? createBem(namespace, element, modifier) : "";
return {
b,
e,
m,
em
};
}
function isUrl(value) {
return /^((http|https):)?\/\//.test(value);
}
function isBase64(value) {
return /^data:image\/.*;base64,/.test(value);
}
const ns$k = useNamespace("alert");
const AlertTypeIcon = (props) => createVNode("svg", {
"width": "16px",
"height": "16px",
"viewBox": "0 0 16 16",
"version": "1.1",
"xmlns": "http://www.w3.org/2000/svg",
"class": [ns$k.e("icon"), props.type === "danger" ? ns$k.em("icon", "error") : ns$k.em("icon", props.type)]
}, [(() => {
switch (props.type) {
case "success":
return createVNode("g", {
"stroke": "none",
"stroke-width": "1",
"fill": "none",
"fill-rule": "evenodd"
}, [createVNode("path", {
"fill-rule": "nonzero",
"d": "M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z"
}, null), createVNode("polygon", {
"stroke-width": "0.3",
"fill-rule": "nonzero",
"points": "6.82767602 11.5282799 3 7.24668779 3.89864233 6.37912367 6.82767602 9.04910002 12.2964408 4 13 4.64144383"
}, null)]);
case "warning":
return createVNode("g", {
"stroke": "none",
"stroke-width": "1",
"fill": "none",
"fill-rule": "evenodd"
}, [createVNode("path", {
"class": "warning-outer",
"d": `M8.96244623,0.57254229 L15.8714442,13.4101975 C16.1549662,13.9370117 15.9538562,14.5918482 15.4222523,14.8728158
C15.2642579,14.9563203 15.0879506,15 14.9088903,15 L1.09089441,15 C0.488410063,15 0,14.5159904 0,13.9189343
C0,13.7414873 0.0440768395,13.5667684 0.128340519,13.4101975 L7.03733844,0.57254229 C7.32086049,0.0457280838
7.98165058,-0.153569987 8.51325441,0.127397589 C8.70423071,0.228333932 8.8605922,0.383286648 8.96244623,0.57254229 Z`
}, null), createVNode("path", {
"class": "warning-inner",
"stroke-width": "0.3",
"fill-rule": "nonzero",
"d": `M8.87894737,13 L7.08947368,13 L7.08947368,11.2105263 L8.87894737,11.2105263 L8.87894737,13 Z M8.62102372,9.86842105
L7.32800539,9.86842105 L7,4.5 L8.96842105,4.5 L8.62102372,9.86842105 Z`
}, null)]);
case "info":
return createVNode("g", {
"stroke": "none",
"stroke-width": "1",
"fill": "none",
"fill-rule": "evenodd"
}, [createVNode("g", {
"fill-rule": "nonzero"
}, [createVNode("path", {
"class": "info-outer",
"d": "M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z"
}, null), createVNode("path", {
"class": "info-inner",
"d": "M9.19008504,7 L8.79402696,13 L7.15622605,13 L6.73158434,7 L9.19008504,7 Z M9,3 L9,5 L7,5 L7,3 L9,3 Z",
"stroke-width": "0.2"
}, null)])]);
case "danger":
return createVNode("g", {
"stroke": "none",
"stroke-width": "1",
"fill": "none",
"fill-rule": "evenodd"
}, [createVNode("g", {
"fill-rule": "nonzero"
}, [createVNode("path", {
"class": "error-outer",
"d": "M8,0 C3.6,0 0,3.6 0,8 C0,12.4 3.6,16 8,16 C12.4,16 16,12.4 16,8 C16,3.6 12.4,0 8,0 Z"
}, null), createVNode("path", {
"class": "error-inner",
"d": "M9,10.6 L9,12.6 L7,12.6 L7,10.6 L9,10.6 Z M9.1,3.1 L8.65924344,9.1 L7.28422786,9.1 L6.9,3.1 L9.1,3.1 Z",
"stroke-width": "0.2"
}, null)])]);
default:
return null;
}
})()]);
const alertProps = {
type: {
type: String,
default: "info"
},
cssClass: {
type: String,
default: ""
},
closeable: {
type: Boolean,
default: true
},
showIcon: {
type: Boolean,
default: true
},
dismissTime: {
type: Number,
default: 0
},
center: {
type: Boolean,
default: false
}
};
var alert = "";
var Alert = defineComponent({
name: "DAlert",
props: alertProps,
emits: ["close"],
setup(props, ctx2) {
const ns2 = useNamespace("alert");
const hide = ref(false);
const closing = ref(false);
const alertEl = ref();
let dismissTimer = void 0;
const close2 = (event) => {
dismissTimer && clearTimeout(dismissTimer);
closing.value = true;
ctx2.emit("close", event);
};
const afterLeave = () => {
dismissTimer = void 0;
hide.value = true;
closing.value = false;
};
onMounted(() => {
if (props.dismissTime) {
dismissTimer = window.setTimeout(() => {
close2();
}, props.dismissTime);
}
});
return () => {
return !hide.value ? createVNode(Transition, {
"name": ns2.b(),
"onAfterLeave": afterLeave
}, {
default: () => {
var _a, _b;
return [withDirectives(createVNode("div", {
"ref": alertEl,
"class": [ns2.b(), ns2.m(props.type), props.cssClass, closing.value && ns2.m("close"), props.center && ns2.m("center")]
}, [props.showIcon !== false && props.type !== "simple" ? createVNode("span", {
"class": ns2.e("icon-wrap")
}, [createVNode(AlertTypeIcon, {
"type": props.type
}, null)]) : null, createVNode("div", {
"class": ns2.e("content")
}, [(_b = (_a = ctx2.slots).default) ==