UNPKG

ingenious-flow-designer

Version:

[演示地址](http://antd-vben5-pro.madong.tech/)

1,603 lines 124 kB
import { computed, inject, provide, ref, defineComponent, unref, shallowRef, getCurrentInstance, watch, watchEffect, onBeforeUnmount, triggerRef, createVNode, Fragment, isVNode, Comment, Text, h as h$1 } from "vue"; import { i as inputToRGB, r as rgbToHsv, a as rgbToHex, T as TinyColor } from "./index-i2BXpzPC.js"; function _typeof(o2) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o3) { return typeof o3; } : function(o3) { return o3 && "function" == typeof Symbol && o3.constructor === Symbol && o3 !== Symbol.prototype ? "symbol" : typeof o3; }, _typeof(o2); } function toPrimitive(t2, r2) { if ("object" != _typeof(t2) || !t2) return t2; var e2 = t2[Symbol.toPrimitive]; if (void 0 !== e2) { var i2 = e2.call(t2, r2 || "default"); if ("object" != _typeof(i2)) return i2; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r2 ? String : Number)(t2); } function toPropertyKey(t2) { var i2 = toPrimitive(t2, "string"); return "symbol" == _typeof(i2) ? i2 : i2 + ""; } function _defineProperty(e2, r2, t2) { return (r2 = toPropertyKey(r2)) in e2 ? Object.defineProperty(e2, r2, { value: t2, enumerable: true, configurable: true, writable: true }) : e2[r2] = t2, e2; } function ownKeys(e2, r2) { var t2 = Object.keys(e2); if (Object.getOwnPropertySymbols) { var o2 = Object.getOwnPropertySymbols(e2); r2 && (o2 = o2.filter(function(r3) { return Object.getOwnPropertyDescriptor(e2, r3).enumerable; })), t2.push.apply(t2, o2); } return t2; } function _objectSpread2(e2) { for (var r2 = 1; r2 < arguments.length; r2++) { var t2 = null != arguments[r2] ? arguments[r2] : {}; r2 % 2 ? ownKeys(Object(t2), true).forEach(function(r3) { _defineProperty(e2, r3, t2[r3]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e2, Object.getOwnPropertyDescriptors(t2)) : ownKeys(Object(t2)).forEach(function(r3) { Object.defineProperty(e2, r3, Object.getOwnPropertyDescriptor(t2, r3)); }); } return e2; } function _extends() { return _extends = Object.assign ? Object.assign.bind() : function(n2) { for (var e2 = 1; e2 < arguments.length; e2++) { var t2 = arguments[e2]; for (var r2 in t2) ({}).hasOwnProperty.call(t2, r2) && (n2[r2] = t2[r2]); } return n2; }, _extends.apply(null, arguments); } const tuple = function() { for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return args; }; const withInstall = (comp) => { const c2 = comp; c2.install = function(app) { app.component(c2.displayName || c2.name, comp); }; return comp; }; function eventType() { return { type: [Function, Array] }; } function objectType(defaultVal) { return { type: Object, default: defaultVal }; } function booleanType(defaultVal) { return { type: Boolean, default: defaultVal }; } function functionType(defaultVal) { return { type: Function, default: defaultVal }; } function anyType(defaultVal, required) { const type = { validator: () => true, default: defaultVal }; return required ? type : type; } function arrayType(defaultVal) { return { type: Array, default: defaultVal }; } function stringType(defaultVal) { return { type: String, default: defaultVal }; } function someType(types, defaultVal) { return types ? { type: types, default: defaultVal } : anyType(defaultVal); } const defaultIconPrefixCls = "anticon"; const GlobalFormContextKey = Symbol("GlobalFormContextKey"); const useProvideGlobalForm = (state) => { provide(GlobalFormContextKey, state); }; const useInjectGlobalForm = () => { return inject(GlobalFormContextKey, { validateMessages: computed(() => void 0) }); }; const configProviderProps = () => ({ iconPrefixCls: String, getTargetContainer: { type: Function }, getPopupContainer: { type: Function }, prefixCls: String, getPrefixCls: { type: Function }, renderEmpty: { type: Function }, transformCellText: { type: Function }, csp: objectType(), input: objectType(), autoInsertSpaceInButton: { type: Boolean, default: void 0 }, locale: objectType(), pageHeader: objectType(), componentSize: { type: String }, componentDisabled: { type: Boolean, default: void 0 }, direction: { type: String, default: "ltr" }, space: objectType(), virtual: { type: Boolean, default: void 0 }, dropdownMatchSelectWidth: { type: [Number, Boolean], default: true }, form: objectType(), pagination: objectType(), theme: objectType(), select: objectType(), wave: objectType() }); const configProviderKey = Symbol("configProvider"); const defaultConfigProvider = { getPrefixCls: (suffixCls, customizePrefixCls) => { if (customizePrefixCls) return customizePrefixCls; return suffixCls ? `ant-${suffixCls}` : "ant"; }, iconPrefixCls: computed(() => defaultIconPrefixCls), getPopupContainer: computed(() => () => document.body), direction: computed(() => "ltr") }; const useConfigContextInject = () => { return inject(configProviderKey, defaultConfigProvider); }; const useConfigContextProvider = (props) => { return provide(configProviderKey, props); }; const DisabledContextKey = Symbol("DisabledContextKey"); const useInjectDisabled = () => { return inject(DisabledContextKey, ref(void 0)); }; const useProviderDisabled = (disabled) => { const parentDisabled = useInjectDisabled(); provide(DisabledContextKey, computed(() => { var _a; return (_a = disabled.value) !== null && _a !== void 0 ? _a : parentDisabled.value; })); return disabled; }; const isFunction = (val) => typeof val === "function"; const isArray = Array.isArray; const isString = (val) => typeof val === "string"; const isObject = (val) => val !== null && typeof val === "object"; const onRE = /^on[^a-z]/; const isOn = (key) => onRE.test(key); const cacheStringFunction = (fn) => { const cache = /* @__PURE__ */ Object.create(null); return (str) => { const hit = cache[str]; return hit || (cache[str] = fn(str)); }; }; const camelizeRE = /-(\w)/g; const camelize = cacheStringFunction((str) => { return str.replace(camelizeRE, (_2, c2) => c2 ? c2.toUpperCase() : ""); }); const hyphenateRE = /\B([A-Z])/g; const hyphenate = cacheStringFunction((str) => { return str.replace(hyphenateRE, "-$1").toLowerCase(); }); const hasOwnProperty = Object.prototype.hasOwnProperty; const hasOwn = (val, key) => hasOwnProperty.call(val, key); function resolvePropValue(options, props, key, value) { const opt = options[key]; if (opt != null) { const hasDefault = hasOwn(opt, "default"); if (hasDefault && value === void 0) { const defaultValue = opt.default; value = opt.type !== Function && isFunction(defaultValue) ? defaultValue() : defaultValue; } if (opt.type === Boolean) { if (!hasOwn(props, key) && !hasDefault) { value = false; } else if (value === "") { value = true; } } } return value; } function renderHelper(v2) { let props = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; let defaultV = arguments.length > 2 ? arguments[2] : void 0; if (typeof v2 === "function") { return v2(props); } return v2 !== null && v2 !== void 0 ? v2 : defaultV; } function wrapPromiseFn(openFn) { let closeFn; const closePromise = new Promise((resolve) => { closeFn = openFn(() => { resolve(true); }); }); const result = () => { closeFn === null || closeFn === void 0 ? void 0 : closeFn(); }; result.then = (filled, rejected) => closePromise.then(filled, rejected); result.promise = closePromise; return result; } function classNames() { const classes = []; for (let i2 = 0; i2 < arguments.length; i2++) { const value = i2 < 0 || arguments.length <= i2 ? void 0 : arguments[i2]; if (!value) continue; if (isString(value)) { classes.push(value); } else if (isArray(value)) { for (let i3 = 0; i3 < value.length; i3++) { const inner = classNames(value[i3]); if (inner) { classes.push(inner); } } } else if (isObject(value)) { for (const name in value) { if (value[name]) { classes.push(name); } } } } return classes.join(" "); } const Pagination = { // Options.jsx items_per_page: "/ page", jump_to: "Go to", jump_to_confirm: "confirm", page: "", // Pagination.jsx prev_page: "Previous Page", next_page: "Next Page", prev_5: "Previous 5 Pages", next_5: "Next 5 Pages", prev_3: "Previous 3 Pages", next_3: "Next 3 Pages" }; const locale$2 = { locale: "en_US", today: "Today", now: "Now", backToToday: "Back to today", ok: "Ok", clear: "Clear", month: "Month", year: "Year", timeSelect: "select time", dateSelect: "select date", weekSelect: "Choose a week", monthSelect: "Choose a month", yearSelect: "Choose a year", decadeSelect: "Choose a decade", yearFormat: "YYYY", dateFormat: "M/D/YYYY", dayFormat: "D", dateTimeFormat: "M/D/YYYY HH:mm:ss", monthBeforeYear: true, previousMonth: "Previous month (PageUp)", nextMonth: "Next month (PageDown)", previousYear: "Last year (Control + left)", nextYear: "Next year (Control + right)", previousDecade: "Last decade", nextDecade: "Next decade", previousCentury: "Last century", nextCentury: "Next century" }; const locale$1 = { placeholder: "Select time", rangePlaceholder: ["Start time", "End time"] }; const locale = { lang: _extends({ placeholder: "Select date", yearPlaceholder: "Select year", quarterPlaceholder: "Select quarter", monthPlaceholder: "Select month", weekPlaceholder: "Select week", rangePlaceholder: ["Start date", "End date"], rangeYearPlaceholder: ["Start year", "End year"], rangeQuarterPlaceholder: ["Start quarter", "End quarter"], rangeMonthPlaceholder: ["Start month", "End month"], rangeWeekPlaceholder: ["Start week", "End week"] }, locale$2), timePickerLocale: _extends({}, locale$1) }; const typeTemplate = "${label} is not a valid ${type}"; const localeValues = { locale: "en", Pagination, DatePicker: locale, TimePicker: locale$1, Calendar: locale, global: { placeholder: "Please select" }, Table: { filterTitle: "Filter menu", filterConfirm: "OK", filterReset: "Reset", filterEmptyText: "No filters", filterCheckall: "Select all items", filterSearchPlaceholder: "Search in filters", emptyText: "No data", selectAll: "Select current page", selectInvert: "Invert current page", selectNone: "Clear all data", selectionAll: "Select all data", sortTitle: "Sort", expand: "Expand row", collapse: "Collapse row", triggerDesc: "Click to sort descending", triggerAsc: "Click to sort ascending", cancelSort: "Click to cancel sorting" }, Tour: { Next: "Next", Previous: "Previous", Finish: "Finish" }, Modal: { okText: "OK", cancelText: "Cancel", justOkText: "OK" }, Popconfirm: { okText: "OK", cancelText: "Cancel" }, Transfer: { titles: ["", ""], searchPlaceholder: "Search here", itemUnit: "item", itemsUnit: "items", remove: "Remove", selectCurrent: "Select current page", removeCurrent: "Remove current page", selectAll: "Select all data", removeAll: "Remove all data", selectInvert: "Invert current page" }, Upload: { uploading: "Uploading...", removeFile: "Remove file", uploadError: "Upload error", previewFile: "Preview file", downloadFile: "Download file" }, Empty: { description: "No data" }, Icon: { icon: "icon" }, Text: { edit: "Edit", copy: "Copy", copied: "Copied", expand: "Expand" }, PageHeader: { back: "Back" }, Form: { optional: "(optional)", defaultValidateMessages: { default: "Field validation error for ${label}", required: "Please enter ${label}", enum: "${label} must be one of [${enum}]", whitespace: "${label} cannot be a blank character", date: { format: "${label} date format is invalid", parse: "${label} cannot be converted to a date", invalid: "${label} is an invalid date" }, types: { string: typeTemplate, method: typeTemplate, array: typeTemplate, object: typeTemplate, number: typeTemplate, date: typeTemplate, boolean: typeTemplate, integer: typeTemplate, float: typeTemplate, regexp: typeTemplate, email: typeTemplate, url: typeTemplate, hex: typeTemplate }, string: { len: "${label} must be ${len} characters", min: "${label} must be at least ${min} characters", max: "${label} must be up to ${max} characters", range: "${label} must be between ${min}-${max} characters" }, number: { len: "${label} must be equal to ${len}", min: "${label} must be minimum ${min}", max: "${label} must be maximum ${max}", range: "${label} must be between ${min}-${max}" }, array: { len: "Must be ${len} ${label}", min: "At least ${min} ${label}", max: "At most ${max} ${label}", range: "The amount of ${label} must be between ${min}-${max}" }, pattern: { mismatch: "${label} does not match the pattern ${pattern}" } } }, Image: { preview: "Preview" }, QRCode: { expired: "QR code expired", refresh: "Refresh", scanned: "Scanned" } }; const LocaleReceiver = defineComponent({ compatConfig: { MODE: 3 }, name: "LocaleReceiver", props: { componentName: String, defaultLocale: { type: [Object, Function] }, children: { type: Function } }, setup(props, _ref) { let { slots } = _ref; const localeData = inject("localeData", {}); const locale2 = computed(() => { const { componentName = "global", defaultLocale } = props; const locale3 = defaultLocale || localeValues[componentName || "global"]; const { antLocale } = localeData; const localeFromContext = componentName && antLocale ? antLocale[componentName] : {}; return _extends(_extends({}, typeof locale3 === "function" ? locale3() : locale3), localeFromContext || {}); }); const localeCode = computed(() => { const { antLocale } = localeData; const localeCode2 = antLocale && antLocale.locale; if (antLocale && antLocale.exist && !localeCode2) { return localeValues.locale; } return localeCode2; }); return () => { const children = props.children || slots.default; const { antLocale } = localeData; return children === null || children === void 0 ? void 0 : children(locale2.value, localeCode.value, antLocale); }; } }); function useLocaleReceiver(componentName, defaultLocale, propsLocale) { const localeData = inject("localeData", {}); const componentLocale = computed(() => { const { antLocale } = localeData; const locale2 = unref(defaultLocale) || localeValues[componentName || "global"]; const localeFromContext = componentName && antLocale ? antLocale[componentName] : {}; return _extends(_extends(_extends({}, typeof locale2 === "function" ? locale2() : locale2), localeFromContext || {}), unref(propsLocale) || {}); }); return [componentLocale]; } function murmur2(str) { var h2 = 0; var k2, i2 = 0, len = str.length; for (; len >= 4; ++i2, len -= 4) { k2 = str.charCodeAt(i2) & 255 | (str.charCodeAt(++i2) & 255) << 8 | (str.charCodeAt(++i2) & 255) << 16 | (str.charCodeAt(++i2) & 255) << 24; k2 = /* Math.imul(k, m): */ (k2 & 65535) * 1540483477 + ((k2 >>> 16) * 59797 << 16); k2 ^= /* k >>> r: */ k2 >>> 24; h2 = /* Math.imul(k, m): */ (k2 & 65535) * 1540483477 + ((k2 >>> 16) * 59797 << 16) ^ /* Math.imul(h, m): */ (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16); } switch (len) { case 3: h2 ^= (str.charCodeAt(i2 + 2) & 255) << 16; case 2: h2 ^= (str.charCodeAt(i2 + 1) & 255) << 8; case 1: h2 ^= str.charCodeAt(i2) & 255; h2 = /* Math.imul(h, m): */ (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16); } h2 ^= h2 >>> 13; h2 = /* Math.imul(h, m): */ (h2 & 65535) * 1540483477 + ((h2 >>> 16) * 59797 << 16); return ((h2 ^ h2 >>> 15) >>> 0).toString(36); } const SPLIT = "%"; class Entity { constructor(instanceId) { this.cache = /* @__PURE__ */ new Map(); this.instanceId = instanceId; } get(keys) { return this.cache.get(Array.isArray(keys) ? keys.join(SPLIT) : keys) || null; } update(keys, valueFn) { const path = Array.isArray(keys) ? keys.join(SPLIT) : keys; const prevValue = this.cache.get(path); const nextValue = valueFn(prevValue); if (nextValue === null) { this.cache.delete(path); } else { this.cache.set(path, nextValue); } } } const ATTR_TOKEN = "data-token-hash"; const ATTR_MARK = "data-css-hash"; const ATTR_CACHE_PATH = "data-cache-path"; const CSS_IN_JS_INSTANCE = "__cssinjs_instance__"; function createCache() { const cssinjsInstanceId = Math.random().toString(12).slice(2); if (typeof document !== "undefined" && document.head && document.body) { const styles = document.body.querySelectorAll(`style[${ATTR_MARK}]`) || []; const { firstChild } = document.head; Array.from(styles).forEach((style) => { style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || cssinjsInstanceId; if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) { document.head.insertBefore(style, firstChild); } }); const styleHash = {}; Array.from(document.querySelectorAll(`style[${ATTR_MARK}]`)).forEach((style) => { var _a; const hash = style.getAttribute(ATTR_MARK); if (styleHash[hash]) { if (style[CSS_IN_JS_INSTANCE] === cssinjsInstanceId) { (_a = style.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(style); } } else { styleHash[hash] = true; } }); } return new Entity(cssinjsInstanceId); } const StyleContextKey = Symbol("StyleContextKey"); const getCache = () => { var _a, _b, _c; const instance = getCurrentInstance(); let cache; if (instance && instance.appContext) { const globalCache = (_c = (_b = (_a = instance.appContext) === null || _a === void 0 ? void 0 : _a.config) === null || _b === void 0 ? void 0 : _b.globalProperties) === null || _c === void 0 ? void 0 : _c.__ANTDV_CSSINJS_CACHE__; if (globalCache) { cache = globalCache; } else { cache = createCache(); if (instance.appContext.config.globalProperties) { instance.appContext.config.globalProperties.__ANTDV_CSSINJS_CACHE__ = cache; } } } else { cache = createCache(); } return cache; }; const defaultStyleContext = { cache: createCache(), defaultCache: true, hashPriority: "low" }; const useStyleInject = () => { const cache = getCache(); return inject(StyleContextKey, shallowRef(_extends(_extends({}, defaultStyleContext), { cache }))); }; const useStyleProvider = (props) => { const parentContext = useStyleInject(); const context = shallowRef(_extends(_extends({}, defaultStyleContext), { cache: createCache() })); watch([() => unref(props), parentContext], () => { const mergedContext = _extends({}, parentContext.value); const propsValue = unref(props); Object.keys(propsValue).forEach((key) => { const value = propsValue[key]; if (propsValue[key] !== void 0) { mergedContext[key] = value; } }); const { cache } = propsValue; mergedContext.cache = mergedContext.cache || createCache(); mergedContext.defaultCache = !cache && parentContext.value.defaultCache; context.value = mergedContext; }, { immediate: true }); provide(StyleContextKey, context); return context; }; const styleProviderProps = () => ({ autoClear: booleanType(), /** @private Test only. Not work in production. */ mock: stringType(), /** * Only set when you need ssr to extract style on you own. * If not provided, it will auto create <style /> on the end of Provider in server side. */ cache: objectType(), /** Tell children that this context is default generated context */ defaultCache: booleanType(), /** Use `:where` selector to reduce hashId css selector priority */ hashPriority: stringType(), /** Tell cssinjs where to inject style in */ container: someType(), /** Component wil render inline `<style />` for fallback in SSR. Not recommend. */ ssrInline: booleanType(), /** Transform css before inject in document. Please note that `transformers` do not support dynamic update */ transformers: arrayType(), /** * Linters to lint css before inject in document. * Styles will be linted after transforming. * Please note that `linters` do not support dynamic update. */ linters: arrayType() }); withInstall(defineComponent({ name: "AStyleProvider", inheritAttrs: false, props: styleProviderProps(), setup(props, _ref) { let { slots } = _ref; useStyleProvider(props); return () => { var _a; return (_a = slots.default) === null || _a === void 0 ? void 0 : _a.call(slots); }; } })); function useProdHMR() { return false; } let webpackHMR = false; function useDevHMR() { return webpackHMR; } const useHMR = process.env.NODE_ENV === "production" ? useProdHMR : useDevHMR; if (process.env.NODE_ENV !== "production" && typeof module !== "undefined" && module && module.hot && typeof window !== "undefined") { const win = window; if (typeof win.webpackHotUpdate === "function") { const originWebpackHotUpdate = win.webpackHotUpdate; win.webpackHotUpdate = function() { webpackHMR = true; setTimeout(() => { webpackHMR = false; }, 0); return originWebpackHotUpdate(...arguments); }; } } function useClientCache(prefix, keyPath, cacheFn, onCacheRemove) { const styleContext = useStyleInject(); const fullPathStr = shallowRef(""); const res = shallowRef(); watchEffect(() => { fullPathStr.value = [prefix, ...keyPath.value].join("%"); }); const HMRUpdate = useHMR(); const clearCache = (pathStr) => { styleContext.value.cache.update(pathStr, (prevCache) => { const [times = 0, cache] = prevCache || []; const nextCount = times - 1; if (nextCount === 0) { onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(cache, false); return null; } return [times - 1, cache]; }); }; watch(fullPathStr, (newStr, oldStr) => { if (oldStr) clearCache(oldStr); styleContext.value.cache.update(newStr, (prevCache) => { const [times = 0, cache] = prevCache || []; let tmpCache = cache; if (process.env.NODE_ENV !== "production" && cache && HMRUpdate) { onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(tmpCache, HMRUpdate); tmpCache = null; } const mergedCache = tmpCache || cacheFn(); return [times + 1, mergedCache]; }); res.value = styleContext.value.cache.get(fullPathStr.value)[1]; }, { immediate: true }); onBeforeUnmount(() => { clearCache(fullPathStr.value); }); return res; } function canUseDom() { return !!(typeof window !== "undefined" && window.document && window.document.createElement); } function contains(root, n2) { if (!root) { return false; } if (root.contains) { return root.contains(n2); } return false; } const APPEND_ORDER = "data-vc-order"; const MARK_KEY = `vc-util-key`; const containerCache = /* @__PURE__ */ new Map(); function getMark() { let { mark } = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {}; if (mark) { return mark.startsWith("data-") ? mark : `data-${mark}`; } return MARK_KEY; } function getContainer(option) { if (option.attachTo) { return option.attachTo; } const head = document.querySelector("head"); return head || document.body; } function getOrder(prepend) { if (prepend === "queue") { return "prependQueue"; } return prepend ? "prepend" : "append"; } function findStyles(container) { return Array.from((containerCache.get(container) || container).children).filter((node2) => node2.tagName === "STYLE"); } function injectCSS(css) { let option = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; if (!canUseDom()) { return null; } const { csp, prepend } = option; const styleNode = document.createElement("style"); styleNode.setAttribute(APPEND_ORDER, getOrder(prepend)); if (csp === null || csp === void 0 ? void 0 : csp.nonce) { styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce; } styleNode.innerHTML = css; const container = getContainer(option); const { firstChild } = container; if (prepend) { if (prepend === "queue") { const existStyle = findStyles(container).filter((node2) => ["prepend", "prependQueue"].includes(node2.getAttribute(APPEND_ORDER))); if (existStyle.length) { container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling); return styleNode; } } container.insertBefore(styleNode, firstChild); } else { container.appendChild(styleNode); } return styleNode; } function findExistNode(key) { let option = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const container = getContainer(option); return findStyles(container).find((node2) => node2.getAttribute(getMark(option)) === key); } function removeCSS(key) { let option = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; const existNode = findExistNode(key, option); if (existNode) { const container = getContainer(option); container.removeChild(existNode); } } function syncRealContainer(container, option) { const cachedRealContainer = containerCache.get(container); if (!cachedRealContainer || !contains(document, cachedRealContainer)) { const placeholderStyle = injectCSS("", option); const { parentNode } = placeholderStyle; containerCache.set(container, parentNode); container.removeChild(placeholderStyle); } } function updateCSS(css, key) { let option = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; var _a, _b, _c; const container = getContainer(option); syncRealContainer(container, option); const existNode = findExistNode(key, option); if (existNode) { if (((_a = option.csp) === null || _a === void 0 ? void 0 : _a.nonce) && existNode.nonce !== ((_b = option.csp) === null || _b === void 0 ? void 0 : _b.nonce)) { existNode.nonce = (_c = option.csp) === null || _c === void 0 ? void 0 : _c.nonce; } if (existNode.innerHTML !== css) { existNode.innerHTML = css; } return existNode; } const newNode = injectCSS(css, option); newNode.setAttribute(getMark(option), key); return newNode; } function sameDerivativeOption(left, right) { if (left.length !== right.length) { return false; } for (let i2 = 0; i2 < left.length; i2++) { if (left[i2] !== right[i2]) { return false; } } return true; } class ThemeCache { constructor() { this.cache = /* @__PURE__ */ new Map(); this.keys = []; this.cacheCallTimes = 0; } size() { return this.keys.length; } internalGet(derivativeOption) { let updateCallTimes = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; let cache = { map: this.cache }; derivativeOption.forEach((derivative2) => { var _a; if (!cache) { cache = void 0; } else { cache = (_a = cache === null || cache === void 0 ? void 0 : cache.map) === null || _a === void 0 ? void 0 : _a.get(derivative2); } }); if ((cache === null || cache === void 0 ? void 0 : cache.value) && updateCallTimes) { cache.value[1] = this.cacheCallTimes++; } return cache === null || cache === void 0 ? void 0 : cache.value; } get(derivativeOption) { var _a; return (_a = this.internalGet(derivativeOption, true)) === null || _a === void 0 ? void 0 : _a[0]; } has(derivativeOption) { return !!this.internalGet(derivativeOption); } set(derivativeOption, value) { if (!this.has(derivativeOption)) { if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) { const [targetKey] = this.keys.reduce((result, key) => { const [, callTimes] = result; if (this.internalGet(key)[1] < callTimes) { return [key, this.internalGet(key)[1]]; } return result; }, [this.keys[0], this.cacheCallTimes]); this.delete(targetKey); } this.keys.push(derivativeOption); } let cache = this.cache; derivativeOption.forEach((derivative2, index) => { if (index === derivativeOption.length - 1) { cache.set(derivative2, { value: [value, this.cacheCallTimes++] }); } else { const cacheValue = cache.get(derivative2); if (!cacheValue) { cache.set(derivative2, { map: /* @__PURE__ */ new Map() }); } else if (!cacheValue.map) { cacheValue.map = /* @__PURE__ */ new Map(); } cache = cache.get(derivative2).map; } }); } deleteByPath(currentCache, derivatives) { var _a; const cache = currentCache.get(derivatives[0]); if (derivatives.length === 1) { if (!cache.map) { currentCache.delete(derivatives[0]); } else { currentCache.set(derivatives[0], { map: cache.map }); } return (_a = cache.value) === null || _a === void 0 ? void 0 : _a[0]; } const result = this.deleteByPath(cache.map, derivatives.slice(1)); if ((!cache.map || cache.map.size === 0) && !cache.value) { currentCache.delete(derivatives[0]); } return result; } delete(derivativeOption) { if (this.has(derivativeOption)) { this.keys = this.keys.filter((item) => !sameDerivativeOption(item, derivativeOption)); return this.deleteByPath(this.cache, derivativeOption); } return void 0; } } ThemeCache.MAX_CACHE_SIZE = 20; ThemeCache.MAX_CACHE_OFFSET = 5; let warned = {}; function warning$1(valid, message) { if (process.env.NODE_ENV !== "production" && !valid && console !== void 0) { console.error(`Warning: ${message}`); } } function note(valid, message) { if (process.env.NODE_ENV !== "production" && !valid && console !== void 0) { console.warn(`Note: ${message}`); } } function resetWarned() { warned = {}; } function call(method, valid, message) { if (!valid && !warned[message]) { method(false, message); warned[message] = true; } } function warningOnce(valid, message) { call(warning$1, valid, message); } function noteOnce(valid, message) { call(note, valid, message); } function noop$1() { } let warning = noop$1; if (process.env.NODE_ENV !== "production") { warning = (valid, component, message) => { warningOnce(valid, `[ant-design-vue: ${component}] ${message}`); if (process.env.NODE_ENV === "test") { resetWarned(); } }; } let uuid = 0; class Theme { constructor(derivatives) { this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives]; this.id = uuid; if (derivatives.length === 0) { warning(derivatives.length > 0, "[Ant Design Vue CSS-in-JS] Theme should have at least one derivative function."); } uuid += 1; } getDerivativeToken(token2) { return this.derivatives.reduce((result, derivative2) => derivative2(token2, result), void 0); } } const cacheThemes = new ThemeCache(); function createTheme(derivatives) { const derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives]; if (!cacheThemes.has(derivativeArr)) { cacheThemes.set(derivativeArr, new Theme(derivativeArr)); } return cacheThemes.get(derivativeArr); } const flattenTokenCache = /* @__PURE__ */ new WeakMap(); function flattenToken(token2) { let str = flattenTokenCache.get(token2) || ""; if (!str) { Object.keys(token2).forEach((key) => { const value = token2[key]; str += key; if (value instanceof Theme) { str += value.id; } else if (value && typeof value === "object") { str += flattenToken(value); } else { str += value; } }); flattenTokenCache.set(token2, str); } return str; } function token2key(token2, salt) { return murmur2(`${salt}_${flattenToken(token2)}`); } const randomSelectorKey = `random-${Date.now()}-${Math.random()}`.replace(/\./g, ""); const checkContent = "_bAmBoO_"; function supportSelector(styleStr, handleElement, supportCheck) { var _a, _b; if (canUseDom()) { updateCSS(styleStr, randomSelectorKey); const ele = document.createElement("div"); ele.style.position = "fixed"; ele.style.left = "0"; ele.style.top = "0"; handleElement === null || handleElement === void 0 ? void 0 : handleElement(ele); document.body.appendChild(ele); if (process.env.NODE_ENV !== "production") { ele.innerHTML = "Test"; ele.style.zIndex = "9999999"; } const support = supportCheck ? supportCheck(ele) : (_a = getComputedStyle(ele).content) === null || _a === void 0 ? void 0 : _a.includes(checkContent); (_b = ele.parentNode) === null || _b === void 0 ? void 0 : _b.removeChild(ele); removeCSS(randomSelectorKey); return support; } return false; } let canLayer = void 0; function supportLayer() { if (canLayer === void 0) { canLayer = supportSelector(`@layer ${randomSelectorKey} { .${randomSelectorKey} { content: "${checkContent}"!important; } }`, (ele) => { ele.className = randomSelectorKey; }); } return canLayer; } const EMPTY_OVERRIDE = {}; const isProduction = process.env.NODE_ENV === "production"; const isPrerender = process.env.NODE_ENV === "prerender"; const hashPrefix = !isProduction && !isPrerender ? "css-dev-only-do-not-override" : "css"; const tokenKeys = /* @__PURE__ */ new Map(); function recordCleanToken(tokenKey) { tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1); } function removeStyleTags(key, instanceId) { if (typeof document !== "undefined") { const styles = document.querySelectorAll(`style[${ATTR_TOKEN}="${key}"]`); styles.forEach((style) => { var _a; if (style[CSS_IN_JS_INSTANCE] === instanceId) { (_a = style.parentNode) === null || _a === void 0 ? void 0 : _a.removeChild(style); } }); } } const TOKEN_THRESHOLD = 0; function cleanTokenStyle(tokenKey, instanceId) { tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1); const tokenKeyList = Array.from(tokenKeys.keys()); const cleanableKeyList = tokenKeyList.filter((key) => { const count = tokenKeys.get(key) || 0; return count <= 0; }); if (tokenKeyList.length - cleanableKeyList.length > TOKEN_THRESHOLD) { cleanableKeyList.forEach((key) => { removeStyleTags(key, instanceId); tokenKeys.delete(key); }); } } const getComputedToken = (originToken, overrideToken, theme, format) => { const derivativeToken = theme.getDerivativeToken(originToken); let mergedDerivativeToken = _extends(_extends({}, derivativeToken), overrideToken); if (format) { mergedDerivativeToken = format(mergedDerivativeToken); } return mergedDerivativeToken; }; function useCacheToken(theme, tokens) { let option = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : ref({}); const style = useStyleInject(); const mergedToken = computed(() => _extends({}, ...tokens.value)); const tokenStr = computed(() => flattenToken(mergedToken.value)); const overrideTokenStr = computed(() => flattenToken(option.value.override || EMPTY_OVERRIDE)); const cachedToken = useClientCache("token", computed(() => [option.value.salt || "", theme.value.id, tokenStr.value, overrideTokenStr.value]), () => { const { salt = "", override = EMPTY_OVERRIDE, formatToken: formatToken2, getComputedToken: compute } = option.value; const mergedDerivativeToken = compute ? compute(mergedToken.value, override, theme.value) : getComputedToken(mergedToken.value, override, theme.value, formatToken2); const tokenKey = token2key(mergedDerivativeToken, salt); mergedDerivativeToken._tokenKey = tokenKey; recordCleanToken(tokenKey); const hashId = `${hashPrefix}-${murmur2(tokenKey)}`; mergedDerivativeToken._hashId = hashId; return [mergedDerivativeToken, hashId]; }, (cache) => { var _a; cleanTokenStyle(cache[0]._tokenKey, (_a = style.value) === null || _a === void 0 ? void 0 : _a.cache.instanceId); }); return cachedToken; } var unitlessKeys = { animationIterationCount: 1, aspectRatio: 1, borderImageOutset: 1, borderImageSlice: 1, borderImageWidth: 1, boxFlex: 1, boxFlexGroup: 1, boxOrdinalGroup: 1, columnCount: 1, columns: 1, flex: 1, flexGrow: 1, flexPositive: 1, flexShrink: 1, flexNegative: 1, flexOrder: 1, gridRow: 1, gridRowEnd: 1, gridRowSpan: 1, gridRowStart: 1, gridColumn: 1, gridColumnEnd: 1, gridColumnSpan: 1, gridColumnStart: 1, msGridRow: 1, msGridRowSpan: 1, msGridColumn: 1, msGridColumnSpan: 1, fontWeight: 1, lineHeight: 1, opacity: 1, order: 1, orphans: 1, tabSize: 1, widows: 1, zIndex: 1, zoom: 1, WebkitLineClamp: 1, // SVG-related properties fillOpacity: 1, floodOpacity: 1, stopOpacity: 1, strokeDasharray: 1, strokeDashoffset: 1, strokeMiterlimit: 1, strokeOpacity: 1, strokeWidth: 1 }; var COMMENT = "comm"; var RULESET = "rule"; var DECLARATION = "decl"; var IMPORT = "@import"; var KEYFRAMES = "@keyframes"; var LAYER = "@layer"; var abs = Math.abs; var from = String.fromCharCode; function trim(value) { return value.trim(); } function replace(value, pattern, replacement) { return value.replace(pattern, replacement); } function indexof(value, search, position2) { return value.indexOf(search, position2); } function charat(value, index) { return value.charCodeAt(index) | 0; } function substr(value, begin, end) { return value.slice(begin, end); } function strlen(value) { return value.length; } function sizeof(value) { return value.length; } function append(value, array) { return array.push(value), value; } var line = 1; var column = 1; var length = 0; var position = 0; var character = 0; var characters = ""; function node(value, root, parent, type, props, children, length2, siblings) { return { value, root, parent, type, props, children, line, column, length: length2, return: "", siblings }; } function char() { return character; } function prev() { character = position > 0 ? charat(characters, --position) : 0; if (column--, character === 10) column = 1, line--; return character; } function next() { character = position < length ? charat(characters, position++) : 0; if (column++, character === 10) column = 1, line++; return character; } function peek() { return charat(characters, position); } function caret() { return position; } function slice(begin, end) { return substr(characters, begin, end); } function token(type) { switch (type) { case 0: case 9: case 10: case 13: case 32: return 5; case 33: case 43: case 44: case 47: case 62: case 64: case 126: case 59: case 123: case 125: return 4; case 58: return 3; case 34: case 39: case 40: case 91: return 2; case 41: case 93: return 1; } return 0; } function alloc(value) { return line = column = 1, length = strlen(characters = value), position = 0, []; } function dealloc(value) { return characters = "", value; } function delimit(type) { return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type))); } function whitespace(type) { while (character = peek()) if (character < 33) next(); else break; return token(type) > 2 || token(character) > 3 ? "" : " "; } function escaping(index, count) { while (--count && next()) if (character < 48 || character > 102 || character > 57 && character < 65 || character > 70 && character < 97) break; return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32)); } function delimiter(type) { while (next()) switch (character) { case type: return position; case 34: case 39: if (type !== 34 && type !== 39) delimiter(character); break; case 40: if (type === 41) delimiter(type); break; case 92: next(); break; } return position; } function commenter(type, index) { while (next()) if (type + character === 47 + 10) break; else if (type + character === 42 + 42 && peek() === 47) break; return "/*" + slice(index, position - 1) + "*" + from(type === 47 ? type : next()); } function identifier(index) { while (!token(peek())) next(); return slice(index, position); } function compile(value) { return dealloc(parse("", null, null, null, [""], value = alloc(value), 0, [0], value)); } function parse(value, root, parent, rule, rules, rulesets, pseudo, points, declarations) { var index = 0; var offset = 0; var length2 = pseudo; var atrule = 0; var property = 0; var previous = 0; var variable = 1; var scanning = 1; var ampersand = 1; var character2 = 0; var type = ""; var props = rules; var children = rulesets; var reference = rule; var characters2 = type; while (scanning) switch (previous = character2, character2 = next()) { case 40: if (previous != 108 && charat(characters2, length2 - 1) == 58) { if (indexof(characters2 += replace(delimit(character2), "&", "&\f"), "&\f", abs(index ? points[index - 1] : 0)) != -1) ampersand = -1; break; } case 34: case 39: case 91: characters2 += delimit(character2); break; case 9: case 10: case 13: case 32: characters2 += whitespace(previous); break; case 92: characters2 += escaping(caret() - 1, 7); continue; case 47: switch (peek()) { case 42: case 47: append(comment(commenter(next(), caret()), root, parent, declarations), declarations); if ((token(previous || 1) == 5 || token(peek() || 1) == 5) && strlen(characters2) && substr(characters2, -1, void 0) !== " ") characters2 += " "; break; default: characters2 += "/"; } break; case 123 * variable: points[index++] = strlen(characters2) * ampersand; case 125 * variable: case 59: case 0: switch (character2) { case 0: case 125: scanning = 0; case 59 + offset: if (ampersand == -1) characters2 = replace(characters2, /\f/g, ""); if (property > 0 && (strlen(characters2) - length2 || variable === 0 && previous === 47)) append(property > 32 ? declaration(characters2 + ";", rule, parent, length2 - 1, declarations) : declaration(replace(characters2, " ", "") + ";", rule, parent, length2 - 2, declarations), declarations); break; case 59: characters2 += ";"; default: append(reference = ruleset(characters2, root, parent, index, offset, rules, points, type, props = [], children = [], length2, rulesets), rulesets); if (character2 === 123) if (offset === 0) parse(characters2, root, reference, reference, props, rulesets, length2, points, children); else switch (atrule === 99 && charat(characters2, 3) === 110 ? 100 : atrule) { case 100: case 108: case 109: case 115: parse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length2, children), children), rules, children, length2, points, rule ? props : children); break; default: parse(characters2, reference, reference, reference, [""], children, 0, points, children); } } index = offset = property = 0, variable = ampersand = 1, type = characters2 = "", length2 = pseudo; break; case 58: length2 = 1 + strlen(characters2), property = previous; default: if (variable < 1) { if (character2 == 123) --variable; else if (character2 == 125 && variable++ == 0 && prev() == 125) continue; } switch (characters2 += from(character2), character2 * variable) { case 38: ampersand = offset > 0 ? 1 : (characters2 += "\f", -1); break; case 44: points[index++] = (strlen(characters2) - 1) * ampersand, ampersand = 1; break; case 64: if (peek() === 45) characters2 += delimit(next()); atrule = peek(), offset = length2 = strlen(type = characters2 += identifier(caret())), character2++; break; case 45: if (previous === 45 && strlen(characters2) == 2) variable = 0; } } return rulesets; } function ruleset(value, root, parent, index, offset, rules, points, type, props, children, length2, siblings) { var post = offset - 1; var rule = offset === 0 ? rules : [""]; var size = sizeof(rule); for (var i2 = 0, j2 = 0, k2 = 0; i2 < index; ++i2) for (var x2 = 0, y2 = substr(value, post + 1, post = abs(j2 = points[i2])), z2 = value; x2 < size; ++x2) if (z2 = trim(j2 > 0 ? rule[x2] + " " + y2 : replace(y2, /&\f/g, rule[x2]))) props[k2++] = z2; return node(value, root, parent, offset === 0 ? RULESET : type, props, children, length2, siblings); } function comment(value, root, parent, siblings) { return node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0, siblings); } function declaration(value, root, parent, length2, siblings) { return node(value, root, parent, DECLARATION, substr(value, 0, length2), substr(value, length2 + 1, -1), length2, siblings); } function serialize(children, callback) { var output = ""; for (var i2 = 0; i2 < children.length; i2++) output += callback(children[i2], i2, children, callback) || ""; return output; } function stringify(element, index, children, callback) { switch (element.type) { case LAYER: if (element.children.length) break; case IMPORT: case DECLARATION: return element.return = element.return || element.value; case COMMENT: return ""; case KEYFRAMES: return element.return = element.value + "{" + serialize(element.children, callback) + "}"; case RULESET: if (!strlen(element.value = element.props.join(","))) return ""; } return strlen(children = serialize(element.children, callback)) ? element.return = element.value + "{" + children + "}" : ""; } function lintWarning(message, info) { const { path, parentSelectors } = info; warningOnce(false, `[Ant Design Vue CSS-in-JS] ${path ? `Error in '${path}': ` : ""}${message}${parentSelectors.length ? ` Selector info: ${parentSelectors.join(" -> ")}` : ""}`); } const linter$1 = (key, value, info) => { if (key === "content") { const contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\(|(no-)?(open|close)-quote/; const contentValues = ["normal", "none", "initial", "inherit", "unset"]; if (typeof value !== "string" || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '"' && value.charAt(0) !== "'")) { lintWarning(`You seem to be using a value for 'content' without quotes, try replacing it with \`content: '"${value}"'\`.`, info); } } }; const linter = (key, value, info) => { if (key === "animation") { if (info.hashId && value !== "none") { lintWarning(`You seem to be using hashed animation '${value}', in which case 'animationName' with Keyframe as value is recommended.`, info); } } }; const ATTR_CACHE_MAP = "data-ant-cssinjs-cache-path"; const CSS_FILE_STYLE = "_FILE_STYLE__"; let cachePathMap; let fromCSSFile = true; function prepare() { var _a; if (!cachePathMap) { cachePathMap = {}; if (canUseDom()) { const div = document.createElement("div"); div.className = ATTR_CACHE_MAP; div.style.position = "fixed"; div.style.visibility = "hidden"; div.style.top = "-9999px"; document.body.appendChild(div); let content = getComputedStyle(div).content || ""; content = content.replace(/^"/, "").replace(/"$/, ""); content.split(";").forEach((item) => { const [path, hash] = item.split(":"); cachePathMap[path] = hash; }); const inlineMa