{"version":3,"file":"dep-e380abac.mjs","sources":["../../../shared/hooks/icon/index.tsx","../../../../node_modules/.pnpm/performance-now@2.1.0/node_modules/performance-now/lib/performance-now.js","../../../../node_modules/.pnpm/raf@3.4.1/node_modules/raf/index.js","../../../common/js/utils/easing.ts","../../../shared/utils/dom.ts","../../../shared/utils/withInstall.ts","../../../shared/utils/render-tnode.ts","../../../shared/utils/copy-to-clipboard.ts","../../../shared/hooks/slot/index.ts","../../../common/js/utils/general.ts","../../../shared/hooks/tnode/index.ts","../../../shared/hooks/useCollapseAnimation/index.ts","../../../common/js/global-config/default-config.ts","../../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/dayjs.min.js","../../../../node_modules/.pnpm/dayjs@1.11.10/node_modules/dayjs/locale/zh-cn.js","../../../common/js/global-config/locale/zh_CN.ts","../../../components/config-provider/utils/context.ts","../../../common/js/global-config/t.ts","../../../components/config-provider/hooks/useConfig.ts","../../../shared/hooks/useConfig/index.ts","../../../shared/hooks/useCommonClassName/index.ts","../../../shared/hooks/useDefaultValue/index.ts","../../../shared/hooks/useDestroyOnClose/index.ts","../../../shared/hooks/useDisabled/index.ts","../../../shared/hooks/useDragSort/index.ts","../../../common/js/utils/observe.ts","../../../shared/hooks/useElementLazyRender/index.ts","../../../shared/hooks/useGlobalIcon/index.ts","../../../common/js/log/log.ts","../../../common/js/upload/utils.ts","../../../shared/hooks/useImagePreviewUrl/index.ts","../../../shared/hooks/useKeepAnimation/index.ts","../../../shared/hooks/useLazyLoad/index.ts","../../../shared/hooks/useListener/index.ts","../../../shared/hooks/usePopupManager/index.ts","../../../shared/hooks/useReadonly/index.ts","../../../shared/hooks/useResizeObserver/index.ts","../../../common/js/utils/setStyle.ts","../../../shared/hooks/useRipple/index.ts","../../../shared/hooks/useTeleport/index.ts","../../../shared/hooks/useVModel/index.ts","../../../shared/hooks/useVirtualScroll/index.ts","../../../shared/hooks/useVirtualScrollNew/index.ts","../../../shared/hooks/useMutationObservable/index.ts","../../../common/js/common.ts","../../../common/js/utils/getColorTokenColor.ts","../../../shared/hooks/useVariables/index.ts","../../../shared/hooks/useEventForward/index.ts"],"sourcesContent":["import { isFunction } from 'lodash-es';\nimport { getCurrentInstance, h } from 'vue';\n\n/**\n * 渲染icon，用于icon、close等渲染图标的场景\n * @example const renderIconTNode = useIcon();\n * @returns renderIconTNode\n * @param iconType 要渲染的icon元素\n * @param defaultIcons 默认icon集合\n */\nexport function useIcon() {\n  const instance = getCurrentInstance();\n  return function renderIconTNode(iconType: string, defaultIcons?: Record<string, any>) {\n    let iconContent;\n    // 传入的是渲染函数\n    if (isFunction(instance.props[iconType])) {\n      iconContent = instance.props[iconType](h);\n    } else if (instance.slots[iconType]) {\n      // 插槽slot\n      iconContent = instance.slots[iconType] && instance.slots[iconType](null)[0];\n    } else if (defaultIcons) {\n      const Component = defaultIcons[instance.props.theme as string];\n      iconContent = <Component></Component>;\n    }\n    return iconContent;\n  };\n}\n","// Generated by CoffeeScript 1.12.2\n(function() {\n  var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;\n\n  if ((typeof performance !== \"undefined\" && performance !== null) && performance.now) {\n    module.exports = function() {\n      return performance.now();\n    };\n  } else if ((typeof process !== \"undefined\" && process !== null) && process.hrtime) {\n    module.exports = function() {\n      return (getNanoSeconds() - nodeLoadTime) / 1e6;\n    };\n    hrtime = process.hrtime;\n    getNanoSeconds = function() {\n      var hr;\n      hr = hrtime();\n      return hr[0] * 1e9 + hr[1];\n    };\n    moduleLoadTime = getNanoSeconds();\n    upTime = process.uptime() * 1e9;\n    nodeLoadTime = moduleLoadTime - upTime;\n  } else if (Date.now) {\n    module.exports = function() {\n      return Date.now() - loadTime;\n    };\n    loadTime = Date.now();\n  } else {\n    module.exports = function() {\n      return new Date().getTime() - loadTime;\n    };\n    loadTime = new Date().getTime();\n  }\n\n}).call(this);\n\n//# sourceMappingURL=performance-now.js.map\n","var now = require('performance-now')\n  , root = typeof window === 'undefined' ? global : window\n  , vendors = ['moz', 'webkit']\n  , suffix = 'AnimationFrame'\n  , raf = root['request' + suffix]\n  , caf = root['cancel' + suffix] || root['cancelRequest' + suffix]\n\nfor(var i = 0; !raf && i < vendors.length; i++) {\n  raf = root[vendors[i] + 'Request' + suffix]\n  caf = root[vendors[i] + 'Cancel' + suffix]\n      || root[vendors[i] + 'CancelRequest' + suffix]\n}\n\n// Some versions of FF have rAF but not cAF\nif(!raf || !caf) {\n  var last = 0\n    , id = 0\n    , queue = []\n    , frameDuration = 1000 / 60\n\n  raf = function(callback) {\n    if(queue.length === 0) {\n      var _now = now()\n        , next = Math.max(0, frameDuration - (_now - last))\n      last = next + _now\n      setTimeout(function() {\n        var cp = queue.slice(0)\n        // Clear queue here to prevent\n        // callbacks from appending listeners\n        // to the current frame's queue\n        queue.length = 0\n        for(var i = 0; i < cp.length; i++) {\n          if(!cp[i].cancelled) {\n            try{\n              cp[i].callback(last)\n            } catch(e) {\n              setTimeout(function() { throw e }, 0)\n            }\n          }\n        }\n      }, Math.round(next))\n    }\n    queue.push({\n      handle: ++id,\n      callback: callback,\n      cancelled: false\n    })\n    return id\n  }\n\n  caf = function(handle) {\n    for(var i = 0; i < queue.length; i++) {\n      if(queue[i].handle === handle) {\n        queue[i].cancelled = true\n      }\n    }\n  }\n}\n\nmodule.exports = function(fn) {\n  // Wrap in a new function to prevent\n  // `cancel` potentially being assigned\n  // to the native rAF function\n  return raf.call(root, fn)\n}\nmodule.exports.cancel = function() {\n  caf.apply(root, arguments)\n}\nmodule.exports.polyfill = function(object) {\n  if (!object) {\n    object = root;\n  }\n  object.requestAnimationFrame = raf\n  object.cancelAnimationFrame = caf\n}\n","/**\n * @file\n * 缓动函数\n * 参考自: https://github.com/bameyrick/js-easing-functions/blob/master/src/index.ts\n */\n\nexport interface EasingFunction {\n  (current: number, start: number, end: number, duration: number): number;\n}\n\n/**\n * @export\n * @param {number} current 当前时间\n * @param {number} start 开始值\n * @param {number} end 结束值\n * @param {number} duration 持续时间\n * @returns\n */\nexport const linear: EasingFunction = (current, start, end, duration) => {\n  const change = end - start;\n  const offset = (change * current) / duration;\n  return offset + start;\n};\n\n/**\n * @export\n * @param {number} current 当前时间\n * @param {number} start 开始值\n * @param {number} end 结束值\n * @param {number} duration 持续时间\n * @returns\n */\nexport const easeInOutCubic: EasingFunction = (current, start, end, duration) => {\n  const change = (end - start) / 2;\n  let time = current / (duration / 2);\n  if (time < 1) {\n    return change * time * time * time + start;\n  }\n  time -= 2;\n  // eslint-disable-next-line no-return-assign\n  return change * (time * time * time + 2) + start;\n};\n","/**\n * Thanks to https://spothero.com/static/main/uniform/docs-js/module-DOMUtils.html\n */\n/* eslint-disable no-param-reassign */\n/* eslint-disable no-undef */\nimport { ComponentPublicInstance, VNode, isVNode, Comment } from 'vue';\nimport raf from 'raf';\nimport { isArray, isString, isFunction } from 'lodash-es';\n\nimport { easeInOutCubic, EasingFunction } from '@tdesign/common-js/utils/easing';\nimport { ScrollContainer, ScrollContainerElement } from '../../components/common';\n\nexport const isServer = typeof window === 'undefined';\nconst trim = (str: string): string => (str || '').replace(/^[\\s\\uFEFF]+|[\\s\\uFEFF]+$/g, '');\n\nexport const on = ((): any => {\n  if (!isServer && document.addEventListener) {\n    return (\n      element: Node,\n      event: string,\n      handler: EventListenerOrEventListenerObject,\n      options?: boolean | AddEventListenerOptions,\n    ): any => {\n      if (element && event && handler) {\n        element.addEventListener(event, handler, options);\n      }\n    };\n  }\n  return (element: Node, event: string, handler: EventListenerOrEventListenerObject): any => {\n    if (element && event && handler) {\n      (element as any).attachEvent(`on${event}`, handler);\n    }\n  };\n})();\n\nexport const off = ((): any => {\n  if (!isServer && document.removeEventListener) {\n    return (\n      element: Node,\n      event: string,\n      handler: EventListenerOrEventListenerObject,\n      options?: boolean | AddEventListenerOptions,\n    ): any => {\n      if (element && event) {\n        element.removeEventListener(event, handler, options);\n      }\n    };\n  }\n  return (element: Node, event: string, handler: EventListenerOrEventListenerObject): any => {\n    if (element && event) {\n      (element as any).detachEvent(`on${event}`, handler);\n    }\n  };\n})();\n\nexport function once(\n  element: Node,\n  event: string,\n  handler: EventListenerOrEventListenerObject,\n  options?: boolean | AddEventListenerOptions,\n) {\n  const handlerFn = isFunction(handler) ? handler : handler.handleEvent;\n  const callback = (evt: any) => {\n    handlerFn(evt);\n    off(element, event, callback, options);\n  };\n\n  on(element, event, callback, options);\n}\n\nexport function hasClass(el: Element, cls: string): any {\n  if (!el || !cls) return false;\n  if (cls.indexOf(' ') !== -1) throw new Error('className should not contain space.');\n  if (el.classList) {\n    return el.classList.contains(cls);\n  }\n  return ` ${el.className} `.indexOf(` ${cls} `) > -1;\n}\n\nexport function addClass(el: Element, cls: string): any {\n  if (!el) return;\n  let curClass = el.className;\n  const classes = (cls || '').split(' ');\n\n  for (let i = 0, j = classes.length; i < j; i++) {\n    const clsName = classes[i];\n    if (!clsName) continue;\n\n    if (el.classList) {\n      el.classList.add(clsName);\n    } else if (!hasClass(el, clsName)) {\n      curClass += ` ${clsName}`;\n    }\n  }\n  if (!el.classList) {\n    el.className = curClass;\n  }\n}\n\nexport function removeClass(el: Element, cls: string): any {\n  if (!el || !cls) return;\n  const classes = cls.split(' ');\n  let curClass = ` ${el.className} `;\n\n  for (let i = 0, j = classes.length; i < j; i++) {\n    const clsName = classes[i];\n    if (!clsName) continue;\n\n    if (el.classList) {\n      el.classList.remove(clsName);\n    } else if (hasClass(el, clsName)) {\n      curClass = curClass.replace(` ${clsName} `, ' ');\n    }\n  }\n  if (!el.classList) {\n    el.className = trim(curClass);\n  }\n}\n\nexport const getAttach = (node: any, triggerNode?: any): HTMLElement | Element => {\n  const attachNode = isFunction(node) ? node(triggerNode) : node;\n  if (!attachNode) {\n    return document.body;\n  }\n  if (isString(attachNode)) {\n    return document.querySelector(attachNode);\n  }\n  if (attachNode instanceof HTMLElement) {\n    return attachNode;\n  }\n  return document.body;\n};\n\n/**\n * 获取滚动容器\n * 因为document不存在scroll等属性, 因此排除document\n * window | HTMLElement\n * @param {ScrollContainerElement} [container='body']\n * @returns {ScrollContainer}\n */\nexport const getScrollContainer = (container: ScrollContainer = 'body'): ScrollContainerElement => {\n  if (isString(container)) {\n    return document.querySelector(container) as HTMLElement;\n  }\n  if (isFunction(container)) {\n    return container();\n  }\n  return container;\n};\n\n/**\n * 返回是否window对象\n *\n * @export\n * @param {any} obj\n * @returns\n */\nfunction isWindow(obj: any) {\n  return obj && obj === obj.window;\n}\n\ntype ScrollTarget = HTMLElement | Window | Document;\n\n/**\n * 获取滚动距离\n *\n * @export\n * @param {ScrollTarget} target\n * @param {boolean} isLeft true为获取scrollLeft, false为获取scrollTop\n * @returns {number}\n */\nexport function getScroll(target: ScrollTarget, isLeft?: boolean): number {\n  // node环境或者target为空\n  if (isServer || !target) {\n    return 0;\n  }\n  const method = isLeft ? 'scrollLeft' : 'scrollTop';\n  let result = 0;\n  if (isWindow(target)) {\n    result = (target as Window)[isLeft ? 'pageXOffset' : 'pageYOffset'];\n  } else if (target instanceof Document) {\n    result = target.documentElement[method];\n  } else if (target) {\n    result = (target as HTMLElement)[method];\n  }\n  return result;\n}\ninterface ScrollTopOptions {\n  container?: ScrollTarget;\n  duration?: number;\n  easing?: EasingFunction;\n}\n\ndeclare type ScrollToResult<T = any> = T | { default: T };\n\nexport function scrollTo(target: number, opt: ScrollTopOptions): Promise<ScrollToResult> {\n  const { container = window, duration = 450, easing = easeInOutCubic } = opt;\n  const scrollTop = getScroll(container);\n  const startTime = Date.now();\n  return new Promise((res) => {\n    const fnc = () => {\n      const timestamp = Date.now();\n      const time = timestamp - startTime;\n      const nextScrollTop = easing(Math.min(time, duration), scrollTop, target, duration);\n      if (isWindow(container)) {\n        (container as Window).scrollTo(window.pageXOffset, nextScrollTop);\n      } else if (container instanceof Document || container.constructor.name === 'HTMLDocument') {\n        (container as Document).documentElement.scrollTop = nextScrollTop;\n      } else {\n        (container as HTMLElement).scrollTop = nextScrollTop;\n      }\n      if (time < duration) {\n        raf(fnc);\n      } else {\n        // 由于上面步骤设置了scrollTop, 滚动事件可能未触发完毕\n        // 此时应该在下一帧再执行res\n        raf(res);\n      }\n    };\n    raf(fnc);\n  });\n}\n\nfunction containerDom(parent: VNode | Element | Iterable<any> | ArrayLike<any>, child: any): boolean {\n  if (parent && child) {\n    let pNode = child;\n    while (pNode) {\n      if (parent === pNode) {\n        return true;\n      }\n      const { parentNode } = pNode;\n      pNode = parentNode;\n    }\n  }\n  return false;\n}\nexport const clickOut = (els: VNode | Element | Iterable<any> | ArrayLike<any>, cb: () => void): void => {\n  on(document, 'click', (event: { target: Element }) => {\n    if (isArray(els)) {\n      const isFlag = Array.from(els).every((item) => containerDom(item, event.target) === false);\n      return isFlag && cb && cb();\n    }\n    if (containerDom(els, event.target)) {\n      return false;\n    }\n    return cb && cb();\n  });\n};\n\n// 用于判断节点内容是否溢出\nexport const isTextEllipsis = (\n  ele: ComponentPublicInstance | Element | ComponentPublicInstance[] | Element[],\n): boolean => {\n  const { clientWidth = 0, scrollWidth = 0 } = ele as Element & { clientWidth: number; scrollWidth: number };\n  return scrollWidth > clientWidth;\n};\n\n// 将子元素selected滚动到父元素parentEle的可视范围内\nexport const scrollSelectedIntoView = (parentEle: HTMLElement, selected: HTMLElement) => {\n  // 服务端不处理\n  if (isServer) return;\n  // selected不存在或selected父元素不为parentEle则不处理\n  if (!selected || selected.offsetParent !== parentEle) {\n    parentEle.scrollTop = 0;\n    return;\n  }\n  const selectedTop = selected.offsetTop;\n  const selectedBottom = selectedTop + selected.offsetHeight;\n  const parentScrollTop = parentEle.scrollTop;\n  const parentViewBottom = parentScrollTop + parentEle.clientHeight;\n  if (selectedTop < parentScrollTop) {\n    // selected元素滚动过了，则将其向下滚动到可视范围顶部\n    parentEle.scrollTop = selectedTop;\n  } else if (selectedBottom > parentViewBottom) {\n    // selected元素未滚动到，则将其向上滚动到可视范围底部\n    parentEle.scrollTop = selectedBottom - parentEle.clientHeight;\n  }\n};\n\nexport const requestSubmit = (target: HTMLFormElement) => {\n  if (!(target instanceof HTMLFormElement)) {\n    throw new Error('target must be HTMLFormElement');\n  }\n  const submitter = document.createElement('input');\n  submitter.type = 'submit';\n  submitter.hidden = true;\n  target.appendChild(submitter);\n  submitter.click();\n  target.removeChild(submitter);\n};\n\n/**\n * 检查元素是否在父元素视图\n * http://stackoverflow.com/questions/123999/how-to-tell-if-a-dom-element-is-visible-in-the-current-viewport\n * @param elm 元素\n * @param parent\n * @returns boolean\n */\nexport function elementInViewport(elm: HTMLElement, parent?: HTMLElement): boolean {\n  const rect = elm.getBoundingClientRect();\n  if (parent) {\n    const parentRect = parent.getBoundingClientRect();\n    return (\n      rect.top >= parentRect.top &&\n      rect.left >= parentRect.left &&\n      rect.bottom <= parentRect.bottom &&\n      rect.right <= parentRect.right\n    );\n  }\n  return rect.top >= 0 && rect.left >= 0 && rect.bottom + 80 <= window.innerHeight && rect.right <= window.innerWidth;\n}\n\n/**\n * 获取元素某个 css 对应的值\n * @param element 元素\n * @param propName css 名\n * @returns string\n */\nexport function getElmCssPropValue(element: HTMLElement, propName: string): string {\n  let propValue = '';\n\n  if (document.defaultView && document.defaultView.getComputedStyle) {\n    propValue = document.defaultView.getComputedStyle(element, null).getPropertyValue(propName);\n  }\n\n  if (propValue && propValue.toLowerCase) {\n    return propValue.toLowerCase();\n  }\n\n  return propValue;\n}\n\n/**\n * 判断元素是否处在 position fixed 中\n * @param element 元素\n * @returns boolean\n */\nexport function isFixed(element: HTMLElement): boolean {\n  const p = element.parentNode as HTMLElement;\n\n  if (!p || p.nodeName === 'HTML') {\n    return false;\n  }\n\n  if (getElmCssPropValue(element, 'position') === 'fixed') {\n    return true;\n  }\n\n  return isFixed(p);\n}\n\n/**\n * 获取当前视图滑动的距离\n * @returns { scrollTop: number, scrollLeft: number }\n */\nexport function getWindowScroll(): { scrollTop: number; scrollLeft: number } {\n  const { body } = document;\n  const docElm = document.documentElement;\n  const scrollTop = window.pageYOffset || docElm.scrollTop || body.scrollTop;\n  const scrollLeft = window.pageXOffset || docElm.scrollLeft || body.scrollLeft;\n\n  return { scrollTop, scrollLeft };\n}\n\n/**\n * 获取当前视图的大小\n * @returns { width: number, height: number }\n */\nexport function getWindowSize(): { width: number; height: number } {\n  if (window.innerWidth !== undefined) {\n    return { width: window.innerWidth, height: window.innerHeight };\n  }\n  const doc = document.documentElement;\n  return { width: doc.clientWidth, height: doc.clientHeight };\n}\n\n/**\n * 判断一个 VNode 是否是注释节点（Comment）\n * Vue 3 中注释节点的 type 是 Comment\n *\n * @param node - 任意节点\n * @returns 是否为注释类型的 VNode\n */\nexport const isCommentVNode = (node: unknown): node is VNode => {\n  return isVNode(node) && node.type === Comment;\n};\n","import { App, Plugin, Component, Directive } from 'vue';\n\nexport function withInstall<T>(\n  comp: T,\n  alias?: string,\n  directive?: { name: string; comp: Directive<T & Plugin> },\n): T & Plugin {\n  const componentPlugin = comp as T & Component & Plugin;\n\n  componentPlugin.install = (app: App, name?: string) => {\n    app.component(alias || name || componentPlugin.name, comp);\n    directive && app.directive(directive.name, directive.comp);\n  };\n\n  return componentPlugin as T & Plugin;\n}\n","import { VNode, isVNode, Fragment, getCurrentInstance } from 'vue';\nimport { isArray, isString, isObject } from 'lodash-es';\n\n// TODO:PAOPAO move? i have no idea\nexport interface JSXRenderContext {\n  defaultNode?: VNode | string;\n  params?: Record<string, any>;\n  slotFirst?: boolean;\n  // 是否不打印 LOG\n  silent?: boolean;\n}\n\nexport type OptionsType = VNode | JSXRenderContext | string;\n\nexport function getDefaultNode(options?: OptionsType) {\n  let defaultNode;\n  if (isObject(options) && 'defaultNode' in options) {\n    defaultNode = options.defaultNode;\n  } else if (isVNode(options) || isString(options)) {\n    defaultNode = options;\n  }\n  return defaultNode;\n}\n\nexport function getChildren(content: VNode[]) {\n  const childList: VNode[] = [];\n  const innerGetChildren = (content: VNode[]) => {\n    if (!isArray(content)) return;\n    content.forEach((item: VNode) => {\n      if (item.children && isArray(item.children)) {\n        if (item.type !== Fragment) return;\n        innerGetChildren(item.children as VNode[]);\n      } else {\n        childList.push(item);\n      }\n    });\n    return childList;\n  };\n\n  return innerGetChildren(content);\n}\n\n// TODO:PAOPAO looks like a common util??\nexport function getParams(options?: OptionsType) {\n  // TODO:PAOPAO in ??? in my view, it is better to use hasOwnProperty instead of in if it is not necessary.\n  return isObject(options) && 'params' in options ? options.params : {};\n}\n\n// TODO:PAOPAO as above\n// and only hooks tnode import this one, so, can we move it to tnode hooks directly????\nexport function getSlotFirst(options?: OptionsType): boolean {\n  return isObject(options) && 'slotFirst' in options ? options.slotFirst : false;\n}\n\nexport function isPropsUsed(propsName?: string): boolean {\n  const { vnode, slots } = getCurrentInstance();\n  const vProps = vnode.props || {};\n\n  if (Object.prototype.hasOwnProperty.call(vProps, propsName)) return true;\n  if (slots && Object.prototype.hasOwnProperty.call(slots, propsName)) return true;\n  return false;\n}\n","interface Options {\n  message?: string;\n  format?: string; // MIME type\n  onCopy?: (clipboardData: object) => void;\n}\n\nconst defaultMessage = 'Copy to clipboard: #{key}, Enter';\n\nconst format = (message: string) => {\n  const copyKey = (/mac os x/i.test(navigator.userAgent) ? '⌘' : 'Ctrl') + '+C';\n  return message.replace(/#{\\s*key\\s*}/g, copyKey);\n};\n\n// inspired by https://github.com/sudodoki/toggle-selection, refactor to esm\nconst deselectCurrent = () => {\n  const selection = document.getSelection();\n  if (!selection.rangeCount) {\n    return function () {};\n  }\n  let active = document.activeElement as any;\n\n  const ranges: Range[] = [];\n  for (let i = 0; i < selection.rangeCount; i++) {\n    ranges.push(selection.getRangeAt(i));\n  }\n\n  const tagName = active.tagName.toUpperCase(); // toUpperCase handles XHTML\n  switch (tagName) {\n    case 'INPUT':\n    case 'TEXTAREA':\n      active.blur();\n      break;\n\n    default:\n      active = null;\n      break;\n  }\n\n  selection.removeAllRanges();\n  return function () {\n    selection.type === 'Caret' && selection.removeAllRanges();\n\n    if (!selection.rangeCount) {\n      ranges.forEach(function (range) {\n        selection.addRange(range);\n      });\n    }\n\n    active && active.focus();\n  };\n};\n\nexport const copy = (text: string, options?: Options) => {\n  let message,\n    reselectPrevious,\n    range,\n    selection,\n    mark,\n    success = false;\n  if (!options) {\n    options = {};\n  }\n  try {\n    reselectPrevious = deselectCurrent();\n\n    range = document.createRange();\n    selection = document.getSelection();\n\n    mark = document.createElement('span');\n    mark.textContent = text;\n    // reset user styles for span element\n    mark.style.all = 'unset';\n    // prevents scrolling to the end of the page\n    mark.style.position = 'fixed';\n    mark.style.top = '0';\n    mark.style.clip = 'rect(0, 0, 0, 0)';\n    // used to preserve spaces and line breaks\n    mark.style.whiteSpace = 'pre';\n    // do not inherit user-select (it may be `none`)\n    mark.style.webkitUserSelect = 'text';\n    mark.style.userSelect = 'text';\n    mark.addEventListener('copy', function (e) {\n      e.stopPropagation();\n      if (options.format) {\n        e.preventDefault();\n        e.clipboardData.clearData();\n        e.clipboardData.setData(options.format, text);\n      }\n      if (options.onCopy) {\n        e.preventDefault();\n        options.onCopy(e.clipboardData);\n      }\n    });\n\n    document.body.appendChild(mark);\n\n    range.selectNodeContents(mark);\n    selection.addRange(range);\n\n    const successful = document.execCommand('copy');\n    if (!successful) {\n      throw new Error('copy command was unsuccessful');\n    }\n    success = true;\n  } catch (err) {\n    try {\n      (window as any).clipboardData.setData(options.format || 'text', text);\n      options.onCopy && options.onCopy((window as any).clipboardData);\n      success = true;\n    } catch (err) {\n      message = format('message' in options ? options.message : defaultMessage);\n      window.prompt(message, text);\n    }\n  } finally {\n    if (selection) {\n      if (typeof selection.removeRange == 'function') {\n        selection.removeRange(range);\n      } else {\n        selection.removeAllRanges();\n      }\n    }\n\n    if (mark) {\n      document.body.removeChild(mark);\n    }\n    reselectPrevious();\n  }\n\n  return success;\n};\n","import {\n  Slots,\n  VNode,\n  Component,\n  getCurrentInstance,\n  Fragment,\n  Comment,\n  RendererNode,\n  VNodeArrayChildren,\n  RendererElement,\n  VNodeChild,\n  isVNode,\n  Teleport,\n} from 'vue';\nimport { isArray } from 'lodash-es';\nimport { getChildren } from '@tdesign/shared-utils';\n\n/**\n * 渲染default slot，获取子组件VNode。处理多种子组件创建场景\n * 使用场景：<t-steps> <t-steps-item /> </t-steps>, <t-steps> <t-steps-item v-for=\"(item, index)\" :key=\"index\" /> </t-steps>\n * @returns {function(childComponentName: string, slots: Slots): VNode[]}\n * @param childComponentName\n * @param slots\n * @example const getChildByName = useChildComponentSlots()\n * @example getChildComponentByName('TStepItem')\n */\nexport function useChildComponentSlots() {\n  const instance = getCurrentInstance();\n  return (childComponentName: string, slots?: Slots): VNode[] => {\n    if (!slots) {\n      slots = instance.slots;\n    }\n    const content = slots?.default?.() || [];\n\n    return getChildren(content).filter((item: VNode) =>\n      (item.type as Component).name?.endsWith(childComponentName),\n    ) as VNode[];\n  };\n}\n\n/**\n * 渲染default slot，获取slot child\n * @param childComponentName\n * @param slots\n * @example const getChildSlots = useChildSlots()\n * @example getChildSlots()\n */\nexport function useChildSlots(): () => (\n  | VNode<\n      RendererNode,\n      RendererElement,\n      {\n        [key: string]: any;\n      }\n    >\n  | VNodeArrayChildren\n  | VNodeChild\n)[] {\n  const instance = getCurrentInstance();\n  return () => {\n    const { slots } = instance;\n    const content = slots?.default?.() || [];\n\n    return content\n      .filter((item) => {\n        if (typeof item.type === 'symbol' && !item.children) {\n          return false;\n        }\n        return item.type !== Comment;\n      })\n      .map((item) => {\n        if (item.children && isArray(item.children) && item.type === Fragment) return item.children;\n        return item;\n      })\n      .flat();\n  };\n}\n\n/**\n * 递归展开所有 Fragment，并跳过 Comment 节点，返回一维 VNodeChild 数组\n * @example const useFlatChildrenSlots = useFlatChildrenSlotsHook()\n * @example useFlatChildrenSlots(children)\n */\nexport function useFlatChildrenSlots() {\n  function getFlatChildren(children: VNodeChild[]): VNodeChild[] {\n    const result: VNodeChild[] = [];\n    children.forEach((child) => {\n      if (isVNode(child) && child.type === Fragment && Array.isArray(child.children)) {\n        result.push(...getFlatChildren(child.children as VNodeChild[]));\n      } else if (isVNode(child) && [Teleport, Comment].some((vNode) => vNode === child.type)) {\n        // skip Teleport and Comment\n      } else {\n        result.push(child);\n      }\n    });\n    return result;\n  }\n  return getFlatChildren;\n}\n","import { isFunction, isObject } from 'lodash-es';\n\nconst { hasOwnProperty } = Object.prototype;\n\nexport const hasOwn = <T extends object>(val: T, key: string | symbol | number): key is keyof T =>\n  hasOwnProperty.call(val, key);\nexport const getPropertyValFromObj = <T extends object>(\n  val: T,\n  key: string | symbol | number\n): T[keyof T] | undefined => (hasOwn(val, key) ? val[key] : undefined);\n\nconst objectToString: typeof Object.prototype.toString = Object.prototype.toString;\nconst toTypeString = (value: unknown): string => objectToString.call(value);\nexport const isPlainObject = <T extends object>(val: unknown): val is T => toTypeString(val) === '[object Object]';\nexport const isPromise = <T = any>(val: unknown): val is Promise<T> =>\n  (isObject(val) || isFunction(val)) && isFunction((val as any).then) && isFunction((val as any).catch);\n","import { h, getCurrentInstance, ComponentInternalInstance, VNode } from 'vue';\nimport { camelCase, kebabCase, isFunction } from 'lodash-es';\n\nimport {\n  getDefaultNode,\n  getParams,\n  OptionsType,\n  JSXRenderContext,\n  getSlotFirst,\n  isCommentVNode,\n} from '@tdesign/shared-utils';\nimport { hasOwn } from '@tdesign/common-js/utils/general';\n\n// 兼容处理插槽名称，同时支持驼峰命名和中划线命名，示例：value-display 和 valueDisplay\nfunction handleSlots(instance: ComponentInternalInstance, name: string, params: Record<string, any>) {\n  // 2023-08 new Function 触发部分使用场景安全策略问题（Chrome插件/electron等）\n  // // 每个 slots 需要单独的 h 函数 否则直接assign会重复把不同 slots 的 params 都注入\n  // const finalParams = new Function('return ' + h.toString())();\n  // if (params) {\n  //   Object.assign(finalParams, params);\n  // }\n\n  // 检查是否存在 驼峰命名 的插槽（过滤注释节点）\n  let node = instance.slots[camelCase(name)]?.(params);\n  if (node && node.filter((t) => !isCommentVNode(t)).length) return node;\n  // 检查是否存在 中划线命名 的插槽\n  node = instance.slots[kebabCase(name)]?.(params);\n  if (node && node.filter((t) => !isCommentVNode(t)).length) return node;\n  return null;\n}\n\n/**\n * 是否为空节点，需要过滤掉注释节点。注释节点也会被认为是空节点\n */\nfunction isEmptyNode(node: any) {\n  if ([undefined, null, ''].includes(node)) return true;\n  const innerNodes = node instanceof Array ? node : [node];\n  const r = innerNodes.filter((node) => node?.type?.toString() !== 'Symbol(Comment)');\n  return !r.length;\n}\n\n// TODO 可以把这里移动到 utils 中\n/**\n * 检查用户是否有主动传 prop\n * @param instance 组件实例\n * @param propName prop 名称\n * @returns boolean\n */\nfunction isPropExplicitlySet(instance: ComponentInternalInstance, propName: string) {\n  const vProps = instance?.vnode.props || {};\n  return hasOwn(vProps, camelCase(propName)) || hasOwn(vProps, kebabCase(propName));\n}\n\n/**\n/**\n * 通过 JSX 的方式渲染 TNode，props 和 插槽同时处理，也能处理默认值为 true 则渲染默认节点的情况\n * 优先级：用户注入的 props 值 > slot > 默认 props 值\n * 如果 props 值为 true ，则使用插槽渲染。如果也没有插槽的情况下，则使用 defaultNode 渲染\n * @example const renderTNodeJSX = useTNodeJSX()\n * @return () => {}\n * @param name 插槽和属性名称\n * @param options 值可能为默认渲染节点，也可能是默认渲染节点和参数的集合\n * @example renderTNodeJSX('closeBtn')  优先级 props function 大于 插槽\n * @example renderTNodeJSX('closeBtn', <close-icon />)。 当属性值为 true 时则渲染 <close-icon />\n * @example renderTNodeJSX('closeBtn', { defaultNode: <close-icon />, params })。 params 为渲染节点时所需的参数\n */\nexport const useTNodeJSX = () => {\n  const instance = getCurrentInstance();\n  return function (name: string, options?: OptionsType) {\n    // 渲染节点时所需的参数\n    const renderParams = getParams(options);\n    // 默认渲染节点\n    // TODO 这里需要讨论，这里的默认节点规则是什么呢？ pp test:unit image-viewer pp test:unit Collapse\n    const defaultNode = getDefaultNode(options);\n    // 是否显示设置 slot 优先\n    const isSlotFirst = getSlotFirst(options);\n    // 插槽\n    const renderSlot = instance.slots[camelCase(name)] || instance.slots[kebabCase(name)];\n\n    if (isSlotFirst && renderSlot) {\n      // 1. 如果显示设置了 slot 优先，并且存在 slot，那么优先使用 slot\n      return handleSlots(instance, name, renderParams);\n    } else {\n      // 2. 否者按照 用户主动传入的 props 值 > slot > 默认 props 值\n      // 2.1 处理主动传入的 prop\n      if (isPropExplicitlySet(instance, name)) {\n        // 2.1.1 如果有传，那么优先使用 prop 的值\n        const propsNode = instance.props[camelCase(name)] || instance.props[kebabCase(name)];\n        // 如果该属性的类型有多种且包含 Boolean 和 Slot 的情况下，处理 boolean casting true 的场景\n        // https://vuejs.org/guide/components/props.html#boolean-casting\n        const types = instance.type.props[name]?.type;\n        if (types?.length > 1) {\n          if (types.includes(Boolean) && types.includes(Function)) {\n            if (propsNode === '' && !renderSlot) return defaultNode;\n          }\n        }\n        // 2.1.2 如果 prop 的值为 false 或者 null，那么直接不渲染\n        if (propsNode === false || propsNode === null) return;\n        // 2.1.3 如果 prop 的值为 true，那么使用 slot 渲染\n        if (propsNode === true) {\n          return handleSlots(instance, name, renderParams) || defaultNode;\n        }\n        // 2.1.4 如果 prop 的值为函数，那么执行函数\n        if (isFunction(propsNode)) return propsNode(h, renderParams);\n        // 2.1.5 如果 prop 的值为 undefined、''，那么使用插槽渲染\n        const isPropsEmpty = [undefined, ''].includes(propsNode as any);\n        if (isPropsEmpty && renderSlot) {\n          return handleSlots(instance, name, renderParams);\n        }\n        // 2.1.6 如果 prop 的值为其他值，那么直接返回\n        return propsNode;\n      }\n      // 2.2 如果未主动传入 prop，那么渲染 slot，当然前提是存在 slot\n      if (renderSlot) {\n        return handleSlots(instance, name, renderParams);\n      }\n      // 2.3 如果未主动传入 prop，也没有 slot，那么就走 prop\n      const propsNode = instance.props[camelCase(name)] || instance.props[kebabCase(name)];\n      if (propsNode === false || propsNode === null) return;\n      if (propsNode === true) {\n        return defaultNode;\n      }\n      if (isFunction(propsNode)) return propsNode(h, renderParams);\n      return propsNode;\n    }\n  };\n};\n\n/**\n * 在setup中，通过JSX的方式 TNode，props 和 插槽同时处理。与 renderTNodeJSX 区别在于属性值为 undefined 时会渲染默认节点\n * @example const renderTNodeJSXDefault = useTNodeDefault()\n * @return () => {}\n * @param name 插槽和属性名称\n * @example renderTNodeJSXDefault('closeBtn')\n * @example renderTNodeJSXDefault('closeBtn', <close-icon />) closeBtn 为空时，则兜底渲染 <close-icon />\n * @example renderTNodeJSXDefault('closeBtn', { defaultNode: <close-icon />, params }) 。params 为渲染节点时所需的参数\n */\nexport const useTNodeDefault = () => {\n  const renderTNodeJSX = useTNodeJSX();\n  return function (name: string, options?: VNode | JSXRenderContext) {\n    const defaultNode = getDefaultNode(options);\n    return renderTNodeJSX(name, options) || defaultNode;\n  };\n};\n\n/**\n * 在setup中，用于处理相同名称的 TNode 渲染\n * @example const renderContent = useContent()\n * @return () => {}\n * @param name1 第一个名称，优先级高于 name2\n * @param name2 第二个名称\n * @param defaultNode 默认渲染内容：当 name1 和 name2 都为空时会启动默认内容渲染\n * @example renderContent('default', 'content')\n * @example renderContent('default', 'content', '我是默认内容')\n * @example renderContent('default', 'content', { defaultNode: '我是默认内容', params })\n */\nexport const useContent = () => {\n  const renderTNodeJSX = useTNodeJSX();\n  return function (name1: string, name2: string, options?: VNode | JSXRenderContext) {\n    // assemble params && defaultNode\n    const params = getParams(options);\n    const defaultNode = getDefaultNode(options);\n\n    const toParams = params ? { params } : undefined;\n\n    const node1 = renderTNodeJSX(name1, toParams);\n    const node2 = renderTNodeJSX(name2, toParams);\n\n    const res = isEmptyNode(node1) ? node2 : node1;\n    return isEmptyNode(res) ? defaultNode : res;\n  };\n};\n\n/**\n * 过滤掉注释节点。\n *\n * @param nodes - VNode 数组\n * @returns 去除注释节点后的 VNode 数组。\n */\nexport const filterCommentNode = (nodes: VNode[]): VNode[] => {\n  return nodes.filter((node) => !isCommentVNode(node));\n};\n","export function useCollapseAnimation() {\n  const beforeEnter = (el: HTMLElement) => {\n    el.dataset.oldPaddingTop = el.style.paddingTop;\n    el.dataset.oldPaddingBottom = el.style.paddingBottom;\n\n    el.style.height = '0';\n    el.style.paddingTop = '0';\n    el.style.paddingBottom = '0';\n  };\n  const enter = (el: HTMLElement) => {\n    el.dataset.oldOverflow = el.style.overflow;\n    el.style.height = `${el.scrollHeight}px`;\n    el.style.paddingTop = el.dataset.oldPaddingTop;\n    el.style.paddingBottom = el.dataset.oldPaddingBottom;\n    el.style.overflow = 'hidden';\n  };\n  const afterEnter = (el: HTMLElement) => {\n    el.style.height = '';\n    el.style.overflow = el.dataset.oldOverflow;\n  };\n  const beforeLeave = (el: HTMLElement) => {\n    el.dataset.oldPaddingTop = el.style.paddingTop;\n    el.dataset.oldPaddingBottom = el.style.paddingBottom;\n    el.dataset.oldOverflow = el.style.overflow;\n\n    el.style.height = `${el.scrollHeight}px`;\n    el.style.overflow = 'hidden';\n  };\n  const leave = (el: HTMLElement) => {\n    if (el.scrollHeight !== 0) {\n      el.style.height = '0';\n      el.style.paddingTop = '0';\n      el.style.paddingBottom = '0';\n    }\n  };\n  const afterLeave = (el: HTMLElement) => {\n    el.style.height = '';\n    el.style.overflow = el.dataset.oldOverflow;\n    el.style.paddingTop = el.dataset.oldPaddingTop;\n    el.style.paddingBottom = el.dataset.oldPaddingBottom;\n  };\n\n  return {\n    beforeEnter,\n    enter,\n    afterEnter,\n    beforeLeave,\n    leave,\n    afterLeave,\n  };\n}\n","export type AnimationType = 'ripple' | 'expand' | 'fade';\n\nexport default {\n  classPrefix: 't',\n  animation: {\n    include: ['ripple', 'expand', 'fade'],\n    exclude: [],\n  } as Record<'include' | 'exclude', Array<AnimationType>>,\n  attach: null,\n  calendar: {\n    firstDayOfWeek: 1,\n    fillWithZero: true,\n    controllerConfig: undefined,\n  },\n  icon: {},\n  input: {\n    autocomplete: '',\n  },\n  dialog: {\n    closeOnEscKeydown: true,\n    closeOnOverlayClick: true,\n    confirmBtnTheme: {\n      default: 'primary',\n      info: 'primary',\n      warning: 'primary',\n      danger: 'primary',\n      success: 'primary',\n    },\n  },\n  message: {},\n  popconfirm: {\n    confirmBtnTheme: {\n      default: 'primary',\n      warning: 'primary',\n      danger: 'primary',\n    },\n  },\n  table: {\n    // 展开和收起图标（使用收起图标）\n    expandIcon: undefined,\n    // 排序图标（使用降序图标）\n    sortIcon: undefined,\n    // 过滤图标\n    filterIcon: undefined,\n    // 树形结构展开图标\n    treeExpandAndFoldIcon: undefined,\n    // 是否隐藏排序图标的文本提示\n    hideSortTips: false,\n    // 全局表格尺寸配置\n    size: 'medium',\n  },\n  select: {\n    // 清除按钮\n    clearIcon: undefined,\n    filterable: false,\n  },\n  drawer: {\n    closeOnEscKeydown: true,\n    closeOnOverlayClick: true,\n    size: 'small',\n  },\n  tree: {\n    // 目录层级图标\n    folderIcon: undefined,\n  },\n  datePicker: {\n    firstDayOfWeek: 1,\n  },\n  steps: {\n    checkIcon: undefined,\n    errorIcon: undefined,\n  },\n  tag: {\n    closeIcon: undefined,\n  },\n  form: {\n    requiredMark: undefined,\n  },\n  empty: {\n    titleText: {\n      maintenance: undefined,\n      success: undefined,\n      fail: undefined,\n      empty: undefined,\n      networkError: undefined,\n    },\n    image: {\n      maintenance: undefined,\n      success: undefined,\n      fail: undefined,\n      empty: undefined,\n      networkError: undefined,\n    },\n  },\n} as const;\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,_){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=_(require(\"dayjs\")):\"function\"==typeof define&&define.amd?define([\"dayjs\"],_):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_locale_zh_cn=_(e.dayjs)}(this,(function(e){\"use strict\";function _(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var t=_(e),d={name:\"zh-cn\",weekdays:\"星期日_星期一_星期二_星期三_星期四_星期五_星期六\".split(\"_\"),weekdaysShort:\"周日_周一_周二_周三_周四_周五_周六\".split(\"_\"),weekdaysMin:\"日_一_二_三_四_五_六\".split(\"_\"),months:\"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月\".split(\"_\"),monthsShort:\"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月\".split(\"_\"),ordinal:function(e,_){return\"W\"===_?e+\"周\":e+\"日\"},weekStart:1,yearStart:4,formats:{LT:\"HH:mm\",LTS:\"HH:mm:ss\",L:\"YYYY/MM/DD\",LL:\"YYYY年M月D日\",LLL:\"YYYY年M月D日Ah点mm分\",LLLL:\"YYYY年M月D日ddddAh点mm分\",l:\"YYYY/M/D\",ll:\"YYYY年M月D日\",lll:\"YYYY年M月D日 HH:mm\",llll:\"YYYY年M月D日dddd HH:mm\"},relativeTime:{future:\"%s内\",past:\"%s前\",s:\"几秒\",m:\"1 分钟\",mm:\"%d 分钟\",h:\"1 小时\",hh:\"%d 小时\",d:\"1 天\",dd:\"%d 天\",M:\"1 个月\",MM:\"%d 个月\",y:\"1 年\",yy:\"%d 年\"},meridiem:function(e,_){var t=100*e+_;return t<600?\"凌晨\":t<900?\"早上\":t<1100?\"上午\":t<1300?\"中午\":t<1800?\"下午\":\"晚上\"}};return t.default.locale(d,null,!0),d}));","/* eslint-disable no-template-curly-in-string */\n// 文件有效，为国际化做准备\nimport 'dayjs/locale/zh-cn';\n\nexport default {\n  autoComplete: {\n    empty: '暂无数据',\n  },\n  pagination: {\n    itemsPerPage: '{size} 条/页',\n    jumpTo: '跳至',\n    page: '页',\n    total: '共 {count} 条数据',\n  },\n  cascader: {\n    empty: '暂无数据',\n    loadingText: '加载中',\n    placeholder: '请选择',\n  },\n  calendar: {\n    yearSelection: '{year} 年',\n    monthSelection: '{month} 月',\n    yearRadio: '年',\n    monthRadio: '月',\n    hideWeekend: '隐藏周末',\n    showWeekend: '显示周末',\n    today: '今天',\n    thisMonth: '本月',\n    week: '一,二,三,四,五,六,日',\n    cellMonth: '1 月,2 月,3 月,4 月,5 月,6 月,7 月,8 月,9 月,10 月,11 月,12 月',\n  },\n  transfer: {\n    title: '{checked} / {total} 项',\n    empty: '暂无数据',\n    placeholder: '请输入关键词搜索',\n  },\n  timePicker: {\n    dayjsLocale: 'zh-cn',\n    now: '此刻',\n    confirm: '确定',\n    anteMeridiem: '上午',\n    postMeridiem: '下午',\n    placeholder: '选择时间',\n  },\n  dialog: {\n    confirm: '确认',\n    cancel: '取消',\n  },\n  drawer: {\n    confirm: '确认',\n    cancel: '取消',\n  },\n  popconfirm: {\n    confirm: {\n      content: '确定',\n    },\n    cancel: {\n      content: '取消',\n    },\n  },\n  table: {\n    empty: '暂无数据',\n    loadingText: '正在加载中，请稍后',\n    loadingMoreText: '点击加载更多',\n    filterInputPlaceholder: '请输入内容（无默认值）',\n    sortAscendingOperationText: '点击升序',\n    sortCancelOperationText: '点击取消排序',\n    sortDescendingOperationText: '点击降序',\n    clearFilterResultButtonText: '清空筛选',\n    columnConfigButtonText: '列配置',\n    columnConfigTitleText: '表格列配置',\n    columnConfigDescriptionText: '请选择需要在表格中显示的数据列',\n    confirmText: '确认',\n    cancelText: '取消',\n    resetText: '重置',\n    selectAllText: '全选',\n    searchResultText: '搜索“{result}”，找到 {count} 条结果',\n  },\n  select: {\n    empty: '暂无数据',\n    loadingText: '加载中',\n    placeholder: '请选择',\n  },\n  tree: {\n    empty: '暂无数据',\n  },\n  treeSelect: {\n    empty: '暂无数据',\n    loadingText: '加载中',\n    placeholder: '请选择',\n  },\n  datePicker: {\n    dayjsLocale: 'zh-cn',\n    placeholder: {\n      date: '请选择日期',\n      month: '请选择月份',\n      year: '请选择年份',\n      quarter: '请选择季度',\n      week: '请选择周',\n    },\n    weekdays: ['一', '二', '三', '四', '五', '六', '日'],\n    months: ['1 月', '2 月', '3 月', '4 月', '5 月', '6 月', '7 月', '8 月', '9 月', '10 月', '11 月', '12 月'],\n    quarters: ['一季度', '二季度', '三季度', '四季度'],\n    rangeSeparator: ' - ',\n    direction: 'ltr',\n    format: 'YYYY-MM-DD',\n    dayAriaLabel: '日',\n    weekAbbreviation: '周',\n    yearAriaLabel: '年',\n    monthAriaLabel: '月',\n    confirm: '确定',\n    selectTime: '选择时间',\n    selectDate: '选择日期',\n    nextYear: '下一年',\n    preYear: '上一年',\n    nextMonth: '下个月',\n    preMonth: '上个月',\n    preDecade: '上个十年',\n    nextDecade: '下个十年',\n    now: '当前',\n  },\n  upload: {\n    sizeLimitMessage: '文件大小不能超过 {sizeLimit}',\n    cancelUploadText: '取消上传',\n    triggerUploadText: {\n      fileInput: '选择文件',\n      image: '点击上传图片',\n      normal: '点击上传',\n      // 选择文件和上传文件是 2 个步骤，文本需明确步骤\n      reupload: '重新选择',\n      continueUpload: '继续选择',\n      delete: '删除',\n      uploading: '上传中',\n    },\n    dragger: {\n      dragDropText: '释放鼠标',\n      draggingText: '拖拽到此区域',\n      clickAndDragText: '点击上方“选择文件”或将文件拖拽到此区域',\n    },\n    file: {\n      fileNameText: '文件名',\n      fileSizeText: '文件大小',\n      fileStatusText: '状态',\n      fileOperationText: '操作',\n      fileOperationDateText: '上传日期',\n    },\n    progress: {\n      uploadingText: '上传中',\n      waitingText: '待上传',\n      failText: '上传失败',\n      successText: '上传成功',\n    },\n  },\n  form: {\n    errorMessage: {\n      date: '请输入正确的${name}',\n      url: '请输入正确的${name}',\n      required: '${name}必填',\n      whitespace: '${name}不能为空',\n      max: '${name}字符长度不能超过 ${validate} 个字符，一个中文等于两个字符',\n      min: '${name}字符长度不能少于 ${validate} 个字符，一个中文等于两个字符',\n      len: '${name}字符长度必须是 ${validate}',\n      enum: '${name}只能是${validate}等',\n      idcard: '请输入正确的${name}',\n      telnumber: '请输入正确的${name}',\n      pattern: '请输入正确的${name}',\n      validator: '${name}不符合要求',\n      boolean: '${name}数据类型必须是布尔类型',\n      number: '${name}必须是数字',\n      email: '请输入正确的${name}',\n    },\n    colonText: '：',\n  },\n  input: {\n    placeholder: '请输入',\n  },\n  list: {\n    loadingText: '正在加载中，请稍等',\n    loadingMoreText: '点击加载更多',\n  },\n  alert: {\n    expandText: '展开更多',\n    collapseText: '收起',\n  },\n  anchor: {\n    copySuccessText: '链接复制成功',\n    copyText: '复制链接',\n  },\n  colorPicker: {\n    swatchColorTitle: '系统预设颜色',\n    recentColorTitle: '最近使用颜色',\n    clearConfirmText: '确定清空最近使用的颜色吗？',\n    singleColor: '单色',\n    gradientColor: '渐变',\n  },\n  guide: {\n    finishButtonProps: {\n      content: '完成',\n      theme: 'primary',\n    },\n    nextButtonProps: {\n      content: '下一步',\n      theme: 'primary',\n    },\n    skipButtonProps: {\n      content: '跳过',\n      theme: 'default',\n    },\n    prevButtonProps: {\n      content: '上一步',\n      theme: 'default',\n    },\n  },\n  image: {\n    errorText: '图片无法显示',\n    loadingText: '图片加载中',\n  },\n  imageViewer: {\n    errorText: '图片加载失败，可尝试重新加载',\n    mirrorTipText: '镜像',\n    rotateTipText: '旋转',\n    originalSizeTipText: '原始大小',\n    previewText: '预览',\n  },\n  typography: {\n    expandText: '展开',\n    collapseText: '收起',\n    copiedText: '复制成功',\n  },\n  rate: {\n    rateText: ['极差', '失望', '一般', '满意', '惊喜'],\n  },\n  empty: {\n    titleText: {\n      maintenance: '建设中',\n      success: '成功',\n      fail: '失败',\n      empty: '暂无数据',\n      networkError: '网络错误',\n    },\n  },\n  descriptions: {\n    colonText: '：',\n  },\n  chat: {\n    placeholder: '请输入消息...',\n    stopBtnText: '中止',\n    refreshTipText: '重新生成',\n    copyTipText: '复制',\n    likeTipText: '点赞',\n    dislikeTipText: '点踩',\n    copyCodeBtnText: '复制代码',\n    copyCodeSuccessText: '已复制',\n    clearHistoryBtnText: '清空历史记录',\n    copyTextSuccess: '已成功复制到剪贴板',\n    copyTextFail: '复制到剪贴板失败',\n    confirmClearHistory: '确定要清空所有的消息吗？',\n    loadingText: '思考中...',\n    loadingEndText: '已深度思考',\n    uploadImageText: '上传图片',\n    uploadAttachmentText: '上传附件',\n    shareTipText: '分享',\n  },\n  qrcode: {\n    expiredText: '二维码过期',\n    refreshText: '点击刷新',\n    scannedText: '已扫描',\n  },\n} as const;\n","import { InjectionKey, ComputedRef } from 'vue';\nimport { mergeWith as _mergeWith, merge, isArray } from 'lodash-es';\nimport defaultConfig from '@tdesign/common-js/global-config/default-config';\nimport defaultZhLocale from '@tdesign/common-js/global-config/locale/zh_CN';\nimport { GlobalConfigProvider } from '../type';\n\nexport enum EAnimationType {\n  ripple = 'ripple',\n  expand = 'expand',\n  fade = 'fade',\n}\n\nexport const defaultGlobalConfig = merge(defaultConfig, defaultZhLocale);\n\nexport type Locale = typeof defaultZhLocale;\n\nexport const configProviderInjectKey: InjectionKey<ComputedRef<GlobalConfigProvider>> = Symbol('configProvide');\n\nexport const mergeWith = (defaultGlobalConfig: GlobalConfigProvider, injectConfig: GlobalConfigProvider) =>\n  _mergeWith(defaultGlobalConfig, injectConfig, (objValue, srcValue) => {\n    if (isArray(objValue)) {\n      return srcValue;\n    }\n  });\n","import { isString } from 'lodash-es';\n\n/**\n * 复数规则判断函数\n * @param count 数量\n * @returns 返回复数形式的索引 (0: zero/none, 1: one, 2: other/many)\n */\nfunction getPluralIndex(count: number): number {\n  if (count === 0) return 0; // no items\n  if (count === 1) return 1; // one item\n  return 2; // multiple items\n}\n\n/**\n * @see https://github.com/Tencent/tdesign-vue-next/blob/develop/packages/components/config-provider/hooks/useConfig.ts#L48\n * 自定义 t function 可能依赖特定库函数，例如 tdesign-vue-next 中使用了 vue 的 h 函数\n * 因此交由各个类库自行实现\n */\n\n/**\n * 国际化函数，支持复数处理和变量替换\n *\n * 示例用法：\n * 1. 基本变量替换：\n *    t('Hello {name}', { name: 'World' }) // => 'Hello World'\n *\n * 2. 复数处理（传入数字）：\n *    t('no apples | one apple | {count} apples', 0) // => 'no apples'\n *    t('no apples | one apple | {count} apples', 1) // => 'one apple'\n *    t('no apples | one apple | {count} apples', 5) // => '5 apples'\n *\n * 3. 复合使用：\n *    t('no items found | found {count} item | found {count} items', 3, { count: 3 }) // => 'found 3 items'\n */\n\n// 类型重载定义\nexport function t(pattern: string): string;\nexport function t(pattern: string, data: Record<string, any>): string;\nexport function t(pattern: string, count: number): string;\nexport function t(pattern: string, count: number, data: Record<string, any>): string;\nexport function t<T>(pattern: T): string;\n\n/**\n * @param pattern 文本模式，可以是字符串、函数或其他类型\n * @param args 参数列表，支持 (count: number) 或 (count: number, data: object) 或 (data: object)\n * @returns 处理后的文本\n */\nexport function t<T>(pattern: T, ...args: any[]): string {\n  if (isString(pattern)) {\n    let text = pattern as string;\n    let count: number | undefined;\n    let data: Record<string, any> = {};\n\n    // 解析参数\n    if (args.length > 0) {\n      const [firstArg, secondArg] = args;\n\n      if (typeof firstArg === 'number') {\n        // 第一个参数是数字，表示 count\n        count = firstArg;\n        if (secondArg && typeof secondArg === 'object') {\n          // 第二个参数是对象，表示额外的数据\n          data = secondArg;\n        } else {\n          data.count = count; // 若没有提供第二个参数，则将 count 添加到数据中\n        }\n      } else if (typeof firstArg === 'object' && firstArg !== null) {\n        // 第一个参数是对象，表示数据\n        data = firstArg;\n      }\n    }\n\n    // 处理复数形式：支持 \"no items | one item | {count} items\" 格式\n    if (text.includes('|')) {\n      const pluralParts = text.split('|').map((part) => part.trim());\n\n      if (typeof count === 'number') {\n        // 使用 count 进行复数处理\n        const pluralIndex = getPluralIndex(count);\n\n        // 根据复数索引选择对应的文本\n        if (pluralIndex < pluralParts.length) {\n          text = pluralParts[pluralIndex];\n        } else {\n          // 如果索引超出范围，使用最后一个选项\n          text = pluralParts[pluralParts.length - 1];\n        }\n      } else {\n        // 如果没有 count，默认使用第一个选项\n        const [firstPart] = pluralParts;\n        text = firstPart;\n      }\n    }\n\n    // 处理变量替换：{key} 格式\n    if (data && Object.keys(data).length > 0) {\n      const regular = /\\{\\s*([\\w-]+)\\s*\\}/g;\n      text = text.replace(regular, (match, key) => {\n        if (Object.prototype.hasOwnProperty.call(data, key)) {\n          return String(data[key]);\n        }\n        return match; // 如果找不到对应的键，保留原始占位符\n      });\n    }\n\n    return text as any;\n  }\n\n  // 如果不是字符串或函数，返回空字符串\n  return '';\n}\n","// TODO 应当提取到公共 hooks 中\nimport { computed, h, inject, getCurrentInstance, ref, provide } from 'vue';\nimport { cloneDeep, isFunction } from 'lodash-es';\n\nimport { defaultGlobalConfig, configProviderInjectKey, mergeWith } from '../utils/context';\nimport { GlobalConfigProvider, TdConfigProviderProps } from '../type';\n\nimport { t as commonT } from '@tdesign/common-js/global-config/t';\n\n// 这是为了解决在非component里调用useConfig hook时发出的警告\n// https://github.com/Tencent/tdesign-vue-next/issues/2025\nconst globalConfigCopy = ref<GlobalConfigProvider>();\n\nexport * from '../type';\n\n/**\n * component globalConfig\n * @param componentName\n * @returns {t, globalConfig}\n * useConfig('pagination')\n */\nexport function useConfig<T extends keyof GlobalConfigProvider>(\n  componentName: T = undefined,\n  componentLocale?: GlobalConfigProvider[T],\n) {\n  let injectGlobalConfig = null;\n  if (getCurrentInstance()) {\n    injectGlobalConfig = inject(configProviderInjectKey, null);\n    if (!injectGlobalConfig) {\n      // This handles cases where the component is created outside the ConfigProvider\n      // (e.g., LoadingPlugin, MessagePlugin, DialogPlugin, etc.)\n      injectGlobalConfig = globalConfigCopy;\n    }\n  } else {\n    injectGlobalConfig = globalConfigCopy;\n  }\n  const mergedGlobalConfig = computed(() => injectGlobalConfig?.value || defaultGlobalConfig);\n  const globalConfig = computed(() => Object.assign({}, mergedGlobalConfig.value[componentName], componentLocale));\n\n  const classPrefix = computed(() => {\n    return mergedGlobalConfig.value.classPrefix;\n  });\n\n  // 处理正则表达式\n  const t = function <T>(pattern: T, ...args: any[]) {\n    if (isFunction(pattern)) {\n      // 重要：组件的渲染必须存在参数 h，不能移除\n      if (!args.length) return pattern(h);\n      return pattern(...args);\n    }\n    // 使用公共翻译函数，以支持复数处理\n    // @ts-expect-error be passed to rest parameter\n    return commonT(pattern, ...args);\n  };\n\n  return {\n    t,\n    global: globalConfig,\n    globalConfig,\n    classPrefix,\n  };\n}\n\n/**\n * provide globalConfig\n * @param {TdConfigProviderProps} props\n * @returns {ComputedRef<GlobalConfigProvider>}\n */\nexport const provideConfig = (props: TdConfigProviderProps) => {\n  const defaultData = cloneDeep(defaultGlobalConfig);\n  const mergedGlobalConfig = computed(() =>\n    Object.assign({}, mergeWith(defaultData as unknown as GlobalConfigProvider, props.globalConfig)),\n  );\n\n  provide(configProviderInjectKey, mergedGlobalConfig);\n\n  if (!globalConfigCopy.value) {\n    globalConfigCopy.value = mergedGlobalConfig.value;\n  }\n\n  return mergedGlobalConfig;\n};\n","import { computed } from 'vue';\n// TODO need refactor\nimport { useConfig } from '../../../components/config-provider/hooks/useConfig';\n\nexport function usePrefixClass(componentName?: string) {\n  const { classPrefix } = useConfig('classPrefix');\n  return computed(() => {\n    return componentName ? `${classPrefix.value}-${componentName}` : classPrefix.value;\n  });\n}\n\nexport { useConfig };\n","import { computed } from 'vue';\nimport { useConfig } from '../useConfig';\n\nexport function useCommonClassName() {\n  const { classPrefix } = useConfig('classPrefix');\n\n  return {\n    classPrefix,\n    SIZE: computed(() => ({\n      small: `${classPrefix.value}-size-s`,\n      medium: `${classPrefix.value}-size-m`,\n      large: `${classPrefix.value}-size-l`,\n      default: '',\n      xs: `${classPrefix.value}-size-xs`,\n      xl: `${classPrefix.value}-size-xl`,\n      block: `${classPrefix.value}-size-full-width`,\n    })),\n    STATUS: computed(() => ({\n      loading: `${classPrefix.value}-is-loading`,\n      loadMore: `${classPrefix.value}-is-load-more`,\n      disabled: `${classPrefix.value}-is-disabled`,\n      focused: `${classPrefix.value}-is-focused`,\n      success: `${classPrefix.value}-is-success`,\n      error: `${classPrefix.value}-is-error`,\n      warning: `${classPrefix.value}-is-warning`,\n      selected: `${classPrefix.value}-is-selected`,\n      active: `${classPrefix.value}-is-active`,\n      checked: `${classPrefix.value}-is-checked`,\n      current: `${classPrefix.value}-is-current`,\n      hidden: `${classPrefix.value}-is-hidden`,\n      visible: `${classPrefix.value}-is-visible`,\n      expanded: `${classPrefix.value}-is-expanded`,\n      indeterminate: `${classPrefix.value}-is-indeterminate`,\n    })),\n  };\n}\n\nexport type CommonClassNameType = ReturnType<typeof useCommonClassName>;\n","import { ref, Ref, getCurrentInstance } from 'vue';\nimport { kebabCase } from 'lodash-es';\nimport { ChangeHandler } from '../useVModel';\n\nexport function useDefaultValue<T, P extends any[]>(\n  value: Ref<T>,\n  defaultValue: T,\n  onChange: ChangeHandler<T, P>,\n  propsName: string,\n): [Ref<T>, ChangeHandler<T, P>] {\n  const { emit, vnode } = getCurrentInstance();\n  const internalValue: Ref<T> = ref();\n\n  const vProps = vnode.props || {};\n  const isVMP =\n    Object.prototype.hasOwnProperty.call(vProps, propsName) ||\n    Object.prototype.hasOwnProperty.call(vProps, kebabCase(propsName));\n\n  if (isVMP) {\n    return [\n      value,\n      (newValue, ...args) => {\n        emit(`update:${propsName}`, newValue);\n        onChange?.(newValue, ...args);\n      },\n    ];\n  }\n\n  internalValue.value = defaultValue;\n  return [\n    internalValue,\n    (newValue, ...args) => {\n      internalValue.value = newValue;\n      onChange?.(newValue, ...args);\n    },\n  ];\n}\n","import { ref, provide, onUpdated } from 'vue';\n\nexport const TDisplayNoneElementRefresh = 't-display-none-element-refresh';\n\n// destroyOnClose=false 时，父元素为 display: none，此时的子元素无法获取到自身元素的任何宽度\n// 因此，需在父元素 display: none 发生变化时主动更新子元素\nexport function useDestroyOnClose() {\n  const refresh = ref(0);\n  provide(TDisplayNoneElementRefresh, refresh);\n  onUpdated(() => {\n    refresh.value += 1;\n  });\n}\n","import { Ref, inject, computed, getCurrentInstance } from 'vue';\nimport { isArray, isBoolean } from 'lodash-es';\n// TODO: need refator\nimport { TdFormProps } from '../../../components/form/type';\n\nexport interface FormDisabledProvider {\n  disabled: Ref<TdFormProps['disabled']>;\n}\n\nexport interface DisabledContext {\n  beforeDisabled?: Ref<boolean>;\n  afterDisabled?: Ref<boolean>;\n}\n\n/**\n * 用于实现组件全局禁用状态的hook\n * 优先级:(beforeDisabled) > Component.disabled > ComponentGroup.disabled(afterDisabled) > Form.disabled\n * @returns\n */\nexport function useDisabled(context?: DisabledContext) {\n  const currentInstance = getCurrentInstance();\n  const componentDisabled = computed(() => currentInstance.props.disabled as boolean | [boolean, boolean]);\n\n  const formDisabled = inject<FormDisabledProvider>('formDisabled', Object.create(null));\n\n  return computed(() => {\n    if (isArray(componentDisabled.value) && componentDisabled.value.length === 2) return componentDisabled.value;\n\n    if (isBoolean(context?.beforeDisabled?.value)) return context.beforeDisabled.value;\n    // Component\n    if (isBoolean(componentDisabled.value)) return componentDisabled.value;\n    // ComponentGroup\n    if (isBoolean(context?.afterDisabled?.value)) return context.afterDisabled.value;\n    // Form\n    if (isBoolean(formDisabled.disabled?.value)) return formDisabled.disabled.value;\n\n    return false;\n  });\n}\n","import { onUnmounted } from 'vue';\n\nconst traversalTabNavs = (tabNavs: HTMLCollection, fn: (tabNav: HTMLDivElement) => void) => {\n  Array.from(tabNavs)\n    .filter((node): node is HTMLDivElement => node instanceof HTMLDivElement && !!node.getAttribute('draggable'))\n    .forEach(fn);\n};\n\nconst handleTarget = (target: EventTarget, tabNavs: HTMLCollection): HTMLDivElement | undefined => {\n  let resultTarget: HTMLDivElement | undefined;\n\n  traversalTabNavs(tabNavs, (itemNode) => {\n    if (target instanceof Node && itemNode.contains(target)) {\n      resultTarget = itemNode;\n    }\n  });\n\n  return resultTarget;\n};\n\nexport function useDragSort(props: any) {\n  let navsWrap: HTMLDivElement | null = null;\n\n  // 获取当前正在拖动的tabNav节点\n  let dragged: HTMLDivElement;\n  const enterTargets: HTMLDivElement[] = [];\n\n  const dragstart = (event: DragEvent) => {\n    const target = event.target as HTMLDivElement;\n    // const { target } = event;\n    // 保存拖动元素的引用(ref.)\n    dragged = target;\n    // 使其半透明\n    target.style.opacity = '0.5';\n\n    // 指定允许的拖拽操作为 move，且兼容 Firefox（需要 setData）\n    const dt = event.dataTransfer;\n    if (dt) {\n      dt.effectAllowed = 'copy';\n      try {\n        dt.setData('text/plain', '');\n      } catch (e) {\n        // 某些环境下可能抛错，忽略\n      }\n    }\n  };\n\n  const dragend = (event: DragEvent) => {\n    // 重置透明度\n    (event.target as HTMLDivElement).style.opacity = '';\n  };\n  /* 放置目标元素时触发事件 */\n  const dragover = (event: DragEvent) => {\n    if (!navsWrap) return;\n    const target = handleTarget(event.target, navsWrap.children);\n    const dt = event.dataTransfer;\n    if (dt) {\n      // 不可放置目标显示禁止状态\n      dt.dropEffect = target?.draggable ? 'copy' : 'none';\n    }\n    if (target?.draggable) {\n      // 阻止默认动作以启用drop\n      event.preventDefault();\n    }\n  };\n  // 当可拖动的元素进入可放置的目标时\n  const dragenter = (event: DragEvent) => {\n    // 高亮目标节点\n    const target = handleTarget(event.target, navsWrap.children);\n    if (target && target !== dragged && target.draggable) {\n      const { firstChild } = target;\n      if (firstChild instanceof HTMLElement) {\n        const newStyle = { outline: '1px dashed #0052d9' };\n        Object.assign(firstChild.style, newStyle);\n      }\n      // 进入的节点全部记录下来\n      if (!enterTargets.includes(target)) {\n        enterTargets.push(target);\n      }\n    }\n  };\n  // 当拖动元素离开可放置目标节点\n  const dragleave = (event: DragEvent) => {\n    const target = event.target as HTMLDivElement;\n    // 重置其边框\n    // const { target } = event;\n    for (const enterTarget of enterTargets) {\n      // 目标不在需要放入的节点内，则重置边框\n      if (!enterTarget.contains(target)) {\n        // 记录过的节点全部重置边框\n        (enterTarget.firstChild as HTMLDivElement).style.outline = 'none';\n      }\n    }\n  };\n  const drop = (event: DragEvent) => {\n    // 阻止默认动作（如打开一些元素的链接）\n    event.preventDefault();\n\n    traversalTabNavs(navsWrap.children, (tabNav) => {\n      const firstChild = tabNav.firstChild as HTMLElement;\n      if (firstChild) {\n        firstChild.style.outline = 'none';\n      }\n    });\n\n    // 将拖动的元素到所选择的放置目标节点中\n    let target = handleTarget(event.target, navsWrap.children);\n    if (target && target.parentNode !== dragged && target.draggable) {\n      // 获取拖拽元素index\n      const dragIndex = [].indexOf.call(navsWrap.children, dragged);\n      // 获取放入元素index\n      const targetIndex = [].indexOf.call(navsWrap.children, target);\n      if (targetIndex > dragIndex) {\n        target = navsWrap.children[targetIndex + 1] as HTMLDivElement | null;\n      }\n\n      // 当props.theme === \"normal\" 会多出一个指示条为第一个dom节点，所以需要减1\n      const currentIndex = props.theme === 'card' ? dragIndex : dragIndex - 1;\n      const endIndex = props.theme === 'card' ? targetIndex : targetIndex - 1;\n      props.onDragSort?.({\n        currentIndex,\n        current: props.panels[currentIndex].value,\n        targetIndex: endIndex,\n        target: props.panels[endIndex].value,\n      });\n    }\n  };\n  function setNavsWrap(val: HTMLDivElement) {\n    navsWrap = val;\n    navsWrap.addEventListener('dragstart', dragstart, false);\n    navsWrap.addEventListener('dragend', dragend, false);\n    navsWrap.addEventListener('dragover', dragover, false);\n    navsWrap.addEventListener('dragenter', dragenter, false);\n    document.addEventListener('dragleave', dragleave, false);\n    document.addEventListener('mousemove', dragleave, false);\n    navsWrap.addEventListener('drop', drop, false);\n  }\n\n  onUnmounted(() => {\n    if (navsWrap) {\n      navsWrap.removeEventListener('dragstart', dragstart);\n      navsWrap.removeEventListener('dragend', dragend);\n      navsWrap.removeEventListener('dragover', dragover);\n      navsWrap.removeEventListener('dragenter', dragenter);\n      document.removeEventListener('dragleave', dragleave);\n      document.removeEventListener('mousemove', dragleave);\n      navsWrap.removeEventListener('drop', drop);\n    }\n  });\n  return { setNavsWrap };\n}\n","export default function observe(\n  element: HTMLElement,\n  root: HTMLElement,\n  callback: Function,\n  marginBottom: number\n): IntersectionObserver {\n  if (typeof window === 'undefined') return null;\n  if (!window || !window.IntersectionObserver) {\n    callback();\n    return null;\n  }\n  let io: IntersectionObserver = null;\n  try {\n    io = new window.IntersectionObserver(\n      (entries) => {\n        const entry = entries[0];\n        if (entry.isIntersecting) {\n          callback();\n          io.unobserve(element);\n        }\n      },\n      {\n        rootMargin: `0px 0px ${marginBottom}px 0px`,\n        root,\n      }\n    );\n    io.observe(element);\n  } catch (e) {\n    // eslint-disable-next-line no-console\n    console.error(e);\n    callback();\n  }\n  return io;\n}\n","import { onBeforeUnmount, onMounted, Ref, ref, watch } from 'vue';\nimport observe from '@tdesign/common-js/utils/observe';\n\nexport function useElementLazyRender(labelRef: Ref<HTMLElement>, lazyLoad: Ref<boolean>) {\n  const ioObserver = ref<IntersectionObserver>();\n  const showElement = ref(true);\n\n  const handleLazyLoad = () => {\n    if (!lazyLoad.value || !labelRef.value || ioObserver.value) return;\n    showElement.value = false;\n    const io = observe(\n      labelRef.value,\n      null,\n      () => {\n        showElement.value = true;\n      },\n      10,\n    );\n    ioObserver.value = io;\n  };\n\n  onMounted(handleLazyLoad);\n\n  lazyLoad.value && watch([lazyLoad, labelRef], handleLazyLoad);\n\n  onBeforeUnmount(() => {\n    if (!lazyLoad.value) return;\n    ioObserver.value?.unobserve?.(labelRef.value);\n  });\n\n  return {\n    showElement,\n  };\n}\n\nexport default useElementLazyRender;\n","import { useConfig } from '../useConfig';\n// TODO need refactor\nimport { IconConfig } from '@tdesign/components/config-provider/type';\n\n// 从 globalConfig 获取 icon 配置用于覆盖组件内置 icon\n// TODO\nexport function useGlobalIcon(tdIcon: object): Record<string, any> {\n  const { globalConfig } = useConfig('icon');\n\n  const resultIcon: IconConfig = {};\n\n  Object.keys(tdIcon).forEach((key: keyof typeof tdIcon) => {\n    resultIcon[key] = globalConfig.value?.[key] || tdIcon[key];\n  });\n\n  return resultIcon;\n}\n\nexport default useGlobalIcon;\n","/* eslint-disable no-console */\nimport { Log } from './types';\n\nconst logSet = new Set();\n\nconst log: Log = {\n  warn(componentName, message): void {\n    console.warn(`TDesign ${componentName} Warn: ${message}`);\n  },\n  warnOnce(componentName, message): void {\n    const msgContent = `TDesign ${componentName} Warn: ${message}`;\n    if (logSet.has(msgContent)) return;\n    logSet.add(msgContent);\n    console.warn(msgContent);\n  },\n  error(componentName, message): void {\n    console.error(`TDesign ${componentName} Error: ${message}`);\n  },\n  errorOnce(componentName, message): void {\n    const msgContent = `TDesign ${componentName} Error: ${message}`;\n    if (logSet.has(msgContent)) return;\n    logSet.add(msgContent);\n    console.error(msgContent);\n  },\n  info(componentName, message): void {\n    console.info(`TDesign ${componentName} Info: ${message}`);\n  },\n};\n\nexport default log;\n","import { SizeUnit } from './types';\nimport log from '../log/log';\n\nexport const IMAGE_REGEXP = /(.png|.jpg|.jpeg|.jpe|.webp|.avif|.svg|.gif|.bmp)/i;\nexport const IMAGE_ALL_REGEXP = /(.png|.jpg|.jpeg|.jpe|.webp|.avif|.svg|.gif|.bmp|.dwg|.dxf|.svf|.tif|.tiff|.arw)/i;\nexport const FILE_PDF_REGEXP = /(.pdf)/i;\nexport const FILE_EXCEL_REGEXP = /(.xlsx|.xls|.csv|.xlc|.xlm|.xlt|.xlw)/i;\nexport const FILE_WORD_REGEXP = /(.dox|docx|.document|.wps|.wdb|.msword)/i;\nexport const FILE_PPT_REGEXP = /(.ppt|.pptx|.key)/i;\nexport const VIDEO_REGEXP = /(.avi|.mp4|.wmv|.mpg|.mpeg|.mov|.rm|.ram|.swf|.flv|.rmvb|.flash|.mid|.3gp)/i;\nexport const AUDIO_REGEXP = /(.mp2|.mp3|.mp4|.ogg|.3gpp|.ac3|.au)/i;\n\n/**\n * https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types\n */\nconst INPUT_FILE_MAP = {\n  'audio/*': AUDIO_REGEXP,\n  'video/*': VIDEO_REGEXP,\n  'image/*': IMAGE_ALL_REGEXP,\n  '.jpg': /image\\/jpeg|\\.jpg$/i,\n  '.ico': /image\\/vnd.microsoft.icon/i,\n  '.doc': /application\\/msword/i,\n  '.docx': /application\\/vnd.openxmlformats-officedocument.wordprocessingml.document/i,\n  '.xls': /application\\/vnd.ms-excel/i,\n  '.xlsx': /application\\/vnd.openxmlformats-officedocument.spreadsheetml.sheet/i,\n  '.ppt': /application\\/vnd.ms-powerpoint/i,\n  '.pptx': /application\\/vnd.openxmlformats-officedocument.presentationml.presentation/i,\n  '.vsd': /application\\/vnd.visio/i,\n  '.txt': /text\\/plain/i,\n  '.abw': /application\\/x-abiword/i,\n  '.avi': /video\\/x-msvideo/i,\n  '.azw': /application\\/vnd.amazon.ebook/i,\n  '.bin': /application\\/octet-stream/i,\n  '.cda': /application\\/x-cdf/i,\n  '.mpkg': /application\\/vnd.apple.installer+xml/i,\n  '.odp': /application\\/vnd.oasis.opendocument.presentation/i,\n  '.ods': /application\\/vnd.oasis.opendocument.spreadsheet/i,\n  '.odt': /application\\/vnd.oasis.opendocument.text/i,\n  '.oga': /audio\\/ogg/i,\n  '.ogv': /video\\/ogg/i,\n  '.ogx': /application\\/ogg/i,\n  '.ai': /application\\/postscript/i,\n  '.eps': /application\\/postscript/i,\n  '.ps': /application\\/postscript/i,\n};\n\n/**\n * 各个单位和 KB 的关系\n *\n * [*] 表示方法采用这种方式\n * [x] 表示方法不采用这种方式\n *\n * [x] bit      位              b     0 or 1\n * [*] byte     字节            B     8 bits\n * [x] kilobit  千位            kb    1000 bites\n * [*] kilobyte 千字节(二进制)   KB    1024 bytes\n * [x] kilobyte 千字节(十进制)   KB    1000 bytes\n * [x] Megabite 百万位          Mb    1000 kilobits\n * [*] Megabyte 兆字节(二进制)   KB    1024 kilobytes\n * [*] Megabyte 兆字节(十进制)   KB    1000 kilobytes\n * [x] Gigabit  万亿位          Gb    1000 Megabite\n * [*] Gigabyte 吉字节(二进制)   GB    1024 Megabytes\n * [x] Gigabyte 吉字节(十进制)   GB    1000 Megabytes\n */\nexport const SIZE_MAP = {\n  B: 1,\n  KB: 1024,\n  MB: 1048576, // 1024 * 1024\n  GB: 1073741824, // 1024 * 1024 * 1024\n};\n\nexport function returnFileSize(number: number) {\n  if (number < SIZE_MAP.KB) {\n    return `${number} Bytes`;\n  }\n  if (number >= SIZE_MAP.KB && number < SIZE_MAP.MB) {\n    return `${(number / SIZE_MAP.KB).toFixed(1)} KB`;\n  }\n  if (number >= SIZE_MAP.MB && number < SIZE_MAP.GB) {\n    return `${(number / SIZE_MAP.MB).toFixed(1)} MB`;\n  }\n\n  if (number >= SIZE_MAP.GB) {\n    return `${(number / SIZE_MAP.GB).toFixed(1)} GB`;\n  }\n  return '';\n}\n\nexport function getCurrentDate(needTime = false) {\n  const d = new Date();\n  let month: string | number = d.getMonth() + 1;\n  month = month < 10 ? `0${month}` : month;\n  const date = `${d.getFullYear()}-${month}-${d.getDate()}`;\n  const time = `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}`;\n  if (needTime) return [date, time].join(' ');\n  return date;\n}\n\n/**\n * 缩略文件名 ABCDEFG => ABC...FG\n * @param inputName 文件名\n * @param leftCount 左边长度\n * @param rightCount 右边长度\n * @returns 缩略后的文件名\n */\nexport function abridgeName(inputName: string, leftCount = 5, rightCount = 7): string {\n  const name = inputName;\n  let leftLength = 0;\n  let rightLength = 0;\n  if (!name) return '';\n  for (let i = 0; i < name.length; i++) {\n    const w = name[i];\n    const isCn = escape(w).indexOf('%u') === 0;\n    if (i < leftCount * 2 && leftLength < leftCount) {\n      // eslint-disable-next-line no-unused-expressions\n      isCn ? (leftLength += 1) : (leftLength += 2);\n    } else if (i > i - rightCount && rightLength < rightCount) {\n      // eslint-disable-next-line no-unused-expressions\n      isCn ? (rightLength += 1) : (rightLength += 2);\n    }\n  }\n  return name.replace(new RegExp(`^(.{${leftLength}})(.+)(.{${rightLength}})$`), '$1…$3');\n}\n\nexport function getFileSizeText(number: number) {\n  if (number < 1024) {\n    return `${number} Bytes`;\n  }\n  if (number >= 1024 && number < 1048576) {\n    return `${(number / 1024).toFixed(1)} KB`;\n  }\n  if (number >= 1048576) {\n    return `${(number / 1048576).toFixed(1)} MB`;\n  }\n  return '';\n}\n\n/**\n * 大小比较\n * @param size 文件大小，单位：B\n * @param unit 计算机计量单位\n */\nexport function isOverSizeLimit(fileSize: number, sizeLimit: number, unit: SizeUnit) {\n  const units = ['B', 'KB', 'MB', 'GB'];\n  const KBIndex = 1;\n  let index = units.indexOf(unit);\n  if (index === -1) {\n    log.warn('Upload', `\\`sizeLimit.unit\\` can only be one of ${units.join()}`);\n    index = KBIndex;\n  }\n  const num = SIZE_MAP[unit];\n  return fileSize > sizeLimit * num;\n}\n\n// vue2临时使用的 sizeLimit 计算\nexport function isOverSizeLimit1(fileSize: number, sizeLimit: number, unit: SizeUnit) {\n  // 以 KB 为单位进行比较\n  const units = ['B', 'KB', 'MB', 'GB'];\n  // 各个单位和 KB 的关系\n\n  const KBIndex = 1;\n  let index = units.indexOf(unit);\n  if (index === -1) {\n    // eslint-disable-next-line no-console\n    console.warn(`TDesign Upload Warn: \\`sizeLimit.unit\\` can only be one of ${units.join()}`);\n    index = KBIndex;\n  }\n  const num = SIZE_MAP[unit];\n  const limit = index < KBIndex ? sizeLimit / num : sizeLimit * num;\n  return fileSize <= limit;\n}\n\nexport const urlCreator = () => window.webkitURL || window.URL;\n\nexport function getFileUrlByFileRaw(fileRaw: File): Promise<string> {\n  return new Promise((resolve) => {\n    if (!fileRaw) {\n      resolve('');\n      return;\n    }\n    const reader = new FileReader();\n    reader.readAsDataURL(fileRaw);\n    reader.onload = (event: ProgressEvent<FileReader>) => {\n      resolve(event.target?.result as string);\n    };\n  });\n}\n\nexport function validateFileType(accept: string, fileType: string, fileName?: string) {\n  const tmpFileType = fileType || fileName;\n  if (!accept) return true;\n\n  if (!tmpFileType) return false;\n\n  const acceptList = accept.split(',').map((v) => v.trim());\n  for (let i = 0, len = acceptList.length; i < len; i++) {\n    const oneRule = acceptList[i] as keyof typeof INPUT_FILE_MAP;\n    if (INPUT_FILE_MAP[oneRule] && INPUT_FILE_MAP[oneRule].test(tmpFileType)) {\n      return true;\n    }\n    const regExp = new RegExp(oneRule, 'i');\n    if (regExp.test(tmpFileType)) {\n      return true;\n    }\n  }\n  return false;\n}\n\nexport function getFileList(files: FileList, accept: string = '') {\n  const fileList: File[] = [];\n  for (let i = 0; i < files.length; i++) {\n    if (validateFileType(accept, files[i].type, files[i].name)) {\n      fileList.push(files[i]);\n    }\n  }\n  return fileList;\n}\n","import { ComputedRef, ref, Ref, watch } from 'vue';\nimport { getFileUrlByFileRaw } from '@tdesign/common-js/upload/utils';\n\nexport function useImagePreviewUrl(imgUrl: Ref<string | File> | ComputedRef<string | File>) {\n  const previewUrl = ref('');\n\n  watch(\n    [imgUrl],\n    ([imgUrl], [preImgUrl]) => {\n      if (preImgUrl === imgUrl) return;\n      if (typeof imgUrl === 'string') {\n        previewUrl.value = imgUrl;\n        return;\n      }\n      getFileUrlByFileRaw(imgUrl).then((url) => {\n        previewUrl.value = url;\n      });\n    },\n    { immediate: true },\n  );\n\n  return { previewUrl };\n}\n","import { useConfig } from '../useConfig';\n// TODO need refactor\nimport { EAnimationType } from '../../../components/config-provider/utils/context';\n\nconst { expand, ripple, fade } = EAnimationType;\n\nexport function useKeepAnimation() {\n  const { globalConfig } = useConfig('animation');\n\n  const keepAnimation = (type: EAnimationType) => {\n    const animationConfig = globalConfig.value;\n    return animationConfig && !animationConfig.exclude?.includes(type) && animationConfig.include?.includes(type);\n  };\n  return {\n    keepExpand: keepAnimation(expand),\n    keepRipple: keepAnimation(ripple),\n    keepFade: keepAnimation(fade),\n  };\n}\n","import { ref, onMounted, computed, nextTick, Ref, UnwrapRef } from 'vue';\nimport observe from '@tdesign/common-js/utils/observe';\nimport { isServer } from '@tdesign/shared-utils';\n\nexport type UseLazyLoadParams = UnwrapRef<{\n  type: 'lazy' | 'virtual';\n  rowHeight?: number;\n  bufferSize?: number;\n}>;\n\nexport function useLazyLoad(containerRef: Ref<HTMLElement>, childRef: Ref<HTMLElement>, params: UseLazyLoadParams) {\n  const tRowHeight = computed(() => Math.max(params.rowHeight || 48, 48));\n  const isInit = ref(false);\n  const hasLazyLoadHolder = computed(() => params?.type === 'lazy' && !isInit.value);\n\n  const requestAnimationFrame = (!isServer && window.requestAnimationFrame) || ((cb) => setTimeout(cb, 16.6));\n\n  const init = () => {\n    if (!isInit.value) {\n      requestAnimationFrame(() => {\n        isInit.value = true;\n      });\n    }\n  };\n\n  onMounted(() => {\n    if (params?.type !== 'lazy') return;\n    nextTick(() => {\n      const bufferSize = Math.max(10, params.bufferSize || 10);\n      const height = tRowHeight.value * bufferSize;\n      observe(childRef.value, containerRef.value, init, height);\n    });\n  });\n\n  return {\n    hasLazyLoadHolder,\n    tRowHeight,\n  };\n}\n","import { onBeforeUnmount, onMounted } from 'vue';\n\n/**\n * 用于订阅Listener事件\n * @param updateSize\n */\nexport function useListener(type: string, listener: () => void): void {\n  onMounted(() => {\n    window.addEventListener(type, listener);\n  });\n\n  onBeforeUnmount(() => {\n    window.removeEventListener(type, listener);\n  });\n}\n\nexport function useResize(listener: () => void, observer?: HTMLElement) {\n  useListener('resize', listener);\n\n  let resizeObserver: ResizeObserver = null;\n\n  onMounted(() => {\n    if (!window.ResizeObserver || !observer) return;\n    resizeObserver = new window.ResizeObserver(listener);\n    resizeObserver.observe(observer);\n  });\n\n  onBeforeUnmount(() => {\n    resizeObserver?.disconnect();\n  });\n}\n","// https://github.dev/arco-design/arco-design-vue\nimport { onMounted, onBeforeUnmount, readonly, Ref, ref, watch } from 'vue';\nexport type PopupType = 'popup' | 'dialog' | 'message' | 'drawer';\n\nconst popupStackType = ['dialog', 'drawer'];\nconst POPUP_BASE_Z_INDEX = 1000;\nconst MESSAGE_BASE_Z_INDEX = 5000;\nconst Z_INDEX_STEP = 1;\n\nclass PopupManager {\n  private popupStack = {\n    popup: new Set<number>(),\n    dialog: new Set<number>(),\n    message: new Set<number>(),\n    drawer: new Set<number>(),\n  };\n\n  private zIndexStack: number[] = [];\n\n  private getNextZIndex = (type: PopupType) => {\n    const current =\n      type === 'message'\n        ? Array.from(this.popupStack.message).pop() || MESSAGE_BASE_Z_INDEX\n        : Array.from(this.popupStack.popup).pop() || POPUP_BASE_Z_INDEX;\n    return current + Z_INDEX_STEP;\n  };\n\n  public add = (type: PopupType) => {\n    const zIndex = this.getNextZIndex(type);\n    this.popupStack[type].add(zIndex);\n    if (popupStackType.includes(type)) {\n      this.popupStack.popup.add(zIndex);\n    }\n    this.zIndexStack.push(zIndex);\n    return zIndex;\n  };\n\n  public delete = (zIndex: number, type: PopupType) => {\n    this.popupStack[type].delete(zIndex);\n    if (popupStackType.includes(type)) {\n      this.popupStack.popup.delete(zIndex);\n    }\n    const index = this.zIndexStack.indexOf(zIndex);\n    if (index !== -1) {\n      this.zIndexStack.splice(index, 1);\n    }\n  };\n\n  // 最顶层的交互式弹窗（指Dialog和Drawer）\n  public isTopInteractivePopup = (popupType: PopupType, zIndex: number) => {\n    if (popupStackType.includes(popupType)) {\n      const lastZIndex = this.zIndexStack[this.zIndexStack.length - 1];\n      return zIndex === lastZIndex;\n    }\n\n    if (this.popupStack[popupType]?.size > 1) {\n      return zIndex === Array.from(this.popupStack[popupType]).pop();\n    }\n\n    return true;\n  };\n\n  public getLastZIndex = () => {\n    return this.zIndexStack[this.zIndexStack.length - 1];\n  };\n}\n\nconst popupManager = new PopupManager();\n\nexport function usePopupManager(\n  type: PopupType,\n  {\n    visible,\n    runOnMounted,\n  }: {\n    visible?: Ref<boolean>;\n    runOnMounted?: boolean;\n  } = {},\n) {\n  const zIndex = ref(0);\n\n  const open = () => {\n    zIndex.value = popupManager.add(type);\n  };\n\n  const close = () => {\n    popupManager.delete(zIndex.value, type);\n  };\n\n  const isTopInteractivePopup = () => {\n    if (popupStackType.includes(type)) {\n      return popupManager.isTopInteractivePopup(type, zIndex.value);\n    }\n    return false;\n  };\n\n  watch(\n    () => visible?.value,\n    (visible) => {\n      if (visible) {\n        open();\n      } else {\n        close();\n      }\n    },\n    {\n      immediate: true,\n    },\n  );\n\n  if (runOnMounted) {\n    onMounted(() => {\n      open();\n    });\n\n    onBeforeUnmount(() => {\n      close();\n    });\n  }\n\n  return {\n    zIndex: readonly(zIndex),\n    open,\n    close,\n    isTopInteractivePopup,\n  };\n}\n","import { Ref, inject, computed, getCurrentInstance } from 'vue';\nimport { isBoolean } from 'lodash-es';\n// TODO need refactor\nimport { TdFormProps } from '../../../components/form/type';\n\nexport interface FormReadonlyProvider {\n  readonly: Ref<TdFormProps['readonly']>;\n}\n\nexport interface ReadonlyContext {\n  beforeReadonly?: Ref<boolean>;\n  afterReadonly?: Ref<boolean>;\n}\n\n/**\n * 用于实现组件全局只读状态的hook\n * 优先级:(beforeReadonly) > Component.readonly > ComponentGroup.readonly(afterReadonly) > Form.readonly\n * @returns\n */\nexport function useReadonly(context?: ReadonlyContext) {\n  const currentInstance = getCurrentInstance();\n  const componentReadonly = computed(() => currentInstance.props.readonly as boolean);\n\n  const formReadonly = inject<FormReadonlyProvider>('formReadonly', Object.create(null));\n\n  return computed(() => {\n    if (isBoolean(context?.beforeReadonly?.value)) return context.beforeReadonly.value;\n    // Component\n    if (isBoolean(componentReadonly?.value)) return componentReadonly.value;\n    // ComponentGroup\n    if (isBoolean(context?.afterReadonly?.value)) return context.afterReadonly.value;\n    // Form\n    if (isBoolean(formReadonly.readonly?.value)) return formReadonly.readonly.value;\n\n    return false;\n  });\n}\n","import { Ref, watch, onBeforeUnmount } from 'vue';\n\nexport function useResizeObserver(container: Ref<HTMLElement>, callback: (data: ResizeObserverEntry[]) => void) {\n  if (typeof window === 'undefined') return;\n\n  const isSupport = window && (window as Window & typeof globalThis).ResizeObserver;\n  // unit tests do not need any warn console; too many warns influence focusing on more important log info\n  if (!isSupport) return;\n\n  let containerObserver: ResizeObserver = null;\n\n  const cleanupObserver = () => {\n    if (!containerObserver || !container.value) return;\n    containerObserver.unobserve(container.value);\n    containerObserver.disconnect();\n    containerObserver = null;\n  };\n\n  const addObserver = (el: HTMLElement) => {\n    containerObserver = new ResizeObserver(callback);\n    containerObserver.observe(el);\n  };\n\n  // can not use container.value to judge\n  container &&\n    watch(\n      container,\n      (el) => {\n        cleanupObserver();\n        el && addObserver(el);\n      },\n      { immediate: true, flush: 'post' },\n    );\n\n  onBeforeUnmount(() => {\n    cleanupObserver();\n  });\n}\n","import { Styles } from '../common';\n\n/**\n * 用于为节点增加styles\n * @param el HTMLElement\n * @param styles Styles\n */\nfunction setStyle(el: HTMLElement, styles: Styles): void {\n  if (!el) return;\n\n  const keys = Object.keys(styles);\n  keys.forEach((key) => {\n    // @ts-ignore\n    // eslint-disable-next-line no-param-reassign\n    el.style[key] = styles[key];\n  });\n  // TODO: 这个怎么样\n  // Object.assign(el.style, styles);\n}\n\nexport default setStyle;\n","import { ref, onMounted, onUnmounted, Ref } from 'vue';\nimport { useKeepAnimation } from '../useKeepAnimation';\nimport { usePrefixClass } from '../useConfig';\nimport setStyle from '@tdesign/common-js/utils/setStyle';\n\nconst period = 200;\nconst noneRippleBg = 'rgba(0, 0, 0, 0)';\nconst defaultRippleColor = 'rgba(0, 0, 0, 0.35)';\n\n// 设置动画颜色 get the ripple animation color\nconst getRippleColor = (el: HTMLElement, fixedRippleColor?: string) => {\n  // get fixed color from params\n  if (fixedRippleColor) {\n    return fixedRippleColor;\n  }\n  // get dynamic color from the dataset\n  if (el?.dataset?.ripple) {\n    const rippleColor = el.dataset.ripple;\n    return rippleColor;\n  }\n  // use css variable, check if element is valid before calling getComputedStyle\n  if (el instanceof Element) {\n    const cssVariable = getComputedStyle(el).getPropertyValue('--ripple-color');\n    if (cssVariable) {\n      return cssVariable;\n    }\n  }\n  return defaultRippleColor;\n};\n\n/**\n * 斜八角动画hooks 支持三种方式使用\n * 1. fixedRippleColor 固定色值 useRipple(ref,fixedRippleColor);\n * 2. dynamicColor 动态色值 data.ripple=\"rippleColor\" useRipple(ref)\n * 3. CSS variables（recommended） 配合节点对应CSS设置 --ripple-color useRipple(ref)\n * @param ref 需要使用斜八角动画的DOM\n * @param fixedRippleColor 斜八角的动画颜色\n */\nexport function useRipple(el: Ref<HTMLElement>, fixedRippleColor?: Ref<string>) {\n  const rippleContainer = ref(null);\n  const classPrefix = usePrefixClass();\n\n  // 全局配置ripple\n  const { keepRipple } = useKeepAnimation();\n\n  // 为节点添加斜八角动画 add ripple to the DOM and set up the animation\n  const handleAddRipple = (e: MouseEvent) => {\n    const dom = el.value;\n    // Early return if element is not valid or not attached to DOM\n    if (!dom || !(dom instanceof Element)) return;\n\n    const rippleColor = getRippleColor(dom, fixedRippleColor?.value);\n    if (e.button !== 0 || !el || !keepRipple) return;\n\n    if (\n      dom.classList.contains(`${classPrefix.value}-is-active`) ||\n      dom.classList.contains(`${classPrefix.value}-is-disabled`) ||\n      dom.classList.contains(`${classPrefix.value}-is-checked`) ||\n      dom.classList.contains(`${classPrefix.value}-is-loading`)\n    )\n      return;\n\n    // Check again if element is still valid before calling getComputedStyle\n    if (!(dom instanceof Element)) return;\n    const elStyle = getComputedStyle(dom);\n\n    const elBorder = parseInt(elStyle.borderWidth, 10);\n    const border = elBorder > 0 ? elBorder : 0;\n    const width = dom.offsetWidth;\n    const height = dom.offsetHeight;\n\n    if (rippleContainer.value.parentNode === null) {\n      setStyle(rippleContainer.value, {\n        position: 'absolute',\n        left: `${0 - border}px`,\n        top: `${0 - border}px`,\n        width: `${width}px`,\n        height: `${height}px`,\n        borderRadius: elStyle.borderRadius,\n        pointerEvents: 'none',\n        overflow: 'hidden',\n      });\n      dom.appendChild(rippleContainer.value);\n    }\n    // 新增一个ripple\n    const ripple = document.createElement('div');\n\n    setStyle(ripple, {\n      marginTop: '0',\n      marginLeft: '0',\n      right: `${width}px`,\n      width: `${width + 20}px`,\n      height: '100%',\n      transition: `transform ${period}ms cubic-bezier(.38, 0, .24, 1), background ${period * 2}ms linear`,\n      transform: 'skewX(-8deg)',\n      pointerEvents: 'none',\n      position: 'absolute',\n      zIndex: 0,\n      backgroundColor: rippleColor,\n      opacity: '0.9',\n    });\n\n    // fix zIndex：避免遮盖内部元素\n    const elMap = new WeakMap();\n    for (let n = dom.children.length, i = 0; i < n; ++i) {\n      const child = dom.children[i];\n      if ((child as HTMLElement).style.zIndex === '' && child !== rippleContainer.value) {\n        (child as HTMLElement).style.zIndex = '1';\n        elMap.set(child, true);\n      }\n    }\n\n    // fix position\n    let initPosition = dom.style.position;\n    if (!initPosition && dom instanceof Element) {\n      initPosition = getComputedStyle(dom).position;\n    }\n    if (initPosition === '' || initPosition === 'static') {\n      // eslint-disable-next-line no-param-reassign\n      dom.style.position = 'relative';\n    }\n    rippleContainer.value.insertBefore(ripple, rippleContainer.value.firstChild);\n\n    setTimeout(() => {\n      ripple.style.transform = `translateX(${width}px)`;\n    }, 0);\n    // 清除动画节点 clear ripple container\n    const handleClearRipple = () => {\n      ripple.style.backgroundColor = noneRippleBg;\n\n      if (!el.value) return;\n\n      el.value.removeEventListener('pointerup', handleClearRipple, false);\n      el.value.removeEventListener('pointerleave', handleClearRipple, false);\n\n      setTimeout(() => {\n        ripple.remove();\n        if (rippleContainer.value.children.length === 0) rippleContainer.value.remove();\n      }, period * 2 + 100);\n    };\n    el.value.addEventListener('pointerup', handleClearRipple, false);\n    el.value.addEventListener('pointerleave', handleClearRipple, false);\n  };\n\n  onMounted(() => {\n    const dom = el?.value;\n    if (!dom) return;\n\n    rippleContainer.value = document.createElement('div');\n\n    dom.addEventListener('pointerdown', handleAddRipple, false);\n  });\n\n  onUnmounted(() => {\n    el?.value?.removeEventListener('pointerdown', handleAddRipple, false);\n  });\n}\n","import { getAttach } from '@tdesign/shared-utils';\nimport { computed, Ref, onMounted, ref, watch } from 'vue';\n// TODO need refactor\nimport { AttachNode } from '../../../components/common';\nimport { isFunction } from 'lodash-es';\n\n/**\n * @description 返回挂载的节点, 用于teleport\n * @param attach 既可以是一个函数, 也可以是一个ref\n * @param triggerNode 既可以是一个函数, 也可以是一个ref\n */\nexport function useTeleport(\n  attach: (() => AttachNode) | Ref<AttachNode>,\n  triggerNode?: (() => any) | Ref<any>,\n): Ref<string | Element> {\n  // 如果是函数, 则使用computed包裹 否则直接使用ref\n  const to = isFunction(attach) ? computed(attach) : ref(attach);\n  const innerTriggerNode = isFunction(triggerNode) ? computed(triggerNode) : ref(triggerNode);\n\n  const element = ref<string | Element>();\n\n  const getElement = () => {\n    element.value = getAttach(to.value, innerTriggerNode.value);\n  };\n\n  onMounted(() => getElement());\n\n  watch([to, innerTriggerNode], () => getElement());\n\n  return element;\n}\n","import { ref, Ref, getCurrentInstance } from 'vue';\nimport { kebabCase } from 'lodash-es';\n\nexport type ChangeHandler<T, P extends any[]> = (value: T, ...args: P) => void;\n\nexport function useVModel<T, P extends any[]>(\n  value: Ref<T>,\n  modelValue: Ref<T>,\n  defaultValue: T,\n  onChange: ChangeHandler<T, P>,\n  propName = 'value',\n): [Ref<T>, ChangeHandler<T, P>] {\n  const { emit, vnode } = getCurrentInstance();\n  const internalValue: Ref<T> = ref();\n\n  const vProps = vnode.props || {};\n  const isVM =\n    Object.prototype.hasOwnProperty.call(vProps, 'modelValue') ||\n    Object.prototype.hasOwnProperty.call(vProps, 'model-value');\n  const isVMP =\n    Object.prototype.hasOwnProperty.call(vProps, propName) ||\n    Object.prototype.hasOwnProperty.call(vProps, kebabCase(propName));\n\n  if (isVM) {\n    return [\n      modelValue,\n      (newValue, ...args) => {\n        emit('update:modelValue', newValue);\n        onChange?.(newValue, ...args);\n      },\n    ];\n  }\n\n  if (isVMP) {\n    return [\n      value,\n      (newValue, ...args) => {\n        emit(`update:${propName}`, newValue);\n        onChange?.(newValue, ...args);\n      },\n    ];\n  }\n\n  internalValue.value = defaultValue;\n  return [\n    internalValue,\n    (newValue, ...args) => {\n      internalValue.value = newValue;\n      onChange?.(newValue, ...args);\n    },\n  ];\n}\n","/* eslint-disable */\n/**\n * 当前虚拟滚动存在的问题\n * 1. 反复拖动滚动条，底部会出现奇怪的高度\n * 2. 表格高度发生变化时，底部也会出现奇怪的高度\n * 3. 无法直接定位滚动到某个元素，进而无法实现 Select 组件直接滚动到选中项\n */\nimport { ref, toRefs, reactive, onMounted, computed, watch, nextTick } from 'vue';\n\n// 虚拟滚动Hooks的完整实现，只所以封装成hooks，主要是为了方便跟其他组件搭配使用，比如说表格或者下拉框\nexport function useVirtualScroll({\n  data,\n  container,\n  fixedHeight = false,\n  lineHeight = 30,\n  bufferSize = 20,\n  threshold = 100,\n}: {\n  data: any;\n  container: any;\n  fixedHeight: boolean;\n  lineHeight: number;\n  bufferSize: number;\n  threshold: number;\n}) {\n  const state = reactive({\n    visibleData: [],\n    cachedHeight: [],\n    cachedScrollY: [],\n  });\n  const isVirtual = computed(() => data.value.length > threshold);\n  const updateId = ref(0);\n  const trs = new Map(); // 当前展示的行元素和数据\n\n  let visibleCount = 0; // 可见的节点数量\n  let beforeScrollTop = 0; // 上一次的滚动条位置\n  let index = 0; // 偏移行数\n  let offset = 0; // 少于一行行高的偏移量\n  let start = 0; // 第一条显示的行\n  let last = 0; // 最后一条显示的行\n  // let revising = false; // 是否正在修正滚动条\n\n  const reset = () => {\n    data.value.forEach((item: any, i: number) => {\n      item.$index = i;\n      if (fixedHeight) {\n        state.cachedScrollY[i] = i * lineHeight;\n      }\n    });\n    if (!fixedHeight) {\n      state.cachedScrollY[data.value.length - 1] = undefined; // 初始化cachedScrollY数组的长度\n    }\n  };\n  reset();\n\n  // 计算虚拟滚动列表总高度，需要动态修正\n  const scrollHeight = computed(() => {\n    const { cachedHeight } = state;\n    const { length } = cachedHeight;\n    if (length) {\n      const maxScrollY = cachedHeight.reduce((sum, v) => sum + v || lineHeight, 0); // 当前总高度\n      if (cachedHeight.length === data.value.length) {\n        return maxScrollY;\n      }\n      const average = maxScrollY / cachedHeight.length; // 平均高度\n      return maxScrollY + (data.value.length - cachedHeight.length) * average; // 预估总高度\n    }\n    return isVirtual.value ? data.value.length * lineHeight : 0;\n  });\n  const translateY = computed(() => {\n    const { visibleData } = state;\n    const firstRow = visibleData[0];\n    if (firstRow) {\n      // 修复只有一个元素时存在偏移的问题\n      return visibleData.length === 1 ? 0 : state.cachedScrollY[firstRow.$index];\n    }\n    return 0;\n  });\n\n  // 更新可视区域的节点数据\n  const updateVisibleData = () => {\n    last = Math.min(start + visibleCount + bufferSize * 2, data.value.length);\n    state.visibleData = data.value.slice(start, last);\n  };\n  // 计算每行对应的scrollTop值\n  const calculateScrollY = () => {\n    const anchorDom = trs.get(index); // 获取锚点元素\n    if (!anchorDom) {\n      return; // 快速调整高度时，新的元素可能来不及加载，暂时跳过更新\n    }\n    const anchorDomHeight = anchorDom?.getBoundingClientRect()?.height; // 获取锚点元素的高\n    state.cachedScrollY[index] = container.value.scrollTop - offset; // 锚点元素scrollY= 容器滚动高度 - 锚点元素的offset\n    state.cachedHeight[index] = anchorDomHeight;\n\n    for (let i = index + 1; i <= state.visibleData[state.visibleData.length - 1]?.$index; i++) {\n      // 计算锚点后面的元素scrollY\n      const tr = trs.get(i);\n      const { height } = tr?.getBoundingClientRect() || {};\n      state.cachedHeight[i] = height;\n      const scrollY = state.cachedScrollY[i - 1] + state.cachedHeight[i - 1]; // 当前元素的y 是前一个元素的y+前一个元素高度\n      // state.cachedScrollY[i] = scrollY;\n      state.cachedScrollY.splice(i, 1, scrollY); // 兼容vue2的composition api\n    }\n\n    for (let i = index - 1; i >= state.visibleData[0]?.$index; i--) {\n      const tr = trs.get(i);\n      const { height } = tr?.getBoundingClientRect() || {};\n      state.cachedHeight[i] = height;\n      const scrollY = state.cachedScrollY[i + 1] - state.cachedHeight[i]; // 当前元素的y是下一个元素y - 当前元素高度\n      // state.cachedScrollY[i] = scrollY;\n      state.cachedScrollY.splice(i, 1, scrollY);\n    }\n    if (state.cachedScrollY[0] > 0) {\n      // 修正滚动过快时，滚动到顶部时，滚动条多余的问题\n      // revising = true;\n      const distance = state.cachedScrollY[0]; // 第一个元素scrollY即为多出的量\n      const length = Math.min(last, data.value.length);\n      for (let i = 0; i < length; i++) {\n        // state.cachedScrollY[i] -= distance;\n        state.cachedScrollY.splice(i, 1, state.cachedScrollY[i] - distance);\n      }\n\n      const scrollTop = state.cachedScrollY[index - 1] ? state.cachedScrollY[index - 1] + offset : offset;\n      container.value.scrollTop = scrollTop;\n      beforeScrollTop = scrollTop;\n      // revising = false;\n    }\n    // 修正拖动过快时，滚动到顶端时，滚动条不足的偏差\n    if (state.cachedScrollY[start] < 0) {\n      // revising = true;\n      const s = state.cachedHeight.slice(0, Math.max(0, index)).reduce((sum, v) => sum + v, 0) + offset;\n      container.value.scrollTop = s;\n      beforeScrollTop = s;\n      if (s === 0) {\n        index = 0;\n        offset = 0;\n      }\n      // revising = false;\n    }\n    nextTick(() => {\n      // setTimeout是为了保证快速拖动到底部时，以下逻辑能够正常执行\n      const { scrollTop, scrollHeight, clientHeight } = container.value;\n      if (scrollTop + clientHeight === scrollHeight) {\n        // 滚动到底部时，修正底部有空余的问题\n        // revising = true;\n        for (let i = last - 1; i >= start; i--) {\n          if (i === last - 1) {\n            // state.cachedScrollY[i] = scrollHeight.value - state.cachedHeight[i];\n            state.cachedScrollY.splice(i, 1, scrollHeight.value - state.cachedHeight[i]);\n          } else {\n            // state.cachedScrollY[i] = state.cachedScrollY[i + 1] - state.cachedHeight[i];\n            state.cachedScrollY.splice(i, 1, state.cachedScrollY[i + 1] - state.cachedHeight[i]);\n          }\n        }\n        // revising = false;\n      }\n    });\n  };\n\n  // 滚动时动态计算和渲染\n  const handleScroll = () => {\n    if (!isVirtual.value) return;\n    // if (revising) {\n    //   return false; // 修正滚动条时，暂停滚动逻辑\n    // }\n    const { scrollTop } = container.value;\n    let distance = scrollTop - beforeScrollTop; // 滚动差值\n    beforeScrollTop = scrollTop;\n    distance += offset;\n    let lastIndex = index;\n    // !disatance 可能为横向滚动，不做任何计算\n    if (!distance) return;\n    if (distance >= 0) {\n      // 向下滚动\n      while (lastIndex < data.value.length && distance > (state.cachedHeight[lastIndex] || lineHeight)) {\n        if (!state.cachedHeight[lastIndex]) {\n          state.cachedHeight[lastIndex] = lineHeight;\n        }\n        distance -= state.cachedHeight[lastIndex];\n        lastIndex++;\n      }\n      if (lastIndex >= data.value.length) {\n        index = data.value.length - 1;\n        offset = 0;\n      } else {\n        index = lastIndex;\n        offset = distance;\n      }\n      const { clientHeight, scrollHeight } = container.value;\n      if (scrollTop + clientHeight === scrollHeight) {\n        // 滚动条到底了\n        index = data.value.length - visibleCount + 1;\n        // calculateScrollY();\n      }\n      if (start <= index - bufferSize) {\n        // 计算第一个挂载元素\n        start = Math.min(data.value.length - visibleCount, index - bufferSize);\n        if (start < 0) {\n          start = 0;\n        }\n      }\n    } else {\n      // 向上滚动\n      while (distance < 0) {\n        lastIndex--;\n        if (!state.cachedHeight[lastIndex]) {\n          state.cachedHeight[lastIndex] = lineHeight;\n        }\n        distance += state.cachedHeight[lastIndex];\n      }\n      if (lastIndex < 0) {\n        index = 0;\n        offset = 0;\n      } else {\n        index = lastIndex;\n        offset = distance;\n      }\n      calculateScrollY();\n      if (start > index - bufferSize) {\n        // 计算第一个挂载元素\n        start = Math.max(0, index - bufferSize);\n      }\n    }\n    updateVisibleData();\n  };\n\n  !fixedHeight && watch(updateId, calculateScrollY, { flush: 'post' });\n  const handleRowMounted = () => {\n    if (!isVirtual.value) return;\n    updateId.value++;\n  };\n  watch(data, () => {\n    reset();\n    state.visibleData = [];\n    state.cachedScrollY = [];\n    state.cachedHeight = [];\n    beforeScrollTop = 0;\n    index = 0;\n    offset = 0;\n    start = 0;\n    // revising = false;\n    trs.clear();\n    if (data.value.length <= threshold) {\n      state.visibleData = data.value;\n    } else {\n      updateVisibleData();\n    }\n\n    container.value && (container.value.scrollTop = 0);\n  });\n  let mounted = false;\n  const refreshContainer = () => {\n    if (mounted) {\n      visibleCount = Math.ceil(container.value.offsetHeight / lineHeight);\n      updateVisibleData();\n    }\n  };\n  onMounted(() => {\n    if (!window || !window.IntersectionObserver) {\n      return;\n    }\n    const ob = new window.IntersectionObserver((entries) => {\n      const entry = entries[0];\n      if (entry.isIntersecting || entry.intersectionRatio) {\n        mounted = true;\n        isVirtual.value && refreshContainer();\n        ob.unobserve(container.value);\n      }\n    });\n    container.value && ob.observe(container.value);\n  });\n  return {\n    trs,\n    scrollHeight,\n    ...toRefs(state),\n    translateY,\n    handleScroll,\n    handleRowMounted,\n    refreshContainer,\n    fixedHeight,\n    calculateScrollY,\n  };\n}\n","/**\n * 基于原作者（@louiszhai）的思路二次开发，为保证其他组件暂不受影响，单独开一个文件\n * 新增支持以下 3 个特性\n * 1. 支持不同表格高度\n * 2. 支持滚动到特定元素，方便 Select 等组件展开时直接定位到选中元素\n * 3. 支持数据变化不重置，方便支持树形结构虚拟滚动\n */\nimport { ref, computed, watch, Ref } from 'vue';\n// TODO need refactor\nimport { TScroll } from '../../../components/common';\nimport { useResizeObserver } from '../useResizeObserver';\nimport { max, min, sum, throttle } from 'lodash-es';\n\nexport type UseVirtualScrollParams = Ref<{\n  /** 列数据 */\n  data: { [key: string]: any }[];\n  scroll: TScroll & {\n    /** 固定行（冻结行），示例：[M, N]，表示冻结头 M 行和尾 N 行。M 和 N 值为 0 时，表示不冻结行 */\n    fixedRows?: Array<number>;\n  };\n  preventResizeRefresh?: boolean;\n}>;\n\nexport interface ScrollToElementParams {\n  /** 跳转元素下标 */\n  index: number;\n  /** 跳转元素距离顶部的距离 */\n  top?: number;\n  /** 单个元素高度非固定场景下，即 isFixedRowHeight = false。延迟设置元素位置，一般用于依赖不同高度异步渲染等场景，单位：毫秒 */\n  time?: number;\n  behavior?: 'auto' | 'smooth';\n}\n\nexport function useVirtualScrollNew(container: Ref<HTMLElement | null>, params: UseVirtualScrollParams) {\n  /** 注意测试：数据长度为空；数据长度小于表格高度等情况。即期望只有数据量达到一定程度才允许开启虚拟滚动 */\n  const visibleData = ref<any[]>([]);\n  // 用于显示表格列\n  const translateY = ref((params.value.data?.length || 0) * (params.value.scroll?.rowHeight || 50));\n  // 滚动高度，用于显示滚动条\n  const scrollHeight = ref(0);\n  // 已经通过节点渲染计算出来的各自行高\n  // 不要使用响应式，数据量大时会产生卡顿\n  let trHeightList: number[] = [];\n  const containerHeight = ref(0);\n  const containerWidth = ref(0);\n  const startAndEndIndex = ref<[number, number]>([0, 15]);\n\n  // 设置初始值\n  const tScroll = computed(() => {\n    const { scroll } = params.value;\n    if (!scroll) return {};\n    return {\n      bufferSize: scroll.bufferSize || 10,\n      isFixedRowHeight: scroll.isFixedRowHeight ?? false,\n      rowHeight: scroll.rowHeight || 47,\n      threshold: scroll.threshold || 100,\n      type: scroll.type,\n      fixedRows: scroll.fixedRows ?? [0, 0],\n    };\n  });\n\n  // 当前场景是否满足开启虚拟滚动的条件\n  const isVirtualScroll = computed(() => {\n    const { data } = params.value;\n    return tScroll.value.type === 'virtual' && tScroll.value.threshold < data.length;\n  });\n\n  // 一次循环遍历中计算可视范围的相关信息，减少大数据量时的遍历开销\n  function getVisibleRangeConfig() {\n    const scrollTop = container.value?.scrollTop ?? 0;\n    const fixedStart = tScroll.value.fixedRows[0];\n\n    // 记录前置 buffer 的高度\n    const prevBufferHeightList: number[] = [];\n    // 没有被渲染的行的高度，用于设定容器的 translateY\n    let hiddenHeight = 0;\n\n    let visibleStart = -1;\n    let visibleEnd = -1;\n\n    let totalHeight = 0;\n\n    for (let i = 0, len = params.value.data.length; i < len; i++) {\n      const rowHeight = trHeightList[i] ?? tScroll.value.rowHeight;\n      totalHeight = totalHeight + rowHeight;\n      // 获取第一个可视范围内的元素\n      if (totalHeight > scrollTop && visibleStart === -1) {\n        visibleStart = i;\n        if (visibleStart - tScroll.value.bufferSize > 0) {\n          hiddenHeight = totalHeight - rowHeight - sum(prevBufferHeightList);\n        }\n      }\n      if (visibleStart === -1) {\n        prevBufferHeightList.push(rowHeight);\n        if (prevBufferHeightList.length > tScroll.value.bufferSize) {\n          prevBufferHeightList.shift();\n        }\n      }\n      // 获取最后一个可视范围内的元素\n      if (\n        visibleEnd === -1 &&\n        (totalHeight > containerHeight.value + scrollTop || i === params.value.data.length - 1)\n      ) {\n        visibleEnd = i;\n      }\n\n      if (visibleStart !== -1 && visibleEnd !== -1) {\n        // 不再统计高度\n        break;\n      }\n    }\n\n    // 前后偏移 buffer\n    const startIndex = max([visibleStart - tScroll.value.bufferSize, 0]);\n    const endIndex = min([visibleEnd + tScroll.value.bufferSize, params.value.data.length]);\n\n    // 以 sticky 定位渲染的固定行，会占据高度，影响整体高度\n    const stickyHeight = sum(trHeightList.slice(0, Math.min(startIndex, fixedStart)));\n\n    return {\n      startIndex,\n      endIndex,\n      translateY: hiddenHeight - stickyHeight,\n    };\n  }\n\n  const updateVisibleData = throttle(() => {\n    // 计算前后的buffer偏移后的渲染数据\n    const { startIndex, endIndex, translateY: translateYValue } = getVisibleRangeConfig();\n\n    // 需要考虑固定行的情况\n    const fixedRows = tScroll.value.fixedRows;\n    const [fixedStart, fixedEnd] = fixedRows;\n    let fixedStartData = fixedStart ? params.value.data.slice(0, fixedStart) : [];\n    if (fixedStart && startIndex < fixedStart) {\n      fixedStartData = fixedStartData.slice(0, startIndex);\n    }\n    let fixedEndData = fixedEnd ? params.value.data.slice(params.value.data.length - fixedEnd) : [];\n    const bottomStartIndex = endIndex - params.value.data.length + 1 + (fixedEnd ?? 0);\n    if (fixedEnd && bottomStartIndex > 0) {\n      fixedEndData = fixedEndData.slice(bottomStartIndex);\n    }\n\n    if (startAndEndIndex.value.join() !== [startIndex, endIndex].join() && startIndex >= 0) {\n      translateY.value = translateYValue;\n      visibleData.value = fixedStartData.concat(params.value.data.slice(startIndex, endIndex), fixedEndData);\n      startAndEndIndex.value = [startIndex, endIndex];\n    }\n  }, 100);\n\n  // 固定高度场景，不需要通过行渲染获取高度（仅非固定高度场景需要）\n  const handleRowMounted = (rowData: any) => {\n    if (!isVirtualScroll.value || !rowData || tScroll.value.isFixedRowHeight || !container.value) return;\n    const trHeight = rowData.ref.value?.getBoundingClientRect().height || tScroll.value.rowHeight;\n    const rowIndex = rowData.data.VIRTUAL_SCROLL_INDEX;\n\n    if (trHeightList[rowIndex] !== trHeight) {\n      const diff = trHeight - trHeightList[rowIndex];\n      trHeightList[rowIndex] = trHeight;\n      // 采用 diff 的方式更新，不再遍历数组\n      scrollHeight.value = scrollHeight.value + diff;\n    }\n  };\n\n  const handleScroll = () => {\n    if (!isVirtualScroll.value) return;\n    updateVisibleData();\n  };\n\n  const refreshVirtualScroll = ([{ contentRect }]: [ResizeObserverEntry]) => {\n    // 如果宽度发生变化，重置滚动位置\n    if (params.value.preventResizeRefresh) return;\n    const maxScrollbarWidth = 16;\n    if (Math.abs(contentRect.width - containerWidth.value) > maxScrollbarWidth && !!container.value) {\n      container.value.scrollTop = 0;\n      translateY.value = 0;\n    }\n    containerWidth.value = contentRect.width;\n    // 高度更新后，由 height 独立的 watch 触发可视区域的更新\n    containerHeight.value = contentRect.height;\n  };\n\n  const addIndexToData = (data: any[]) => {\n    data.forEach((item, index) => {\n      // eslint-disable-next-line\n      item['VIRTUAL_SCROLL_INDEX'] = index;\n    });\n  };\n\n  const updateScrollTop = ({ index, top = 0, behavior }: ScrollToElementParams) => {\n    const scrollTop = sum(trHeightList.slice(0, index + 1)) - top;\n\n    container.value.scrollTo({\n      top: scrollTop,\n      behavior: behavior || 'auto',\n    });\n  };\n\n  /**\n   * 滚动到指定元素（对外暴露的方法，谨慎修改）\n   */\n  const scrollToElement = (p: ScrollToElementParams) => {\n    updateScrollTop(p);\n    // 不同行高的表格需要异步计算\n    if (!tScroll.value.isFixedRowHeight) {\n      const duration = p.time ?? 60;\n      const timer = setTimeout(() => {\n        updateScrollTop(p);\n        clearTimeout(timer);\n      }, duration);\n    }\n  };\n\n  // 如果初始化时 isVirtualScroll 为 false，undefined 的 ref 会导致无法监听元素高度变化\n  useResizeObserver(\n    computed(() => (isVirtualScroll.value ? container.value : undefined)),\n    refreshVirtualScroll,\n  );\n\n  // 固定高度场景，可直接通过数据长度计算出最大滚动高度\n  watch(\n    () => [[...params.value.data], tScroll.value, isVirtualScroll.value, container.value],\n    () => {\n      if (!isVirtualScroll.value || !container.value) return;\n      const { data } = params.value;\n      addIndexToData(data);\n\n      // 有可能初始化时，resize 监听没触发，尝试设置初始化容器高度\n      containerHeight.value = container.value.getBoundingClientRect().height;\n\n      if (trHeightList.length !== params.value.data.length) {\n        // 暂时对于 table 和 tree 场景，信任之前缓存的行高\n        // 后续优化可能提供一个参数，进行监听从而清除记录的行高会更好\n        const initHeightList: number[] = Array.from(trHeightList);\n        // 数据长度如果发生变化，裁剪高度记录的数组，避免算出异常的总高度\n        initHeightList.length = params.value.data.length;\n        initHeightList.fill(tScroll.value.rowHeight || 47);\n        trHeightList = initHeightList;\n      }\n\n      scrollHeight.value = sum(trHeightList);\n\n      // 清除记录的滚动顺序\n      startAndEndIndex.value = [0, 0];\n      updateVisibleData();\n    },\n    { immediate: true },\n  );\n\n  // 当容器高度变化后，重新计算可视区域数据\n  watch(\n    () => containerHeight.value,\n    () => {\n      updateVisibleData();\n    },\n  );\n\n  return {\n    visibleData,\n    translateY,\n    scrollHeight,\n    isVirtualScroll,\n    handleScroll,\n    handleRowMounted,\n    scrollToElement,\n  };\n}\n\nexport type VirtualScrollConfig = ReturnType<typeof useVirtualScrollNew>;\n","import { onBeforeUnmount, onMounted, ref, watch } from 'vue';\nimport { debounce, isEqual } from 'lodash-es';\n\nexport interface MutationCallback {\n  (mutations: MutationRecord[]): void;\n}\n\ninterface Options {\n  debounceTime?: number;\n  config?: MutationObserverInit;\n}\n\nconst DEFAULT_OPTIONS: Options = {\n  debounceTime: 0,\n  config: {\n    attributes: true,\n    childList: true,\n    characterData: true,\n    subtree: true,\n  },\n};\n\n/**\n * useMutationObservable\n * @param targetEl 监听对象\n * @param callback 回调方法\n * @param options 配置项\n */\nexport function useMutationObservable(\n  targetEl: HTMLElement | null,\n  callback: MutationCallback,\n  options: Options = DEFAULT_OPTIONS,\n) {\n  const mergedOptions = ref<Options>({ ...DEFAULT_OPTIONS, ...options });\n  let observer: MutationObserver | null = null;\n\n  const initObserver = () => {\n    if (!targetEl) return;\n\n    const { debounceTime = 0, config = DEFAULT_OPTIONS.config } = mergedOptions.value;\n    const handler: MutationCallback = (...args) => {\n      callback?.(...args);\n    };\n\n    observer?.disconnect();\n    observer = new MutationObserver(debounceTime > 0 ? debounce(handler, debounceTime) : handler);\n    observer.observe(targetEl, config);\n  };\n\n  watch(\n    () => options,\n    (newOptions) => {\n      if (!isEqual(newOptions, mergedOptions.value)) {\n        mergedOptions.value = { ...DEFAULT_OPTIONS, ...newOptions };\n        initObserver();\n      }\n    },\n    { deep: true },\n  );\n\n  onMounted(initObserver);\n  onBeforeUnmount(() => observer?.disconnect());\n}\n\nexport default useMutationObservable;\n","export type PlainObject = { [key: string]: any };\n\nexport type OptionData = {\n  label?: string;\n  value?: string | number;\n} & PlainObject;\n\nexport type TreeOptionData<T = string | number> = {\n  children?: Array<TreeOptionData<T>> | boolean;\n  /** option label content */\n  label?: any;\n  /** option search text */\n  text?: string;\n  /** option value */\n  value?: T;\n} & PlainObject;\n\nexport type SizeEnum = 'small' | 'medium' | 'large';\n\nexport type HorizontalAlignEnum = 'left' | 'center' | 'right';\n\nexport type VerticalAlignEnum = 'top' | 'middle' | 'bottom';\n\nexport type ClassName = { [className: string]: any } | ClassName[] | string;\n\nexport type CSSSelector = string;\n\nexport interface Styles {\n  [css: string]: string | number;\n}\n\nexport enum EKeyboardDirection {\n  left = 37,\n  up = 38,\n  right = 39,\n  down = 40,\n}\n\nexport const ARROW_DOWN_REG = /^ArrowDown$/i;\nexport const ARROW_UP_REG = /^ArrowUp$/i;\nexport const ARROW_LEFT_REG = /^ArrowLeft$/i;\nexport const ARROW_RIGHT_REG = /^ArrowRight$/i;\nexport const ESCAPE_REG = /^Escape$/i;\nexport const SPACE_REG = /^Space$/i;\nexport const ENTER_REG = /^Enter$/i;\nexport const SHIFT_REG = /^(Shift|ShiftLeft|ShiftRight)$/i;\nexport const CLEAR_REG = /^KeyC$/i;\nexport const ALL_REG = /^(KeyA|KeyL)$/i;\nexport const CHECKED_CODE_REG = /^(Enter|Space)$/i;\n\nexport const THEME_MODE = 'theme-mode';\n","/**\n * 获取颜色token的色值\n * @example getColorTokenColor('--td-brand-color')\n * @returns string\n */\nexport const getColorTokenColor = (token: string): string => {\n  if (typeof window === 'undefined') return '';\n  const targetElement = document?.documentElement;\n  const styles = getComputedStyle(targetElement);\n  return styles.getPropertyValue(token).trim() ?? '';\n};\n\nexport default getColorTokenColor;\n","import { ref } from 'vue';\nimport type { Ref } from 'vue';\nimport { isString } from 'lodash-es';\nimport { THEME_MODE } from '@tdesign/common-js/common';\nimport getColorTokenColor from '@tdesign/common-js/utils/getColorTokenColor';\nimport useMutationObservable from '../useMutationObservable';\n\n/**\n * useVariables\n * @param variable CSS 变量名\n * @example\n *   const { textColor, brandColor } = useVariables({\n *      textColor: '--td-color-primary',\n *      brandColor: '--td-brand-color',\n *   });\n */\nexport function useVariables<T extends Record<string, string>>(variables: T): Record<keyof T, Ref<string>> {\n  const values = {} as Record<keyof T, Ref<string>>;\n  let varsArray: string[] = [];\n\n  varsArray = Object.values(variables);\n  Object.entries(variables).forEach(([key, varName]) => {\n    values[key as keyof T] = ref(getColorTokenColor(varName));\n  });\n\n  varsArray.forEach((varName) => {\n    values[varName as keyof T] = ref(getColorTokenColor(varName));\n  });\n\n  const targetElement = document?.documentElement;\n  useMutationObservable(targetElement, (mutationsList) => {\n    mutationsList.some((mutation) => {\n      if (mutation.type === 'attributes' && mutation.attributeName === THEME_MODE) {\n        if (isString(variables) || Array.isArray(variables)) {\n          varsArray.forEach((varName) => {\n            values[varName].value = getColorTokenColor(varName);\n          });\n        } else {\n          Object.entries(variables).forEach(([key, varName]) => {\n            values[key].value = getColorTokenColor(varName);\n          });\n        }\n        return true;\n      }\n      return false;\n    });\n  });\n\n  return values;\n}\n","import { computed, ComputedRef } from 'vue';\n\n/**\n * 合并组件 props 中的透传事件与组件的回调\n * 先执行封装组件回调，再执行用户回调\n *\n * @param componentsProps 用户传入的 componentsProps\n * @param internalHandlers 组件使用的回调\n * @returns 合并后的 props\n *\n * @example\n * const internalHandlers = {\n *   onChange: () => innerChange(),\n *   onClick: () => innerClick(),\n * };\n * const events = useEventForward(componentsProps, internalHandlers);\n *\n * <Component {...events.value} />\n */\nexport function useEventForward<T extends Record<string, any>>(\n  componentsProps: T,\n  internalHandlers?: Partial<{\n    [K in keyof T]: T[K] extends (...args: any[]) => void ? T[K] : never;\n  }>,\n): ComputedRef<T> {\n  return computed(() => {\n    const merged = { ...componentsProps };\n\n    (Object.keys(internalHandlers ?? {}) as Array<keyof T>).forEach((key) => {\n      // 用户自定义的事件回调\n      const selfDefinedHandler = componentsProps?.[key];\n      // 组件内部已存在的事件回调\n      const internalHandler = internalHandlers?.[key];\n\n      if (typeof selfDefinedHandler === 'function' && typeof internalHandler === 'function') {\n        merged[key] = ((...args: any[]) => {\n          try {\n            internalHandler(...args);\n          } catch (error) {\n            console.warn(`[useEventForward]: Error in component callback for ${String(key)}:`, error);\n          }\n          try {\n            selfDefinedHandler(...args);\n          } catch (error) {\n            console.warn(`[useEventForward]: Error in self defined callback for ${String(key)}:`, error);\n          }\n        }) as T[keyof T];\n      } else if (typeof internalHandler === 'function') {\n        // 用户无回调，只用组件回调\n        merged[key] = internalHandler;\n      }\n      // 封装组件无回调(或保留不是方法的参数)，保留用户传入内容\n    });\n\n    return merged;\n  });\n}\n"],"names":["useIcon","instance","getCurrentInstance","renderIconTNode","iconType","defaultIcons","iconContent","isFunction","props","h","slots","Component","theme","_createVNode","process","hrtime","performanceNowModule","exports","getNanoSeconds","nodeLoadTime","hr","moduleLoadTime","upTime","Date","now","loadTime","require$$0","root","window","global","vendors","suffix","raf","caf","i","length","last","id","queue","frameDuration","callback","_now","next","Math","max","setTimeout","cp","slice","_loop","cancelled","e","round","push","handle","rafModule","fn","call","cancel","apply","arguments","polyfill","object","requestAnimationFrame","cancelAnimationFrame","linear","current","start","end","duration","change","offset","easeInOutCubic","time","isServer","trim","str","replace","on","document","addEventListener","element","event","handler","options","attachEvent","concat","off","removeEventListener","detachEvent","once","handlerFn","handleEvent","evt","hasClass","el","cls","indexOf","Error","classList","contains","className","addClass","curClass","classes","split","j","clsName","add","removeClass","remove","getAttach","node","triggerNode","attachNode","body","isString","querySelector","HTMLElement","getScrollContainer","container","undefined","isWindow","obj","getScroll","target","isLeft","method","result","Document","documentElement","scrollTo","opt","_opt$container","_opt$duration","_opt$easing","easing","scrollTop","startTime","Promise","res","fnc","timestamp","nextScrollTop","min","pageXOffset","constructor","name","containerDom","parent","child","pNode","_pNode","parentNode","clickOut","els","cb","isArray","isFlag","Array","from","every","item","isTextEllipsis","ele","_ele$clientWidth","clientWidth","_ele$scrollWidth","scrollWidth","scrollSelectedIntoView","parentEle","selected","offsetParent","selectedTop","offsetTop","selectedBottom","offsetHeight","parentScrollTop","parentViewBottom","clientHeight","requestSubmit","HTMLFormElement","submitter","createElement","type","hidden","appendChild","click","removeChild","elementInViewport","elm","rect","getBoundingClientRect","parentRect","top","left","bottom","right","innerHeight","innerWidth","getElmCssPropValue","propName","propValue","defaultView","getComputedStyle","getPropertyValue","toLowerCase","isFixed","p","nodeName","getWindowScroll","_document","docElm","pageYOffset","scrollLeft","getWindowSize","width","height","doc","isCommentVNode","isVNode","Comment","withInstall","comp","alias","directive","componentPlugin","install","app","component","getDefaultNode","defaultNode","isObject","getChildren","content","childList","innerGetChildren","forEach","children","Fragment","getParams","params","getSlotFirst","slotFirst","isPropsUsed","propsName","_getCurrentInstance","vnode","vProps","Object","prototype","hasOwnProperty","defaultMessage","format","message","copyKey","test","navigator","userAgent","deselectCurrent","selection","getSelection","rangeCount","active","activeElement","ranges","getRangeAt","tagName","toUpperCase","blur","removeAllRanges","range","addRange","focus","copy","text","reselectPrevious","mark","success","createRange","textContent","style","all","position","clip","whiteSpace","webkitUserSelect","userSelect","stopPropagation","preventDefault","clipboardData","clearData","setData","onCopy","selectNodeContents","successful","execCommand","err","prompt","removeRange","useChildComponentSlots","childComponentName","_slots","_slots$default","filter","_item$type$name","endsWith","useChildSlots","_slots$default2","_typeof","map","flat","useFlatChildrenSlots","getFlatChildren","_toConsumableArray","Teleport","some","vNode","hasOwn","val","key","getPropertyValFromObj","objectToString","toString","toTypeString","value","isPlainObject","isPromise","then","handleSlots","_instance$slots$camel","_instance$slots","_instance$slots$kebab","_instance$slots2","camelCase","t","kebabCase","isEmptyNode","includes","innerNodes","r","_node2$type","isPropExplicitlySet","useTNodeJSX","renderParams","isSlotFirst","renderSlot","_instance$type$props$","propsNode","types","Boolean","Function","isPropsEmpty","useTNodeDefault","renderTNodeJSX","useContent","name1","name2","toParams","node1","node2","filterCommentNode","nodes","useCollapseAnimation","beforeEnter","dataset","oldPaddingTop","paddingTop","oldPaddingBottom","paddingBottom","enter","oldOverflow","overflow","scrollHeight","afterEnter","beforeLeave","leave","afterLeave","classPrefix","animation","include","exclude","attach","calendar","firstDayOfWeek","fillWithZero","controllerConfig","icon","input","autocomplete","dialog","closeOnEscKeydown","closeOnOverlayClick","confirmBtnTheme","info","warning","danger","popconfirm","table","expandIcon","sortIcon","filterIcon","treeExpandAndFoldIcon","hideSortTips","size","select","clearIcon","filterable","drawer","tree","folderIcon","datePicker","steps","checkIcon","errorIcon","tag","closeIcon","form","requiredMark","empty","titleText","maintenance","fail","networkError","image","module","define","amd","globalThis","self","dayjs","this","n","s","u","a","o","c","f","d","l","$","y","M","weekdays","months","ordinal","m","String","join","v","z","utcOffset","abs","floor","date","year","month","clone","ceil","w","D","ms","Q","g","S","_","O","args","b","locale","$L","utc","$u","x","$x","$offset","parse","$d","NaN","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","$locale","weekStart","$set","daysInMonth","get","Number","subtract","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","extend","$i","isDayjs","en","Ls","dayjs_locale_zh_cn","yearStart","formats","LT","LTS","L","LL","LLL","LLLL","ll","lll","llll","relativeTime","future","past","mm","hh","dd","MM","yy","autoComplete","pagination","itemsPerPage","jumpTo","page","total","cascader","loadingText","placeholder","yearSelection","monthSelection","yearRadio","monthRadio","hideWeekend","showWeekend","today","thisMonth","week","cellMonth","transfer","title","timePicker","dayjsLocale","confirm","anteMeridiem","postMeridiem","loadingMoreText","filterInputPlaceholder","sortAscendingOperationText","sortCancelOperationText","sortDescendingOperationText","clearFilterResultButtonText","columnConfigButtonText","columnConfigTitleText","columnConfigDescriptionText","confirmText","cancelText","resetText","selectAllText","searchResultText","treeSelect","quarter","quarters","rangeSeparator","direction","dayAriaLabel","weekAbbreviation","yearAriaLabel","monthAriaLabel","selectTime","selectDate","nextYear","preYear","nextMonth","preMonth","preDecade","nextDecade","upload","sizeLimitMessage","cancelUploadText","triggerUploadText","fileInput","normal","reupload","continueUpload","uploading","dragger","dragDropText","draggingText","clickAndDragText","file","fileNameText","fileSizeText","fileStatusText","fileOperationText","fileOperationDateText","progress","uploadingText","waitingText","failText","successText","errorMessage","url","required","whitespace","len","idcard","telnumber","pattern","validator","number","email","colonText","list","alert","expandText","collapseText","anchor","copySuccessText","copyText","colorPicker","swatchColorTitle","recentColorTitle","clearConfirmText","singleColor","gradientColor","guide","finishButtonProps","nextButtonProps","skipButtonProps","prevButtonProps","errorText","imageViewer","mirrorTipText","rotateTipText","originalSizeTipText","previewText","typography","copiedText","rate","rateText","descriptions","chat","stopBtnText","refreshTipText","copyTipText","likeTipText","dislikeTipText","copyCodeBtnText","copyCodeSuccessText","clearHistoryBtnText","copyTextSuccess","copyTextFail","confirmClearHistory","loadingEndText","uploadImageText","uploadAttachmentText","shareTipText","qrcode","expiredText","refreshText","scannedText","EAnimationType","defaultGlobalConfig","merge","defaultConfig","defaultZhLocale","configProviderInjectKey","Symbol","mergeWith","injectConfig","_mergeWith","objValue","srcValue","getPluralIndex","count","data","_len","_key","firstArg","secondArg","pluralParts","part","pluralIndex","_pluralParts","_slicedToArray","firstPart","keys","regular","globalConfigCopy","ref","useConfig","componentName","componentLocale","injectGlobalConfig","inject","mergedGlobalConfig","computed","_injectGlobalConfig","globalConfig","assign","commonT","provideConfig","defaultData","cloneDeep","provide","usePrefixClass","_useConfig","useCommonClassName","SIZE","small","medium","large","xs","xl","block","STATUS","loading","loadMore","disabled","focused","error","checked","visible","expanded","indeterminate","useDefaultValue","defaultValue","onChange","emit","internalValue","isVMP","newValue","_len2","_key2","TDisplayNoneElementRefresh","useDestroyOnClose","refresh","onUpdated","useDisabled","context","currentInstance","componentDisabled","formDisabled","create","_context$beforeDisabl","_context$afterDisable","_formDisabled$disable","isBoolean","beforeDisabled","afterDisabled","traversalTabNavs","tabNavs","HTMLDivElement","getAttribute","handleTarget","resultTarget","itemNode","Node","useDragSort","navsWrap","dragged","enterTargets","dragstart","opacity","dt","dataTransfer","effectAllowed","dragend","dragover","dropEffect","draggable","dragenter","firstChild","newStyle","outline","dragleave","_i","_enterTargets","enterTarget","drop","tabNav","_props$onDragSort","dragIndex","targetIndex","currentIndex","endIndex","onDragSort","panels","setNavsWrap","onUnmounted","observe","marginBottom","IntersectionObserver","io","entries","entry","isIntersecting","unobserve","rootMargin","console","useElementLazyRender","labelRef","lazyLoad","ioObserver","showElement","handleLazyLoad","onMounted","watch","onBeforeUnmount","_ioObserver$value","_ioObserver$value$uno","useGlobalIcon","tdIcon","resultIcon","_globalConfig$value","logSet","Set","log","warn","warnOnce","msgContent","has","errorOnce","IMAGE_REGEXP","IMAGE_ALL_REGEXP","FILE_PDF_REGEXP","FILE_EXCEL_REGEXP","FILE_WORD_REGEXP","FILE_PPT_REGEXP","VIDEO_REGEXP","AUDIO_REGEXP","INPUT_FILE_MAP","SIZE_MAP","B","KB","MB","GB","returnFileSize","toFixed","getCurrentDate","needTime","abridgeName","inputName","leftCount","rightCount","leftLength","rightLength","isCn","escape","RegExp","getFileSizeText","isOverSizeLimit","fileSize","sizeLimit","unit","units","KBIndex","index","num","isOverSizeLimit1","limit","urlCreator","webkitURL","URL","getFileUrlByFileRaw","fileRaw","resolve","reader","FileReader","readAsDataURL","onload","_event$target","validateFileType","accept","fileType","fileName","tmpFileType","acceptList","oneRule","regExp","getFileList","files","fileList","useImagePreviewUrl","imgUrl","previewUrl","_ref","_ref2","_ref3","_ref4","preImgUrl","immediate","expand","ripple","fade","useKeepAnimation","keepAnimation","_animationConfig$excl","_animationConfig$incl","animationConfig","keepExpand","keepRipple","keepFade","useLazyLoad","containerRef","childRef","tRowHeight","rowHeight","isInit","hasLazyLoadHolder","nextTick","bufferSize","useListener","listener","useResize","observer","resizeObserver","ResizeObserver","_resizeObserver","disconnect","popupStackType","POPUP_BASE_Z_INDEX","MESSAGE_BASE_Z_INDEX","Z_INDEX_STEP","PopupManager","_createClass","_this","_classCallCheck","_defineProperty","popup","popupStack","pop","zIndex","getNextZIndex","zIndexStack","splice","popupType","_this$popupStack$popu","lastZIndex","popupManager","usePopupManager","runOnMounted","open","close","isTopInteractivePopup","readonly","useReadonly","componentReadonly","formReadonly","_context$beforeReadon","_context$afterReadonl","_formReadonly$readonl","beforeReadonly","afterReadonly","useResizeObserver","isSupport","containerObserver","cleanupObserver","addObserver","flush","setStyle","styles","period","noneRippleBg","defaultRippleColor","getRippleColor","fixedRippleColor","_el$dataset","rippleColor","Element","cssVariable","useRipple","rippleContainer","_useKeepAnimation","handleAddRipple","dom","button","elStyle","elBorder","parseInt","borderWidth","border","offsetWidth","borderRadius","pointerEvents","marginTop","marginLeft","transition","transform","backgroundColor","elMap","WeakMap","initPosition","insertBefore","handleClearRipple","_el$value","useTeleport","to","innerTriggerNode","getElement","useVModel","modelValue","isVM","_len3","_key3","useVirtualScroll","_ref$fixedHeight","fixedHeight","_ref$lineHeight","lineHeight","_ref$bufferSize","_ref$threshold","threshold","state","reactive","visibleData","cachedHeight","cachedScrollY","isVirtual","updateId","trs","Map","visibleCount","beforeScrollTop","reset","$index","maxScrollY","reduce","sum","average","translateY","firstRow","updateVisibleData","calculateScrollY","_anchorDom$getBoundin","anchorDom","anchorDomHeight","_state$visibleData","tr","scrollY","_state$visibleData$","distance","_container$value","handleScroll","lastIndex","_container$value2","handleRowMounted","clear","mounted","refreshContainer","ob","intersectionRatio","_objectSpread","toRefs","useVirtualScrollNew","_params$value$data","_params$value$scroll","scroll","trHeightList","containerHeight","containerWidth","startAndEndIndex","tScroll","_scroll$isFixedRowHei","_scroll$fixedRows","isFixedRowHeight","fixedRows","isVirtualScroll","getVisibleRangeConfig","_container$value$scro","fixedStart","prevBufferHeightList","hiddenHeight","visibleStart","visibleEnd","totalHeight","_trHeightList$i","shift","startIndex","stickyHeight","throttle","_getVisibleRangeConfi","translateYValue","_fixedRows","fixedEnd","fixedStartData","fixedEndData","bottomStartIndex","rowData","_rowData$ref$value","trHeight","rowIndex","VIRTUAL_SCROLL_INDEX","refreshVirtualScroll","contentRect","preventResizeRefresh","maxScrollbarWidth","addIndexToData","updateScrollTop","_ref3$top","behavior","scrollToElement","_p$time","timer","clearTimeout","initHeightList","fill","DEFAULT_OPTIONS","debounceTime","config","attributes","characterData","subtree","useMutationObservable","targetEl","mergedOptions","initObserver","_observer","_mergedOptions$value","_mergedOptions$value$","_mergedOptions$value$2","MutationObserver","debounce","newOptions","isEqual","deep","_observer2","EKeyboardDirection","ARROW_DOWN_REG","ARROW_UP_REG","ARROW_LEFT_REG","ARROW_RIGHT_REG","ESCAPE_REG","SPACE_REG","ENTER_REG","SHIFT_REG","CLEAR_REG","ALL_REG","CHECKED_CODE_REG","THEME_MODE","getColorTokenColor","token","_styles$getPropertyVa","targetElement","useVariables","variables","values","varsArray","varName","mutationsList","mutation","attributeName","useEventForward","componentsProps","internalHandlers","merged","selfDefinedHandler","internalHandler"],"mappings":"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"}