Greasy Fork

网盘批量分享工具(支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘)

网盘文件批量分享,目前支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘~

目前为 2023-10-10 提交的版本。查看 最新版本

// ==UserScript==
// @name         网盘批量分享工具(支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘)
// @namespace    dreamlove
// @version      2.3.1
// @author       superBiuBiu
// @description  网盘文件批量分享,目前支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘~
// @iconURL      https://www.google.com/s2/favicons?domain=dreamlove.top
// @supportURL   https://github.com/superBiuBiuMan/sharelink/
// @match        https://cloud.189.cn/*
// @match        https://pan.baidu.com/disk/main*
// @match        https://115.com/*
// @match        https://www.123pan.com/*
// @match        https://pan.quark.cn/*
// @match        https://yun.139.com/*
// @match        https://pan.xunlei.com/*
// @match        https://www.aliyundrive.com/*
// @match        https://lanzou.com/u
// @match        https://www.lanzou.com/u
// @match        https://www.lanzou.com/account.php
// @match        https://up.woozooo.com/u
// @match        https://up.woozooo.com/mydisk.php
// @match        https://pc.woozooo.com/u
// @match        https://pc.woozooo.com/mydisk.php
// @match        https://lanzou.com/*
// @match        https://www.lanzou.com/*
// @match        https://pan.lanzou.com/*
// @require      https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.global.prod.js
// @connect      webapi.115.com
// @connect      drive-pc.quark.cn
// @connect      api-pan.xunlei.com
// @connect      api.aliyundrive.com
// @grant        GM_addStyle
// @grant        GM_xmlhttpRequest
// @grant        unsafeWindow
// @run-at       document-body
// ==/UserScript==

(t=>{if(typeof GM_addStyle=="function"){GM_addStyle(t);return}const o=document.createElement("style");o.textContent=t,document.head.append(o)})(' :root{--td-screen-xs: 320px;--td-screen-sm: 768px;--td-screen-md: 992px;--td-screen-lg: 1200px;--td-screen-xl: 1400px;--td-screen-xxl: 1880px}.narrow-scrollbar{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.narrow-scrollbar::-webkit-scrollbar{width:8px;height:8px}.narrow-scrollbar::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:15px}.narrow-scrollbar::-webkit-scrollbar-thumb:vertical:hover,.narrow-scrollbar::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-fake-arrow path{transition:d .2s;stroke:currentcolor}.t-fake-arrow--active path{d:path("M3.75 10.2002L7.99274 5.7998L12.2361 10.0425")}.t-slide-down-enter-active,.t-slide-down-leave-active{transition:height .2s cubic-bezier(.38,0,.24,1)}:root,:root[theme-mode=light]{--td-brand-color-1: #f2f3ff;--td-brand-color-2: #d9e1ff;--td-brand-color-3: #b5c7ff;--td-brand-color-4: #8eabff;--td-brand-color-5: #618dff;--td-brand-color-6: #366ef4;--td-brand-color-7: #0052d9;--td-brand-color-8: #003cab;--td-brand-color-9: #002a7c;--td-brand-color-10: #001a57;--td-warning-color-1: #fff1e9;--td-warning-color-2: #ffd9c2;--td-warning-color-3: #ffb98c;--td-warning-color-4: #fa9550;--td-warning-color-5: #e37318;--td-warning-color-6: #be5a00;--td-warning-color-7: #954500;--td-warning-color-8: #713300;--td-warning-color-9: #532300;--td-warning-color-10: #3b1700;--td-error-color-1: #fff0ed;--td-error-color-2: #ffd8d2;--td-error-color-3: #ffb9b0;--td-error-color-4: #ff9285;--td-error-color-5: #f6685d;--td-error-color-6: #d54941;--td-error-color-7: #ad352f;--td-error-color-8: #881f1c;--td-error-color-9: #68070a;--td-error-color-10: #490002;--td-success-color-1: #e3f9e9;--td-success-color-2: #c6f3d7;--td-success-color-3: #92dab2;--td-success-color-4: #56c08d;--td-success-color-5: #2ba471;--td-success-color-6: #008858;--td-success-color-7: #006c45;--td-success-color-8: #005334;--td-success-color-9: #003b23;--td-success-color-10: #002515;--td-gray-color-1: #f3f3f3;--td-gray-color-2: #eee;--td-gray-color-3: #e8e8e8;--td-gray-color-4: #ddd;--td-gray-color-5: #c6c6c6;--td-gray-color-6: #a6a6a6;--td-gray-color-7: #8b8b8b;--td-gray-color-8: #777;--td-gray-color-9: #5e5e5e;--td-gray-color-10: #4b4b4b;--td-gray-color-11: #393939;--td-gray-color-12: #2c2c2c;--td-gray-color-13: #242424;--td-gray-color-14: #181818;--td-font-white-1: #ffffff;--td-font-white-2: rgba(255, 255, 255, .55);--td-font-white-3: rgba(255, 255, 255, .35);--td-font-white-4: rgba(255, 255, 255, .22);--td-font-gray-1: rgba(0, 0, 0, .9);--td-font-gray-2: rgba(0, 0, 0, .6);--td-font-gray-3: rgba(0, 0, 0, .4);--td-font-gray-4: rgba(0, 0, 0, .26);--td-brand-color: var(--td-brand-color-7);--td-warning-color: var(--td-warning-color-5);--td-error-color: var(--td-error-color-6);--td-success-color: var(--td-success-color-5);--td-brand-color-hover: var(--td-brand-color-6);--td-brand-color-focus: var(--td-brand-color-2);--td-brand-color-active: var(--td-brand-color-8);--td-brand-color-disabled: var(--td-brand-color-3);--td-brand-color-light: var(--td-brand-color-1);--td-brand-color-light-hover: var(--td-brand-color-2);--td-warning-color-hover: var(--td-warning-color-4);--td-warning-color-focus: var(--td-warning-color-2);--td-warning-color-active: var(--td-warning-color-6);--td-warning-color-disabled: var(--td-warning-color-3);--td-warning-color-light: var(--td-warning-color-1);--td-warning-color-light-hover: var(--td-warning-color-2);--td-error-color-hover: var(--td-error-color-5);--td-error-color-focus: var(--td-error-color-2);--td-error-color-active: var(--td-error-color-7);--td-error-color-disabled: var(--td-error-color-3);--td-error-color-light: var(--td-error-color-1);--td-error-color-light-hover: var(--td-error-color-2);--td-success-color-hover: var(--td-success-color-4);--td-success-color-focus: var(--td-success-color-2);--td-success-color-active: var(--td-success-color-6);--td-success-color-disabled: var(--td-success-color-3);--td-success-color-light: var(--td-success-color-1);--td-success-color-light-hover: var(--td-success-color-2);--td-mask-active: rgba(0, 0, 0, .6);--td-mask-disabled: rgba(255, 255, 255, .6);--td-bg-color-page: var(--td-gray-color-2);--td-bg-color-container: #fff;--td-bg-color-container-hover: var(--td-gray-color-1);--td-bg-color-container-active: var(--td-gray-color-3);--td-bg-color-container-select: #fff;--td-bg-color-secondarycontainer: var(--td-gray-color-1);--td-bg-color-secondarycontainer-hover: var(--td-gray-color-2);--td-bg-color-secondarycontainer-active: var(--td-gray-color-4);--td-bg-color-component: var(--td-gray-color-3);--td-bg-color-component-hover: var(--td-gray-color-4);--td-bg-color-component-active: var(--td-gray-color-6);--td-bg-color-secondarycomponent: var(--td-gray-color-4);--td-bg-color-secondarycomponent-hover: var(--td-gray-color-5);--td-bg-color-secondarycomponent-active: var(--td-gray-color-6);--td-bg-color-component-disabled: var(--td-gray-color-2);--td-bg-color-specialcomponent: #fff;--td-text-color-primary: var(--td-font-gray-1);--td-text-color-secondary: var(--td-font-gray-2);--td-text-color-placeholder: var(--td-font-gray-3);--td-text-color-disabled: var(--td-font-gray-4);--td-text-color-anti: #fff;--td-text-color-brand: var(--td-brand-color-7);--td-text-color-link: var(--td-brand-color-8);--td-border-level-1-color: var(--td-gray-color-3);--td-component-stroke: var(--td-gray-color-3);--td-border-level-2-color: var(--td-gray-color-4);--td-component-border: var(--td-gray-color-4);--td-shadow-1: 0 1px 10px rgba(0, 0, 0, .05), 0 4px 5px rgba(0, 0, 0, 8%), 0 2px 4px -1px rgba(0, 0, 0, 12%);--td-shadow-2: 0 3px 14px 2px rgba(0, 0, 0, .05), 0 8px 10px 1px rgba(0, 0, 0, 6%), 0 5px 5px -3px rgba(0, 0, 0, 10%);--td-shadow-3: 0 6px 30px 5px rgba(0, 0, 0, .05), 0 16px 24px 2px rgba(0, 0, 0, 4%), 0 8px 10px -5px rgba(0, 0, 0, 8%);--td-shadow-inset-top: inset 0 .5px 0 #dcdcdc;--td-shadow-inset-right: inset .5px 0 0 #dcdcdc;--td-shadow-inset-bottom: inset 0 -.5px 0 #dcdcdc;--td-shadow-inset-left: inset -.5px 0 0 #dcdcdc;--td-table-shadow-color: rgba(0, 0, 0, .08);--td-scrollbar-color: rgba(0, 0, 0, .1);--td-scrollbar-hover-color: rgba(0, 0, 0, .3);--td-scroll-track-color: #fff}:root[theme-mode=dark]{--td-brand-color-1: #1b2f51;--td-brand-color-2: #173463;--td-brand-color-3: #143975;--td-brand-color-4: #103d88;--td-brand-color-5: #0d429a;--td-brand-color-6: #054bbe;--td-brand-color-7: #2667d4;--td-brand-color-8: #4582e6;--td-brand-color-9: #699ef5;--td-brand-color-10: #96bbf8;--td-warning-color-1: #4f2a1d;--td-warning-color-2: #582f21;--td-warning-color-3: #733c23;--td-warning-color-4: #a75d2b;--td-warning-color-5: #cf6e2d;--td-warning-color-6: #dc7633;--td-warning-color-7: #e8935c;--td-warning-color-8: #ecbf91;--td-warning-color-9: #eed7bf;--td-warning-color-10: #f3e9dc;--td-error-color-1: #472324;--td-error-color-2: #5e2a2d;--td-error-color-3: #703439;--td-error-color-4: #83383e;--td-error-color-5: #a03f46;--td-error-color-6: #c64751;--td-error-color-7: #de6670;--td-error-color-8: #ec888e;--td-error-color-9: #edb1b6;--td-error-color-10: #eeced0;--td-success-color-1: #193a2a;--td-success-color-2: #1a4230;--td-success-color-3: #17533d;--td-success-color-4: #0d7a55;--td-success-color-5: #059465;--td-success-color-6: #43af8a;--td-success-color-7: #46bf96;--td-success-color-8: #80d2b6;--td-success-color-9: #b4e1d3;--td-success-color-10: #deede8;--td-gray-color-1: #f3f3f3;--td-gray-color-2: #eee;--td-gray-color-3: #e8e8e8;--td-gray-color-4: #ddd;--td-gray-color-5: #c6c6c6;--td-gray-color-6: #a6a6a6;--td-gray-color-7: #8b8b8b;--td-gray-color-8: #777;--td-gray-color-9: #5e5e5e;--td-gray-color-10: #4b4b4b;--td-gray-color-11: #393939;--td-gray-color-12: #2c2c2c;--td-gray-color-13: #242424;--td-gray-color-14: #181818;--td-font-white-1: rgba(255, 255, 255, .9);--td-font-white-2: rgba(255, 255, 255, .55);--td-font-white-3: rgba(255, 255, 255, .35);--td-font-white-4: rgba(255, 255, 255, .22);--td-font-gray-1: rgba(0, 0, 0, .9);--td-font-gray-2: rgba(0, 0, 0, .6);--td-font-gray-3: rgba(0, 0, 0, .4);--td-font-gray-4: rgba(0, 0, 0, .26);--td-brand-color: var(--td-brand-color-8);--td-warning-color: var(--td-warning-color-5);--td-error-color: var(--td-error-color-6);--td-success-color: var(--td-success-color-5);--td-brand-color-hover: var(--td-brand-color-7);--td-brand-color-focus: var(--td-brand-color-2);--td-brand-color-active: var(--td-brand-color-9);--td-brand-color-disabled: var(--td-brand-color-3);--td-brand-color-light: var(--td-brand-color-1);--td-brand-color-light-hover: var(--td-brand-color-2);--td-warning-color-hover: var(--td-warning-color-4);--td-warning-color-focus: var(--td-warning-color-2);--td-warning-color-active: var(--td-warning-color-6);--td-warning-color-disabled: var(--td-warning-color-3);--td-warning-color-light: var(--td-warning-color-1);--td-warning-color-light-hover: var(--td-warning-color-2);--td-error-color-hover: var(--td-error-color-5);--td-error-color-focus: var(--td-error-color-2);--td-error-color-active: var(--td-error-color-7);--td-error-color-disabled: var(--td-error-color-3);--td-error-color-light: var(--td-error-color-1);--td-error-color-light-hover: var(--td-error-color-2);--td-success-color-hover: var(--td-success-color-4);--td-success-color-focus: var(--td-success-color-2);--td-success-color-active: var(--td-success-color-6);--td-success-color-disabled: var(--td-success-color-3);--td-success-color-light: var(--td-success-color-1);--td-success-color-light-hover: var(--td-success-color-2);--td-mask-active: rgba(0, 0, 0, .4);--td-mask-disabled: rgba(0, 0, 0, .6);--td-bg-color-page: var(--td-gray-color-14);--td-bg-color-container: var(--td-gray-color-13);--td-bg-color-container-hover: var(--td-gray-color-12);--td-bg-color-container-active: var(--td-gray-color-10);--td-bg-color-container-select: var(--td-gray-color-9);--td-bg-color-secondarycontainer: var(--td-gray-color-12);--td-bg-color-secondarycontainer-hover: var(--td-gray-color-11);--td-bg-color-secondarycontainer-active: var(--td-gray-color-9);--td-bg-color-component: var(--td-gray-color-11);--td-bg-color-component-hover: var(--td-gray-color-10);--td-bg-color-component-active: var(--td-gray-color-9);--td-bg-color-secondarycomponent: var(--td-gray-color-10);--td-bg-color-secondarycomponent-hover: var(--td-gray-color-9);--td-bg-color-secondarycomponent-active: var(--td-gray-color-8);--td-bg-color-component-disabled: var(--td-gray-color-12);--td-bg-color-specialcomponent: transparent;--td-text-color-primary: var(--td-font-white-1);--td-text-color-secondary: var(--td-font-white-2);--td-text-color-placeholder: var(--td-font-white-3);--td-text-color-disabled: var(--td-font-white-4);--td-text-color-anti: #fff;--td-text-color-brand: var(--td-brand-color-8);--td-text-color-link: var(--td-brand-color-8);--td-border-level-1-color: var(--td-gray-color-11);--td-component-stroke: var(--td-gray-color-11);--td-border-level-2-color: var(--td-gray-color-9);--td-component-border: var(--td-gray-color-9);--td-shadow-1: 0 4px 6px rgba(0, 0, 0, .06), 0 1px 10px rgba(0, 0, 0, 8%), 0 2px 4px rgba(0, 0, 0, 12%);--td-shadow-2: 0 8px 10px rgba(0, 0, 0, .12), 0 3px 14px rgba(0, 0, 0, 10%), 0 5px 5px rgba(0, 0, 0, 16%);--td-shadow-3: 0 16px 24px rgba(0, 0, 0, .14), 0 6px 30px rgba(0, 0, 0, 12%), 0 8px 10px rgba(0, 0, 0, 20%);--td-shadow-inset-top: inset 0 .5px 0 #5e5e5e;--td-shadow-inset-right: inset .5px 0 0 #5e5e5e;--td-shadow-inset-bottom: inset 0 -.5px 0 #5e5e5e;--td-shadow-inset-left: inset -.5px 0 0 #5e5e5e;--td-table-shadow-color: rgba(0, 0, 0, .55);--td-scrollbar-color: rgba(255, 255, 255, .1);--td-scrollbar-hover-color: rgba(255, 255, 255, .3);--td-scroll-track-color: #333}:root{--td-radius-small: 2px;--td-radius-default: 3px;--td-radius-medium: 6px;--td-radius-large: 9px;--td-radius-extraLarge: 12px;--td-radius-round: 999px;--td-radius-circle: 50%}:root{--td-font-family: PingFang SC, Microsoft YaHei, Arial Regular;--td-font-family-medium: PingFang SC, Microsoft YaHei, Arial Medium;--td-font-size-link-small: 12px;--td-font-size-link-medium: 14px;--td-font-size-link-large: 16px;--td-font-size-mark-small: 12px;--td-font-size-mark-medium: 14px;--td-font-size-body-small: 12px;--td-font-size-body-medium: 14px;--td-font-size-body-large: 16px;--td-font-size-title-small: 14px;--td-font-size-title-medium: 16px;--td-font-size-title-large: 20px;--td-font-size-headline-small: 24px;--td-font-size-headline-medium: 28px;--td-font-size-headline-large: 36px;--td-font-size-display-medium: 48px;--td-font-size-display-large: 64px;--td-line-height-link-small: 20px;--td-line-height-link-medium: 22px;--td-line-height-link-large: 24px;--td-line-height-mark-small: 20px;--td-line-height-mark-medium: 22px;--td-line-height-body-small: 20px;--td-line-height-body-medium: 22px;--td-line-height-body-large: 24px;--td-line-height-title-small: 22px;--td-line-height-title-medium: 24px;--td-line-height-title-large: 28px;--td-line-height-headline-small: 32px;--td-line-height-headline-medium: 36px;--td-line-height-headline-large: 44px;--td-line-height-display-medium: 56px;--td-line-height-display-large: 72px;--td-font-link-small: var(--td-font-size-link-small) / var(--td-line-height-link-small) var(--td-font-family);--td-font-link-medium: var(--td-font-size-link-medium) / var(--td-line-height-link-medium) var(--td-font-family);--td-font-link-large: var(--td-font-size-link-large) / var(--td-line-height-link-large) var(--td-font-family);--td-font-mark-small: 600 var(--td-font-size-mark-small) / var(--td-line-height-mark-small) var(--td-font-family);--td-font-mark-medium: 600 var(--td-font-size-mark-medium) / var(--td-line-height-mark-medium) var(--td-font-family);--td-font-body-small: var(--td-font-size-body-small) / var(--td-line-height-body-small) var(--td-font-family);--td-font-body-medium: var(--td-font-size-body-medium) / var(--td-line-height-body-medium) var(--td-font-family);--td-font-body-large: var(--td-font-size-body-large) / var(--td-line-height-body-large) var(--td-font-family);--td-font-title-small: 600 var(--td-font-size-title-small) / var(--td-line-height-title-small) var(--td-font-family);--td-font-title-medium: 600 var(--td-font-size-title-medium) / var(--td-line-height-title-medium) var(--td-font-family);--td-font-title-large: 600 var(--td-font-size-title-large) / var(--td-line-height-title-large) var(--td-font-family);--td-font-headline-small: 600 var(--td-font-size-headline-small) / var(--td-line-height-headline-small) var(--td-font-family);--td-font-headline-medium: 600 var(--td-font-size-headline-medium) / var(--td-line-height-headline-medium) var(--td-font-family);--td-font-headline-large: 600 var(--td-font-size-headline-large) / var(--td-line-height-headline-large) var(--td-font-family);--td-font-display-medium: 600 var(--td-font-size-display-medium) / var(--td-line-height-display-medium) var(--td-font-family);--td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large) var(--td-font-family)}:root{--td-size-1: 2px;--td-size-2: 4px;--td-size-3: 6px;--td-size-4: 8px;--td-size-5: 12px;--td-size-6: 16px;--td-size-7: 20px;--td-size-8: 24px;--td-size-9: 28px;--td-size-10: 32px;--td-size-11: 36px;--td-size-12: 40px;--td-size-13: 48px;--td-size-14: 56px;--td-size-15: 64px;--td-size-16: 72px;--td-comp-size-xxxs: var(--td-size-6);--td-comp-size-xxs: var(--td-size-7);--td-comp-size-xs: var(--td-size-8);--td-comp-size-s: var(--td-size-9);--td-comp-size-m: var(--td-size-10);--td-comp-size-l: var(--td-size-11);--td-comp-size-xl: var(--td-size-12);--td-comp-size-xxl: var(--td-size-13);--td-comp-size-xxxl: var(--td-size-14);--td-comp-size-xxxxl: var(--td-size-15);--td-comp-size-xxxxxl: var(--td-size-16);--td-pop-padding-s: var(--td-size-2);--td-pop-padding-m: var(--td-size-3);--td-pop-padding-l: var(--td-size-4);--td-pop-padding-xl: var(--td-size-5);--td-pop-padding-xxl: var(--td-size-6);--td-comp-paddingLR-xxs: var(--td-size-1);--td-comp-paddingLR-xs: var(--td-size-2);--td-comp-paddingLR-s: var(--td-size-4);--td-comp-paddingLR-m: var(--td-size-5);--td-comp-paddingLR-l: var(--td-size-6);--td-comp-paddingLR-xl: var(--td-size-8);--td-comp-paddingLR-xxl: var(--td-size-10);--td-comp-paddingTB-xxs: var(--td-size-1);--td-comp-paddingTB-xs: var(--td-size-2);--td-comp-paddingTB-s: var(--td-size-4);--td-comp-paddingTB-m: var(--td-size-5);--td-comp-paddingTB-l: var(--td-size-6);--td-comp-paddingTB-xl: var(--td-size-8);--td-comp-paddingTB-xxl: var(--td-size-10);--td-comp-margin-xxs: var(--td-size-1);--td-comp-margin-xs: var(--td-size-2);--td-comp-margin-s: var(--td-size-4);--td-comp-margin-m: var(--td-size-5);--td-comp-margin-l: var(--td-size-6);--td-comp-margin-xl: var(--td-size-7);--td-comp-margin-xxl: var(--td-size-8);--td-comp-margin-xxxl: var(--td-size-10);--td-comp-margin-xxxxl: var(--td-size-12)}.t-icon{display:inline-block;vertical-align:middle;width:1em;height:1em}.t-icon:before{font-family:unset}.t-icon{fill:currentColor}.t-icon.t-size-s,i.t-size-s{font-size:14px}.t-icon.t-size-m,i.t-size-m{font-size:16px}.t-icon.t-size-l,i.t-size-l{font-size:18px}.t-loading{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;color:var(--td-brand-color);font-size:var(--td-comp-size-l)}.t-loading--lock{overflow:hidden}.t-loading.t-size-s{font-size:var(--td-comp-size-xxxs)}.t-loading.t-size-l{font-size:var(--td-comp-size-xxxl)}.t-loading__parent--relative{position:relative!important}.t-loading__fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:3500}.t-loading--center{display:inline-flex;align-items:center;vertical-align:middle;justify-content:center}.t-loading__content{position:absolute;left:48%;top:20%}.t-loading--inherit-color{color:inherit}.t-loading__parent{position:relative}.t-loading__overlay{background-color:var(--td-mask-disabled)}.t-loading--full{position:absolute;top:0;left:0;width:100%;height:100%}.t-loading--hidden{visibility:hidden}.t-loading--visible{visibility:visible}.t-loading__text{width:auto;display:inline-block;vertical-align:middle;font:var(--td-font-body-medium);margin-left:var(--td-comp-margin-xs)}.t-loading__gradient{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle}.t-loading__gradient-conic{width:100%;height:100%;border-radius:var(--td-radius-circle);background:conic-gradient(from 90deg at 50% 50%,#fff 0deg,currentcolor 360deg);-webkit-mask:radial-gradient(transparent calc(50% - .5px),#fff 50%);mask:radial-gradient(transparent calc(50% - .5px),#fff 50%)}.t-button{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;z-index:0;overflow:hidden;font-size:var(--td-font-body-medium);outline:none;border-width:1px;border-style:solid;border-color:transparent;background-color:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;border-radius:var(--td-radius-default);transition:all .2s linear;touch-action:manipulation;text-decoration:none}.t-button .t-button__text,.t-button .t-icon{position:relative;z-index:1;display:inline-flex}.t-button .t-icon,.t-button .t-loading{font-size:var(--td-font-size-body-large)}.t-button .t-icon+.t-button__text:not(:empty){margin-left:8px}.t-button .t-loading+.t-button__text:not(:empty){margin-left:8px}.t-button .t-button__suffix:not(:empty){display:inline-flex;margin-left:8px}.t-button--variant-base{color:var(--td-text-color-anti);height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);background-color:var(--td-bg-color-component);border-color:var(--td-bg-color-component);color:var(--td-text-color-primary)}.t-button--variant-base .t-icon,.t-button--variant-base .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-base:hover,.t-button--variant-base:focus-visible{background-color:var(--td-bg-color-component-hover)}.t-button--variant-base.t-is-loading{background-color:var(--td-bg-color-component)}.t-button--variant-base.t-is-disabled{background-color:var(--td-bg-color-component-disabled)}.t-button--variant-base:hover,.t-button--variant-base:focus-visible{border-color:var(--td-bg-color-component-hover)}.t-button--variant-base.t-is-loading{border-color:var(--td-bg-color-component)}.t-button--variant-base.t-is-disabled{border-color:var(--td-bg-color-component-disabled)}.t-button--variant-base:hover,.t-button--variant-base:focus-visible{color:var(--td-text-color-primary)}.t-button--variant-base.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-base.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-base.t-button--theme-primary{color:var(--td-text-color-anti);background-color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-base.t-button--theme-primary:hover,.t-button--variant-base.t-button--theme-primary:focus-visible{background-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--theme-primary.t-is-loading{background-color:var(--td-brand-color)}.t-button--variant-base.t-button--theme-primary.t-is-disabled{background-color:var(--td-brand-color-disabled)}.t-button--variant-base.t-button--theme-primary:hover,.t-button--variant-base.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-base.t-button--theme-primary.t-is-disabled{border-color:var(--td-brand-color-disabled)}.t-button--variant-base.t-button--theme-success{color:var(--td-text-color-anti);background-color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-base.t-button--theme-success:hover,.t-button--variant-base.t-button--theme-success:focus-visible{background-color:var(--td-success-color-hover)}.t-button--variant-base.t-button--theme-success.t-is-loading{background-color:var(--td-success-color)}.t-button--variant-base.t-button--theme-success.t-is-disabled{background-color:var(--td-success-color-disabled)}.t-button--variant-base.t-button--theme-success:hover,.t-button--variant-base.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-base.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-base.t-button--theme-success.t-is-disabled{border-color:var(--td-success-color-disabled)}.t-button--variant-base.t-button--theme-warning{color:var(--td-text-color-anti);background-color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-base.t-button--theme-warning:hover,.t-button--variant-base.t-button--theme-warning:focus-visible{background-color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--theme-warning.t-is-loading{background-color:var(--td-warning-color)}.t-button--variant-base.t-button--theme-warning.t-is-disabled{background-color:var(--td-warning-color-disabled)}.t-button--variant-base.t-button--theme-warning:hover,.t-button--variant-base.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-base.t-button--theme-warning.t-is-disabled{border-color:var(--td-warning-color-disabled)}.t-button--variant-base.t-button--theme-danger{color:var(--td-text-color-anti);background-color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-base.t-button--theme-danger:hover,.t-button--variant-base.t-button--theme-danger:focus-visible{background-color:var(--td-error-color-hover)}.t-button--variant-base.t-button--theme-danger.t-is-loading{background-color:var(--td-error-color)}.t-button--variant-base.t-button--theme-danger.t-is-disabled{background-color:var(--td-error-color-disabled)}.t-button--variant-base.t-button--theme-danger:hover,.t-button--variant-base.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-base.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-base.t-button--theme-danger.t-is-disabled{border-color:var(--td-error-color-disabled)}.t-button--variant-base.t-button--ghost{background-color:transparent;color:var(--td-text-color-anti);border-color:var(--td-text-color-anti)}.t-button--variant-base.t-button--ghost:hover,.t-button--variant-base.t-button--ghost:focus-visible{background-color:transparent}.t-button--variant-base.t-button--ghost:active,.t-button--variant-base.t-button--ghost.t-is-loading{background-color:transparent}.t-button--variant-base.t-button--ghost.t-is-disabled{background-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost:hover,.t-button--variant-base.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-base.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost:hover,.t-button--variant-base.t-button--ghost:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost:active{border-color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-is-loading{border-color:var(--td-text-color-anti)}.t-button--variant-base.t-button--ghost.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-base.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-base.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-base.t-button--ghost.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-primary:active{border-color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-base.t-button--ghost.t-button--theme-success:hover,.t-button--variant-base.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-success:hover,.t-button--variant-base.t-button--ghost.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-success:active{border-color:var(--td-success-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-base.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-base.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-base.t-button--ghost.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-warning:active{border-color:var(--td-warning-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-base.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-base.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-base.t-button--ghost.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-danger:active{border-color:var(--td-error-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline{height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent);border-color:var(--td-border-level-2-color)}.t-button--variant-outline .t-icon,.t-button--variant-outline .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-outline:hover,.t-button--variant-outline:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-outline.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-outline:hover,.t-button--variant-outline:focus-visible{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-outline.t-is-loading{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-outline.t-is-disabled{background-color:var(--td-bg-color-component-disabled)}.t-button--variant-outline:hover,.t-button--variant-outline:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-is-loading,.t-button--variant-outline.t-is-disabled{border-color:var(--td-border-level-2-color)}.t-button--variant-outline.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--theme-primary:hover,.t-button--variant-outline.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-outline.t-button--theme-primary.t-is-disabled{color:var(--td-brand-color-disabled)}.t-button--variant-outline.t-button--theme-primary:hover,.t-button--variant-outline.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--theme-primary.t-is-disabled{border-color:var(--td-brand-color-disabled)}.t-button--variant-outline.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-outline.t-button--theme-success:hover,.t-button--variant-outline.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-outline.t-button--theme-success.t-is-disabled{color:var(--td-success-color-disabled)}.t-button--variant-outline.t-button--theme-success:hover,.t-button--variant-outline.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-outline.t-button--theme-success.t-is-disabled{border-color:var(--td-success-color-disabled)}.t-button--variant-outline.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--theme-warning:hover,.t-button--variant-outline.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-outline.t-button--theme-warning.t-is-disabled{color:var(--td-warning-color-disabled)}.t-button--variant-outline.t-button--theme-warning:hover,.t-button--variant-outline.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--theme-warning.t-is-disabled{border-color:var(--td-warning-color-disabled)}.t-button--variant-outline.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-outline.t-button--theme-danger:hover,.t-button--variant-outline.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-outline.t-button--theme-danger.t-is-disabled{color:var(--td-error-color-disabled)}.t-button--variant-outline.t-button--theme-danger:hover,.t-button--variant-outline.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-outline.t-button--theme-danger.t-is-disabled{border-color:var(--td-error-color-disabled)}.t-button--variant-outline.t-button--ghost{background-color:transparent;color:var(--td-text-color-anti);border-color:var(--td-text-color-anti)}.t-button--variant-outline.t-button--ghost:hover,.t-button--variant-outline.t-button--ghost:focus-visible{background-color:transparent}.t-button--variant-outline.t-button--ghost:active,.t-button--variant-outline.t-button--ghost.t-is-loading{background-color:transparent}.t-button--variant-outline.t-button--ghost.t-is-disabled{background-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost:hover,.t-button--variant-outline.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-outline.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost:hover,.t-button--variant-outline.t-button--ghost:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost:active{border-color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-is-loading{border-color:var(--td-text-color-anti)}.t-button--variant-outline.t-button--ghost.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:active{border-color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-success:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-success:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-success:active{border-color:var(--td-success-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:active{border-color:var(--td-warning-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:active{border-color:var(--td-error-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed{height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent);border-color:var(--td-border-level-2-color);border-style:dashed}.t-button--variant-dashed .t-icon,.t-button--variant-dashed .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-dashed:hover,.t-button--variant-dashed:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-dashed.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-dashed:hover,.t-button--variant-dashed:focus-visible{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-dashed.t-is-loading{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-dashed.t-is-disabled{background-color:var(--td-bg-color-component-disabled)}.t-button--variant-dashed:hover,.t-button--variant-dashed:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-is-loading,.t-button--variant-dashed.t-is-disabled{border-color:var(--td-border-level-2-color)}.t-button--variant-dashed.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-dashed.t-button--theme-primary.t-is-disabled{color:var(--td-brand-color-disabled)}.t-button--variant-dashed.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--theme-primary.t-is-disabled{border-color:var(--td-brand-color-disabled)}.t-button--variant-dashed.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--theme-success:hover,.t-button--variant-dashed.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-dashed.t-button--theme-success.t-is-disabled{color:var(--td-success-color-disabled)}.t-button--variant-dashed.t-button--theme-success:hover,.t-button--variant-dashed.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--theme-success.t-is-disabled{border-color:var(--td-success-color-disabled)}.t-button--variant-dashed.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-dashed.t-button--theme-warning.t-is-disabled{color:var(--td-warning-color-disabled)}.t-button--variant-dashed.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--theme-warning.t-is-disabled{border-color:var(--td-warning-color-disabled)}.t-button--variant-dashed.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-dashed.t-button--theme-danger.t-is-disabled{color:var(--td-error-color-disabled)}.t-button--variant-dashed.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--theme-danger.t-is-disabled{border-color:var(--td-error-color-disabled)}.t-button--variant-dashed.t-button--ghost{background-color:transparent;color:var(--td-text-color-anti);border-color:var(--td-text-color-anti)}.t-button--variant-dashed.t-button--ghost:hover,.t-button--variant-dashed.t-button--ghost:focus-visible{background-color:transparent}.t-button--variant-dashed.t-button--ghost:active,.t-button--variant-dashed.t-button--ghost.t-is-loading{background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-is-disabled{background-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost:hover,.t-button--variant-dashed.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-dashed.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost:hover,.t-button--variant-dashed.t-button--ghost:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost:active{border-color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-is-loading{border-color:var(--td-text-color-anti)}.t-button--variant-dashed.t-button--ghost.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:active{border-color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:active{border-color:var(--td-success-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:active{border-color:var(--td-warning-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:active{border-color:var(--td-error-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-text{height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);color:var(--td-text-color-primary);background-color:transparent;border-color:transparent}.t-button--variant-text .t-icon,.t-button--variant-text .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-text:hover,.t-button--variant-text:focus-visible{color:var(--td-text-color-primary)}.t-button--variant-text.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-text.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-text:hover,.t-button--variant-text:focus-visible{background-color:var(--td-bg-color-container-hover)}.t-button--variant-text.t-is-loading,.t-button--variant-text.t-is-disabled{background-color:transparent}.t-button--variant-text:hover,.t-button--variant-text:focus-visible{border-color:var(--td-bg-color-container-hover)}.t-button--variant-text.t-is-loading,.t-button--variant-text.t-is-disabled{border-color:transparent}.t-button--variant-text.t-button--theme-primary{color:var(--td-brand-color)}.t-button--variant-text.t-button--theme-primary:hover,.t-button--variant-text.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-text.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-text.t-button--theme-primary.t-is-disabled{color:var(--td-brand-color-disabled)}.t-button--variant-text.t-button--theme-success{color:var(--td-success-color)}.t-button--variant-text.t-button--theme-success:hover,.t-button--variant-text.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-text.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-text.t-button--theme-success.t-is-disabled{color:var(--td-success-color-disabled)}.t-button--variant-text.t-button--theme-warning{color:var(--td-warning-color)}.t-button--variant-text.t-button--theme-warning:hover,.t-button--variant-text.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-text.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-text.t-button--theme-warning.t-is-disabled{color:var(--td-warning-color-disabled)}.t-button--variant-text.t-button--theme-danger{color:var(--td-error-color)}.t-button--variant-text.t-button--theme-danger:hover,.t-button--variant-text.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-text.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-text.t-button--theme-danger.t-is-disabled{color:var(--td-error-color-disabled)}.t-button--variant-text.t-button--ghost{background:none;color:var(--td-text-color-anti)}.t-button--variant-text.t-button--ghost:hover,.t-button--variant-text.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-text.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-text.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-text.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color)}.t-button--variant-text.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-text.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-text.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-success{color:var(--td-success-color)}.t-button--variant-text.t-button--ghost.t-button--theme-success:hover,.t-button--variant-text.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-text.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color)}.t-button--variant-text.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-text.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-text.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-danger{color:var(--td-error-color)}.t-button--variant-text.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-text.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-text.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button.t-is-loading,.t-button.t-is-disabled{cursor:not-allowed}.t-button.t-size-s{height:var(--td-comp-size-xs);font:var(--td-font-body-small);padding-left:calc(var(--td-comp-paddingLR-s) - 1px);padding-right:calc(var(--td-comp-paddingLR-s) - 1px)}.t-button.t-size-s .t-icon,.t-button.t-size-s .t-loading{font-size:var(--td-font-size-body-medium)}.t-button.t-size-l{height:var(--td-comp-size-xl);font:var(--td-font-body-large);padding-left:calc(var(--td-comp-paddingLR-xl) - 1px);padding-right:calc(var(--td-comp-paddingLR-xl) - 1px)}.t-button.t-size-l .t-icon,.t-button.t-size-l .t-loading{font-size:var(--td-font-size-title-large)}.t-button--shape-square{width:var(--td-comp-size-m);padding:0}.t-button--shape-square.t-size-s{width:var(--td-comp-size-xs);padding:0}.t-button--shape-square.t-size-l{width:var(--td-comp-size-xl);padding:0}.t-button--shape-round{border-radius:var(--td-radius-round)}.t-button--shape-round.t-size-s{border-radius:calc(var(--td-comp-size-xs) / 2)}.t-button--shape-round.t-size-l{border-radius:calc(var(--td-comp-size-xl) / 2)}.t-button--shape-circle{width:var(--td-comp-size-m);padding:0;text-align:center;border-radius:calc(var(--td-comp-size-m) / 2)}.t-button--shape-circle .t-icon,.t-button--shape-circle .t-loading{font-size:var(--td-font-size-body-large)}.t-button--shape-circle.t-size-s{width:var(--td-comp-size-xs);border-radius:calc(var(--td-comp-size-xs) / 2)}.t-button--shape-circle.t-size-l{width:var(--td-comp-size-xl);padding:0;border-radius:calc(var(--td-comp-size-xl) / 2)}.t-button.t-size-full-width{display:flex;width:100%}.t-button--ghost{--ripple-color: var(--td-gray-color-10)}.t-button:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-bg-color-container-active)}.t-button--variant-base:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-bg-color-component-active)}.t-button--variant-base.t-button--theme-primary:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-brand-color-active)}.t-button--variant-base.t-button--theme-success:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-success-color-active)}.t-button--variant-base.t-button--theme-warning:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-warning-color-active)}.t-button--variant-base.t-button--theme-danger:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-error-color-active)}.t-space{display:inline-flex}.t-space .t-space-item{width:inherit}.t-space-align-start{align-items:flex-start}.t-space-align-end{align-items:flex-end}.t-space-align-baseline{align-items:baseline}.t-space-align-center{align-items:center}.t-space-vertical{flex-direction:column}.t-space-vertical .t-space-item-separator{width:100%}.t-affix{position:fixed;z-index:500}.t-message{margin:0;padding:0;list-style:none;width:fit-content;outline:0;border-radius:var(--td-radius-medium);background-color:var(--td-bg-color-container);box-shadow:var(--td-shadow-3),var(--td-shadow-inset-top),var(--td-shadow-inset-right),var(--td-shadow-inset-bottom),var(--td-shadow-inset-left);box-sizing:border-box;display:flex;align-items:center;color:var(--td-text-color-primary);font:var(--td-font-body-medium);padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l)}.t-message>.t-icon,.t-message>[data-t-icon]>.t-icon,.t-message .t-loading{color:var(--td-brand-color);margin-right:var(--td-comp-margin-s);flex-shrink:0;font-size:calc(var(--td-font-size-body-medium) + 6px)}.t-message.t-is-success>.t-icon,.t-message.t-is-success>[data-t-icon]>.t-icon,.t-message.t-is-success .t-loading{color:var(--td-success-color)}.t-message.t-is-warning>.t-icon,.t-message.t-is-warning>[data-t-icon]>.t-icon,.t-message.t-is-warning .t-loading{color:var(--td-warning-color)}.t-message.t-is-error>.t-icon,.t-message.t-is-error>[data-t-icon]>.t-icon,.t-message.t-is-error .t-loading{color:var(--td-error-color)}.t-message.t-is-closable .t-message__close{display:inline-flex;margin-right:0;margin-left:var(--td-comp-margin-xxl);cursor:pointer;color:var(--td-text-color-secondary)}.t-message.t-is-closable .t-message__close .t-icon-close{font-size:calc(var(--td-font-size-body-medium) + 2px);border-radius:var(--td-radius-default);transition:all .2s linear}.t-message.t-is-closable .t-message__close .t-icon-close:hover{background:var(--td-bg-color-container-hover)}.t-message.t-is-closable .t-message__close .t-icon-close:active{background:var(--td-bg-color-container-active)}.t-message__list{position:fixed;z-index:6000}.t-message__list .t-message{margin-bottom:var(--td-comp-margin-s);word-break:break-all}.content-placement-top .t-popup[data-popper-placement^=top] .t-popup__content{margin-bottom:var(--td-comp-margin-s)}.content-placement-top .t-popup[data-popper-placement^=top] .t-popup__content--arrow{margin-bottom:var(--td-comp-margin-l)}.content-placement-bottom .t-popup[data-popper-placement^=bottom] .t-popup__content{margin-top:var(--td-comp-margin-s)}.content-placement-bottom .t-popup[data-popper-placement^=bottom] .t-popup__content--arrow{margin-top:var(--td-comp-margin-l)}.content-placement-left .t-popup[data-popper-placement^=left] .t-popup__content{margin-right:var(--td-comp-margin-s)}.content-placement-left .t-popup[data-popper-placement^=left] .t-popup__content--arrow{margin-right:var(--td-comp-margin-l)}.content-placement-left .t-popup[data-popper-placement^=left] .t-popup__content--text{max-width:480px}.content-placement-right .t-popup[data-popper-placement^=right] .t-popup__content{margin-left:var(--td-comp-margin-s)}.content-placement-right .t-popup[data-popper-placement^=right] .t-popup__content--arrow{margin-left:var(--td-comp-margin-l)}.content-placement-right .t-popup[data-popper-placement^=right] .t-popup__content--text{max-width:480px}.t-popup{font:var(--td-font-body-medium);box-sizing:border-box;margin:0;padding:0;list-style:none;color:var(--td-text-color-primary);display:inline-block;z-index:5500}.t-popup__content{position:relative;background:var(--td-bg-color-container);box-shadow:var(--td-shadow-2),var(--td-shadow-inset-top),var(--td-shadow-inset-right),var(--td-shadow-inset-bottom),var(--td-shadow-inset-left);border-radius:var(--td-radius-medium);padding:var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-s);font-size:var(--td-font-size-body-medium);line-height:var(--td-line-height-body-medium);box-sizing:border-box;word-break:break-all}.t-popup__arrow{position:absolute;z-index:1;width:8px;height:8px}.t-popup__arrow:before{position:absolute;content:"";width:8px;height:8px;transform:rotate(45deg);background:var(--td-bg-color-container)}.t-popup[data-popper-placement^=top] .t-popup__content{margin-bottom:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=top] .t-popup__content--arrow{margin-bottom:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=bottom] .t-popup__content{margin-top:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=bottom] .t-popup__content--arrow{margin-top:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=left] .t-popup__content{margin-right:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=left] .t-popup__content--arrow{margin-right:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=left] .t-popup__content--text{max-width:480px}.t-popup[data-popper-placement^=right] .t-popup__content{margin-left:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=right] .t-popup__content--arrow{margin-left:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=right] .t-popup__content--text{max-width:480px}.t-popup[data-popper-placement^=top] .t-popup__arrow:before{border-top-left-radius:100%;box-shadow:var(--td-shadow-inset-left),var(--td-shadow-inset-bottom)}.t-popup[data-popper-placement=top-start] .t-popup__arrow{left:8px}.t-popup[data-popper-placement=top] .t-popup__arrow{left:50%;margin-left:-4px}.t-popup[data-popper-placement=top-end] .t-popup__arrow{left:calc(100% - 16px)}.t-popup[data-popper-placement^=bottom] .t-popup__arrow{top:-4px}.t-popup[data-popper-placement^=bottom] .t-popup__arrow:before{border-bottom-right-radius:100%;box-shadow:var(--td-shadow-inset-top),var(--td-shadow-inset-right)}.t-popup[data-popper-placement=bottom-start] .t-popup__arrow{left:8px}.t-popup[data-popper-placement=bottom] .t-popup__arrow{left:50%;margin-left:-4px}.t-popup[data-popper-placement=bottom-end] .t-popup__arrow{left:calc(100% - 16px)}.t-popup[data-popper-placement^=left] .t-popup__arrow{right:-4px}.t-popup[data-popper-placement^=left] .t-popup__arrow:before{box-shadow:var(--td-shadow-inset-left),var(--td-shadow-inset-top)}.t-popup[data-popper-placement=left-start] .t-popup__arrow{top:8px}.t-popup[data-popper-placement=left] .t-popup__arrow{top:50%;margin-top:-4px}.t-popup[data-popper-placement=left-end] .t-popup__arrow{top:calc(100% - 16px)}.t-popup[data-popper-placement^=right] .t-popup__arrow{left:-4px}.t-popup[data-popper-placement^=right] .t-popup__arrow:before{box-shadow:var(--td-shadow-inset-right),var(--td-shadow-inset-bottom)}.t-popup[data-popper-placement=right-start] .t-popup__arrow{top:8px}.t-popup[data-popper-placement=right] .t-popup__arrow{top:50%;margin-top:-4px}.t-popup[data-popper-placement=right-end] .t-popup__arrow{top:calc(100% - 16px)}.t-popup--animation-enter,.t-popup--animation-enter-from,.t-popup--animation-exiting,.t-popup--animation-leave-to{opacity:0;visibility:hidden}.t-popup--animation-enter-to,.t-popup--animation-entering,.t-popup--animation-leave-from,.t-popup--animation-leave{opacity:1;visibility:visible;transform:none}.t-popup--animation-enter-active{transition:opacity .2s linear}.t-popup--animation-leave-active{transition:opacity .2s cubic-bezier(0,0,.15,1),visibility .2s cubic-bezier(.82,0,1,.9)}.t-popup--animation-expand-enter-active[data-popper-placement^=top]{animation:t-popup-animation-expand-in-top .2s cubic-bezier(.38,0,.24,1),t-fade-in .2s linear}.t-popup--animation-expand-leave-active[data-popper-placement^=top]{animation:t-popup-animation-expand-out-top .2s cubic-bezier(.38,0,.24,1),t-fade-out .2s cubic-bezier(0,0,.15,1)}@keyframes t-popup-animation-expand-in-top{0%{clip-path:polygon(-20% 120%,120% 120%,120% 120%,-20% 120%)}to{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}}@keyframes t-popup-animation-expand-out-top{0%{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}to{clip-path:polygon(-20% 120%,120% 120%,120% 120%,-20% 120%)}}.t-popup--animation-expand-enter-active[data-popper-placement^=bottom]{animation:t-popup-animation-expand-in-bottom .2s cubic-bezier(.38,0,.24,1),t-fade-in .2s linear}.t-popup--animation-expand-leave-active[data-popper-placement^=bottom]{animation:t-popup-animation-expand-out-bottom .2s cubic-bezier(.38,0,.24,1),t-fade-out .2s cubic-bezier(0,0,.15,1)}@keyframes t-popup-animation-expand-in-bottom{0%{clip-path:polygon(-20% 0,120% 0,120% 0,-20% 0)}to{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}}@keyframes t-popup-animation-expand-out-bottom{0%{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}to{clip-path:polygon(-20% 0,120% 0,120% 0,-20% 0)}}.t-tooltip .t-popup__content{display:inline-block;border:0;z-index:5600;margin-bottom:1px;max-width:480px;word-break:break-word;box-sizing:border-box;border-radius:var(--td-radius-medium);color:var(--td-text-color-primary)}.t-tooltip--default .t-popup__content{color:var(--td-text-color-anti);background:var(--td-gray-color-13);box-shadow:inset 0 .5px 0 var(--td-gray-color-9),inset .5px 0 0 var(--td-gray-color-9),inset 0 -.5px 0 var(--td-gray-color-9),inset -.5px 0 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=left] .t-popup__arrow:before{box-shadow:inset -.5px 0 0 var(--td-gray-color-9),inset 0 .5px 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=right] .t-popup__arrow:before{box-shadow:inset .5px 0 0 var(--td-gray-color-9),inset 0 -.5px 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=top] .t-popup__arrow:before{box-shadow:inset 0 -.5px 0 var(--td-gray-color-9),inset -.5px 0 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=bottom] .t-popup__arrow:before{box-shadow:inset .5px 0 0 var(--td-gray-color-9),inset 0 .5px 0 var(--td-gray-color-9)}.t-tooltip--primary .t-popup__content{color:var(--td-brand-color);background:var(--td-brand-color-light)}.t-tooltip--success .t-popup__content{color:var(--td-success-color);background:var(--td-success-color-light)}.t-tooltip--danger .t-popup__content{color:var(--td-error-color);background:var(--td-error-color-light)}.t-tooltip--warning .t-popup__content{color:var(--td-warning-color);background:var(--td-warning-color-light)}.t-tooltip .t-popup__arrow{background:inherit;height:auto}.t-tooltip .t-popup__arrow:before{background:inherit}.t-tooltip--noshadow .t-popup__content,.t-tooltip--noshadow[data-popper-placement] .t-popup__arrow:before{box-shadow:none}.input-readonly.t-is-readonly{color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent)}.input-readonly.t-is-readonly .t-input__inner{cursor:pointer}.input-disabled.t-is-disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.input-disabled.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.input-disabled.t-is-disabled .t-input__inner{cursor:not-allowed;color:var(--td-text-color-disabled)}.input-disabled.t-is-disabled .t-input__inner::placeholder{color:var(--td-text-color-disabled)}.input-disabled.t-is-disabled>.t-input__prefix .t-icon,.input-disabled.t-is-disabled>.t-input__suffix .t-icon{color:var(--td-text-color-disabled)}.t-tips{font-size:var(--td-font-size-body-small)}.t-tips.t-is-default{color:var(--td-text-color-placeholder)}.t-tips.t-is-error{color:var(--td-error-color)}.t-tips.t-is-warning{color:var(--td-warning-color)}.t-tips.t-is-success{color:var(--td-success-color)}.t-input{margin:0;padding:0;list-style:none;position:relative;height:var(--td-comp-size-m);border-width:1px;border-style:solid;border-radius:var(--td-radius-default);border-color:var(--td-border-level-2-color);padding:0 var(--td-comp-paddingLR-s);background-color:var(--td-bg-color-specialcomponent);outline:none;color:var(--td-text-color-primary);font:var(--td-font-body-medium);width:100%;box-sizing:border-box;transition:border cubic-bezier(.38,0,.24,1) .2s,box-shadow cubic-bezier(.38,0,.24,1) .2s;display:flex;align-items:center;overflow:hidden}.t-input:hover{border-color:var(--td-brand-color)}.t-input:focus{z-index:1;border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus)}.t-input--focused{border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus);z-index:1}.t-input :focus-visible{outline:none}.t-input__inner{flex:1;border:none;outline:none;padding:0;max-width:100%;min-width:0;color:var(--td-text-color-primary);font:inherit;background-color:transparent;box-sizing:border-box;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-input__inner::placeholder{color:var(--td-text-color-placeholder)}.t-input__inner:placeholder-shown{text-overflow:ellipsis;width:100%}.t-input__inner[type=password]::-ms-reveal{display:none}.t-input__inner[type=search]::-webkit-search-decoration,.t-input__inner[type=search]::-webkit-search-cancel-button,.t-input__inner[type=search]::-webkit-search-results-button,.t-input__inner[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.t-input__inner.t-input--soft-hidden{width:0}.t-input__extra{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}.t-input__status{position:absolute;right:-24px;top:0}.t-input.t-input--suffix>span.t-input__clear{opacity:0;visibility:hidden;transition:border cubic-bezier(.38,0,.24,1) .2s,box-shadow cubic-bezier(.38,0,.24,1) .2s}.t-input.t-input--suffix:hover>span.t-input__clear{opacity:1;visibility:visible}.t-input.t-is-success{border-color:var(--td-success-color)}.t-input.t-is-success:focus{box-shadow:0 0 0 2px var(--td-success-color-focus)}.t-input.t-is-success.t-input--focused{box-shadow:0 0 0 2px var(--td-success-color-focus)}.t-input.t-is-success>.t-input__extra{color:var(--td-success-color)}.t-input.t-is-warning{border-color:var(--td-warning-color)}.t-input.t-is-warning:focus{box-shadow:0 0 0 2px var(--td-warning-color-focus)}.t-input.t-is-warning.t-input--focused{box-shadow:0 0 0 2px var(--td-warning-color-focus)}.t-input.t-is-warning>.t-input__extra{color:var(--td-warning-color)}.t-input.t-is-error{border-color:var(--td-error-color)}.t-input.t-is-error:focus{box-shadow:0 0 0 2px var(--td-error-color-focus)}.t-input.t-is-error.t-input--focused{box-shadow:0 0 0 2px var(--td-error-color-focus)}.t-input.t-is-error>.t-input__extra{color:var(--td-error-color)}.t-input.t-is-readonly{color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent)}.t-input.t-is-readonly .t-input__inner{cursor:pointer}.t-input.t-is-disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.t-input.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-input.t-is-disabled .t-input__inner{cursor:not-allowed;color:var(--td-text-color-disabled)}.t-input.t-is-disabled .t-input__inner::placeholder{color:var(--td-text-color-disabled)}.t-input.t-is-disabled>.t-input__prefix .t-icon,.t-input.t-is-disabled>.t-input__suffix .t-icon{color:var(--td-text-color-disabled)}.t-input.t-input--prefix>.t-input__prefix{z-index:2;height:100%;text-align:center;display:flex;align-items:center;font-size:var(--td-font-size-body-medium)}.t-input.t-input--prefix>.t-input__prefix-icon{font-size:var(--td-font-size-body-large)}.t-input.t-input--suffix>.t-input__suffix{z-index:2;height:100%;text-align:center;display:flex;align-items:center;font-size:var(--td-font-size-body-medium)}.t-input.t-input--suffix>.t-input__suffix-icon{font-size:var(--td-font-size-body-large)}.t-input .t-input__suffix-clear{cursor:pointer}.t-input.t-size-l{height:var(--td-comp-size-xl);font:var(--td-font-body-large);padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-m)}.t-input.t-size-s{height:var(--td-comp-size-xs);font:var(--td-font-body-small)}.t-input .t-input__prefix>.t-icon,.t-input .t-input__suffix>.t-icon{font-size:inherit}.t-input .t-input__prefix>.t-icon{font-size:16px;color:var(--td-text-color-placeholder)}.t-input .t-input__prefix:not(:empty){margin-right:var(--td-comp-margin-s)}.t-input .t-input__suffix>.t-icon{color:var(--td-text-color-placeholder);transition:all .2s linear}.t-input .t-input__suffix>.t-icon:hover{color:var(--td-text-color-secondary);transition:all .2s linear}.t-input .t-input__suffix:not(:empty){margin-left:var(--td-comp-margin-s)}.t-input.t-is-focused .t-input__prefix>.t-icon{color:var(--td-brand-color)}.t-input.t-is-focused .t-input__suffix>.t-icon-time,.t-input.t-is-focused .t-input__suffix .t-icon-calendar{color:var(--td-brand-color)}.t-input-group{position:relative;display:inline-flex;align-items:stretch}.t-input-group .t-input__wrap{border-radius:0}.t-input-group .t-input__wrap:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group .t-input__wrap:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group .t-button,.t-input-group .t-select{border-radius:0}.t-input-group .t-button:not(:first-child),.t-input-group .t-select:not(:first-child){margin-left:-1px}.t-input-group .t-input__wrap:not(:first-child) .t-input{margin-left:-1px}.t-input-group .t-input__wrap:first-child .t-input{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group .t-input__wrap:last-child .t-input{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group .t-button:first-child,.t-input-group .t-select:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group .t-button:last-child,.t-input-group .t-select:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group--separate .t-input__wrap+.t-input__wrap{margin-left:var(--td-comp-margin-xxxl)}.t-input-group--separate .t-button,.t-input-group--separate .t-select{border-radius:var(--td-radius-default)}.t-input-group--separate .t-button:first-child,.t-input-group--separate .t-select:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group--separate .t-button:last-child,.t-input-group--separate .t-select:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group--separate .t-input__wrap .t-input,.t-input-group--separate .t-input__wrap .t-input:first-child{border-radius:var(--td-radius-default)}.t-input-group--separate .t-input__wrap .t-input:last-child{border-radius:var(--td-radius-default)}.t-input-group .t-input__inner,.t-input-group .t-button,.t-input-group .t-select{position:relative;z-index:0}.t-input-group .t-input__inner:hover,.t-input-group .t-button:hover,.t-input-group .t-select:hover,.t-input-group .t-input__inner:focus,.t-input-group .t-button:focus,.t-input-group .t-select:focus,.t-input-group .t-input__inner:active,.t-input-group .t-button:active,.t-input-group .t-select:active{z-index:1}.t-input__wrap{width:100%}.t-input__tips{height:auto;min-height:var(--td-line-height-body-small);font:var(--td-font-body-small);position:absolute}.t-input__tips--default{color:var(--td-text-color-placeholder)}.t-input__tips--success{color:var(--td-success-color)}.t-input__tips--warning{color:var(--td-warning-color)}.t-input__tips--error{color:var(--td-error-color)}.t-align-center>.t-input__inner{text-align:center}.t-align-right>.t-input__inner{text-align:right}.t-input__input-pre{position:absolute;visibility:hidden;white-space:pre;display:block}.t-input--auto-width{width:fit-content;min-width:60px}.t-input__limit-number{font:var(--td-font-body-medium);color:var(--td-text-color-placeholder);background:var(--td-bg-color-specialcomponent)}.t-input__limit-number.t-is-disabled{background:var(--td-bg-color-component-disabled)}.t-input-number{font:var(--td-font-body-medium);color:var(--td-text-color-primary);margin:0;padding:0;list-style:none;display:inline-block;position:relative;box-sizing:border-box;padding:0 var(--td-comp-size-m);-webkit-user-select:none;user-select:none;width:144px}.t-input-number:not(.t-input-number--column)>.t-input-number__decrease+.t-input__wrap{margin-left:var(--td-comp-margin-xs)}.t-input-number input::-webkit-outer-spin-button,.t-input-number input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.t-input-number input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.t-input-number>.t-input__tips{position:absolute;left:0}.t-input-number input+.t-input__suffix{margin-left:var(--td-comp-paddingLR-s)}.t-input-number .t-input__prefix{margin-right:var(--td-comp-paddingLR-s)}.t-input-number .t-input{color:var(--td-text-color-primary)}.t-input-number.t-input-number--auto-width{width:auto}.t-input-number.t-input-number--auto-width.t-is-controls-right{min-width:auto;width:auto}.t-input-number.t-input-number--auto-width .t-input__inner{min-width:42px}.t-input-number .t-input-number__decrease,.t-input-number .t-input-number__increase{width:var(--td-comp-size-m);height:var(--td-comp-size-m);position:absolute;top:0;border:1px solid var(--td-border-level-2-color);box-sizing:border-box;border-radius:var(--td-radius-default);background-color:transparent;display:flex;justify-content:center;align-items:center;z-index:1;cursor:pointer;transition:all cubic-bezier(.38,0,.24,1) .2s}.t-input-number .t-input-number__decrease:hover,.t-input-number .t-input-number__increase:hover{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-input-number .t-input-number__decrease:hover .t-icon,.t-input-number .t-input-number__increase:hover .t-icon{color:var(--td-brand-color)}.t-input-number .t-input-number__decrease:active,.t-input-number .t-input-number__increase:active{color:var(--td-brand-color);background-color:var(--td-bg-color-container-hover)}.t-input-number .t-input-number__decrease .t-icon,.t-input-number .t-input-number__increase .t-icon{position:relative;z-index:1;font-size:var(--td-font-size-body-large);color:var(--td-text-color-secondary)}.t-input-number .t-input-number__decrease.t-is-disabled,.t-input-number .t-input-number__increase.t-is-disabled{color:var(--td-text-color-disabled);cursor:no-drop;background-color:var(--td-bg-color-component-disabled)}.t-input-number .t-input-number__decrease.t-is-disabled .t-icon,.t-input-number .t-input-number__increase.t-is-disabled .t-icon{color:var(--td-text-color-disabled)}.t-input-number .t-input-number__decrease.t-is-disabled:hover,.t-input-number .t-input-number__increase.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-input-number .t-input-number__decrease.t-is-disabled:hover .t-icon,.t-input-number .t-input-number__increase.t-is-disabled:hover .t-icon{color:var(--td-text-color-disabled)}.t-input-number .t-input-number__decrease.t-is-disabled::placeholder,.t-input-number .t-input-number__increase.t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-input-number .t-input-number__decrease{left:0}.t-input-number .t-input-number__increase{right:-8px}.t-input-number.t-is-disabled .t-input{cursor:no-drop;background-color:var(--td-bg-color-component-disabled);color:var(--td-text-color-disabled)}.t-input-number.t-is-disabled .t-input:hover,.t-input-number.t-is-disabled .t-input:focus,.t-input-number.t-is-disabled .t-input:active{border-color:var(--td-border-level-2-color)}.t-input-number.t-is-disabled .t-input-number__decrease,.t-input-number.t-is-disabled .t-input-number__increase{color:var(--td-text-color-disabled);cursor:no-drop;background-color:var(--td-bg-color-component-disabled)}.t-input-number.t-is-disabled .t-input-number__decrease .t-icon,.t-input-number.t-is-disabled .t-input-number__increase .t-icon{color:var(--td-text-color-secondary)}.t-input-number.t-size-s{width:120px;padding:0 var(--td-comp-size-xs)}.t-input-number.t-size-s .t-input{font-size:var(--td-font-size-body-small);height:var(--td-comp-size-xs);line-height:var(--td-comp-size-xs)}.t-input-number.t-size-s .t-input-number__decrease,.t-input-number.t-size-s .t-input-number__increase{font-size:var(--td-font-size-body-medium);width:var(--td-comp-size-xs);height:var(--td-comp-size-xs)}.t-input-number.t-size-l{width:168px;padding:0 var(--td-comp-size-xl)}.t-input-number.t-size-l .t-input{height:var(--td-comp-size-xl);line-height:var(--td-comp-size-xl)}.t-input-number.t-size-l .t-input-number__decrease,.t-input-number.t-size-l .t-input-number__increase{font-size:18px;width:var(--td-comp-size-xl);height:var(--td-comp-size-xl)}.t-input-number.t-size-l.t-is-controls-right .t-input{height:var(--td-comp-size-xl);line-height:var(--td-comp-size-xl);padding-right:calc(var(--td-comp-size-xl) + var(--td-comp-paddingLR-s))}.t-input-number.t-size-l.t-is-controls-right .t-input-number__decrease,.t-input-number.t-size-l.t-is-controls-right .t-input-number__increase{width:var(--td-comp-size-xl);font-size:var(--td-font-size-body-large)}.t-input-number.t-size-l .t-input--prefix{font:var(--td-font-body-large);padding:0 var(--td-comp-paddingLR-m)}.t-input-number.t-input-number--normal{padding:0;border-radius:var(--td-radius-default)}.t-input-number.t-input-number--normal.t-is-disabled{cursor:no-drop;color:var(--td-text-color-disabled)}.t-input-number.t-input-number--normal.t-is-disabled:hover .t-input{border-color:var(--td-border-level-2-color)}.t-input-number.t-input-number--normal.t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-input-number.t-input-number--normal.t-is-disabled .t-input:focus{box-shadow:none}.t-input-number.t-is-controls-right{width:96px;padding:0}.t-input-number.t-is-controls-right:hover .t-input-number__decrease,.t-input-number.t-is-controls-right:hover .t-input-number__increase{opacity:1;visibility:visible}.t-input-number.t-is-controls-right .t-input{width:100%;box-sizing:border-box;margin:0;padding-right:calc(var(--td-comp-size-m) + var(--td-comp-paddingLR-s));border-radius:var(--td-radius-default)}.t-input-number.t-is-controls-right .t-input-number__decrease,.t-input-number.t-is-controls-right .t-input-number__increase{width:var(--td-comp-size-m);height:calc(calc(var(--td-comp-size-m) / 2) - 2px);border:0;left:initial;top:initial;right:1px;border-radius:0;background:var(--td-bg-color-secondarycontainer);opacity:0;visibility:hidden;z-index:2}.t-input-number.t-is-controls-right .t-input-number__decrease .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase .t-icon{font-size:var(--td-font-size-body-small)}.t-input-number.t-is-controls-right .t-input-number__decrease:hover,.t-input-number.t-is-controls-right .t-input-number__increase:hover{background:var(--td-bg-color-component-hover)}.t-input-number.t-is-controls-right .t-input-number__decrease:hover .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase:hover .t-icon{color:var(--td-text-color-primary)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled{color:var(--td-text-color-disabled);cursor:no-drop;background-color:var(--td-bg-color-component-disabled)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled .t-icon{color:var(--td-text-color-disabled)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled:hover,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled:hover .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled:hover .t-icon{color:var(--td-text-color-disabled)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled::placeholder,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-input-number.t-is-controls-right .t-input-number__increase{top:1px;border-top-right-radius:calc(var(--td-radius-default) - 1px)}.t-input-number.t-is-controls-right .t-input-number__decrease{top:calc(calc(calc(var(--td-comp-size-m) / 2) - 2px) + 3px);border-bottom-right-radius:calc(var(--td-radius-default) - 1px)}.t-input-number.t-is-controls-right.t-size-l{width:120px}.t-input-number.t-is-controls-right.t-size-l .t-input-number__increase,.t-input-number.t-is-controls-right.t-size-l .t-input-number__decrease{height:calc(calc(var(--td-comp-size-xl) / 2) - 2px)}.t-input-number.t-is-controls-right.t-size-l .t-input-number__decrease{top:calc(calc(calc(var(--td-comp-size-xl) / 2) - 2px) + 3px)}.t-input-number.t-is-controls-right.t-size-s{width:88px}.t-input-number.t-is-controls-right.t-size-s .t-input-number__increase,.t-input-number.t-is-controls-right.t-size-s .t-input-number__decrease{height:calc(calc(var(--td-comp-size-xs) / 2) - 2px)}.t-input-number.t-is-controls-right.t-size-s .t-input-number__decrease{top:calc(calc(calc(var(--td-comp-size-xs) / 2) - 2px) + 3px)}.t-input-number--row .t-input__wrap{width:initial;margin-right:var(--td-comp-margin-xs)}.t-input-number--row .t-input-number__increase{right:0}.t-select-input{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;width:100%;display:inline-block;vertical-align:middle}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-tag-input--with-tag .t-input{padding-right:var(--td-comp-paddingLR-xl)}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-tag-input--with-tag .t-input.t-size-l{padding-right:calc(var(--td-comp-paddingLR-xl) + var(--td-comp-paddingLR-s))}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-is-empty .t-input{padding-right:var(--td-comp-paddingLR-s)}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-is-empty .t-input.t-size-l{padding-right:var(--td-comp-paddingLR-m)}.t-select-input--borderless .t-input{box-shadow:none;border:1px solid transparent;background:transparent;transition:all .2s linear}.t-select-input--borderless .t-input:hover:not(.t-input--focused){border-color:var(--td-component-border);background-color:var(--td-bg-color-container-hover);border-radius:var(--td-radius-default)}.t-select-input--borderless .t-input--focused{border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus);background-color:var(--td-bg-color-specialcomponent)}.t-select-input--borderless.t-select-input--multiple:not(.t-select-input--empty).t-select-input--popup-visible input{display:inline-block}.t-select-input--borderless.t-select-input--multiple:not(.t-select-input--empty).t-select-input--popup-visible .t-input{background-color:var(--td-bg-color-container-hover)}.t-select-input--borderless.t-tag-input{border:0;box-shadow:none;background:transparent;transition:background-color .2s linear}.t-select-input--borderless.t-tag-input:hover{background-color:var(--td-bg-color-container-hover);border-radius:var(--td-radius-default)}.t-tag{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;align-items:center;flex-direction:row;padding:0px var(--td-comp-paddingLR-s);height:var(--td-comp-size-xs);font:var(--td-font-body-small);color:var(--td-text-color-anti);border-radius:var(--td-radius-default);border:1px solid transparent;white-space:nowrap}.t-tag .t-icon{margin-right:var(--td-comp-margin-xs);width:calc(var(--td-font-size-body-medium) + 2px);height:calc(var(--td-font-size-body-medium) + 2px);flex-shrink:0}.t-tag .t-tag__icon-close{margin-right:0;margin-left:var(--td-comp-margin-s);font:var(--td-font-body-medium);cursor:pointer;transition:color .2s cubic-bezier(.38,0,.24,1)}.t-tag--default{color:var(--td-text-color-primary);background-color:var(--td-bg-color-component)}.t-tag--default .t-tag__icon-close{color:var(--td-text-color-placeholder)}.t-tag--default .t-tag__icon-close:hover{color:var(--td-text-color-primary)}.t-tag--default.t-tag--checked{color:var(--td-text-color-anti);background-color:var(--td-brand-color)}.t-tag--default.t-tag--checked:hover{background-color:var(--td-brand-color-hover)}.t-tag--default:active{cursor:default}.t-tag--default.t-tag--check{transition:background-color .2s cubic-bezier(.38,0,.24,1);cursor:pointer}.t-tag--default.t-tag--check:hover:not(.t-tag--checked):not(.t-tag--disabled){background-color:var(--td-bg-color-component-hover)}.t-tag--default.t-tag--disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled);cursor:not-allowed}.t-tag--default.t-tag--disabled:hover{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.t-tag--default.t-tag--disabled .t-icon:hover{cursor:pointer}.t-tag--default.t-tag--outline{border-color:var(--td-component-border)}.t-tag--default.t-tag--light{background-color:var(--td-bg-color-secondarycontainer)}.t-tag--default.t-tag--light-outline{border-color:var(--td-component-border);background-color:var(--td-bg-color-secondarycontainer)}.t-tag--primary{background-color:var(--td-brand-color)}.t-tag--primary.t-tag--outline{border-color:var(--td-brand-color)}.t-tag--primary.t-tag--light{background-color:var(--td-brand-color-light)}.t-tag--primary.t-tag--light-outline{border-color:var(--td-brand-color);background-color:var(--td-brand-color-light)}.t-tag--primary.t-tag--light,.t-tag--primary.t-tag--outline,.t-tag--primary.t-tag--light-outline{color:var(--td-brand-color)}.t-tag--primary.t-tag--light .t-tag__icon-close:hover,.t-tag--primary.t-tag--outline .t-tag__icon-close:hover,.t-tag--primary.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-brand-color-hover)}.t-tag--success{background-color:var(--td-success-color)}.t-tag--success.t-tag--outline{border-color:var(--td-success-color)}.t-tag--success.t-tag--light{background-color:var(--td-success-color-light)}.t-tag--success.t-tag--light-outline{border-color:var(--td-success-color);background-color:var(--td-success-color-light)}.t-tag--success.t-tag--light,.t-tag--success.t-tag--outline,.t-tag--success.t-tag--light-outline{color:var(--td-success-color)}.t-tag--success.t-tag--light .t-tag__icon-close:hover,.t-tag--success.t-tag--outline .t-tag__icon-close:hover,.t-tag--success.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-success-color-hover)}.t-tag--warning{background-color:var(--td-warning-color)}.t-tag--warning.t-tag--outline{border-color:var(--td-warning-color)}.t-tag--warning.t-tag--light{background-color:var(--td-warning-color-light)}.t-tag--warning.t-tag--light-outline{border-color:var(--td-warning-color);background-color:var(--td-warning-color-light)}.t-tag--warning.t-tag--light,.t-tag--warning.t-tag--outline,.t-tag--warning.t-tag--light-outline{color:var(--td-warning-color)}.t-tag--warning.t-tag--light .t-tag__icon-close:hover,.t-tag--warning.t-tag--outline .t-tag__icon-close:hover,.t-tag--warning.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-warning-color-hover)}.t-tag--danger{background-color:var(--td-error-color)}.t-tag--danger.t-tag--outline{border-color:var(--td-error-color)}.t-tag--danger.t-tag--light{background-color:var(--td-error-color-light)}.t-tag--danger.t-tag--light-outline{border-color:var(--td-error-color);background-color:var(--td-error-color-light)}.t-tag--danger .t-tag__icon-close{fill:var(--td-error-color)}.t-tag--danger .t-tag__icon-close:hover{fill:var(--td-error-color-hover)}.t-tag--danger.t-tag--light,.t-tag--danger.t-tag--outline,.t-tag--danger.t-tag--light-outline{color:var(--td-error-color)}.t-tag--danger.t-tag--light .t-tag__icon-close:hover,.t-tag--danger.t-tag--outline .t-tag__icon-close:hover,.t-tag--danger.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-error-color-hover)}.t-tag--dark.t-tag:not(.t-tag--default) .t-tag__icon-close{color:var(--td-font-white-2)}.t-tag--dark.t-tag:not(.t-tag--default) .t-tag__icon-close:hover{color:var(--td-font-white-1)}.t-tag.t-tag--outline{background:transparent}.t-tag.t-size-s{padding:0px var(--td-comp-paddingLR-xs);height:var(--td-comp-size-xxs);font:var(--td-font-body-small)}.t-tag.t-size-s .t-icon{font-size:var(--td-font-body-small)}.t-tag.t-size-l{padding:0px var(--td-comp-paddingLR-m);height:var(--td-comp-size-m);font:var(--td-font-body-medium)}.t-tag.t-size-l .t-icon{font:var(--td-font-body-medium)}.t-tag.t-tag--round{border-radius:var(--td-radius-extraLarge)}.t-tag.t-tag--mark{border-radius:0 var(--td-radius-extraLarge) var(--td-radius-extraLarge) 0}.t-tag.t-tag--ellipsis .t-tag--text{display:inline-block;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}a .t-tag{cursor:pointer;transition:all .2s linear}a .t-tag:hover{color:var(--td-brand-color);background-color:var(--td-bg-color-component-hover)}a .t-tag:active{color:var(--td-brand-color-active);background-color:var(--td-bg-color-component-active)}@keyframes t-fade-in{0%{opacity:0}to{opacity:1}}@keyframes t-fade-out{0%{opacity:1}to{opacity:0}}@keyframes t-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.t-icon-loading{animation:t-spin 1s linear infinite}@keyframes t-zoom-out{0%{transform:scale(.2)}to{transform:scale(1)}}.t-tag-input{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-tag-input .t-tag{vertical-align:middle;animation:t-fade-in .2s ease-in-out;margin:3px var(--td-comp-margin-xs) 3px 0}.t-tag-input .t-tag-input__drag_wrapper+.t-tag-input__drag_wrapper{margin-left:var(--td-comp-margin-xs)}.t-tag-input .t-input{overflow:hidden;min-height:var(--td-comp-size-m);height:fit-content;padding:0 var(--td-comp-paddingLR-s) 0 var(--td-comp-margin-xs)}.t-tag-input .t-input .t-input__suffix-icon{right:var(--td-comp-margin-s)}.t-tag-input .t-input.t-size-s{padding:0 var(--td-comp-paddingLR-xxs) 0 var(--td-comp-margin-xs);min-height:var(--td-comp-size-xs)}.t-tag-input .t-input.t-size-s .t-tag{margin:1px var(--td-comp-margin-xs) 1px 0}.t-tag-input .t-input.t-size-l{min-height:var(--td-comp-size-xl);padding-right:var(--td-comp-paddingLR-m)}.t-tag-input .t-input.t-size-l .t-input__suffix-icon{right:var(--td-comp-margin-m)}.t-tag-input.t-is-empty .t-input__inner{margin-left:var(--td-comp-margin-xs)}.t-tag-input:hover .t-input__inner,.t-tag-input .t-input--focused .t-input__inner{min-width:20px}.t-tag-input .t-tag-input__prefix{margin-left:var(--td-comp-margin-xs);line-height:1}.t-tag-input .t-tag-input__prefix>.t-icon{color:var(--td-text-color-placeholder)}.t-tag-input .t-input .t-input__prefix:not(:empty){margin-right:0}.t-tag-input.t-input--auto-width .t-input.t-input--focused{padding-right:calc(var(--td-comp-paddingLR-xxl) + var(--td-comp-paddingLR-xxs))}.t-tag-input.t-input--auto-width .t-input__prefix{white-space:nowrap}.t-tag-input__suffix-clear{cursor:pointer}.t-tag-input--break-line:not(.t-is-empty) .t-input{display:block}.t-tag-input--break-line:not(.t-is-empty) .t-input.t-input--prefix>.t-input__prefix{display:inline;text-align:left}.t-tag-input--break-line:not(.t-is-empty) .t-input .t-input__suffix-icon{position:absolute;bottom:0}.t-tag-input--break-line:not(.t-is-empty) .t-tag-input__prefix{vertical-align:middle}.t-tag-input__prefix{width:max-content;display:inline-block;margin-right:var(--td-comp-margin-s)}.t-tag-input--break-line.t-tag-input--with-tag:not(.t-input--auto-width) .t-input,.t-tag-input.t-input--auto-width:hover .t-input{padding-right:calc(var(--td-comp-paddingLR-xxl) + var(--td-comp-paddingLR-xxs))}.t-tag-input--break-line.t-tag-input--with-tag:not(.t-input--auto-width) .t-size-l .t-input,.t-tag-input.t-input--auto-width:hover .t-size-l .t-input{padding-right:calc(var(--td-comp-paddingLR-xxl) + var(--td-comp-paddingLR-xs))}.t-tag-input.t-input--auto-width .t-input{padding-right:0}.t-checkbox-group{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;flex-wrap:wrap;gap:16px}.t-checkbox{font:var(--td-font-body-medium);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;align-items:center;position:relative;cursor:pointer;color:var(--td-text-color-primary)}.t-checkbox+.t-checkbox{margin-left:inherit}.t-checkbox__former{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.t-checkbox__input{position:relative;display:inline-block;width:16px;height:16px;vertical-align:middle;border:1px solid var(--td-border-level-2-color);border-radius:var(--td-radius-default);background-color:var(--td-bg-color-container);box-sizing:border-box}.t-checkbox__input:after{content:"";position:absolute;opacity:0;box-sizing:border-box}.t-checkbox__label{display:inline-block;margin-left:8px;vertical-align:middle;font:var(--td-font-body-medium)}.t-checkbox:hover .t-checkbox__input{border-color:var(--td-brand-color);transition:border-color .2s linear}.t-checkbox.t-is-checked .t-checkbox__input{border-color:var(--td-brand-color);background-color:var(--td-brand-color);transition:background-color .2s cubic-bezier(.82,0,1,.9)}.t-checkbox.t-is-checked .t-checkbox__input:after{opacity:1;top:6px;left:3px;width:5px;height:9px;border:2px solid var(--td-text-color-anti);border-radius:0 0 1px;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);background:transparent}.t-checkbox.t-is-indeterminate .t-checkbox__input{border-color:var(--td-brand-color);background-color:var(--td-brand-color);transition:background-color .2s cubic-bezier(.82,0,1,.9)}.t-checkbox.t-is-indeterminate .t-checkbox__input:after{opacity:1;width:16px;height:4px;left:-1px;right:0;top:5px;border:unset;transform:scale(.5);background-color:var(--td-font-white-1)}.t-checkbox.t-is-disabled{cursor:not-allowed}.t-checkbox.t-is-disabled .t-checkbox__label{color:var(--td-text-color-disabled)}.t-checkbox.t-is-disabled .t-checkbox__input{background-color:var(--td-bg-color-component-disabled)}.t-checkbox.t-is-disabled:hover .t-checkbox__input,.t-checkbox.t-is-disabled.t-is-checked .t-checkbox__input{border-color:var(--td-border-level-2-color)}.t-checkbox.t-is-disabled.t-is-checked .t-checkbox__input:after{border-color:var(--td-text-color-disabled)}.t-checkbox.t-is-disabled.t-is-indeterminate .t-checkbox__input{border-color:var(--td-border-level-2-color)}.t-checkbox.t-is-disabled.t-is-indeterminate .t-checkbox__input:after{background-color:var(--td-text-color-disabled)}.t-checkbox:focus-visible:focus-visible{outline:2px solid var(--td-brand-color);outline-offset:var(--td-comp-paddingTB-xs);border-radius:0}.t-select__wrap{width:100%}.t-select__dropdown .t-popup__content{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin;margin:var(--td-comp-paddingTB-s) 0;padding:0;max-height:300px;overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--td-shadow-2)}.t-select__dropdown .t-popup__content::-webkit-scrollbar{width:8px;height:8px}.t-select__dropdown .t-popup__content::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:15px}.t-select__dropdown .t-popup__content::-webkit-scrollbar-thumb:vertical:hover,.t-select__dropdown .t-popup__content::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-select__dropdown-inner .t-select__list .t-select__list{padding:0}.t-select__dropdown-inner .t-select__list,.t-select__dropdown-inner .t-tree{padding:var(--td-pop-padding-m)}.t-select__dropdown-inner--size-s .t-select__list,.t-select__dropdown-inner--size-s .t-tree{padding:var(--td-pop-padding-s)}.t-select__dropdown-inner--size-l .t-select__list,.t-select__dropdown-inner--size-l .t-tree{padding:var(--td-pop-padding-l)}.t-select__list{margin:0;padding:0;list-style:none}.t-select__dropdown.t-popup{padding:0}.t-select__empty.t-size-s{line-height:var(--td-comp-size-xs)}.t-select__empty{text-align:center;color:var(--td-text-color-disabled);line-height:var(--td-comp-size-m);padding:0 var(--td-comp-paddingLR-s)}.t-select__empty.t-size-l{line-height:var(--td-comp-size-xl)}.t-select__loading-tips.t-size-s{line-height:var(--td-comp-size-xs)}.t-select__loading-tips{text-align:center;line-height:var(--td-comp-size-m);color:var(--td-text-color-disabled)}.t-select__loading-tips.t-size-l{line-height:var(--td-comp-size-xl)}.t-select-option-group+.t-select-option-group{padding-top:var(--td-comp-margin-xs);margin-top:var(--td-comp-margin-xs)}.t-select-option-group__divider+.t-select-option-group__divider{position:relative}.t-select-option-group__divider+.t-select-option-group__divider:before{content:"";width:100%;height:1px;padding:0 var(--td-comp-paddingLR-s);position:absolute;top:0;left:0;box-sizing:border-box;background-color:var(--td-border-level-1-color);background-clip:content-box}ul.t-select-option-group__header,.t-select-option-group__header{color:var(--td-text-color-placeholder);display:block;height:var(--td-comp-size-s);line-height:var(--td-comp-size-s);padding:0 var(--td-comp-paddingLR-s);box-sizing:border-box;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-select-option-group__header.t-size-l{height:var(--td-comp-size-l);line-height:var(--td-comp-size-l);padding:0 var(--td-comp-paddingLR-m)}.t-select-option-group__header.t-size-s{height:var(--td-comp-size-xxs);line-height:var(--td-comp-size-xxs);padding:0 var(--td-comp-paddingLR-s)}.t-select-option{display:flex;align-items:center;border-radius:var(--td-radius-default);height:var(--td-comp-size-s);font:var(--td-font-body-medium);cursor:pointer;padding:0 var(--td-comp-paddingLR-s);color:var(--td-text-color-primary);transition:background-color .2s cubic-bezier(.38,0,.24,1);box-sizing:border-box;--ripple-color: var(--td-bg-color-container-active)}.t-select-option span{position:relative;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-select-option:not(.t-is-disabled):not(.t-is-selected):hover{background-color:var(--td-bg-color-container-hover)}.t-select-option:not(.t-is-disabled):not(.t-is-selected):hover .t-checkbox__label{color:inherit}.t-select-option:not(.t-is-disabled):not(.t-is-selected):hover .t-checkbox__input{border-color:var(--td-brand-color)}.t-select-option .t-checkbox__label{color:var(--td-text-color-primary);flex:1;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-select-option .t-checkbox{width:100%}.t-select-option.t-is-disabled{cursor:not-allowed;color:var(--td-text-color-disabled);background:var(--td-bg-color-specialcomponent)}.t-select-option.t-is-disabled:hover,.t-select-option.t-is-disabled :active{background:var(--td-bg-color-specialcomponent)}.t-select-option.t-size-l{height:var(--td-comp-size-l);padding:0 var(--td-comp-paddingLR-m);font:var(--td-font-body-large)}.t-select-option.t-size-m{font:var(--td-font-body-medium)}.t-select-option.t-size-s{height:var(--td-comp-size-xxs);padding:0 var(--td-comp-paddingLR-s);font:var(--td-font-body-small)}.t-select-option.t-is-selected{color:var(--td-brand-color);background-color:var(--td-brand-color-light);transition:all .2s linear}.t-select-option.t-is-selected .t-checkbox__label{color:var(--td-brand-color)}.t-select-option.t-is-selected:hover{background-color:var(--td-brand-color-light)}.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected),.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected),.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected),.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected){background-color:var(--td-bg-color-container-hover)}.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected) .t-checkbox__input,.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected) .t-checkbox__input,.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected) .t-checkbox__input,.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected) .t-checkbox__input{border-color:var(--td-brand-color)}.t-select-option.t-select-option__hover .t-checkbox__label,.t-select-option.t-select-option--hover .t-checkbox__label{color:inherit}.t-select-option+.t-select-option{margin-top:var(--td-comp-paddingTB-xxs)}.t-select.t-select-input--borderless .t-select__right-icon{position:relative;margin:0}.t-select .t-fake-arrow{color:var(--td-text-color-placeholder)}.t-select .t-fake-arrow--active{color:var(--td-brand-color)}.t-input-adornment{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:flex}.t-input-adornment__prepend .t-input,.t-input-adornment__append .t-input,.t-input-adornment__prepend .t-textarea__inner,.t-input-adornment__append .t-textarea__inner{background-color:transparent}.t-input-adornment__prepend{background-color:var(--td-bg-color-secondarycontainer);color:var(--td-text-color-primary);word-break:keep-all;margin-right:-1px}.t-input-adornment__append{background-color:var(--td-bg-color-secondarycontainer);color:var(--td-text-color-primary);word-break:keep-all;margin-left:-1px}.t-input-adornment__text{display:inline-flex;height:100%;align-items:center;box-sizing:border-box;white-space:nowrap;padding:0 var(--td-comp-paddingLR-s);border:1px solid var(--td-border-level-2-color)}.t-input-adornment>:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-adornment>:first-child .t-input,.t-input-adornment>:first-child .t-input-adornment__text,.t-input-adornment>:first-child .t-textarea__inner{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-adornment>:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-adornment>:last-child .t-input,.t-input-adornment>:last-child .t-input-adornment__text,.t-input-adornment>:last-child .t-textarea__inner{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-adornment>:not(:last-child):hover{z-index:2}.t-input-adornment>:not(:first-child):not(:last-child) .t-input,.t-input-adornment>:not(:first-child):not(:last-child) .t-textarea__inner{border-radius:0}.t-pagination-mini{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-pagination-mini--outline .t-pagination-mini__prev{border-top-right-radius:0;border-bottom-right-radius:0;position:relative;z-index:1}.t-pagination-mini--outline .t-pagination-mini__current{border-radius:0;position:relative;margin-left:-1px}.t-pagination-mini--outline .t-pagination-mini__current:hover{z-index:1}.t-pagination-mini--outline .t-pagination-mini__next{border-top-left-radius:0;border-bottom-left-radius:0;position:relative;margin-left:-1px}.t-pagination-mini--outline .t-pagination-mini__next:hover{z-index:1}.t-pagination{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;width:100%;display:flex;align-items:center;justify-content:flex-end;white-space:nowrap;color:var(--td-text-color-secondary);-webkit-user-select:none;user-select:none}.t-pagination.t-is-disabled{color:var(--td-text-color-disabled)}.t-pagination__total{font:var(--td-font-body-medium);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-pagination .t-select__wrap{width:auto}.t-pagination__select{flex-shrink:0;margin-right:var(--td-comp-margin-l);height:var(--td-comp-size-m);font-size:var(--td-font-size-body-medium);color:var(--td-text-color-secondary)}.t-pagination__btn{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;cursor:pointer;color:var(--td-text-color-secondary);border-radius:var(--td-radius-default);font:var(--td-font-body-large);width:var(--td-comp-size-m);height:var(--td-comp-size-m);line-height:var(--td-comp-size-m)}.t-pagination__btn:hover{background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination__btn:active{background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination__btn.t-is-disabled,.t-pagination__btn.t-is-disabled:hover,.t-pagination__btn.t-is-disabled:active{background:none;color:var(--td-text-color-disabled)}.t-pagination__btn.t-is-disabled{cursor:not-allowed}.t-pagination__btn-prev{margin-right:var(--td-comp-margin-s)}.t-pagination__btn-next{margin-left:var(--td-comp-margin-s)}.t-pagination__btn+.t-pagination__select{margin-right:0}.t-pagination__pager{flex-shrink:0;display:inline-flex;vertical-align:middle;list-style:none;padding:0;margin:0}.t-pagination__pager li:not(:last-child){margin-right:var(--td-comp-margin-s)}.t-pagination__number{display:inline-block;border:1px solid var(--td-component-border);text-align:center;border-radius:var(--td-radius-default);cursor:pointer;background-color:var(--td-bg-color-container);box-sizing:border-box;height:var(--td-comp-size-m);min-width:var(--td-comp-size-m);line-height:calc(var(--td-comp-size-m) - 2px);font-size:var(--td-font-body-medium);padding-left:var(--td-comp-paddingLR-xs);padding-right:var(--td-comp-paddingLR-xs)}.t-pagination__number:hover{color:var(--td-brand-color-hover);border-color:var(--td-brand-color-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination__number:active,.t-pagination__number.t-is-current{background-color:var(--td-brand-color);color:var(--td-text-color-anti);border-color:var(--td-brand-color)}.t-pagination__number.t-is-current.t-is-disabled,.t-pagination__number.t-is-current.t-is-disabled:hover,.t-pagination__number.t-is-current.t-is-disabled:active{background-color:var(--td-brand-color-focus);color:var(--td-text-color-anti);border-color:var(--td-brand-color-focus)}.t-pagination__number.t-is-disabled{cursor:auto;background-color:var(--td-bg-color-component-disabled);color:var(--td-text-color-disabled)}.t-pagination__number.t-is-disabled:hover,.t-pagination__number.t-is-disabled:active{background-color:var(--td-bg-color-component-disabled);color:var(--td-text-color-disabled);border-color:var(--td-component-border)}.t-pagination__number--more{border:0 none;padding:0}.t-pagination__number--more:hover{color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination__number--more:active{color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination__number--more.t-is-disabled,.t-pagination__number--more.t-is-disabled:hover,.t-pagination__number--more.t-is-disabled:active{background:none}.t-pagination__number--more .t-icon-more{transform:rotate(90deg);color:var(--td-text-color-disabled)}.t-pagination__jump{display:inline-flex;align-items:center;flex-shrink:0;margin-left:var(--td-comp-margin-s);font-size:var(--td-font-body-medium);gap:var(--td-comp-margin-s);background-color:var(--td-bg-color-secondarycontainer);height:var(--td-comp-size-m);padding-left:var(--td-comp-margin-s);border-radius:var(--td-radius-default)}.t-pagination .t-input-adornment__append{border:none;height:calc(var(--td-comp-size-m) - 4px);color:var(--td-text-color-secondary);background-color:transparent}.t-pagination .t-input-adornment__append .t-input-adornment__text{border:none}.t-pagination .t-input-number{width:56px}.t-pagination .t-input-number .t-input{height:calc(var(--td-comp-size-m) - 4px);border-radius:var(--td-radius-default)}.t-pagination .t-input-number .t-input__inner{text-align:center}.t-pagination.t-size-s{font:var(--td-font-body-small)}.t-pagination.t-size-s .t-pagination__jump{height:var(--td-comp-size-xs)}.t-pagination.t-size-s .t-input-adornment__append{height:calc(var(--td-comp-size-xs) - 4px);font:var(--td-font-body-small)}.t-pagination.t-size-s .t-input-number{width:48px}.t-pagination.t-size-s .t-input-number .t-input{height:calc(var(--td-comp-size-xs) - 4px)}.t-pagination.t-size-s .t-pagination__total{font:var(--td-font-body-small)}.t-pagination.t-size-s .t-pagination__select{height:var(--td-comp-size-xs);font-size:var(--td-font-size-body-small)}.t-pagination.t-size-s .t-pagination__number{border:0 none;height:var(--td-comp-size-xs);min-width:var(--td-comp-size-xs);line-height:var(--td-comp-size-xs);font-size:var(--td-font-body-small);padding-left:var(--td-comp-paddingLR-xxs);padding-right:var(--td-comp-paddingLR-xxs)}.t-pagination.t-size-s .t-pagination__number:hover:not(.t-pagination.t-size-s .t-pagination__number.t-is-current){color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination.t-size-s .t-pagination__number:active:not(.t-pagination.t-size-s .t-pagination__number.t-is-current){color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination.t-size-s .t-pagination__number.t-is-disabled{background:none;color:var(--td-text-color-disabled)}.t-pagination.t-size-s .t-pagination__number.t-is-current.t-is-disabled{background-color:var(--td-brand-color-focus);color:var(--td-text-color-anti);border-color:var(--td-brand-color-focus)}.t-pagination.t-size-s .t-pagination__btn{border:0 none;background:none;width:var(--td-comp-size-xs);height:var(--td-comp-size-xs);line-height:var(--td-comp-size-xs)}.t-pagination.t-size-s .t-pagination__btn:hover{background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination.t-size-s .t-pagination__btn:active{background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination.t-size-s .t-pagination__btn.t-is-disabled,.t-pagination.t-size-s .t-pagination__btn.t-is-disabled:hover,.t-pagination.t-size-s .t-pagination__btn.t-is-disabled:active{background:none;color:var(--td-text-color-disabled)}.t-pagination-ie .t-select .t-input__inner{min-width:54px}.t-radio-group{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;align-items:center;width:fit-content;max-width:100%;border-radius:var(--td-radius-default);flex-wrap:wrap;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-radio-group::-webkit-scrollbar{width:4px;height:4px}.t-radio-group::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:7px}.t-radio-group::-webkit-scrollbar-thumb:vertical:hover,.t-radio-group::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-radio-group .t-radio{margin-right:var(--td-comp-margin-xxl)}.t-radio-group.t-radio-group__outline{flex-wrap:wrap;row-gap:var(--td-comp-margin-xs)}.t-radio-group.t-radio-group__outline.t-size-s .t-radio-button{height:var(--td-comp-size-xs)}.t-radio-group.t-radio-group__outline.t-size-m .t-radio-button{height:var(--td-comp-size-m)}.t-radio-group.t-radio-group__outline.t-size-l .t-radio-button{height:var(--td-comp-size-xl)}.t-radio-group.t-radio-group__outline .t-radio-button:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-radio-group.t-radio-group__outline .t-radio-button:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-radio-group.t-radio-group__outline .t-radio-button.t-is-checked{color:var(--td-brand-color)}.t-radio-group.t-radio-group__outline .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-brand-color-disabled);border-color:var(--td-brand-color-disabled);background-color:var(--td-bg-color-specialcomponent)}.t-radio-group.t-radio-group--filled{border-color:var(--td-bg-color-component);padding:var(--td-comp-paddingTB-xxs) var(--td-comp-paddingLR-xxs);border-radius:var(--td-radius-default);background-color:var(--td-bg-color-component);position:relative}.t-radio-group.t-radio-group--filled .t-radio-group__bg-block{position:absolute;left:2px;top:2px;width:0;height:calc(100% - 4px);background-color:var(--td-bg-color-container-select);transition:all .2s cubic-bezier(.38,0,.24,1);border-radius:var(--td-radius-small)}.t-radio-group.t-radio-group--filled .t-radio-button{color:var(--td-text-color-secondary);border:0;background-color:transparent}.t-radio-group.t-radio-group--filled .t-radio-button:hover{color:var(--td-text-color-primary)}.t-radio-group.t-radio-group--filled .t-radio-button:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:calc(100% - 16px);background-color:var(--td-component-border);transition:opacity .2s cubic-bezier(0,0,.15,1)}.t-radio-group.t-radio-group--filled .t-radio-button:first-child:before{opacity:0}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-checked{position:relative;color:var(--td-text-color-primary);z-index:1;border:0;transition:color .2s linear}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-checked:before{opacity:0}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-checked+label:before{opacity:0}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-disabled{background-color:transparent}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-text-color-disabled)}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-disabled.t-is-checked~.t-radio-group__bg-block{background-color:var(--td-bg-color-component-disabled)}.t-radio-group.t-radio-group--primary-filled .t-radio-group__bg-block{background-color:var(--td-brand-color)}.t-radio-group.t-radio-group--primary-filled .t-radio-button.t-is-checked,.t-radio-group.t-radio-group--primary-filled .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-text-color-anti)}.t-radio-group.t-radio-group--primary-filled .t-radio-button.t-is-disabled.t-is-checked~.t-radio-group__bg-block{background-color:var(--td-brand-color-disabled)}.t-radio-group.t-size-s .t-radio-button{height:calc(var(--td-comp-size-xs) - (var(--td-comp-paddingTB-xxs) * 2));padding:0px var(--td-comp-paddingLR-s);font:var(--td-font-body-small)}.t-radio-group.t-size-s .t-radio-button:before{height:calc(100% - 16px)}.t-radio-group.t-size-m .t-radio-button{height:calc(var(--td-comp-size-m) - (var(--td-comp-paddingTB-xxs) * 2));padding:var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-l);font:var(--td-font-body-medium)}.t-radio-group.t-size-m .t-radio-button:before{height:calc(100% - 20px)}.t-radio-group.t-size-l .t-radio-button{height:calc(var(--td-comp-size-xl) - (var(--td-comp-paddingTB-xxs) * 2));padding:var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-xl);font:var(--td-font-body-large)}.t-radio-group.t-size-l .t-radio-button:before{height:calc(100% - 24px)}.t-radio-group .t-radio-button{cursor:pointer;position:relative;border:1px solid;border-color:var(--td-border-level-2-color);border-right:0;display:inline-flex;align-items:center;transition:color .2s cubic-bezier(0,0,.15,1);color:var(--td-text-color-primary);white-space:nowrap;box-sizing:border-box}.t-radio-group .t-radio-button:first-child{border-radius:var(--td-radius-small) 0 0 var(--td-radius-small)}.t-radio-group .t-radio-button:last-child{border-right:1px solid;border-right-color:var(--td-border-level-2-color);border-radius:0 var(--td-radius-small) var(--td-radius-small) 0}.t-radio-group .t-radio-button__former{opacity:0;height:0;width:0;font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-radio-group .t-radio-button:hover{color:var(--td-brand-color)}.t-radio-group .t-radio-button.t-is-checked{border-right:1px solid;border-color:var(--td-brand-color);transition:border-color .2s cubic-bezier(0,0,.15,1)}.t-radio-group .t-radio-button.t-is-checked+.t-radio-button{border-left:0}.t-radio-group .t-radio-button.t-is-disabled{cursor:not-allowed;color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.t-radio-group .t-radio-button.t-is-disabled:hover{border-color:var(--td-border-level-2-color);color:var(--td-text-color-disabled)}.t-radio-group .t-radio-button.t-is-disabled:hover:after{width:0}.t-radio-group .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-text-color-disabled)}.t-radio-group .t-radio-button.t-is-disabled.t-is-checked:after{width:0}.t-radio{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;cursor:pointer;display:inline-block}.t-radio__former{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;opacity:0;position:absolute}.t-radio__input{position:relative;display:inline-block;width:16px;height:16px;vertical-align:middle;border-radius:var(--td-radius-circle);border:1px solid var(--td-border-level-2-color);background-color:var(--td-bg-color-container);transition:border .2s cubic-bezier(0,0,.15,1)}.t-radio__input:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;transform:scale(.5);opacity:0;border-radius:var(--td-radius-circle);background-color:var(--td-brand-color);transition:all .2s cubic-bezier(0,0,.15,1)}.t-radio__label{display:inline-block;margin-left:var(--td-comp-margin-s);color:var(--td-text-color-primary);vertical-align:middle;font:var(--td-font-body-medium);white-space:nowrap}.t-radio:hover .t-radio__input,.t-radio.t-is-checked .t-radio__input{border-color:var(--td-brand-color)}.t-radio.t-is-checked .t-radio__input:after{opacity:1}.t-radio.t-is-disabled{cursor:not-allowed}.t-radio.t-is-disabled .t-radio__label{color:var(--td-text-color-disabled)}.t-radio.t-is-disabled .t-radio__input{background-color:var(--td-bg-color-component-disabled)}.t-radio.t-is-disabled:hover .t-radio__input,.t-radio.t-is-disabled.t-is-checked .t-radio__input{border-color:var(--td-border-level-2-color)}.t-radio.t-is-disabled.t-is-checked .t-radio__input:after{background-color:var(--td-text-color-disabled)}.t-radio:focus-visible:focus-visible{outline:2px solid var(--td-brand-color);outline-offset:var(--td-comp-paddingTB-xs);border-radius:0}.t-textarea{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;width:100%}.t-textarea__inner{display:flex;width:100%;height:var(--td-comp-size-xxxl);min-height:var(--td-comp-size-xxxl);border:1px solid var(--td-border-level-2-color);border-radius:var(--td-radius-default);padding:calc(calc(var(--td-comp-size-m) - var(--td-line-height-body-medium)) / 2) var(--td-comp-paddingLR-s);background-color:var(--td-bg-color-specialcomponent);font:var(--td-font-body-medium);color:var(--td-text-color-primary);resize:vertical;outline:none;transition:all cubic-bezier(.38,0,.24,1) .2s,height 0s;box-sizing:border-box}.t-textarea__inner:hover{border-color:var(--td-brand-color)}.t-textarea__inner:focus{border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus)}.t-textarea__inner::placeholder{color:var(--td-text-color-placeholder)}.t-textarea__inner.t-is-success{border-color:var(--td-success-color)}.t-textarea__inner.t-is-success:focus{box-shadow:0 0 0 2px var(--td-success-color-focus)}.t-textarea__inner.t-is-warning{border-color:var(--td-warning-color)}.t-textarea__inner.t-is-warning:focus{box-shadow:0 0 0 2px var(--td-warning-color-focus)}.t-textarea__inner.t-is-error{border-color:var(--td-error-color)}.t-textarea__inner.t-is-error:focus{box-shadow:0 0 0 2px var(--td-error-color-focus)}.t-textarea__info_wrapper{display:flex;column-gap:var(--td-comp-margin-s);justify-content:space-between}.t-textarea__info_wrapper_align{justify-content:end}.t-textarea__limit{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}.t-textarea .t-is-disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled);cursor:not-allowed}.t-textarea .t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-textarea .t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-textarea .t-resize-none{resize:none}.t-textarea__tips{height:auto;min-height:var(--td-comp-size-xs);font:var(--td-font-body-small);display:inline-block}.t-textarea__tips--normal{color:var(--td-text-color-placeholder)}.t-textarea__tips--success{color:var(--td-success-color)}.t-textarea__tips--warning{color:var(--td-warning-color)}.t-textarea__tips--error{color:var(--td-error-color)}@keyframes tDialogZoomIn{0%{opacity:0;transform:scale(.01)}to{opacity:1}}@keyframes tDialogZoomOut{0%{opacity:1}to{opacity:0;transform:scale(.01)}}@keyframes tDialogMaskIn{0%{opacity:0}to{opacity:1}}@keyframes tDialogMaskOut{0%{opacity:1}to{opacity:0}}.t-dialog-zoom .animation-enter{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-zoom .animation-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.38,0,.24,1);animation-play-state:paused}.t-dialog-zoom .animation-active{animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom-enter,.t-dialog-zoom-enter-from,.t-dialog-zoom-appear{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-zoom-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.38,0,.24,1);animation-play-state:paused}.t-dialog-zoom-enter-active,.t-dialog-zoom-appear-active{animation-name:tDialogZoomIn;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom-exit-active{animation-name:tDialogZoomOut;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom__vue-enter-active .t-dialog{animation-name:tDialogZoomIn;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-zoom__vue-enter-active .t-dialog__mask{animation-name:tDialogMaskIn;animation-duration:.2s;animation-timing-function:linear;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom__vue-leave-active .t-dialog{animation-name:tDialogZoomOut;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.38,0,.24,1);animation-play-state:paused}.t-dialog-zoom__vue-leave-active .t-dialog__mask{animation-name:tDialogMaskOut;animation-duration:.2s;animation-timing-function:linear;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom__vue-enter-to .t-dialog,.t-dialog-zoom__vue-leave-to .t-dialog{animation-play-state:running;animation-fill-mode:both}.t-dialog-fade-enter,.t-dialog-fade-appear{opacity:0;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-fade-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-fade-enter.t-dialog-fade-enter-active,.t-dialog-fade-appear.t-dialog-fade-appear-active{animation-name:tDialogFadeIn;animation-play-state:running}.t-dialog-fade-exit.t-dialog-fade-exit-active{animation-name:tDialogFadeOut;animation-play-state:running}@keyframes tDialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tDialogFadeOut{0%{opacity:1}to{opacity:0}}.t-dialog{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;width:480px;background-color:var(--td-bg-color-container);position:relative;border:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-large)}.t-dialog .t-icon.t-is-info{color:var(--td-brand-color)}.t-dialog .t-icon.t-is-success{color:var(--td-success-color)}.t-dialog .t-icon.t-is-warning{color:var(--td-warning-color)}.t-dialog .t-icon.t-is-error{color:var(--td-error-color)}.t-dialog--lock{overflow:hidden}.t-dialog__header{color:var(--td-text-color-primary);font:var(--td-font-title-medium);font-weight:600;display:flex;align-items:center;word-break:break-word;gap:var(--td-comp-margin-s);box-sizing:border-box}.t-dialog__header .t-dialog__header-content{display:flex;align-items:flex-start;width:100%}.t-dialog__header .t-icon:not(.t-icon-close){font-size:calc(var(--td-font-size-body-large) + 8px);display:inline-flex;align-items:center;margin-right:var(--td-comp-margin-s);flex-shrink:0}.t-dialog__header--fullscreen{background-color:var(--td-bg-color-secondarycontainer);min-height:var(--td-comp-size-xxxl);justify-content:flex-end;display:flex;align-items:center;flex-direction:row;padding:0 var(--td-comp-paddingLR-xxl)}.t-dialog__header--fullscreen .t-dialog__header-content{box-sizing:border-box;display:flex;justify-content:center;align-items:center}.t-dialog__body{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin;color:var(--td-text-color-secondary);font:var(--td-font-body-medium);overflow:auto;padding:var(--td-comp-paddingTB-l) 0;word-break:break-word}.t-dialog__body::-webkit-scrollbar{width:6px;height:6px}.t-dialog__body::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-dialog__body::-webkit-scrollbar-thumb:vertical:hover,.t-dialog__body::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-dialog__body__icon,.t-dialog__body--icon{padding:var(--td-comp-paddingTB-l) 0}.t-dialog__body--fullscreen{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin;box-sizing:border-box;padding:var(--td-comp-paddingTB-xl) var(--td-comp-paddingLR-xxl);height:calc(100% - var(--td-comp-size-xxxl) - var(--td-comp-size-xxxxl));overflow:auto}.t-dialog__body--fullscreen::-webkit-scrollbar{width:6px;height:6px}.t-dialog__body--fullscreen::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-dialog__body--fullscreen::-webkit-scrollbar-thumb:vertical:hover,.t-dialog__body--fullscreen::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-dialog__body--fullscreen--without-footer{box-sizing:border-box;padding:var(--td-comp-paddingTB-xl) var(--td-comp-paddingLR-xxl);height:calc(100% - var(--td-comp-size-xxxl));overflow:auto}.t-dialog__footer{width:100%;text-align:right;padding:var(--td-comp-paddingTB-l) 0 0}.t-dialog__footer .t-button+.t-button{margin-left:var(--td-comp-margin-s)}.t-dialog__footer--fullscreen{min-height:var(--td-comp-size-xxxxl);padding:0 var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);box-sizing:border-box}.t-dialog--default{padding:var(--td-comp-paddingTB-xxl) var(--td-comp-paddingLR-xxl)}.t-dialog__close{font-size:calc(var(--td-font-size-body-large) + 4px);color:var(--td-text-color-secondary);display:flex;width:calc(var(--td-font-size-body-large) + 4px);height:calc(var(--td-font-size-body-large) + 4px);align-items:center;border-radius:var(--td-radius-default);transition:all .2s linear;padding:var(--td-comp-paddingTB-xxs) var(--td-comp-paddingLR-xxs)}.t-dialog__close:hover{cursor:pointer;background:var(--td-bg-color-container-hover)}.t-dialog__close:active{background:var(--td-bg-color-container-active)}.t-dialog__close--fullscreen{display:flex;background:transparent}.t-dialog__close--fullscreen:hover{cursor:pointer;background:var(--td-bg-color-secondarycontainer-hover)}.t-dialog__close--fullscreen:active{background:var(--td-bg-color-secondarycontainer-active)}.t-dialog.t-dialog--draggable:hover{cursor:move}.t-dialog.t-dialog--draggable .t-dialog__header:hover,.t-dialog.t-dialog--draggable .t-dialog__body:hover,.t-dialog.t-dialog--draggable .t-dialog__footer:hover{cursor:auto}.t-dialog__fullscreen{width:100%;border-radius:0}.t-dialog__ctx{pointer-events:auto;outline:none;top:0;left:0;width:100%;height:100%}.t-dialog__ctx.t-dialog__ctx--modeless{pointer-events:none}.t-dialog__ctx.t-dialog__ctx--fixed{position:fixed;z-index:2500}.t-dialog__ctx.t-dialog__ctx--absolute,.t-dialog__ctx.t-dialog__ctx--absolute .t-dialog__mask,.t-dialog__ctx.t-dialog__ctx--absolute .t-dialog__wrap{position:absolute}.t-dialog__ctx.t-is-visable{visibility:visible}.t-dialog__ctx.t-is-hidden{visibility:hidden}.t-dialog__ctx.t-is-display{display:block}.t-dialog__ctx.t-not-display{display:none}.t-dialog__ctx .t-dialog__mask{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;background:var(--td-mask-active);pointer-events:auto}.t-dialog__ctx .t-dialog__wrap{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar{width:8px;height:8px}.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:15px}.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar-thumb:vertical:hover,.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-dialog__ctx .t-dialog__position{display:flex;justify-content:center;min-height:100%;width:100%;position:relative;padding:48px 0;box-sizing:border-box}.t-dialog__ctx .t-dialog__position.t-dialog--top{align-items:flex-start;padding-top:20vh}.t-dialog__ctx .t-dialog__position.t-dialog--center{align-items:center}.t-dialog__ctx .t-dialog__position_fullscreen{display:flex;justify-content:center;min-height:100%;width:100%;position:relative;box-sizing:border-box}.t-dialog__ctx .t-is-hidden{background:none}.t-dialog__ctx .t-dialog{pointer-events:auto;z-index:2500}.t-progress{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-progress__inner{position:relative;height:100%;background:var(--td-brand-color);border-radius:var(--td-radius-round);transition:all .2s cubic-bezier(.38,0,.24,1)}.t-progress__info{margin-left:var(--td-comp-margin-s);color:var(--td-text-color-primary);white-space:nowrap;display:inline-flex}.t-progress__icon{font-size:calc(var(--td-font-size-body-medium) + 2px)}.t-progress__bar{width:100%;height:var(--td-size-3);overflow:hidden;background:var(--td-bg-color-component);border-radius:var(--td-radius-round)}.t-progress--thin{display:flex;justify-content:space-between;align-items:center}.t-progress--plump{height:var(--td-comp-size-xxs);border-radius:calc(var(--td-comp-size-xxs) / 2);display:flex;align-items:center}.t-progress--plump .t-progress__info{font-size:var(--td-font-size-body-small)}.t-progress--over-ten .t-progress__info{position:absolute;top:50%;z-index:10;right:var(--td-comp-margin-s);color:var(--td-text-color-anti);transform:translateY(-50%)}.t-progress--under-ten .t-progress__info,.t-progress--under-ten .t-progress__inner{display:inline-block}.t-progress--under-ten .t-progress__info{vertical-align:top}.t-progress--circle{position:relative}.t-progress--circle .t-progress__info{position:absolute;display:block;top:50%;left:50%;width:100%;margin:0;font-size:inherit;font-weight:600;line-height:1;text-align:center;transform:translate(-50%,-50%)}.t-progress--circle .t-progress__circle-outer{stroke:var(--td-bg-color-component)}.t-progress--circle .t-progress__circle-inner{stroke:var(--td-brand-color);transition:all .2s cubic-bezier(.38,0,.24,1)}.t-progress--circle .t-progress__icon{font-size:2.4em}.t-progress--status--active .t-progress__inner:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";animation:progress-active-animation 2s cubic-bezier(.23,.99,.86,.2) infinite;background:var(--td-text-color-anti);opacity:.2}.t-progress--status--success .t-progress__inner{background:var(--td-success-color)}.t-progress--status--success .t-progress__circle-inner{stroke:var(--td-success-color)}.t-progress--status--success .t-progress__icon{color:var(--td-success-color)}.t-progress--status--warning .t-progress__inner{background:var(--td-warning-color)}.t-progress--status--warning .t-progress__circle-inner{stroke:var(--td-warning-color)}.t-progress--status--warning .t-progress__icon{color:var(--td-warning-color)}.t-progress--status--error .t-progress__inner{background:var(--td-error-color)}.t-progress--status--error .t-progress__circle-inner{stroke:var(--td-error-color)}.t-progress--status--error .t-progress__icon{color:var(--td-error-color)}@keyframes progress-active-animation{0%{width:0;opacity:.1}35%{width:50%;opacity:.4}to{width:100%;opacity:0}}.scrollbar{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.scrollbar::-webkit-scrollbar{width:6px;height:6px}.scrollbar::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.scrollbar::-webkit-scrollbar-thumb:vertical:hover,.scrollbar::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.scrollbar.t-table__affixed-footer-elm::-webkit-scrollbar-track,.scrollbar.t-table__scrollbar--obvious::-webkit-scrollbar-track{background:var(--td-scroll-track-color)}.t-table__affixed-footer-wrap>.scrollbar.t-table__affixed-footer-elm::-webkit-scrollbar-thumb,.t-table--width-overflow.t-table--footer-affixed .t-table__content::-webkit-scrollbar-thumb,.t-table--width-overflow.t-table--horizontal-bar-affixed .t-table__content::-webkit-scrollbar-thumb{background:transparent}.t-table.t-table--overflow-visible{overflow:initial}.t-table{box-sizing:border-box;margin:0;padding:0;list-style:none;width:100%;font:var(--td-font-body-medium);color:var(--td-text-color-primary);background-color:var(--td-bg-color-container);position:relative}.t-table:focus-visible{outline:none}.t-table .t-loading--full{z-index:72}.t-table.t-vertical-align-top th,.t-table.t-vertical-align-top td{vertical-align:top}.t-table.t-vertical-align-middle th,.t-table.t-vertical-align-middle td{vertical-align:middle}.t-table.t-vertical-align-bottom th,.t-table.t-vertical-align-bottom td{vertical-align:bottom}.t-table .t-table__resize-line{display:none;position:absolute;left:10px;width:0;border-left:1px solid var(--td-component-border);z-index:1001}.t-table__column-controller-trigger.t-align-top-right,.t-table__column-controller-trigger.t-align-bottom-right{text-align:right}.t-table__column-controller-trigger{padding:var(--td-comp-paddingTB-l) 0}.t-table__column-controller-item:not(:last-child){margin-bottom:var(--td-comp-margin-l)}.t-table__content{position:relative;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-table__content::-webkit-scrollbar{width:6px;height:6px}.t-table__content::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-table__content::-webkit-scrollbar-thumb:vertical:hover,.t-table__content::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-table__pagination{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);box-sizing:border-box}.t-table .t-icon{font-size:var(--td-font-size-body-large)}.t-table table{width:100%;border-spacing:0}.t-table .t-text-ellipsis{line-height:var(--td-line-height-body-medium);white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-table th,.t-table td{position:relative;padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);border-bottom:1px solid var(--td-component-border);line-height:var(--td-line-height-body-medium);font-weight:400;overflow-wrap:break-word;background-color:inherit;box-sizing:border-box;text-align:left}.t-table th.t-table__th-drag{padding:0;height:0;text-align:center}.t-table thead td,.t-table th{color:var(--td-text-color-placeholder)}.t-table td[key=row-select]{padding:13px 0 11px var(--td-comp-paddingLR-l)}.t-table td.t-align-left,.t-table th.t-align-left{text-align:left}.t-table td.t-align-right,.t-table th.t-align-right{text-align:right}.t-table td.t-align-center,.t-table th.t-align-center{text-align:center}.t-table tr{background-color:var(--td-bg-color-container)}.t-table.t-size-s th,.t-table.t-size-s td{padding:var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s)}.t-table.t-size-l th,.t-table.t-size-l td{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-xl)}.t-table .t-table__expandable-icon-cell,.t-table .t-table__selection-cell{padding:0;height:0}.t-table td.t-table__handle-draggable{text-align:center;height:0;padding:0}.t-table .t-table__cell--selectable>.t-checkbox{vertical-align:middle}.t-table .t-table__cell--selectable+td,.t-table .t-table__cell--selectable+th{padding-left:0}.t-table--bordered td,.t-table--bordered th{border-left:1px solid var(--td-component-border)}.t-table--bordered td.t-table__cell--fixed-left-last:before,.t-table--bordered th.t-table__cell--fixed-left-last:before{border-right:1px solid var(--td-component-border)}.t-table--bordered th:first-child,.t-table--bordered td.t-table__td-first-col{border-left-width:0}.t-table--bordered:not(.t-table--rowspan-colspan) td:first-child{border-left-width:0}.t-table--bordered .t-table__content{border-left:1px solid var(--td-component-border)}.t-table--bordered .t-table__content::-webkit-scrollbar-corner{background-color:transparent}.t-table--bordered .t-table__content{border:1px solid var(--td-component-border);border-radius:var(--td-radius-default)}.t-table--bordered .t-table--loading{border-bottom:1px solid var(--td-component-border)}.t-table--bordered .t-table__pagination{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l)}.t-table--bordered .t-table__bottom-content+.t-table__pagination{padding:0}.t-table--bordered.t-table__header--fixed .t-table__content{border-bottom:1px solid var(--td-component-border)}.t-table--bordered .t-table__td-last-row{border-bottom:none}.t-table--striped:not(.t-table--bordered) th,.t-table--striped:not(.t-table--bordered) td{border-bottom:none}.t-table--striped.t-table--header-fixed>.t-table__content>table>tbody tr:nth-of-type(2n){background-color:var(--td-bg-color-secondarycontainer)}.t-table--striped:not(.t-table--header-fixed)>.t-table__content>table>tbody>tr:nth-of-type(odd):not(.t-table__expanded-row){background-color:var(--td-bg-color-secondarycontainer)}.t-table--striped.t-table--hoverable.t-table__header--fixed tbody tr:nth-of-type(2n):hover{background-color:var(--td-bg-color-secondarycontainer-hover)}.t-table--striped.t-table--hoverable:not(.t-table__header--fixed)>.t-table__content>table>tbody tr:nth-of-type(odd):hover{background-color:var(--td-bg-color-secondarycontainer-hover)}.t-table--striped.t-table--hoverable>.t-table__content>table>tbody tr{transition:background-color .2s linear}.t-table--striped.t-table--hoverable>.t-table__content>table>tbody tr:hover{background-color:var(--td-bg-color-container-hover)}.t-table--hoverable tbody tr{transition:background-color .2s linear}.t-table--hoverable tbody tr:hover{background-color:var(--td-bg-color-container-hover)}.t-table.t-table--align-top tbody td{vertical-align:top}.t-table .t-table__cell--highlight{background-color:var(--td-bg-color-secondarycontainer)}.t-table__header--fixed table{table-layout:fixed}.t-table__header--fixed th,.t-table__header--fixed td{overflow-wrap:break-word}.t-table__header--fixed.t-table__header,.t-table__header--fixed .t-table__header{width:fit-content;position:relative;z-index:5}.t-table__header--fixed .t-table__header{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-table__header--fixed .t-table__header::-webkit-scrollbar{width:6px;height:6px}.t-table__header--fixed .t-table__header::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-table__header--fixed .t-table__header::-webkit-scrollbar-thumb:vertical:hover,.t-table__header--fixed .t-table__header::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-table__header--fixed .t-table__body{overflow-y:auto;width:fit-content;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-table__header--fixed .t-table__body::-webkit-scrollbar{width:6px;height:6px}.t-table__header--fixed .t-table__body::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-table__header--fixed .t-table__body::-webkit-scrollbar-thumb:vertical:hover,.t-table__header--fixed .t-table__body::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-table:not(.t-table--bordered) .t-table__cell--selectable+td,.t-table:not(.t-table--bordered) .t-table__cell--selectable+th{padding-left:0}.t-table__cell--fixed.t-table__header--fixed .t-table__header{overflow:hidden;width:100%}.t-table__cell--fixed.t-table__header--fixed .t-table__header .t-table__cell--fixed-left:last-child:after,.t-table__cell--fixed.t-table__header--fixed .t-table__header .t-table__cell--fixed-right:last-child:after{content:"";position:absolute;right:-6px;width:6px;height:100%;top:0;background-color:var(--td-bg-color-secondarycontainer)}.t-table__cell--fixed.t-table__header--fixed .t-table__body{overflow:auto scroll}.t-table__cell--fixed .t-table__content{overflow:auto hidden}.t-table__cell--fixed table{table-layout:fixed;min-width:100%}.t-table__cell--fixed th,.t-table__cell--fixed td{position:relative}.t-table__cell--fixed .t-table__cell--fixed-left-last:before{z-index:-1;background-color:inherit}.t-table__cell--fixed .t-table__cell--fixed-left-last:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table__cell--fixed .t-table__cell--fixed-left-last:after{right:0;transform:translate(100%)}.t-table__cell--fixed .t-table__cell--fixed-right-first:before{z-index:-1;background-color:inherit}.t-table__cell--fixed .t-table__cell--fixed-right-first:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table__cell--fixed .t-table__cell--fixed-right-first:after{left:0;transform:translate(-100%)}.t-table .t-table__cell-resizable{position:relative}.t-table .t-table__cell-resizable .t-table__cell--resizer{position:absolute;top:0;right:-5px;bottom:0;z-index:10;width:10px;cursor:col-resize}.t-table .t-table__row--disabled{color:var(--td-text-color-disabled)}.t-table .t-table__row--active{background-color:var(--td-brand-color-light)}.t-table .t-table__cell--title{display:flex;align-items:center}.t-table__column-controller-desc{margin-bottom:var(--td-comp-margin-xxl)}.t-table__column-controller-block{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);border:1px solid var(--td-component-border);border-bottom:1px solid var(--td-component-border)}.t-table__column-controller-block+.t-table__column-controller-block{border-top:0;padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);border-bottom:1px solid var(--td-component-border)}.t-table__column-controller--fixed .t-checkbox{width:108px}.t-table.t-table--hoverable .t-table__row--active:hover,.t-table.t-table--hoverable.t-table__row--active-multiple .t-table__row--active.t-table__row--hover{background-color:var(--td-brand-color-light-hover)}.t-table.t-table--row-expandable tbody>tr.t-table__row--hover:not(.t-table.t-table--row-expandable tbody>tr.t-table__row--active),.t-table.t-table--row-select tbody>tr.t-table__row--hover:not(.t-table.t-table--row-expandable tbody>tr.t-table__row--active),.t-table.t-table__row--active-multiple tbody>tr.t-table__row--hover:not(.t-table.t-table--row-expandable tbody>tr.t-table__row--active),.t-table.t-table--row-expandable tbody>tr.t-table__row--hover:not(.t-table.t-table--row-select tbody>tr.t-table__row--active),.t-table.t-table--row-select tbody>tr.t-table__row--hover:not(.t-table.t-table--row-select tbody>tr.t-table__row--active),.t-table.t-table__row--active-multiple tbody>tr.t-table__row--hover:not(.t-table.t-table--row-select tbody>tr.t-table__row--active),.t-table.t-table--row-expandable tbody>tr.t-table__row--hover:not(.t-table.t-table__row--active-multiple tbody>tr.t-table__row--active),.t-table.t-table--row-select tbody>tr.t-table__row--hover:not(.t-table.t-table__row--active-multiple tbody>tr.t-table__row--active),.t-table.t-table__row--active-multiple tbody>tr.t-table__row--hover:not(.t-table.t-table__row--active-multiple tbody>tr.t-table__row--active){background-color:var(--td-bg-color-container-hover)}.t-table--bordered .t-table__cell--sortable .t-table__cell--title,.t-table--bordered .t-table__cell--filterable .t-table__cell--title{justify-content:space-between}.t-table th.t-align-right .t-table__cell--title{justify-content:flex-end}.t-table__cell--sort-trigger{text-align:center;vertical-align:text-bottom}.t-table__cell--sort-trigger svg{vertical-align:initial}.t-table--loading{position:relative}.t-table--loading-progressbar{overflow:hidden;position:absolute;top:0;left:0;height:1px;background-color:var(--td-brand-color);animation:tTableProgressbar 2s ease-in-out;animation-fill-mode:both}.t-table--loading-message{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--td-text-color-placeholder)}.t-table__expanded-cell{padding-left:45px}.t-table__async-loading{text-align:center}.t-table__async-loading.t-is-load-more{cursor:pointer}.t-table__empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--td-text-color-disabled)}.t-table__filter-icon,.t-table__sort-icon{align-items:center;background-color:transparent;display:inline-flex;cursor:pointer;vertical-align:text-bottom;transition:.2s linear}.t-table__filter-icon>svg,.t-table__sort-icon>svg{margin-top:0}.t-table__sort-icon .t-is-focus,.t-table__sort-icon.t-is-focus,.t-table__sort-icon:hover{color:var(--td-brand-color);border-radius:var(--td-radius-circle);transition:.2s linear}.t-table__filter-icon .t-is-focus,.t-table__filter-icon.t-is-focus,.t-table__filter-icon:hover{color:var(--td-brand-color);transition:.2s linear}.t-table__filter-pop .t-popup__content{padding:0}.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-inner{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l)}.t-table__filter-pop .t-table__filter-pop-content .t-radio-group{display:block;height:auto}.t-table__filter-pop .t-table__filter-pop-content .t-checkbox-group{display:block}.t-table__filter-pop .t-table__filter-pop-content .t-checkbox,.t-table__filter-pop .t-table__filter-pop-content .t-radio{display:block;margin:var(--td-comp-margin-xs) 0}.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-button{border-top:1px solid var(--td-component-border);padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l)}.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-button .t-button+.t-button{margin-left:var(--td-comp-margin-l)}.t-table__filter-pop-content-inner>.t-input__wrap{width:200px}.t-table__filter-pop-content-inner>.t-date-range-picker__panel{margin:calc(0px - var(--td-comp-margin-l))}.t-table__sort-icon--active{color:var(--td-brand-color);transition:.2s linear}.t-table__double-icons{display:flex;flex-direction:column;justify-content:center}.t-table__double-icons .t-table__sort-icon{position:relative}.t-table__double-icons .t-table-sort-asc{top:var(--td-comp-margin-xxs)}.t-table__double-icons .t-table-sort-desc{bottom:var(--td-comp-margin-xxs)}.t-table__filter-icon-wrap{display:flex;align-items:center;pointer-events:all;height:var(--td-font-size-body-large);width:var(--td-font-size-body-large);margin-left:var(--td-comp-margin-s)}.t-table--bordered .t-table__filter-icon-wrap{justify-content:flex-end}.t-table--bordered .t-table__cell--sortable.t-table__cell--filterable .t-table__filter-icon-wrap{justify-content:space-between;flex:1}.t-table .t-align-center .t-table__cell--sortable,.t-table .t-align-center .t-table__cell--filterable{display:flex;justify-content:space-around}.t-table__expand-box{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--td-text-color-placeholder);cursor:pointer;transition:all .2s cubic-bezier(.38,0,.24,1) 0s}.t-table__expand-box:hover{color:var(--td-brand-color);transition:.2s linear}@keyframes tTableProgressbar{0%{width:0}to{width:100%}}.t-table__th-row-select .t-table__th-cell-inner{display:inline-flex;align-items:center}.t-table-expandable-icon-cell+.t-table__cell--selectable[key=row-select]{padding-left:var(--td-comp-margin-s)}.t-table__filter--bottom-buttons{display:flex;justify-content:flex-end;padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);border-top:1px solid var(--td-component-border)}.t-table__filter--bottom-buttons>.t-button+.t-button{margin-left:var(--td-comp-margin-s)}.t-table__row-filter-inner{position:sticky;left:0;text-align:center}.t-table__filter-result{display:flex;align-items:center;justify-content:center}.t-table__filter-result>.t-button{margin-left:var(--td-comp-margin-s)}.t-table--layout-fixed{table-layout:fixed}.t-table--layout-auto{table-layout:auto}.t-table__ellipsis{white-space:nowrap;width:100%}.t-table__content{overflow:auto}.t-table__content--scrollable-to-left .t-table__cell--fixed-left-last:after{border-right:2px solid var(--td-component-border)}.t-table__content--scrollable-to-right .t-table__cell--fixed-right-first:after{border-left:2px solid var(--td-component-border)}.t-table--bordered.t-table__content--scrollable-to-left .t-table__cell--fixed-left-last:after{border-right:4px solid var(--td-component-border)}.t-table--bordered.t-table__content--scrollable-to-right .t-table__cell--fixed-right-first:after{border-left:4px solid var(--td-component-border)}.t-table__scroll-bar-divider{position:absolute;bottom:0;right:0;height:100%;border-right:1px solid var(--td-component-border);z-index:71}.t-table__footer,.t-table__header.t-table__header--fixed{position:sticky;z-index:50}.t-table:not(.t-table--striped) .t-table__footer>tr{background-color:var(--td-bg-color-secondarycontainer)}.t-table__header--fixed:not(.t-table__header--multiple)>tr>th{background-color:var(--td-bg-color-secondarycontainer)}.t-table__row--fixed-top,.t-table__row--fixed-bottom{position:sticky;z-index:70}.t-table__row--fixed-bottom-first>td{border-top:1px solid var(--td-component-border)}.t-table--bordered .t-table__content .t-table__row--without-border-bottom>td{border-bottom:0}.t-table--bordered tbody>tr:last-child>td,.t-table--bordered tfoot>tr:last-child>td{border-bottom:0}.t-table--bordered tfoot>tr:first-child>td{border-top:1px solid var(--td-component-border)}.t-table__header.t-table__header--fixed{top:0}.t-table__footer.t-table__footer--fixed{bottom:0}.t-table--column-fixed .t-table__cell--fixed-left-last:before{z-index:-1;background-color:inherit}.t-table--column-fixed .t-table__cell--fixed-left-last:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table--column-fixed .t-table__cell--fixed-left-last:after{right:0;transform:translate(100%)}.t-table--column-fixed .t-table__cell--fixed-right-first:before{z-index:-1;background-color:inherit}.t-table--column-fixed .t-table__cell--fixed-right-first:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table--column-fixed .t-table__cell--fixed-right-first:after{left:0;transform:translate(-100%)}.t-table--column-fixed .t-table__cell--fixed-left,.t-table--column-fixed .t-table__cell--fixed-right{position:sticky}.t-table--column-fixed .t-table__cell--fixed-left{z-index:30}.t-table--column-fixed .t-table__cell--fixed-right{z-index:31}.t-table__empty-row>td{padding:0;border:0}.t-table:not(.t-table--bordered) .t-table__header.t-table--bordered>tr:first-child>th{border-top:1px solid var(--td-component-border)}.t-table--multiple-header .t-table__header th.t-table__header-th--bordered{border-left-width:1px}.t-table__header.t-table__header--multiple>tr{background-color:var(--td-bg-color-container)}.t-table__tree-op-icon{margin-right:var(--td-comp-margin-s);cursor:pointer;display:inline-flex;vertical-align:-3px}.t-table__tree-op-icon:hover{color:var(--td-brand-color);transition:.2s linear}.t-table__tree-leaf-node .t-table__tree-op-icon{min-width:0;margin-right:var(--td-comp-margin-xxs)}.t-table__virtual-scroll-cursor{position:absolute;width:1px;height:1px;transition:transform .2s}.t-table__virtual-scroll-header{position:absolute;z-index:51;left:0}.t-table__affixed-header-elm-wrap{overflow:hidden}.t-table__affixed-header-elm-wrap,.t-table__affixed-header-elm{position:absolute;left:0;z-index:51}.t-table__affixed-header-elm{overflow:auto;transition:opacity .2s linear;opacity:1}.t-table__affixed-footer-elm{overflow:auto;z-index:50}.t-table--bordered .t-table__affixed-header-elm{border:1px solid var(--td-component-border);border-bottom:0;border-right:0}.t-table--bordered .t-table__affixed-footer-elm{border-left:1px solid var(--td-component-border);border-bottom:1px solid var(--td-component-border)}.t-table--multiple-header.t-table--bordered .t-table__affixed-header-elm{border-right:0}.t-is-hidden{display:none}.t-positive-rotate-90{transform:rotate(90deg)}.t-negative-rotate-180{transform:rotate(180deg)}.t-table__expanded-row>td,.t-table__row--full>td{padding:0}.t-table__row-full-element{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l)}.t-table__row-full-inner{position:sticky;left:0}.t-table__row-full-inner:not(.t-table__empty){display:inline-block}.t-table__tree-col{display:flex;align-items:center}.t-table__tree-col--inline{display:inline}.t-table--full-height{height:100%}.t-table--loading .t-table__content{min-height:168px}.t-table__handle-draggable:hover,.t-table--row-draggable tr,.t-table__th--drag-sort{cursor:move}.t-table__ele--draggable-chosen{box-shadow:var(--td-shadow-1)}.t-table:not(.t-table--row-edit) .t-table__cell--editable{min-height:22px;line-height:var(--td-line-height-body-medium);cursor:pointer}.t-table:not(.t-table--row-edit) .t-table__cell--editable .t-icon{margin-left:var(--td-comp-margin-s);font-size:var(--td-font-size-body-large);transition:.2s linear;color:var(--td-text-color-placeholder)}.t-table:not(.t-table--row-edit) .t-table__cell--editable .t-icon:hover{color:var(--td-brand-color)}.t-table:not(.t-table--row-edit) .t-table__cell--editable:hover{transition:.2s linear}.t-affix .t-table__pagination{background-color:var(--td-bg-color-container)}.t-table--bordered .t-affix .t-table__pagination{border-top:1px solid var(--td-component-border)}.t-table__bottom-content+.t-table__pagination-wrap .t-table__pagination{border:0;padding:0}.t-table--column-resizable:not(.t-table--bordered) th{border-top:1px solid transparent}.t-table--column-resizable:not(.t-table--bordered) thead.t-table__header:hover th:not(:last-child){border-right:1px solid var(--td-component-border)}.t-table--column-resizable:not(.t-table--bordered) thead.t-table__header:hover th{border-top:1px solid var(--td-component-border)}.t-table--column-resizable:not(.t-table--bordered).t-table__content--scrollable-to-left.t-table__content--scrollable-to-right thead.t-table__header:hover .t-table__cell--fixed-left-last:not(:last-child),.t-table--column-resizable:not(.t-table--bordered).t-table__content--scrollable-to-left thead.t-table__header:hover .t-table__cell--fixed-left-last:not(:last-child){border-right:0}.t-table td.t-table__cell-check,.t-table th.t-table__cell-check{padding:0;height:0}.t-table td.t-table__cell-check .t-radio__label:empty,.t-table th.t-table__cell-check .t-radio__label:empty,.t-table td.t-table__cell-check .t-checkbox__label:empty,.t-table th.t-table__cell-check .t-checkbox__label:empty{display:none}.t-table .t-table__cell-check .t-radio,.t-table .t-table__cell-check .t-checkbox,.t-table .t-table__cell-check .t-table__th-cell-inner{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.t-table td .t-input__tips{position:initial}.t-table .t-table__sort-column{background-color:var(--td-bg-color-secondarycontainer)}.t-table__ellipsis-content.t-size-s .t-popup__content{font:var(--td-font-body-medium)}.t-table--chrome.t-table--multiple-header .t-table__affixed-header-elm{margin-top:1px}.t-collapse{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;border:solid 1px var(--td-component-border);border-bottom:0;background:var(--td-bg-color-container)}.t-collapse.t--border-less{border:none}.t-collapse.t--border-less .t-collapse-panel__header{border-bottom:none}.t-collapse.t--border-less .t-collapse-panel__body{background:var(--td-bg-color-container);border:none}.t-collapse-panel__icon{transition:all .2s cubic-bezier(.38,0,.24,1);cursor:pointer;display:flex;align-items:center;justify-content:center}.t-collapse-panel__icon>.t-fake-arrow{transform:rotate(-90deg);transition:all .2s cubic-bezier(.38,0,.24,1)}.t-collapse-panel__icon--left{margin-right:var(--td-comp-margin-s)}.t-collapse-panel__icon--right{margin-left:var(--td-comp-margin-s)}.t-collapse-panel__icon--active>.t-fake-arrow{transform:rotate(0)}.t-collapse-panel__icon:hover{background-color:var(--td-bg-color-container-hover);border-radius:var(--td-radius-small)}.t-collapse-panel__wrapper{overflow:hidden}.t-collapse-panel__wrapper .t-collapse-panel__header{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);border-bottom:solid 1px var(--td-component-border);font:var(--td-font-title-small);display:flex;align-items:center}.t-collapse-panel__wrapper .t-collapse-panel__header--blank{flex:1}.t-collapse-panel__wrapper .t-collapse-panel__header.t-is-clickable{cursor:pointer}.t-collapse-panel__wrapper .t-collapse-panel__header-left,.t-collapse-panel__wrapper .t-collapse-panel__header-right,.t-collapse-panel__wrapper .t-collapse-panel__header-right-content{display:flex}.t-collapse-panel__wrapper .t-collapse-panel__body{border-bottom:solid 1px var(--td-component-border);background:var(--td-bg-color-secondarycontainer);overflow:inherit}.t-collapse-panel__wrapper .t-collapse-panel__body--collapsed{border:none}.t-collapse-panel__wrapper .t-collapse-panel__content{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l) var(--td-comp-paddingTB-m) calc(var(--td-comp-paddingLR-l) + var(--td-comp-margin-xxl));color:var(--td-text-color-secondary)}.t-collapse-panel.t-is-disabled .t-collapse-panel__header{cursor:not-allowed;color:var(--td-text-color-disabled)}.t-collapse-panel.t-is-disabled .t-collapse-panel__icon{cursor:not-allowed;pointer-events:none}.t-collapse-panel.t-is-disabled .t-collapse-panel__body{background:var(--td-bg-color-component-disabled)}.t-collapse-panel.t-is-disabled .t-collapse-panel__content{color:var(--td-text-color-disabled)}.t-drawer-fade-enter,.t-drawer-fade-appear{opacity:0;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:linear;animation-play-state:paused}.t-drawer-fade-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:linear;animation-play-state:paused}.t-drawer-fade-enter.t-drawer-fade-enter-active,.t-drawer-fade-enter.t-drawer-fade-enter-active.t-drawer-fade-enter-to,.t-drawer-fade-appear.t-drawer-fade-appear-active,.t-drawer-fade-appear.t-drawer-fade-appear-active.t-drawer-fade-appear-to{animation-name:tDrawerFadeIn;animation-duration:.2s;animation-play-state:running}.t-drawer-fade-exit.t-drawer-fade-exit-active,.t-drawer-fade-leave-active.t-drawer-fade-leave-to{animation-name:tDrawerFadeOut;animation-duration:.2s;animation-play-state:running}@keyframes tDrawerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tDrawerFadeOut{0%{opacity:1}to{opacity:0}}.t-drawer{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:fixed;z-index:1500;width:100%;height:100%;pointer-events:none;overflow:hidden;outline:none}.t-drawer--lock{overflow:hidden}.t-drawer--attach{position:absolute}.t-drawer--left,.t-drawer--right{top:0}.t-drawer--left{left:0}.t-drawer--right{right:0}.t-drawer--top,.t-drawer--bottom{left:0}.t-drawer--top{top:0}.t-drawer--bottom{bottom:0}.t-drawer__mask{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--td-mask-active);transition:opacity .2s cubic-bezier(.38,0,.24,1);opacity:0}.t-drawer__content-wrapper{display:flex;flex-direction:column;background:var(--td-bg-color-container);width:16px;height:16px;font-size:var(--td-font-body-medium);color:var(--td-text-color-secondary);box-shadow:var(--td-shadow-2);overflow:hidden;pointer-events:auto;transition:transform .28s cubic-bezier(.38,0,.24,1),visibility .28s cubic-bezier(.38,0,.24,1);position:relative}.t-drawer .t-drawer__content-wrapper{position:absolute;width:100%;height:100%;visibility:hidden}.t-drawer .t-drawer__content-wrapper--left,.t-drawer .t-drawer__content-wrapper--right{top:0}.t-drawer .t-drawer__content-wrapper--left{left:0;transform:translate(-100%)}.t-drawer .t-drawer__content-wrapper--right{right:0;transform:translate(100%)}.t-drawer .t-drawer__content-wrapper--top,.t-drawer .t-drawer__content-wrapper--bottom{left:0}.t-drawer .t-drawer__content-wrapper--top{top:0;transform:translateY(-100%)}.t-drawer .t-drawer__content-wrapper--bottom{bottom:0;transform:translateY(100%)}.t-drawer__header{display:flex;align-items:center;min-height:var(--td-comp-size-xxxl);padding:0 var(--td-comp-paddingLR-l);font:var(--td-font-title-medium);color:var(--td-text-color-primary);border-bottom:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-small) var(--td-radius-small) 0 0;box-sizing:border-box}.t-drawer__body{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);overflow:auto;flex:1}.t-drawer__footer{width:100%;padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);text-align:left;border-top:1px solid var(--td-border-level-1-color);background-color:var(--td-bg-color-container);box-sizing:border-box}.t-drawer__footer .t-button{margin-left:var(--td-comp-margin-s)}.t-drawer__footer .t-button:first-child{margin-left:0}.t-drawer__close-btn{position:absolute;display:flex;justify-content:center;align-items:center;width:var(--td-comp-size-xs);height:var(--td-comp-size-xs);top:calc((var(--td-comp-size-xxxl) - var(--td-comp-size-xs)) / 2);right:var(--td-comp-margin-s);color:var(--td-text-color-primary);background-color:var(--td-bg-color-container);border-radius:var(--td-radius-default);cursor:pointer;transition:background-color .2s}.t-drawer__close-btn:hover{background-color:var(--td-bg-color-container-hover)}.t-drawer__close-btn:active{background-color:var(--td-bg-color-container-active)}.t-drawer__close-btn .t-icon{font-size:calc(var(--td-font-size-body-medium) + 2px);vertical-align:unset}.t-drawer--open{width:100%;height:100%;pointer-events:auto}.t-drawer--open>.t-drawer__content-wrapper{visibility:visible}.t-drawer--open>.t-drawer__mask{opacity:1;width:100%;height:100%}.t-drawer--without-mask{pointer-events:none}[tabindex="-1"]:focus{outline:none!important}.tianyiCloud[data-v-7196713c]{height:100%;display:flex;flex-direction:column}.tianyiCloud_option[data-v-7196713c]{display:flex;align-items:center;margin:0 0 20px}.tianyiCloud_option_time[data-v-7196713c]{margin-left:10px}.tianyiCloud_result[data-v-7196713c]{flex:1;overflow:auto}.baiduCloud[data-v-09a4b72c]{height:100%;display:flex;flex-direction:column}.baiduCloud_option_item[data-v-09a4b72c]:nth-of-type(2){margin:14px 0}.baiduCloud_result[data-v-09a4b72c]{flex:1;overflow:auto}.cloud115[data-v-c2f69db3]{height:100%;display:flex;flex-direction:column}.cloud115_option[data-v-c2f69db3]{display:flex;align-items:center;margin:0 0 20px}.cloud115_option_time[data-v-c2f69db3]{margin-left:10px}.cloud115_result[data-v-c2f69db3]{flex:1;overflow:auto}.cloud123[data-v-99bbe20d]{height:100%;display:flex;flex-direction:column}.cloud123_option[data-v-99bbe20d]{margin:0 0 10px}.cloud123_option_item[data-v-99bbe20d]{display:flex;align-items:center}.cloud123_option_item_title[data-v-99bbe20d]{display:inline-block;width:100px}.cloud123_result[data-v-99bbe20d]{flex:1;overflow:auto}.lanzouCloud[data-v-f7d1ff6d]{height:100%;display:flex;flex-direction:column}.lanzouCloud_option[data-v-f7d1ff6d]{margin:0 0 10px}.lanzouCloud_option_item[data-v-f7d1ff6d]{display:flex;align-items:center}.lanzouCloud_option_item_title[data-v-f7d1ff6d]{display:inline-block;width:100px}.lanzouCloud_result[data-v-f7d1ff6d]{flex:1;overflow:auto}.quarkCloud[data-v-7808626c]{height:100%;display:flex;flex-direction:column}.quarkCloud_option_item[data-v-7808626c]{display:flex;align-items:center}.quarkCloud_result[data-v-7808626c]{flex:1;overflow:auto}.cloud139[data-v-67f5c0e4]{height:100%;display:flex;flex-direction:column}.cloud139_option[data-v-67f5c0e4]{margin:0 0 10px}.cloud139_option_item[data-v-67f5c0e4]{display:flex;align-items:center}.cloud139_option_item_title[data-v-67f5c0e4]{display:inline-block;width:100px}.cloud139_result[data-v-67f5c0e4]{flex:1;overflow:auto}.xunCloud[data-v-3eced9d8]{height:100%;display:flex;flex-direction:column}.xunCloud_option_item[data-v-3eced9d8]{display:flex;align-items:center}.xunCloud_option_item_title[data-v-3eced9d8]{min-width:70px}.xunCloud_result[data-v-3eced9d8]{flex:1;overflow:auto}.aliCloud[data-v-cc7eb710]{height:100%;display:flex;flex-direction:column}.aliCloud_option_item[data-v-cc7eb710]{display:flex;align-items:center}.aliCloud_option_item_title[data-v-cc7eb710]{min-width:70px}.aliCloud_result[data-v-cc7eb710]{flex:1;overflow:auto} ');

(function (vue) {
  'use strict';

  function _defineProperty$3(obj, key2, value) {
    if (key2 in obj) {
      Object.defineProperty(obj, key2, {
        value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key2] = value;
    }
    return obj;
  }
  function ownKeys$1n(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1m(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1n(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1n(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  function camel2Kebab(camelString) {
    var covertArr = ["fillOpacity", "fillRule", "clipRule"];
    if (covertArr.includes(camelString)) {
      return camelString.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
    }
    return camelString;
  }
  function renderFn(node, props2) {
    var kebabAttrs = Object.keys(node.attrs).reduce((result, key2) => {
      result[camel2Kebab(key2)] = node.attrs[key2];
      return result;
    }, {});
    return vue.h(node.tag, _objectSpread$1m(_objectSpread$1m({}, kebabAttrs), props2), (node.children || []).map((child) => renderFn(child, {})));
  }
  var DEFAULT_CLASS_PREFIX = "t";
  var DEFAULT_LOCALE = "zh-CN";
  var ConfigContext = {
    classPrefix: DEFAULT_CLASS_PREFIX,
    locale: DEFAULT_LOCALE
  };
  const ConfigContext$1 = ConfigContext;
  function useCommonClassName$2() {
    var {
      classPrefix
    } = ConfigContext$1;
    return {
      SIZE: {
        default: "",
        xs: "".concat(classPrefix, "-size-xs"),
        small: "".concat(classPrefix, "-size-s"),
        medium: "".concat(classPrefix, "-size-m"),
        large: "".concat(classPrefix, "-size-l"),
        xl: "".concat(classPrefix, "-size-xl"),
        block: "".concat(classPrefix, "-size-full-width")
      },
      STATUS: {
        loading: "".concat(classPrefix, "-is-loading"),
        disabled: "".concat(classPrefix, "-is-disabled"),
        focused: "".concat(classPrefix, "-is-focused"),
        success: "".concat(classPrefix, "-is-success"),
        error: "".concat(classPrefix, "-is-error"),
        warning: "".concat(classPrefix, "-is-warning"),
        selected: "".concat(classPrefix, "-is-selected"),
        active: "".concat(classPrefix, "-is-active"),
        checked: "".concat(classPrefix, "-is-checked"),
        current: "".concat(classPrefix, "-is-current"),
        hidden: "".concat(classPrefix, "-is-hidden"),
        visible: "".concat(classPrefix, "-is-visible"),
        expanded: "".concat(classPrefix, "-is-expanded"),
        indeterminate: "".concat(classPrefix, "-is-indeterminate")
      }
    };
  }
  function useSizeProps(size) {
    var COMMON_SIZE_CLASS_NAMES = useCommonClassName$2().SIZE;
    var className = vue.computed(() => {
      if (size.value in COMMON_SIZE_CLASS_NAMES) {
        return COMMON_SIZE_CLASS_NAMES[size.value];
      }
      return "";
    });
    var style2 = vue.computed(() => {
      if (size.value === void 0 || size.value in COMMON_SIZE_CLASS_NAMES) {
        return {};
      }
      return {
        fontSize: size.value
      };
    });
    return {
      style: style2,
      className
    };
  }
  function ownKeys$1m(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1l(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1m(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1m(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$s = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M2 2h20v20H2V2zm2 2v16h16V4H4zm9 2.5V11h4.5v2H13v4.5h-2V13H6.5v-2H11V6.5h2z"
      }
    }]
  };
  var addRectangle = vue.defineComponent({
    name: "AddRectangleIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-add-rectangle", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1l(_objectSpread$1l({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$s, finalProps.value);
    }
  });
  const AddRectangleIcon = addRectangle;
  function ownKeys$1l(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1k(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1l(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1l(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$r = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M13 4v7h7v2h-7v7h-2v-7H4v-2h7V4h2z"
      }
    }]
  };
  var add$1 = vue.defineComponent({
    name: "AddIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-add", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1k(_objectSpread$1k({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$r, finalProps.value);
    }
  });
  const AddIcon = add$1;
  function ownKeys$1k(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1j(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1k(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1k(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$q = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 26 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M4 1.59l6.17 6.17 7.07 7.07L23.41 21 22 22.41l-2.97-2.96A12.5 12.5 0 011.08 12.3L1 12l.1-.3c.77-2.4 2.24-4.5 4.18-6.02L2.59 3 4 1.59zM6.7 7.1A10.53 10.53 0 003.1 12a10.5 10.5 0 0014.45 5.97l-1.8-1.8a5 5 0 01-6.93-6.93L6.7 7.11zm3.6 3.6a3 3 0 004 4l-4-4zM13 5c-.58 0-1.14.05-1.7.14l-.98.16L10 3.32l.99-.16A12.5 12.5 0 0124.9 11.7l.1.31-.1.3c-.41 1.3-1.03 2.5-1.82 3.58l-.59.8-1.61-1.18.59-.8c.6-.82 1.08-1.73 1.42-2.7A10.5 10.5 0 0013 5zm.51 1.93l.96.29a5 5 0 013.31 3.31l.3.96-1.92.58-.3-.95a3 3 0 00-1.98-1.99l-.95-.3.58-1.9z"
      }
    }]
  };
  var browseOff = vue.defineComponent({
    name: "BrowseOffIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-browse-off", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1j(_objectSpread$1j({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$q, finalProps.value);
    }
  });
  const BrowseOffIcon = browseOff;
  function ownKeys$1j(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1i(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1j(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1j(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$p = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "g",
      "attrs": {
        "clipPath": "url(#clip0_8726_7319)"
      },
      "children": [{
        "tag": "path",
        "attrs": {
          "fill": "currentColor",
          "d": "M2.1 12a10.5 10.5 0 0019.8 0 10.5 10.5 0 00-19.8 0zm-2.01-.3a12.5 12.5 0 0123.82 0l.1.3-.1.3a12.5 12.5 0 01-23.82 0l-.1-.3.1-.3zM12 9a3 3 0 100 6 3 3 0 000-6zm-5 3a5 5 0 1110 0 5 5 0 01-10 0z"
        }
      }]
    }]
  };
  var browse = vue.defineComponent({
    name: "BrowseIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-browse", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1i(_objectSpread$1i({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$p, finalProps.value);
    }
  });
  const BrowseIcon = browse;
  function ownKeys$1i(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1h(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1i(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1i(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$o = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M6 4V1.5h2V4h8V1.5h2V4h4v18H2V4h4zM4 6v3h16V6H4zm16 5H4v9h16v-9z"
      }
    }]
  };
  var calendar = vue.defineComponent({
    name: "CalendarIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-calendar", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1h(_objectSpread$1h({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$o, finalProps.value);
    }
  });
  const CalendarIcon = calendar;
  function ownKeys$1h(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1g(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1h(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1h(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$n = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 23a11 11 0 100-22 11 11 0 000 22zM7.5 10.59l3 3 6-6L17.91 9l-7.41 7.41L6.09 12l1.41-1.41z"
      }
    }]
  };
  var checkCircleFilled = vue.defineComponent({
    name: "CheckCircleFilledIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-check-circle-filled", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1g(_objectSpread$1g({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$n, finalProps.value);
    }
  });
  const CheckCircleFilledIcon = checkCircleFilled;
  function ownKeys$1g(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1f(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1g(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1g(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$m = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M20.99 7.38l-10.61 10.6L4 11.63l1.42-1.41 4.95 4.95 9.2-9.2 1.4 1.42z"
      }
    }]
  };
  var check = vue.defineComponent({
    name: "CheckIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-check", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1f(_objectSpread$1f({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$m, finalProps.value);
    }
  });
  const CheckIcon = check;
  function ownKeys$1f(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1e(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1f(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1f(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$l = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M17.5 8.09l-5.5 5.5-5.5-5.5L5.09 9.5 12 16.41l6.91-6.91-1.41-1.41z"
      }
    }]
  };
  var chevronDown = vue.defineComponent({
    name: "ChevronDownIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-down", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1e(_objectSpread$1e({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$l, finalProps.value);
    }
  });
  const ChevronDownIcon = chevronDown;
  function ownKeys$1e(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1d(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1e(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1e(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$k = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M18.41 7.5l-4.5 4.5 4.5 4.5L17 17.91 11.09 12 17 6.09l1.41 1.41zm-6.5 0L7.41 12l4.5 4.5-1.41 1.41L4.59 12l5.91-5.91 1.41 1.41z"
      }
    }]
  };
  var chevronLeftDouble = vue.defineComponent({
    name: "ChevronLeftDoubleIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-left-double", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1d(_objectSpread$1d({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$k, finalProps.value);
    }
  });
  const ChevronLeftDoubleIcon = chevronLeftDouble;
  function ownKeys$1d(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1c(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1d(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1d(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$j = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M15.91 17.5l-5.5-5.5 5.5-5.5-1.41-1.41L7.59 12l6.91 6.91 1.41-1.41z"
      }
    }]
  };
  var chevronLeft = vue.defineComponent({
    name: "ChevronLeftIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-left", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1c(_objectSpread$1c({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$j, finalProps.value);
    }
  });
  const ChevronLeftIcon = chevronLeft;
  function ownKeys$1c(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1b(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1c(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1c(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$i = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 3a9 9 0 100 18 9 9 0 000-18zM1 12a11 11 0 1122 0 11 11 0 01-22 0zm9.5-5.41L15.91 12l-5.41 5.41L9.09 16l4-4-4-4 1.41-1.41z"
      }
    }]
  };
  var chevronRightCircle = vue.defineComponent({
    name: "ChevronRightCircleIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-right-circle", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1b(_objectSpread$1b({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$i, finalProps.value);
    }
  });
  const ChevronRightCircleIcon = chevronRightCircle;
  function ownKeys$1b(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$1a(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1b(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1b(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$h = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M5.59 16.5l4.5-4.5-4.5-4.5L7 6.09 12.91 12 7 17.91 5.59 16.5zm6.5 0l4.5-4.5-4.5-4.5 1.41-1.41L19.41 12l-5.91 5.91-1.41-1.41z"
      }
    }]
  };
  var chevronRightDouble = vue.defineComponent({
    name: "ChevronRightDoubleIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-right-double", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$1a(_objectSpread$1a({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$h, finalProps.value);
    }
  });
  const ChevronRightDoubleIcon = chevronRightDouble;
  function ownKeys$1a(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$19(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$1a(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1a(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$g = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M8.09 17.5l5.5-5.5-5.5-5.5L9.5 5.09 16.41 12 9.5 18.91 8.09 17.5z"
      }
    }]
  };
  var chevronRight = vue.defineComponent({
    name: "ChevronRightIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-right", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$19(_objectSpread$19({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$g, finalProps.value);
    }
  });
  const ChevronRightIcon = chevronRight;
  function ownKeys$19(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$18(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$19(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$19(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$f = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M17.5 15.91l-5.5-5.5-5.5 5.5-1.41-1.41L12 7.59l6.91 6.91-1.41 1.41z"
      }
    }]
  };
  var chevronUp = vue.defineComponent({
    name: "ChevronUpIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-up", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$18(_objectSpread$18({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$f, finalProps.value);
    }
  });
  const ChevronUpIcon = chevronUp;
  function ownKeys$18(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$17(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$18(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$18(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$e = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 23a11 11 0 100-22 11 11 0 000 22zM8.82 7.4L12 10.6l3.18-3.19 1.42 1.42L13.4 12l3.19 3.18-1.42 1.42L12 13.4 8.82 16.6 7.4 15.18 10.6 12 7.4 8.82 8.82 7.4z"
      }
    }]
  };
  var closeCircleFilled = vue.defineComponent({
    name: "CloseCircleFilledIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-close-circle-filled", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$17(_objectSpread$17({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$e, finalProps.value);
    }
  });
  const CloseCircleFilledIcon = closeCircleFilled;
  function ownKeys$17(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$16(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$17(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$17(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$d = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M7.05 5.64L12 10.59l4.95-4.95 1.41 1.41L13.41 12l4.95 4.95-1.41 1.41L12 13.41l-4.95 4.95-1.41-1.41L10.59 12 5.64 7.05l1.41-1.41z"
      }
    }]
  };
  var close = vue.defineComponent({
    name: "CloseIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-close", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$16(_objectSpread$16({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$d, finalProps.value);
    }
  });
  const CloseIcon = close;
  function ownKeys$16(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$15(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$16(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$16(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$c = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M16.83 1.42l5.75 5.75L7.75 22H2v-5.75L16.83 1.42zm0 8.68l2.92-2.93-2.92-2.93-2.93 2.93 2.93 2.93zm-4.34-1.51L4 17.07V20h2.93l8.48-8.49L12.5 8.6z"
      }
    }]
  };
  var edit1 = vue.defineComponent({
    name: "Edit1Icon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-edit-1", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$15(_objectSpread$15({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$c, finalProps.value);
    }
  });
  const Edit1Icon = edit1;
  function ownKeys$15(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$14(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$15(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$15(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$b = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M3 10.5h3v3H3v-3zm7.5 0h3v3h-3v-3zm7.5 0h3v3h-3v-3z"
      }
    }]
  };
  var ellipsis = vue.defineComponent({
    name: "EllipsisIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-ellipsis", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$14(_objectSpread$14({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$b, finalProps.value);
    }
  });
  const EllipsisIcon = ellipsis;
  function ownKeys$14(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$13(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$14(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$14(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$a = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 1a11 11 0 110 22 11 11 0 010-22zm-1 13h2V6.5h-2V14zm2 1.5h-2v2h2v-2z"
      }
    }]
  };
  var errorCircleFilled = vue.defineComponent({
    name: "ErrorCircleFilledIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-error-circle-filled", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$13(_objectSpread$13({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$a, finalProps.value);
    }
  });
  const ErrorCircleFilledIcon = errorCircleFilled;
  function ownKeys$13(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$12(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$13(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$13(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$9 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M13 2v14.5h-2V2h2zm-2 17h2v2h-2v-2z"
      }
    }]
  };
  var error = vue.defineComponent({
    name: "ErrorIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-error", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$12(_objectSpread$12({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$9, finalProps.value);
    }
  });
  const ErrorIcon = error;
  function ownKeys$12(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$11(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$12(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$12(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$8 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M2.57 3h18.86l-6.93 9.82V21h-5v-8.18L2.57 3zm3.86 2l5.07 7.18V19h1v-6.82L17.57 5H6.43z"
      }
    }]
  };
  var filter = vue.defineComponent({
    name: "FilterIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-filter", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$11(_objectSpread$11({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$8, finalProps.value);
    }
  });
  const FilterIcon = filter;
  function ownKeys$11(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$10(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$11(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$11(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$7 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 23a11 11 0 100-22 11 11 0 000 22zm-.17-11.11c.43-.53.97-.97 1.4-1.32A2 2 0 0012 7a2 2 0 00-1.89 1.33l-.33.95L7.9 8.6l.34-.94a4 4 0 116.24 4.47 7 7 0 00-1.1 1.01c-.27.34-.37.61-.37.85v1.25h-2V14c0-.87.39-1.57.83-2.11zM11 18.25v-2h2v2h-2z"
      }
    }]
  };
  var helpCircleFilled = vue.defineComponent({
    name: "HelpCircleFilledIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-help-circle-filled", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$10(_objectSpread$10({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$7, finalProps.value);
    }
  });
  const HelpCircleFilledIcon = helpCircleFilled;
  function ownKeys$10(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$$(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$10(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$10(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$6 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 23a11 11 0 100-22 11 11 0 000 22zM11 8.5v-2h2v2h-2zm2 1.5v7.5h-2V10h2z"
      }
    }]
  };
  var infoCircleFilled = vue.defineComponent({
    name: "InfoCircleFilledIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-info-circle-filled", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$$(_objectSpread$$({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$6, finalProps.value);
    }
  });
  const InfoCircleFilledIcon = infoCircleFilled;
  function ownKeys$$(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$_(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$$(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$$(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$5 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M2 2h20v20H2V2zm2 2v16h16V4H4zm2.5 7h11v2h-11v-2z"
      }
    }]
  };
  var minusRectangle = vue.defineComponent({
    name: "MinusRectangleIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-minus-rectangle", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$_(_objectSpread$_({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$5, finalProps.value);
    }
  });
  const MinusRectangleIcon = minusRectangle;
  function ownKeys$_(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$Z(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$_(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$_(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$4 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M8.5 5v14h-2V5h2zm9.16 1.75L12.41 12l5.25 5.25-1.41 1.41L9.59 12l6.66-6.66 1.41 1.41z"
      }
    }]
  };
  var pageFirst = vue.defineComponent({
    name: "PageFirstIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-page-first", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$Z(_objectSpread$Z({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$4, finalProps.value);
    }
  });
  const PageFirstIcon = pageFirst;
  function ownKeys$Z(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$Y(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$Z(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$Z(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$3 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M17.5 5v14h-2V5h2zm-9.75.34L14.41 12l-6.66 6.66-1.41-1.41L11.59 12 6.34 6.75l1.41-1.41z"
      }
    }]
  };
  var pageLast = vue.defineComponent({
    name: "PageLastIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-page-last", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$Y(_objectSpread$Y({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$3, finalProps.value);
    }
  });
  const PageLastIcon = pageLast;
  function ownKeys$Y(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$X(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$Y(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$Y(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$2 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M4 11h16v2H4v-2z"
      }
    }]
  };
  var remove = vue.defineComponent({
    name: "RemoveIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-remove", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$X(_objectSpread$X({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$2, finalProps.value);
    }
  });
  const RemoveIcon = remove;
  function ownKeys$X(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$W(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$X(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$X(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element$1 = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 6a6 6 0 100 12 6 6 0 000-12zm-8 6a8 8 0 1116 0 8 8 0 01-16 0z"
      }
    }]
  };
  var round$1 = vue.defineComponent({
    name: "RoundIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-round", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$W(_objectSpread$W({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element$1, finalProps.value);
    }
  });
  const RoundIcon = round$1;
  function ownKeys$W(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      enumerableOnly && (symbols = symbols.filter(function(sym) {
        return Object.getOwnPropertyDescriptor(object, sym).enumerable;
      })), keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread$V(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = null != arguments[i] ? arguments[i] : {};
      i % 2 ? ownKeys$W(Object(source), true).forEach(function(key2) {
        _defineProperty$3(target, key2, source[key2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$W(Object(source)).forEach(function(key2) {
        Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
      });
    }
    return target;
  }
  var element = {
    "tag": "svg",
    "attrs": {
      "fill": "none",
      "viewBox": "0 0 24 24",
      "width": "1em",
      "height": "1em"
    },
    "children": [{
      "tag": "path",
      "attrs": {
        "fill": "currentColor",
        "d": "M12 .85l9.66 5.57v11.16L12 23.15l-9.66-5.57V6.42L12 .85zm0 2.3L4.34 7.58v8.84L12 20.85l7.66-4.43V7.58L12 3.15zM12 9a3 3 0 100 6 3 3 0 000-6zm-5 3a5 5 0 1110 0 5 5 0 01-10 0z"
      }
    }]
  };
  var setting = vue.defineComponent({
    name: "SettingIcon",
    props: {
      size: {
        type: String
      },
      onClick: {
        type: Function
      }
    },
    setup(props2, _ref) {
      var {
        attrs
      } = _ref;
      var propsSize = vue.computed(() => props2.size);
      var {
        className,
        style: style2
      } = useSizeProps(propsSize);
      var finalCls = vue.computed(() => ["t-icon", "t-icon-setting", className.value]);
      var finalStyle = vue.computed(() => _objectSpread$V(_objectSpread$V({}, style2.value), attrs.style));
      var finalProps = vue.computed(() => ({
        class: finalCls.value,
        style: finalStyle.value,
        onClick: (e) => {
          var _props$onClick;
          return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
            e
          });
        }
      }));
      return () => renderFn(element, finalProps.value);
    }
  });
  const SettingIcon = setting;
  var isVue2 = false;
  /*!
   * pinia v2.1.6
   * (c) 2023 Eduardo San Martin Morote
   * @license MIT
   */
  let activePinia;
  const setActivePinia = (pinia) => activePinia = pinia;
  const piniaSymbol = (
    /* istanbul ignore next */
    Symbol()
  );
  function isPlainObject$4(o) {
    return o && typeof o === "object" && Object.prototype.toString.call(o) === "[object Object]" && typeof o.toJSON !== "function";
  }
  var MutationType;
  (function(MutationType2) {
    MutationType2["direct"] = "direct";
    MutationType2["patchObject"] = "patch object";
    MutationType2["patchFunction"] = "patch function";
  })(MutationType || (MutationType = {}));
  function createPinia() {
    const scope = vue.effectScope(true);
    const state = scope.run(() => vue.ref({}));
    let _p = [];
    let toBeInstalled = [];
    const pinia = vue.markRaw({
      install(app) {
        setActivePinia(pinia);
        {
          pinia._a = app;
          app.provide(piniaSymbol, pinia);
          app.config.globalProperties.$pinia = pinia;
          toBeInstalled.forEach((plugin) => _p.push(plugin));
          toBeInstalled = [];
        }
      },
      use(plugin) {
        if (!this._a && !isVue2) {
          toBeInstalled.push(plugin);
        } else {
          _p.push(plugin);
        }
        return this;
      },
      _p,
      // it's actually undefined here
      // @ts-expect-error
      _a: null,
      _e: scope,
      _s: /* @__PURE__ */ new Map(),
      state
    });
    return pinia;
  }
  const noop$3 = () => {
  };
  function addSubscription(subscriptions, callback, detached, onCleanup = noop$3) {
    subscriptions.push(callback);
    const removeSubscription = () => {
      const idx = subscriptions.indexOf(callback);
      if (idx > -1) {
        subscriptions.splice(idx, 1);
        onCleanup();
      }
    };
    if (!detached && vue.getCurrentScope()) {
      vue.onScopeDispose(removeSubscription);
    }
    return removeSubscription;
  }
  function triggerSubscriptions(subscriptions, ...args) {
    subscriptions.slice().forEach((callback) => {
      callback(...args);
    });
  }
  const fallbackRunWithContext = (fn2) => fn2();
  function mergeReactiveObjects(target, patchToApply) {
    if (target instanceof Map && patchToApply instanceof Map) {
      patchToApply.forEach((value, key2) => target.set(key2, value));
    }
    if (target instanceof Set && patchToApply instanceof Set) {
      patchToApply.forEach(target.add, target);
    }
    for (const key2 in patchToApply) {
      if (!patchToApply.hasOwnProperty(key2))
        continue;
      const subPatch = patchToApply[key2];
      const targetValue = target[key2];
      if (isPlainObject$4(targetValue) && isPlainObject$4(subPatch) && target.hasOwnProperty(key2) && !vue.isRef(subPatch) && !vue.isReactive(subPatch)) {
        target[key2] = mergeReactiveObjects(targetValue, subPatch);
      } else {
        target[key2] = subPatch;
      }
    }
    return target;
  }
  const skipHydrateSymbol = (
    /* istanbul ignore next */
    Symbol()
  );
  function shouldHydrate(obj) {
    return !isPlainObject$4(obj) || !obj.hasOwnProperty(skipHydrateSymbol);
  }
  const { assign } = Object;
  function isComputed(o) {
    return !!(vue.isRef(o) && o.effect);
  }
  function createOptionsStore(id, options, pinia, hot) {
    const { state, actions, getters } = options;
    const initialState = pinia.state.value[id];
    let store2;
    function setup51() {
      if (!initialState && true) {
        {
          pinia.state.value[id] = state ? state() : {};
        }
      }
      const localState = vue.toRefs(pinia.state.value[id]);
      return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {
        computedGetters[name] = vue.markRaw(vue.computed(() => {
          setActivePinia(pinia);
          const store3 = pinia._s.get(id);
          return getters[name].call(store3, store3);
        }));
        return computedGetters;
      }, {}));
    }
    store2 = createSetupStore(id, setup51, options, pinia, hot, true);
    return store2;
  }
  function createSetupStore($id, setup51, options = {}, pinia, hot, isOptionsStore) {
    let scope;
    const optionsForPlugin = assign({ actions: {} }, options);
    const $subscribeOptions = {
      deep: true
      // flush: 'post',
    };
    let isListening;
    let isSyncListening;
    let subscriptions = [];
    let actionSubscriptions = [];
    let debuggerEvents;
    const initialState = pinia.state.value[$id];
    if (!isOptionsStore && !initialState && true) {
      {
        pinia.state.value[$id] = {};
      }
    }
    vue.ref({});
    let activeListener;
    function $patch(partialStateOrMutator) {
      let subscriptionMutation;
      isListening = isSyncListening = false;
      if (typeof partialStateOrMutator === "function") {
        partialStateOrMutator(pinia.state.value[$id]);
        subscriptionMutation = {
          type: MutationType.patchFunction,
          storeId: $id,
          events: debuggerEvents
        };
      } else {
        mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);
        subscriptionMutation = {
          type: MutationType.patchObject,
          payload: partialStateOrMutator,
          storeId: $id,
          events: debuggerEvents
        };
      }
      const myListenerId = activeListener = Symbol();
      vue.nextTick().then(() => {
        if (activeListener === myListenerId) {
          isListening = true;
        }
      });
      isSyncListening = true;
      triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);
    }
    const $reset = isOptionsStore ? function $reset2() {
      const { state } = options;
      const newState = state ? state() : {};
      this.$patch(($state) => {
        assign($state, newState);
      });
    } : (
      /* istanbul ignore next */
      noop$3
    );
    function $dispose() {
      scope.stop();
      subscriptions = [];
      actionSubscriptions = [];
      pinia._s.delete($id);
    }
    function wrapAction(name, action) {
      return function() {
        setActivePinia(pinia);
        const args = Array.from(arguments);
        const afterCallbackList = [];
        const onErrorCallbackList = [];
        function after(callback) {
          afterCallbackList.push(callback);
        }
        function onError(callback) {
          onErrorCallbackList.push(callback);
        }
        triggerSubscriptions(actionSubscriptions, {
          args,
          name,
          store: store2,
          after,
          onError
        });
        let ret;
        try {
          ret = action.apply(this && this.$id === $id ? this : store2, args);
        } catch (error4) {
          triggerSubscriptions(onErrorCallbackList, error4);
          throw error4;
        }
        if (ret instanceof Promise) {
          return ret.then((value) => {
            triggerSubscriptions(afterCallbackList, value);
            return value;
          }).catch((error4) => {
            triggerSubscriptions(onErrorCallbackList, error4);
            return Promise.reject(error4);
          });
        }
        triggerSubscriptions(afterCallbackList, ret);
        return ret;
      };
    }
    const partialStore = {
      _p: pinia,
      // _s: scope,
      $id,
      $onAction: addSubscription.bind(null, actionSubscriptions),
      $patch,
      $reset,
      $subscribe(callback, options2 = {}) {
        const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher());
        const stopWatcher = scope.run(() => vue.watch(() => pinia.state.value[$id], (state) => {
          if (options2.flush === "sync" ? isSyncListening : isListening) {
            callback({
              storeId: $id,
              type: MutationType.direct,
              events: debuggerEvents
            }, state);
          }
        }, assign({}, $subscribeOptions, options2)));
        return removeSubscription;
      },
      $dispose
    };
    const store2 = vue.reactive(partialStore);
    pinia._s.set($id, store2);
    const runWithContext = pinia._a && pinia._a.runWithContext || fallbackRunWithContext;
    const setupStore = pinia._e.run(() => {
      scope = vue.effectScope();
      return runWithContext(() => scope.run(setup51));
    });
    for (const key2 in setupStore) {
      const prop = setupStore[key2];
      if (vue.isRef(prop) && !isComputed(prop) || vue.isReactive(prop)) {
        if (!isOptionsStore) {
          if (initialState && shouldHydrate(prop)) {
            if (vue.isRef(prop)) {
              prop.value = initialState[key2];
            } else {
              mergeReactiveObjects(prop, initialState[key2]);
            }
          }
          {
            pinia.state.value[$id][key2] = prop;
          }
        }
      } else if (typeof prop === "function") {
        const actionValue = wrapAction(key2, prop);
        {
          setupStore[key2] = actionValue;
        }
        optionsForPlugin.actions[key2] = prop;
      } else
        ;
    }
    {
      assign(store2, setupStore);
      assign(vue.toRaw(store2), setupStore);
    }
    Object.defineProperty(store2, "$state", {
      get: () => pinia.state.value[$id],
      set: (state) => {
        $patch(($state) => {
          assign($state, state);
        });
      }
    });
    pinia._p.forEach((extender) => {
      {
        assign(store2, scope.run(() => extender({
          store: store2,
          app: pinia._a,
          pinia,
          options: optionsForPlugin
        })));
      }
    });
    if (initialState && isOptionsStore && options.hydrate) {
      options.hydrate(store2.$state, initialState);
    }
    isListening = true;
    isSyncListening = true;
    return store2;
  }
  function defineStore(idOrOptions, setup51, setupOptions) {
    let id;
    let options;
    const isSetupStore = typeof setup51 === "function";
    if (typeof idOrOptions === "string") {
      id = idOrOptions;
      options = isSetupStore ? setupOptions : setup51;
    } else {
      options = idOrOptions;
      id = idOrOptions.id;
    }
    function useStore(pinia, hot) {
      const hasContext = vue.hasInjectionContext();
      pinia = // in test mode, ignore the argument provided as we can always retrieve a
      // pinia instance with getActivePinia()
      pinia || (hasContext ? vue.inject(piniaSymbol, null) : null);
      if (pinia)
        setActivePinia(pinia);
      pinia = activePinia;
      if (!pinia._s.has(id)) {
        if (isSetupStore) {
          createSetupStore(id, setup51, options, pinia);
        } else {
          createOptionsStore(id, options, pinia);
        }
      }
      const store2 = pinia._s.get(id);
      return store2;
    }
    useStore.$id = id;
    return useStore;
  }
  var CloudInfoEnum = /* @__PURE__ */ ((CloudInfoEnum2) => {
    CloudInfoEnum2[CloudInfoEnum2["cloud115"] = 0] = "cloud115";
    CloudInfoEnum2[CloudInfoEnum2["cloud123"] = 1] = "cloud123";
    CloudInfoEnum2[CloudInfoEnum2["cloudBaidu"] = 2] = "cloudBaidu";
    CloudInfoEnum2[CloudInfoEnum2["cloudLanZou"] = 3] = "cloudLanZou";
    CloudInfoEnum2[CloudInfoEnum2["cloudTianyi"] = 4] = "cloudTianyi";
    CloudInfoEnum2[CloudInfoEnum2["cloudQuark"] = 5] = "cloudQuark";
    CloudInfoEnum2[CloudInfoEnum2["cloud139"] = 6] = "cloud139";
    CloudInfoEnum2[CloudInfoEnum2["cloudXun"] = 7] = "cloudXun";
    CloudInfoEnum2[CloudInfoEnum2["cloudAli"] = 8] = "cloudAli";
    return CloudInfoEnum2;
  })(CloudInfoEnum || {});
  const ShareDOMSelect = {
    "cloud115": {
      select: "div.list-contents > ul li.selected",
      idAttribute: ["file_id", "cate_id"]
    },
    "cloudTianyi": {
      idAttribute: ["data-fileid"],
      select: "li[data-selected=true].c-file-item",
      fileNameSelect: ".file-item-name-fileName-span"
    },
    "cloudQuark": {
      idAttribute: ["data-row-key"],
      select: ".ant-table-row-selected",
      fileNameSelect: ".filename-text"
    }
  };
  const cloudUrlInfo = {
    cloud123: ["https://www.123pan.com/"],
    cloudBaidu: ["https://pan.baidu.com/disk/main"],
    cloudLanZou: [
      "https://pc.woozooo.com/",
      "https:\\/\\/..*?\\.woozooo\\.com",
      "https:\\/\\/.*?\\.lanzou.*?\\.com"
    ],
    cloudTianyi: ["https://cloud.189.cn/web/main/"],
    cloud115: ["https://115.com"],
    cloudQuark: ["https://pan.quark.cn/"],
    cloud139: ["https://yun.139.com/"],
    cloudXun: ["https://pan.xunlei.com/"],
    cloudAli: ["https://www.aliyundrive.com/"]
  };
  function generateRandomString(numDigits) {
    const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    const letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
    let result = "";
    for (let i = 0; i < numDigits; i++) {
      const randomIndex = Math.floor(Math.random() * (numbers.length + letters.length));
      if (randomIndex < numbers.length) {
        result += String(numbers[randomIndex]);
      } else {
        result += letters[randomIndex - numbers.length];
      }
    }
    return result;
  }
  function DownloadTxt(fileName, content) {
    const element2 = document.createElement("a");
    element2.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(content));
    element2.setAttribute("download", fileName);
    element2.style.display = "none";
    document.body.append(element2);
    element2.click();
    document.body.removeChild(element2);
  }
  function CopyValueToClipBoard(content) {
    return new Promise((resolve2, reject2) => {
      if (window.isSecureContext) {
        navigator.clipboard.writeText(content).then((res) => {
          resolve2(res);
        }).catch((err) => {
          reject2(err);
        });
      } else {
        reject2("很抱歉,暂时不支持在此网站上复制");
      }
    });
  }
  function get123CloudSecret() {
    function v(t) {
      return (v = "function" == typeof Symbol && "symbol" == typeof Symbol["iterator"] ? function(t2) {
        return typeof t2;
      } : function(t2) {
        return t2 && "function" == typeof Symbol && t2.constructor === Symbol && t2 !== Symbol["prototype"] ? "symbol" : typeof t2;
      })(t);
    }
    function A(t, e2) {
      e2 = 1 < arguments.length && void 0 !== e2 ? e2 : 10;
      for (var n2 = function() {
        for (var t2 = [], e3 = 0; e3 < 256; e3++) {
          for (var n3 = e3, r3 = 0; r3 < 8; r3++)
            n3 = 1 & n3 ? 3988292384 ^ n3 >>> 1 : n3 >>> 1;
          t2[e3] = n3;
        }
        return t2;
      }(), r2 = function(t2) {
        t2 = t2.replace(/\\r\\n/g, "\\n");
        for (var e3 = "", n3 = 0; n3 < t2.length; n3++) {
          var r3 = t2.charCodeAt(n3);
          r3 < 128 ? e3 += String.fromCharCode(r3) : e3 = 127 < r3 && r3 < 2048 ? (e3 += String.fromCharCode(r3 >> 6 | 192)) + String.fromCharCode(63 & r3 | 128) : (e3 = (e3 += String.fromCharCode(r3 >> 12 | 224)) + String.fromCharCode(r3 >> 6 & 63 | 128)) + String.fromCharCode(63 & r3 | 128);
        }
        return e3;
      }(t), a2 = -1, i2 = 0; i2 < r2.length; i2++)
        a2 = a2 >>> 8 ^ n2[255 & (a2 ^ r2.charCodeAt(i2))];
      return (a2 = (-1 ^ a2) >>> 0).toString(e2);
    }
    var a, i, o, s, l, c, u, d, f, p, h2, g;
    var e = "/a/api/share/share/create";
    var n = "web";
    var r = 3;
    function getRandom(t) {
      for (; ; )
        switch (t.prev = t.next) {
          case 0:
            for (p in a = Math.round(1e7 * Math.random()), o = Math.round(((/* @__PURE__ */ new Date()).getTime() + 60 * (/* @__PURE__ */ new Date()).getTimezoneOffset() * 1e3 + 288e5) / 1e3).toString(), sessionStorage.getItem("serverTimestamp") && (i = sessionStorage.getItem("serverTimestamp")), o = i && (m = i, 20 <= Math.abs(1e3 * o - 1e3 * m) / 1e3 / 60) ? i : o, s = atob((m = void 0, m = ["a", "d", "e", "f", "g", "h", "l", "m", "y", "i", "j", "n", "o", "p", "k", "q", "r", "s", "t", "u", "b", "c", "v", "w", "s", "z"].join(","), btoa(m))).split(","), u = function(t2, e2, n2) {
              var r2;
              n2 = 2 < arguments.length && void 0 !== n2 ? n2 : 8;
              return 0 === arguments.length ? null : (r2 = "object" === v(t2) ? t2 : (10 === "".concat(t2).length && (t2 = 1e3 * Number.parseInt(t2)), new Date(t2)), t2 += 6e4 * new Date(t2).getTimezoneOffset(), {
                y: (r2 = new Date(t2 + 36e5 * n2)).getFullYear(),
                m: r2.getMonth() + 1 < 10 ? "0".concat(String(r2.getMonth() + 1)) : r2.getMonth() + 1,
                d: r2.getDate() < 10 ? "0".concat(r2.getDate()) : r2.getDate(),
                h: r2.getHours() < 10 ? "0".concat(r2.getHours()) : r2.getHours(),
                f: r2.getMinutes() < 10 ? "0".concat(r2.getMinutes()) : r2.getMinutes()
              });
            }(o), h2 = u.y, g = u.m, l = u.d, c = u.h, u = u.f, d = [h2, g, l, c, u].join(""), f = [], d)
              f.push(s[Number(d[p])]);
            return h2 = A(f.join("")), g = A("".concat(o, "|").concat(a, "|").concat(e, "|").concat(n, "|").concat(String(r), "|").concat(h2)), t.abrupt("return", [h2, "".concat(o, "-").concat(a, "-").concat(g)]);
          case 12:
          case "end":
            return t.stop();
        }
      var m;
    }
    const object = {
      next: 0,
      prev: 0,
      arg: void 0,
      abrupt: (str, result) => {
        return result;
      }
    };
    return getRandom(object);
  }
  function getDate123Cloud(day) {
    function M(t) {
      function e(t2) {
        return ((t2 = Math.floor(Math.abs(t2))) < 10 ? "0" : "") + t2;
      }
      var n = -t.getTimezoneOffset(), r = 0 <= n ? "+" : "-";
      return "".concat(t.getFullYear(), "-").concat(e(t.getMonth() + 1), "-").concat(e(t.getDate()), "T").concat(e(t.getHours()), ":").concat(e(t.getMinutes()), ":").concat(e(t.getSeconds())).concat(r).concat(e(n / 60), ":").concat(e(n % 60));
    }
    day = day * 1;
    switch (day) {
      case 1:
        return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 864e5));
      case 7:
        return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 6048e5));
      case 30:
        return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 2592e6));
      case 99:
        return Object(M)(/* @__PURE__ */ new Date("2099/12/12 08:00:00"));
    }
  }
  function bodyParse(body) {
    const result = (body == null ? void 0 : body.split("&")) ?? [];
    let obj = {};
    for (let item of result) {
      const temp = (item == null ? void 0 : item.split("=")) ?? [];
      if (temp.length > 1) {
        obj[temp[0]] = temp[1];
      }
    }
    return obj;
  }
  function findCloudProvider(url, cloudUrlInfos) {
    for (const provider in cloudUrlInfos) {
      const urls = cloudUrlInfos[provider];
      for (const cloudUrl of urls) {
        if (isMatchingUrl(url, cloudUrl)) {
          return provider;
        }
      }
    }
    return null;
  }
  function isMatchingUrl(url, pattern2) {
    if (pattern2.includes("*")) {
      return new RegExp(pattern2, "g").test(url);
    } else {
      return url.startsWith(pattern2);
    }
  }
  function observeDOMChanges(selector, callback, options = { interval: 300, observerOptions: { childList: true, subtree: true, attributes: true } }) {
    if (!selector) {
      throw new Error("请传入选择器");
    }
    let timer;
    const startObserver = () => {
      const targetDOM = document.querySelector(selector);
      if (!targetDOM)
        return;
      clearInterval(timer);
      const observer = new MutationObserver(() => {
        console.log("执行回调");
        callback(targetDOM);
        observer.disconnect();
      });
      observer.observe(targetDOM, options.observerOptions);
    };
    timer = setInterval(startObserver, options.interval ?? 300);
  }
  function findLocalStorageKeysWithPrefix(prefix) {
    let result = {};
    for (const key2 in localStorage) {
      if (localStorage.hasOwnProperty(key2) && key2.startsWith(prefix)) {
        result = JSON.parse(localStorage[key2]);
      }
    }
    return result;
  }
  const CloudInfoStore = defineStore({
    id: "cloudinfo",
    state: () => ({
      currentCloud: "",
      //当前的网盘对应索引值
      cloudName: "",
      //网盘名字
      cloudKey: ""
      //网盘key
    }),
    actions: {
      //初始化网盘信息
      initCloudInfo() {
        const url = window.location.href;
        console.log("当前网址", url);
        const cloudKey = findCloudProvider(url, cloudUrlInfo) ?? "";
        console.log("所属网盘", cloudKey);
        if (!cloudKey) {
          throw new Error("初始化网盘信息出错");
        }
        this.cloudKey = cloudKey;
        this.currentCloud = CloudInfoEnum[cloudKey];
        switch (this.currentCloud) {
          case CloudInfoEnum.cloudLanZou:
            {
              this.cloudName = "蓝奏云";
            }
            break;
          case CloudInfoEnum.cloudTianyi:
            {
              this.cloudName = "天翼云";
            }
            break;
          case CloudInfoEnum.cloudBaidu:
            {
              this.cloudName = "百度云";
            }
            break;
          case CloudInfoEnum.cloud115:
            {
              this.cloudName = "115云";
            }
            break;
          case CloudInfoEnum.cloud123:
            {
              this.cloudName = "123云";
            }
            break;
          case CloudInfoEnum.cloudQuark:
            {
              this.cloudName = "夸克网盘";
            }
            break;
          case CloudInfoEnum.cloud139:
            {
              this.cloudName = "中国移动(139)网盘";
            }
            break;
          case CloudInfoEnum.cloudXun:
            {
              this.cloudName = "迅雷网盘";
            }
            break;
          case CloudInfoEnum.cloudAli:
            {
              this.cloudName = "阿里云盘";
            }
            break;
          default:
            this.cloudName = "未知网盘";
        }
      }
    }
  });
  const store = createPinia();
  const Pinia = (app) => {
    app.use(store);
  };
  const cloudInfoStore = CloudInfoStore(store);
  cloudInfoStore.initCloudInfo();
  var ExpireTimeEnum$7 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 2099] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$7 || {});
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _arrayLikeToArray$3(arr, len2) {
    if (len2 == null || len2 > arr.length)
      len2 = arr.length;
    for (var i = 0, arr2 = new Array(len2); i < len2; i++)
      arr2[i] = arr[i];
    return arr2;
  }
  function _unsupportedIterableToArray$3(o, minLen) {
    if (!o)
      return;
    if (typeof o === "string")
      return _arrayLikeToArray$3(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor)
      n = o.constructor.name;
    if (n === "Map" || n === "Set")
      return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
      return _arrayLikeToArray$3(o, minLen);
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _arrayWithoutHoles(arr) {
    if (Array.isArray(arr))
      return _arrayLikeToArray$3(arr);
  }
  function _iterableToArray(iter) {
    if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
      return Array.from(iter);
  }
  function _nonIterableSpread() {
    throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }
  function _toConsumableArray(arr) {
    return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$3(arr) || _nonIterableSpread();
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _typeof$2(o) {
    "@babel/helpers - typeof";
    return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
      return typeof o2;
    } : function(o2) {
      return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
    }, _typeof$2(o);
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _toPrimitive(input, hint) {
    if (_typeof$2(input) !== "object" || input === null)
      return input;
    var prim = input[Symbol.toPrimitive];
    if (prim !== void 0) {
      var res = prim.call(input, hint || "default");
      if (_typeof$2(res) !== "object")
        return res;
      throw new TypeError("@@toPrimitive must return a primitive value.");
    }
    return (hint === "string" ? String : Number)(input);
  }
  function _toPropertyKey(arg) {
    var key2 = _toPrimitive(arg, "string");
    return _typeof$2(key2) === "symbol" ? key2 : String(key2);
  }
  function _defineProperty$2(obj, key2, value) {
    key2 = _toPropertyKey(key2);
    if (key2 in obj) {
      Object.defineProperty(obj, key2, {
        value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key2] = value;
    }
    return obj;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _arrayWithHoles(arr) {
    if (Array.isArray(arr))
      return arr;
  }
  function _iterableToArrayLimit(r, l) {
    var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
    if (null != t) {
      var e, n, i, u, a = [], f = true, o = false;
      try {
        if (i = (t = t.call(r)).next, 0 === l) {
          if (Object(t) !== t)
            return;
          f = false;
        } else
          for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true)
            ;
      } catch (r2) {
        o = true, n = r2;
      } finally {
        try {
          if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u))
            return;
        } finally {
          if (o)
            throw n;
        }
      }
      return a;
    }
  }
  function _nonIterableRest() {
    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
  }
  function _slicedToArray(arr, i) {
    return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$3(arr, i) || _nonIterableRest();
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function setStyle$1(el, styles) {
    var keys2 = Object.keys(styles);
    keys2.forEach(function(key2) {
      el.style[key2] = styles[key2];
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _objectWithoutPropertiesLoose$1(source, excluded) {
    if (source == null)
      return {};
    var target = {};
    var sourceKeys = Object.keys(source);
    var key2, i;
    for (i = 0; i < sourceKeys.length; i++) {
      key2 = sourceKeys[i];
      if (excluded.indexOf(key2) >= 0)
        continue;
      target[key2] = source[key2];
    }
    return target;
  }
  function _objectWithoutProperties$1(source, excluded) {
    if (source == null)
      return {};
    var target = _objectWithoutPropertiesLoose$1(source, excluded);
    var key2, i;
    if (Object.getOwnPropertySymbols) {
      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
      for (i = 0; i < sourceSymbolKeys.length; i++) {
        key2 = sourceSymbolKeys[i];
        if (excluded.indexOf(key2) >= 0)
          continue;
        if (!Object.prototype.propertyIsEnumerable.call(source, key2))
          continue;
        target[key2] = source[key2];
      }
    }
    return target;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var commonjsGlobal$1 = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
  function getDefaultExportFromCjs$1(x) {
    return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var freeGlobal$1 = _typeof$2(commonjsGlobal$1) == "object" && commonjsGlobal$1 && commonjsGlobal$1.Object === Object && commonjsGlobal$1;
  var _freeGlobal = freeGlobal$1;
  var freeGlobal = _freeGlobal;
  var freeSelf = (typeof self === "undefined" ? "undefined" : _typeof$2(self)) == "object" && self && self.Object === Object && self;
  var root$1$3 = freeGlobal || freeSelf || Function("return this")();
  var _root = root$1$3;
  var root$7 = _root;
  var _Symbol2 = root$7.Symbol;
  var _Symbol$2$1 = _Symbol2;
  var _Symbol$1$1 = _Symbol$2$1;
  var objectProto$1$4 = Object.prototype;
  var hasOwnProperty$a = objectProto$1$4.hasOwnProperty;
  var nativeObjectToString$1 = objectProto$1$4.toString;
  var symToStringTag$1 = _Symbol$1$1 ? _Symbol$1$1.toStringTag : void 0;
  function getRawTag$1(value) {
    var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), tag = value[symToStringTag$1];
    try {
      value[symToStringTag$1] = void 0;
      var unmasked = true;
    } catch (e) {
    }
    var result = nativeObjectToString$1.call(value);
    if (unmasked) {
      if (isOwn) {
        value[symToStringTag$1] = tag;
      } else {
        delete value[symToStringTag$1];
      }
    }
    return result;
  }
  var _getRawTag = getRawTag$1;
  var objectProto$a = Object.prototype;
  var nativeObjectToString = objectProto$a.toString;
  function objectToString$1(value) {
    return nativeObjectToString.call(value);
  }
  var _objectToString = objectToString$1;
  var _Symbol$3 = _Symbol$2$1, getRawTag = _getRawTag, objectToString = _objectToString;
  var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
  var symToStringTag = _Symbol$3 ? _Symbol$3.toStringTag : void 0;
  function baseGetTag$9(value) {
    if (value == null) {
      return value === void 0 ? undefinedTag : nullTag;
    }
    return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
  }
  var _baseGetTag = baseGetTag$9;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isArray$a = Array.isArray;
  var isArray_1 = isArray$a;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function isObjectLike$9(value) {
    return value != null && _typeof$2(value) == "object";
  }
  var isObjectLike_1 = isObjectLike$9;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag$8 = _baseGetTag, isArray$9 = isArray_1, isObjectLike$8 = isObjectLike_1;
  var stringTag$3 = "[object String]";
  function isString$1(value) {
    return typeof value == "string" || !isArray$9(value) && isObjectLike$8(value) && baseGetTag$8(value) == stringTag$3;
  }
  var isString_1 = isString$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function isUndefined$1(value) {
    return value === void 0;
  }
  var isUndefined_1 = isUndefined$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag$7 = _baseGetTag, isObjectLike$7 = isObjectLike_1;
  var numberTag$3 = "[object Number]";
  function isNumber$2(value) {
    return typeof value == "number" || isObjectLike$7(value) && baseGetTag$7(value) == numberTag$3;
  }
  var isNumber_1 = isNumber$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function getIEVersion() {
    if (typeof navigator === "undefined" || !navigator)
      return Number.MAX_SAFE_INTEGER;
    var _navigator = navigator, userAgent2 = _navigator.userAgent;
    var isIE = userAgent2.indexOf("compatible") > -1 && userAgent2.indexOf("MSIE") > -1;
    var isIE11 = userAgent2.indexOf("Trident") > -1 && userAgent2.indexOf("rv:11.0") > -1;
    if (isIE) {
      var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
      var match = userAgent2.match(reIE);
      if (!match)
        return -1;
      var fIEVersion = parseFloat(match[1]);
      return fIEVersion < 7 ? 6 : fIEVersion;
    }
    if (isIE11) {
      return 11;
    }
    return Number.MAX_SAFE_INTEGER;
  }
  function getCharacterLength$1(str, maxCharacter) {
    var hasMaxCharacter = isNumber_1(maxCharacter);
    if (!str || str.length === 0) {
      if (hasMaxCharacter) {
        return {
          length: 0,
          characters: str
        };
      }
      return 0;
    }
    var len2 = 0;
    for (var i = 0; i < str.length; i++) {
      var currentStringLength = 0;
      if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
        currentStringLength = 2;
      } else {
        currentStringLength = 1;
      }
      if (hasMaxCharacter && len2 + currentStringLength > maxCharacter) {
        return {
          length: len2,
          characters: str.slice(0, i)
        };
      }
      len2 += currentStringLength;
    }
    if (hasMaxCharacter) {
      return {
        length: len2,
        characters: str
      };
    }
    return len2;
  }
  function getUnicodeLength(str) {
    return _toConsumableArray(str !== null && str !== void 0 ? str : "").length;
  }
  function limitUnicodeMaxLength(str, maxLength, oldStr) {
    if (_toConsumableArray(oldStr !== null && oldStr !== void 0 ? oldStr : "").slice().length === maxLength)
      return oldStr || "";
    return _toConsumableArray(str !== null && str !== void 0 ? str : "").slice(0, maxLength).join("");
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$V(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$U(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$V(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function circleAdapter(circleElem) {
    var _window, _window$getComputedSt2, _window2;
    var basicStyle = {};
    if (!circleElem || typeof window === "undefined") {
      return;
    }
    var _window$getComputedSt = (_window = window) === null || _window === void 0 || (_window$getComputedSt2 = _window.getComputedStyle) === null || _window$getComputedSt2 === void 0 ? void 0 : _window$getComputedSt2.call(_window, circleElem), color = _window$getComputedSt.color, fontSize = _window$getComputedSt.fontSize;
    var ua = (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.userAgent;
    var isSafari = /Safari/.test(ua) && !/Chrome/.test(ua);
    var isIosWechat = /(?=.*iPhone)[?=.*MicroMessenger]/.test(ua) && !/Chrome/.test(ua);
    if (isSafari || isIosWechat) {
      basicStyle = {
        transformOrigin: "0px 0px",
        transform: "scale(".concat(parseInt(fontSize, 10) / 12, ")")
      };
    }
    if (color && getIEVersion() > 11) {
      var matched = color.match(/[\d.]+/g);
      var endColor = matched ? "rgba(".concat(matched[0], ", ").concat(matched[1], ", ").concat(matched[2], ", 0)") : "";
      setStyle$1(circleElem, _objectSpread$U(_objectSpread$U({}, basicStyle), {}, {
        background: "conic-gradient(from 90deg at 50% 50%,".concat(endColor, " 0deg, ").concat(color, " 360deg)")
      }));
    } else {
      setStyle$1(circleElem, _objectSpread$U(_objectSpread$U({}, basicStyle), {}, {
        background: ""
      }));
    }
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function isObject$b(value) {
    var type = _typeof$2(value);
    return value != null && (type == "object" || type == "function");
  }
  var isObject_1 = isObject$b;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag$6 = _baseGetTag, isObject$a = isObject_1;
  var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
  function isFunction$4(value) {
    if (!isObject$a(value)) {
      return false;
    }
    var tag = baseGetTag$6(value);
    return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
  }
  var isFunction_1 = isFunction$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var root$1$2 = _root;
  var coreJsData$1 = root$1$2["__core-js_shared__"];
  var _coreJsData = coreJsData$1;
  var coreJsData = _coreJsData;
  var maskSrcKey = function() {
    var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
    return uid ? "Symbol(src)_1." + uid : "";
  }();
  function isMasked$1(func) {
    return !!maskSrcKey && maskSrcKey in func;
  }
  var _isMasked = isMasked$1;
  var funcProto$1 = Function.prototype;
  var funcToString$1 = funcProto$1.toString;
  function toSource$1(func) {
    if (func != null) {
      try {
        return funcToString$1.call(func);
      } catch (e) {
      }
      try {
        return func + "";
      } catch (e) {
      }
    }
    return "";
  }
  var _toSource = toSource$1;
  var isFunction$3 = isFunction_1, isMasked = _isMasked, isObject$9 = isObject_1, toSource$2 = _toSource;
  var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
  var reIsHostCtor = /^\[object .+?Constructor\]$/;
  var funcProto$2 = Function.prototype, objectProto$9 = Object.prototype;
  var funcToString$2 = funcProto$2.toString;
  var hasOwnProperty$9 = objectProto$9.hasOwnProperty;
  var reIsNative = RegExp("^" + funcToString$2.call(hasOwnProperty$9).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
  function baseIsNative$1(value) {
    if (!isObject$9(value) || isMasked(value)) {
      return false;
    }
    var pattern2 = isFunction$3(value) ? reIsNative : reIsHostCtor;
    return pattern2.test(toSource$2(value));
  }
  var _baseIsNative = baseIsNative$1;
  function getValue$1(object, key2) {
    return object == null ? void 0 : object[key2];
  }
  var _getValue = getValue$1;
  var baseIsNative = _baseIsNative, getValue = _getValue;
  function getNative$1$1(object, key2) {
    var value = getValue(object, key2);
    return baseIsNative(value) ? value : void 0;
  }
  var _getNative = getNative$1$1;
  var getNative$6 = _getNative, root$6 = _root;
  var Map$4 = getNative$6(root$6, "Map");
  var _Map = Map$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function eq$4(value, other) {
    return value === other || value !== value && other !== other;
  }
  var eq_1 = eq$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function listCacheClear$1() {
    this.__data__ = [];
    this.size = 0;
  }
  var _listCacheClear = listCacheClear$1;
  var eq$3 = eq_1;
  function assocIndexOf$4(array, key2) {
    var length = array.length;
    while (length--) {
      if (eq$3(array[length][0], key2)) {
        return length;
      }
    }
    return -1;
  }
  var _assocIndexOf = assocIndexOf$4;
  var assocIndexOf$3 = _assocIndexOf;
  var arrayProto = Array.prototype;
  var splice = arrayProto.splice;
  function listCacheDelete$1(key2) {
    var data2 = this.__data__, index2 = assocIndexOf$3(data2, key2);
    if (index2 < 0) {
      return false;
    }
    var lastIndex = data2.length - 1;
    if (index2 == lastIndex) {
      data2.pop();
    } else {
      splice.call(data2, index2, 1);
    }
    --this.size;
    return true;
  }
  var _listCacheDelete = listCacheDelete$1;
  var assocIndexOf$2 = _assocIndexOf;
  function listCacheGet$1(key2) {
    var data2 = this.__data__, index2 = assocIndexOf$2(data2, key2);
    return index2 < 0 ? void 0 : data2[index2][1];
  }
  var _listCacheGet = listCacheGet$1;
  var assocIndexOf$1 = _assocIndexOf;
  function listCacheHas$1(key2) {
    return assocIndexOf$1(this.__data__, key2) > -1;
  }
  var _listCacheHas = listCacheHas$1;
  var assocIndexOf = _assocIndexOf;
  function listCacheSet$1(key2, value) {
    var data2 = this.__data__, index2 = assocIndexOf(data2, key2);
    if (index2 < 0) {
      ++this.size;
      data2.push([key2, value]);
    } else {
      data2[index2][1] = value;
    }
    return this;
  }
  var _listCacheSet = listCacheSet$1;
  var listCacheClear = _listCacheClear, listCacheDelete = _listCacheDelete, listCacheGet = _listCacheGet, listCacheHas = _listCacheHas, listCacheSet = _listCacheSet;
  function ListCache$1$1(entries) {
    var index2 = -1, length = entries == null ? 0 : entries.length;
    this.clear();
    while (++index2 < length) {
      var entry = entries[index2];
      this.set(entry[0], entry[1]);
    }
  }
  ListCache$1$1.prototype.clear = listCacheClear;
  ListCache$1$1.prototype["delete"] = listCacheDelete;
  ListCache$1$1.prototype.get = listCacheGet;
  ListCache$1$1.prototype.has = listCacheHas;
  ListCache$1$1.prototype.set = listCacheSet;
  var _ListCache = ListCache$1$1;
  var getNative$5 = _getNative;
  var nativeCreate$4 = getNative$5(Object, "create");
  var _nativeCreate = nativeCreate$4;
  var nativeCreate$3 = _nativeCreate;
  function hashClear$1() {
    this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
    this.size = 0;
  }
  var _hashClear = hashClear$1;
  function hashDelete$1(key2) {
    var result = this.has(key2) && delete this.__data__[key2];
    this.size -= result ? 1 : 0;
    return result;
  }
  var _hashDelete = hashDelete$1;
  var nativeCreate$2 = _nativeCreate;
  var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
  var objectProto$1$3 = Object.prototype;
  var hasOwnProperty$1$2 = objectProto$1$3.hasOwnProperty;
  function hashGet$1(key2) {
    var data2 = this.__data__;
    if (nativeCreate$2) {
      var result = data2[key2];
      return result === HASH_UNDEFINED$1 ? void 0 : result;
    }
    return hasOwnProperty$1$2.call(data2, key2) ? data2[key2] : void 0;
  }
  var _hashGet = hashGet$1;
  var nativeCreate$1 = _nativeCreate;
  var objectProto$8 = Object.prototype;
  var hasOwnProperty$8 = objectProto$8.hasOwnProperty;
  function hashHas$1(key2) {
    var data2 = this.__data__;
    return nativeCreate$1 ? data2[key2] !== void 0 : hasOwnProperty$8.call(data2, key2);
  }
  var _hashHas = hashHas$1;
  var nativeCreate = _nativeCreate;
  var HASH_UNDEFINED$2 = "__lodash_hash_undefined__";
  function hashSet$1(key2, value) {
    var data2 = this.__data__;
    this.size += this.has(key2) ? 0 : 1;
    data2[key2] = nativeCreate && value === void 0 ? HASH_UNDEFINED$2 : value;
    return this;
  }
  var _hashSet = hashSet$1;
  var hashClear = _hashClear, hashDelete = _hashDelete, hashGet = _hashGet, hashHas = _hashHas, hashSet = _hashSet;
  function Hash$1(entries) {
    var index2 = -1, length = entries == null ? 0 : entries.length;
    this.clear();
    while (++index2 < length) {
      var entry = entries[index2];
      this.set(entry[0], entry[1]);
    }
  }
  Hash$1.prototype.clear = hashClear;
  Hash$1.prototype["delete"] = hashDelete;
  Hash$1.prototype.get = hashGet;
  Hash$1.prototype.has = hashHas;
  Hash$1.prototype.set = hashSet;
  var _Hash = Hash$1;
  var Hash = _Hash, ListCache$3 = _ListCache, Map$3 = _Map;
  function mapCacheClear$1() {
    this.size = 0;
    this.__data__ = {
      "hash": new Hash(),
      "map": new (Map$3 || ListCache$3)(),
      "string": new Hash()
    };
  }
  var _mapCacheClear = mapCacheClear$1;
  function isKeyable$1(value) {
    var type = _typeof$2(value);
    return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
  }
  var _isKeyable = isKeyable$1;
  var isKeyable = _isKeyable;
  function getMapData$4(map, key2) {
    var data2 = map.__data__;
    return isKeyable(key2) ? data2[typeof key2 == "string" ? "string" : "hash"] : data2.map;
  }
  var _getMapData = getMapData$4;
  var getMapData$3 = _getMapData;
  function mapCacheDelete$1(key2) {
    var result = getMapData$3(this, key2)["delete"](key2);
    this.size -= result ? 1 : 0;
    return result;
  }
  var _mapCacheDelete = mapCacheDelete$1;
  var getMapData$2 = _getMapData;
  function mapCacheGet$1(key2) {
    return getMapData$2(this, key2).get(key2);
  }
  var _mapCacheGet = mapCacheGet$1;
  var getMapData$1 = _getMapData;
  function mapCacheHas$1(key2) {
    return getMapData$1(this, key2).has(key2);
  }
  var _mapCacheHas = mapCacheHas$1;
  var getMapData = _getMapData;
  function mapCacheSet$1(key2, value) {
    var data2 = getMapData(this, key2), size = data2.size;
    data2.set(key2, value);
    this.size += data2.size == size ? 0 : 1;
    return this;
  }
  var _mapCacheSet = mapCacheSet$1;
  var mapCacheClear = _mapCacheClear, mapCacheDelete = _mapCacheDelete, mapCacheGet = _mapCacheGet, mapCacheHas = _mapCacheHas, mapCacheSet = _mapCacheSet;
  function MapCache$3(entries) {
    var index2 = -1, length = entries == null ? 0 : entries.length;
    this.clear();
    while (++index2 < length) {
      var entry = entries[index2];
      this.set(entry[0], entry[1]);
    }
  }
  MapCache$3.prototype.clear = mapCacheClear;
  MapCache$3.prototype["delete"] = mapCacheDelete;
  MapCache$3.prototype.get = mapCacheGet;
  MapCache$3.prototype.has = mapCacheHas;
  MapCache$3.prototype.set = mapCacheSet;
  var _MapCache = MapCache$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var getNative$4 = _getNative;
  var defineProperty$2 = function() {
    try {
      var func = getNative$4(Object, "defineProperty");
      func({}, "", {});
      return func;
    } catch (e) {
    }
  }();
  var _defineProperty$1 = defineProperty$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var defineProperty$1 = _defineProperty$1;
  function baseAssignValue$1$1(object, key2, value) {
    if (key2 == "__proto__" && defineProperty$1) {
      defineProperty$1(object, key2, {
        "configurable": true,
        "enumerable": true,
        "value": value,
        "writable": true
      });
    } else {
      object[key2] = value;
    }
  }
  var _baseAssignValue = baseAssignValue$1$1;
  var baseAssignValue$2 = _baseAssignValue, eq$2 = eq_1;
  var objectProto$7 = Object.prototype;
  var hasOwnProperty$7 = objectProto$7.hasOwnProperty;
  function assignValue$3(object, key2, value) {
    var objValue = object[key2];
    if (!(hasOwnProperty$7.call(object, key2) && eq$2(objValue, value)) || value === void 0 && !(key2 in object)) {
      baseAssignValue$2(object, key2, value);
    }
  }
  var _assignValue = assignValue$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag$5 = _baseGetTag, isObjectLike$1$2 = isObjectLike_1;
  var argsTag$2 = "[object Arguments]";
  function baseIsArguments$1(value) {
    return isObjectLike$1$2(value) && baseGetTag$5(value) == argsTag$2;
  }
  var _baseIsArguments = baseIsArguments$1;
  var baseIsArguments = _baseIsArguments, isObjectLike$6 = isObjectLike_1;
  var objectProto$6 = Object.prototype;
  var hasOwnProperty$6 = objectProto$6.hasOwnProperty;
  var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
  var isArguments$5 = baseIsArguments(function() {
    return arguments;
  }()) ? baseIsArguments : function(value) {
    return isObjectLike$6(value) && hasOwnProperty$6.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
  };
  var isArguments_1 = isArguments$5;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var MAX_SAFE_INTEGER$1 = 9007199254740991;
  function isLength$3(value) {
    return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;
  }
  var isLength_1 = isLength$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function baseUnary$4(func) {
    return function(value) {
      return func(value);
    };
  }
  var _baseUnary = baseUnary$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isBuffer$5 = { exports: {} };
  function stubFalse() {
    return false;
  }
  var stubFalse_1 = stubFalse;
  (function(module, exports) {
    var root2 = _root, stubFalse2 = stubFalse_1;
    var freeExports = exports && !exports.nodeType && exports;
    var freeModule = freeExports && true && module && !module.nodeType && module;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var Buffer2 = moduleExports ? root2.Buffer : void 0;
    var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
    var isBuffer2 = nativeIsBuffer || stubFalse2;
    module.exports = isBuffer2;
  })(isBuffer$5, isBuffer$5.exports);
  isBuffer$5.exports;
  var baseGetTag$4 = _baseGetTag, isLength$2 = isLength_1, isObjectLike$5 = isObjectLike_1;
  var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$3 = "[object Boolean]", dateTag$2 = "[object Date]", errorTag$1 = "[object Error]", funcTag$1 = "[object Function]", mapTag$5 = "[object Map]", numberTag$2 = "[object Number]", objectTag$3 = "[object Object]", regexpTag$2 = "[object RegExp]", setTag$5 = "[object Set]", stringTag$2 = "[object String]", weakMapTag$2 = "[object WeakMap]";
  var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$3 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]";
  var typedArrayTags = {};
  typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
  typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$5] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$5] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false;
  function baseIsTypedArray$1(value) {
    return isObjectLike$5(value) && isLength$2(value.length) && !!typedArrayTags[baseGetTag$4(value)];
  }
  var _baseIsTypedArray = baseIsTypedArray$1;
  var _nodeUtil$1 = { exports: {} };
  (function(module, exports) {
    var freeGlobal2 = _freeGlobal;
    var freeExports = exports && !exports.nodeType && exports;
    var freeModule = freeExports && true && module && !module.nodeType && module;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var freeProcess = moduleExports && freeGlobal2.process;
    var nodeUtil2 = function() {
      try {
        var types = freeModule && freeModule.require && freeModule.require("util").types;
        if (types) {
          return types;
        }
        return freeProcess && freeProcess.binding && freeProcess.binding("util");
      } catch (e) {
      }
    }();
    module.exports = nodeUtil2;
  })(_nodeUtil$1, _nodeUtil$1.exports);
  _nodeUtil$1.exports;
  var baseIsTypedArray = _baseIsTypedArray, baseUnary$3 = _baseUnary, nodeUtil$2 = _nodeUtil$1.exports;
  var nodeIsTypedArray = nodeUtil$2 && nodeUtil$2.isTypedArray;
  var isTypedArray$4 = nodeIsTypedArray ? baseUnary$3(nodeIsTypedArray) : baseIsTypedArray;
  var isTypedArray_1 = isTypedArray$4;
  var objectProto$5 = Object.prototype;
  function isPrototype$3(value) {
    var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$5;
    return value === proto;
  }
  var _isPrototype = isPrototype$3;
  function overArg$2(func, transform) {
    return function(arg) {
      return func(transform(arg));
    };
  }
  var _overArg = overArg$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var MAX_SAFE_INTEGER = 9007199254740991;
  var reIsUint = /^(?:0|[1-9]\d*)$/;
  function isIndex$4(value, length) {
    var type = _typeof$2(value);
    length = length == null ? MAX_SAFE_INTEGER : length;
    return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
  }
  var _isIndex = isIndex$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isFunction$2 = isFunction_1, isLength$1 = isLength_1;
  function isArrayLike$5(value) {
    return value != null && isLength$1(value.length) && !isFunction$2(value);
  }
  var isArrayLike_1 = isArrayLike$5;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var ListCache$2 = _ListCache;
  function stackClear$1() {
    this.__data__ = new ListCache$2();
    this.size = 0;
  }
  var _stackClear = stackClear$1;
  function stackDelete$1(key2) {
    var data2 = this.__data__, result = data2["delete"](key2);
    this.size = data2.size;
    return result;
  }
  var _stackDelete = stackDelete$1;
  function stackGet$1(key2) {
    return this.__data__.get(key2);
  }
  var _stackGet = stackGet$1;
  function stackHas$1(key2) {
    return this.__data__.has(key2);
  }
  var _stackHas = stackHas$1;
  var ListCache$1 = _ListCache, Map$2 = _Map, MapCache$2 = _MapCache;
  var LARGE_ARRAY_SIZE$2 = 200;
  function stackSet$1(key2, value) {
    var data2 = this.__data__;
    if (data2 instanceof ListCache$1) {
      var pairs = data2.__data__;
      if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE$2 - 1) {
        pairs.push([key2, value]);
        this.size = ++data2.size;
        return this;
      }
      data2 = this.__data__ = new MapCache$2(pairs);
    }
    data2.set(key2, value);
    this.size = data2.size;
    return this;
  }
  var _stackSet = stackSet$1;
  var ListCache = _ListCache, stackClear = _stackClear, stackDelete = _stackDelete, stackGet = _stackGet, stackHas = _stackHas, stackSet = _stackSet;
  function Stack$2(entries) {
    var data2 = this.__data__ = new ListCache(entries);
    this.size = data2.size;
  }
  Stack$2.prototype.clear = stackClear;
  Stack$2.prototype["delete"] = stackDelete;
  Stack$2.prototype.get = stackGet;
  Stack$2.prototype.has = stackHas;
  Stack$2.prototype.set = stackSet;
  var _Stack = Stack$2;
  var assignValue$2 = _assignValue, baseAssignValue$1 = _baseAssignValue;
  function copyObject$5(source, props2, object, customizer) {
    var isNew = !object;
    object || (object = {});
    var index2 = -1, length = props2.length;
    while (++index2 < length) {
      var key2 = props2[index2];
      var newValue = customizer ? customizer(object[key2], source[key2], key2, object, source) : void 0;
      if (newValue === void 0) {
        newValue = source[key2];
      }
      if (isNew) {
        baseAssignValue$1(object, key2, newValue);
      } else {
        assignValue$2(object, key2, newValue);
      }
    }
    return object;
  }
  var _copyObject = copyObject$5;
  function baseTimes$1(n, iteratee) {
    var index2 = -1, result = Array(n);
    while (++index2 < n) {
      result[index2] = iteratee(index2);
    }
    return result;
  }
  var _baseTimes = baseTimes$1;
  var baseTimes = _baseTimes, isArguments$4 = isArguments_1, isArray$8 = isArray_1, isBuffer$4 = isBuffer$5.exports, isIndex$3 = _isIndex, isTypedArray$3 = isTypedArray_1;
  var objectProto$1$2 = Object.prototype;
  var hasOwnProperty$1$1 = objectProto$1$2.hasOwnProperty;
  function arrayLikeKeys$1(value, inherited) {
    var isArr = isArray$8(value), isArg = !isArr && isArguments$4(value), isBuff = !isArr && !isArg && isBuffer$4(value), isType = !isArr && !isArg && !isBuff && isTypedArray$3(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
    for (var key2 in value) {
      if ((inherited || hasOwnProperty$1$1.call(value, key2)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
      (key2 == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
      isBuff && (key2 == "offset" || key2 == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
      isType && (key2 == "buffer" || key2 == "byteLength" || key2 == "byteOffset") || // Skip index properties.
      isIndex$3(key2, length)))) {
        result.push(key2);
      }
    }
    return result;
  }
  var _arrayLikeKeys = arrayLikeKeys$1;
  function nativeKeysIn$1(object) {
    var result = [];
    if (object != null) {
      for (var key2 in Object(object)) {
        result.push(key2);
      }
    }
    return result;
  }
  var _nativeKeysIn = nativeKeysIn$1;
  var isObject$1$2 = isObject_1, isPrototype$1$1 = _isPrototype, nativeKeysIn = _nativeKeysIn;
  var objectProto$4 = Object.prototype;
  var hasOwnProperty$5 = objectProto$4.hasOwnProperty;
  function baseKeysIn$1(object) {
    if (!isObject$1$2(object)) {
      return nativeKeysIn(object);
    }
    var isProto = isPrototype$1$1(object), result = [];
    for (var key2 in object) {
      if (!(key2 == "constructor" && (isProto || !hasOwnProperty$5.call(object, key2)))) {
        result.push(key2);
      }
    }
    return result;
  }
  var _baseKeysIn = baseKeysIn$1;
  var arrayLikeKeys$2 = _arrayLikeKeys, baseKeysIn = _baseKeysIn, isArrayLike$4 = isArrayLike_1;
  function keysIn$4(object) {
    return isArrayLike$4(object) ? arrayLikeKeys$2(object, true) : baseKeysIn(object);
  }
  var keysIn_1 = keysIn$4;
  var _cloneBuffer$1 = { exports: {} };
  (function(module, exports) {
    var root2 = _root;
    var freeExports = exports && !exports.nodeType && exports;
    var freeModule = freeExports && true && module && !module.nodeType && module;
    var moduleExports = freeModule && freeModule.exports === freeExports;
    var Buffer2 = moduleExports ? root2.Buffer : void 0, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0;
    function cloneBuffer2(buffer, isDeep) {
      if (isDeep) {
        return buffer.slice();
      }
      var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
      buffer.copy(result);
      return result;
    }
    module.exports = cloneBuffer2;
  })(_cloneBuffer$1, _cloneBuffer$1.exports);
  _cloneBuffer$1.exports;
  function copyArray$2(source, array) {
    var index2 = -1, length = source.length;
    array || (array = Array(length));
    while (++index2 < length) {
      array[index2] = source[index2];
    }
    return array;
  }
  var _copyArray = copyArray$2;
  var overArg$1 = _overArg;
  var getPrototype$1$1 = overArg$1(Object.getPrototypeOf, Object);
  var _getPrototype = getPrototype$1$1;
  var root$5 = _root;
  var Uint8Array$1 = root$5.Uint8Array;
  var _Uint8Array = Uint8Array$1;
  var Uint8Array$2 = _Uint8Array;
  function cloneArrayBuffer$1$1(arrayBuffer) {
    var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
    new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer));
    return result;
  }
  var _cloneArrayBuffer = cloneArrayBuffer$1$1;
  var cloneArrayBuffer$2 = _cloneArrayBuffer;
  function cloneTypedArray$2(typedArray, isDeep) {
    var buffer = isDeep ? cloneArrayBuffer$2(typedArray.buffer) : typedArray.buffer;
    return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
  }
  var _cloneTypedArray = cloneTypedArray$2;
  var isObject$8 = isObject_1;
  var objectCreate = Object.create;
  var baseCreate$1 = function() {
    function object() {
    }
    return function(proto) {
      if (!isObject$8(proto)) {
        return {};
      }
      if (objectCreate) {
        return objectCreate(proto);
      }
      object.prototype = proto;
      var result = new object();
      object.prototype = void 0;
      return result;
    };
  }();
  var _baseCreate = baseCreate$1;
  var baseCreate = _baseCreate, getPrototype$2 = _getPrototype, isPrototype$2 = _isPrototype;
  function initCloneObject$2(object) {
    return typeof object.constructor == "function" && !isPrototype$2(object) ? baseCreate(getPrototype$2(object)) : {};
  }
  var _initCloneObject = initCloneObject$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var getNative$3 = _getNative, root$4 = _root;
  var Set$3 = getNative$3(root$4, "Set");
  var _Set = Set$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var overArg = _overArg;
  var nativeKeys$1 = overArg(Object.keys, Object);
  var _nativeKeys = nativeKeys$1;
  var isPrototype$1 = _isPrototype, nativeKeys = _nativeKeys;
  var objectProto$3 = Object.prototype;
  var hasOwnProperty$4 = objectProto$3.hasOwnProperty;
  function baseKeys$2(object) {
    if (!isPrototype$1(object)) {
      return nativeKeys(object);
    }
    var result = [];
    for (var key2 in Object(object)) {
      if (hasOwnProperty$4.call(object, key2) && key2 != "constructor") {
        result.push(key2);
      }
    }
    return result;
  }
  var _baseKeys = baseKeys$2;
  var getNative$2 = _getNative, root$2 = _root;
  var DataView$1 = getNative$2(root$2, "DataView");
  var _DataView = DataView$1;
  var getNative$1 = _getNative, root$1$1 = _root;
  var Promise$2 = getNative$1(root$1$1, "Promise");
  var _Promise = Promise$2;
  var getNative = _getNative, root$3 = _root;
  var WeakMap$1 = getNative(root$3, "WeakMap");
  var _WeakMap = WeakMap$1;
  var DataView = _DataView, Map$1 = _Map, Promise$1 = _Promise, Set$2 = _Set, WeakMap$2 = _WeakMap, baseGetTag$3 = _baseGetTag, toSource = _toSource;
  var mapTag$4 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$4 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
  var dataViewTag$2 = "[object DataView]";
  var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap$2);
  var getTag$4 = baseGetTag$3;
  if (DataView && getTag$4(new DataView(new ArrayBuffer(1))) != dataViewTag$2 || Map$1 && getTag$4(new Map$1()) != mapTag$4 || Promise$1 && getTag$4(Promise$1.resolve()) != promiseTag || Set$2 && getTag$4(new Set$2()) != setTag$4 || WeakMap$2 && getTag$4(new WeakMap$2()) != weakMapTag$1) {
    getTag$4 = function getTag2(value) {
      var result = baseGetTag$3(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
      if (ctorString) {
        switch (ctorString) {
          case dataViewCtorString:
            return dataViewTag$2;
          case mapCtorString:
            return mapTag$4;
          case promiseCtorString:
            return promiseTag;
          case setCtorString:
            return setTag$4;
          case weakMapCtorString:
            return weakMapTag$1;
        }
      }
      return result;
    };
  }
  var _getTag = getTag$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function arrayFilter$2(array, predicate) {
    var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
    while (++index2 < length) {
      var value = array[index2];
      if (predicate(value, index2, array)) {
        result[resIndex++] = value;
      }
    }
    return result;
  }
  var _arrayFilter = arrayFilter$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function arrayPush$3(array, values) {
    var index2 = -1, length = values.length, offset2 = array.length;
    while (++index2 < length) {
      array[offset2 + index2] = values[index2];
    }
    return array;
  }
  var _arrayPush = arrayPush$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function arrayEach$1(array, iteratee) {
    var index2 = -1, length = array == null ? 0 : array.length;
    while (++index2 < length) {
      if (iteratee(array[index2], index2, array) === false) {
        break;
      }
    }
    return array;
  }
  var _arrayEach = arrayEach$1;
  var arrayLikeKeys = _arrayLikeKeys, baseKeys$1 = _baseKeys, isArrayLike$3 = isArrayLike_1;
  function keys$3(object) {
    return isArrayLike$3(object) ? arrayLikeKeys(object) : baseKeys$1(object);
  }
  var keys_1 = keys$3;
  var copyObject$3 = _copyObject, keys$2 = keys_1;
  function baseAssign$1(object, source) {
    return object && copyObject$3(source, keys$2(source), object);
  }
  var _baseAssign = baseAssign$1;
  var copyObject$2 = _copyObject, keysIn$2 = keysIn_1;
  function baseAssignIn$1(object, source) {
    return object && copyObject$2(source, keysIn$2(source), object);
  }
  var _baseAssignIn = baseAssignIn$1;
  function stubArray$2() {
    return [];
  }
  var stubArray_1 = stubArray$2;
  var arrayFilter$1 = _arrayFilter, stubArray$1 = stubArray_1;
  var objectProto$1$1 = Object.prototype;
  var propertyIsEnumerable = objectProto$1$1.propertyIsEnumerable;
  var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
  var getSymbols$3 = !nativeGetSymbols$1 ? stubArray$1 : function(object) {
    if (object == null) {
      return [];
    }
    object = Object(object);
    return arrayFilter$1(nativeGetSymbols$1(object), function(symbol) {
      return propertyIsEnumerable.call(object, symbol);
    });
  };
  var _getSymbols = getSymbols$3;
  var copyObject$1$1 = _copyObject, getSymbols$2 = _getSymbols;
  function copySymbols$1(source, object) {
    return copyObject$1$1(source, getSymbols$2(source), object);
  }
  var _copySymbols = copySymbols$1;
  var arrayPush$1 = _arrayPush, getPrototype$1 = _getPrototype, getSymbols$1 = _getSymbols, stubArray = stubArray_1;
  var nativeGetSymbols = Object.getOwnPropertySymbols;
  var getSymbolsIn$2 = !nativeGetSymbols ? stubArray : function(object) {
    var result = [];
    while (object) {
      arrayPush$1(result, getSymbols$1(object));
      object = getPrototype$1(object);
    }
    return result;
  };
  var _getSymbolsIn = getSymbolsIn$2;
  var copyObject$4 = _copyObject, getSymbolsIn$1 = _getSymbolsIn;
  function copySymbolsIn$1(source, object) {
    return copyObject$4(source, getSymbolsIn$1(source), object);
  }
  var _copySymbolsIn = copySymbolsIn$1;
  var arrayPush$2 = _arrayPush, isArray$1$2 = isArray_1;
  function baseGetAllKeys$2(object, keysFunc, symbolsFunc) {
    var result = keysFunc(object);
    return isArray$1$2(object) ? result : arrayPush$2(result, symbolsFunc(object));
  }
  var _baseGetAllKeys = baseGetAllKeys$2;
  var baseGetAllKeys$1 = _baseGetAllKeys, getSymbols = _getSymbols, keys$1 = keys_1;
  function getAllKeys$1(object) {
    return baseGetAllKeys$1(object, keys$1, getSymbols);
  }
  var _getAllKeys = getAllKeys$1;
  var baseGetAllKeys = _baseGetAllKeys, getSymbolsIn = _getSymbolsIn, keysIn$1$1 = keysIn_1;
  function getAllKeysIn$1(object) {
    return baseGetAllKeys(object, keysIn$1$1, getSymbolsIn);
  }
  var _getAllKeysIn = getAllKeysIn$1;
  var objectProto$2 = Object.prototype;
  var hasOwnProperty$3 = objectProto$2.hasOwnProperty;
  function initCloneArray$1(array) {
    var length = array.length, result = new array.constructor(length);
    if (length && typeof array[0] == "string" && hasOwnProperty$3.call(array, "index")) {
      result.index = array.index;
      result.input = array.input;
    }
    return result;
  }
  var _initCloneArray = initCloneArray$1;
  var cloneArrayBuffer$1 = _cloneArrayBuffer;
  function cloneDataView$1(dataView, isDeep) {
    var buffer = isDeep ? cloneArrayBuffer$1(dataView.buffer) : dataView.buffer;
    return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
  }
  var _cloneDataView = cloneDataView$1;
  var reFlags = /\w*$/;
  function cloneRegExp$1(regexp) {
    var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
    result.lastIndex = regexp.lastIndex;
    return result;
  }
  var _cloneRegExp = cloneRegExp$1;
  var _Symbol$2 = _Symbol$2$1;
  var symbolProto$1 = _Symbol$2 ? _Symbol$2.prototype : void 0, symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : void 0;
  function cloneSymbol$1(symbol) {
    return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
  }
  var _cloneSymbol = cloneSymbol$1;
  var cloneArrayBuffer = _cloneArrayBuffer, cloneDataView = _cloneDataView, cloneRegExp = _cloneRegExp, cloneSymbol = _cloneSymbol, cloneTypedArray$1 = _cloneTypedArray;
  var boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]";
  var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
  function initCloneByTag$1(object, tag, isDeep) {
    var Ctor = object.constructor;
    switch (tag) {
      case arrayBufferTag$1:
        return cloneArrayBuffer(object);
      case boolTag$1:
      case dateTag$1:
        return new Ctor(+object);
      case dataViewTag$1:
        return cloneDataView(object, isDeep);
      case float32Tag$1:
      case float64Tag$1:
      case int8Tag$1:
      case int16Tag$1:
      case int32Tag$1:
      case uint8Tag$1:
      case uint8ClampedTag$1:
      case uint16Tag$1:
      case uint32Tag$1:
        return cloneTypedArray$1(object, isDeep);
      case mapTag$2:
        return new Ctor();
      case numberTag$1:
      case stringTag$1:
        return new Ctor(object);
      case regexpTag$1:
        return cloneRegExp(object);
      case setTag$2:
        return new Ctor();
      case symbolTag$1:
        return cloneSymbol(object);
    }
  }
  var _initCloneByTag = initCloneByTag$1;
  var getTag$2 = _getTag, isObjectLike$1$1 = isObjectLike_1;
  var mapTag$1 = "[object Map]";
  function baseIsMap$1(value) {
    return isObjectLike$1$1(value) && getTag$2(value) == mapTag$1;
  }
  var _baseIsMap = baseIsMap$1;
  var baseIsMap = _baseIsMap, baseUnary$1$1 = _baseUnary, nodeUtil$1 = _nodeUtil$1.exports;
  var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap;
  var isMap$1 = nodeIsMap ? baseUnary$1$1(nodeIsMap) : baseIsMap;
  var isMap_1 = isMap$1;
  var getTag$1 = _getTag, isObjectLike$4 = isObjectLike_1;
  var setTag$1 = "[object Set]";
  function baseIsSet$1(value) {
    return isObjectLike$4(value) && getTag$1(value) == setTag$1;
  }
  var _baseIsSet = baseIsSet$1;
  var baseIsSet = _baseIsSet, baseUnary$2 = _baseUnary, nodeUtil = _nodeUtil$1.exports;
  var nodeIsSet = nodeUtil && nodeUtil.isSet;
  var isSet$1 = nodeIsSet ? baseUnary$2(nodeIsSet) : baseIsSet;
  var isSet_1 = isSet$1;
  var Stack$1 = _Stack, arrayEach = _arrayEach, assignValue$1 = _assignValue, baseAssign = _baseAssign, baseAssignIn = _baseAssignIn, cloneBuffer$1 = _cloneBuffer$1.exports, copyArray$1 = _copyArray, copySymbols = _copySymbols, copySymbolsIn = _copySymbolsIn, getAllKeys = _getAllKeys, getAllKeysIn$2 = _getAllKeysIn, getTag$3 = _getTag, initCloneArray = _initCloneArray, initCloneByTag = _initCloneByTag, initCloneObject$1 = _initCloneObject, isArray$7 = isArray_1, isBuffer$3 = isBuffer$5.exports, isMap = isMap_1, isObject$7 = isObject_1, isSet = isSet_1, keys = keys_1, keysIn$3 = keysIn_1;
  var CLONE_DEEP_FLAG$2 = 1, CLONE_FLAT_FLAG$1 = 2, CLONE_SYMBOLS_FLAG$2 = 4;
  var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag$2 = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$3 = "[object Map]", numberTag = "[object Number]", objectTag$1 = "[object Object]", regexpTag = "[object RegExp]", setTag$3 = "[object Set]", stringTag = "[object String]", symbolTag$2 = "[object Symbol]", weakMapTag = "[object WeakMap]";
  var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
  var cloneableTags = {};
  cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag$2] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$3] = cloneableTags[numberTag] = cloneableTags[objectTag$1] = cloneableTags[regexpTag] = cloneableTags[setTag$3] = cloneableTags[stringTag] = cloneableTags[symbolTag$2] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
  cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
  function baseClone$2(value, bitmask, customizer, key2, object, stack2) {
    var result, isDeep = bitmask & CLONE_DEEP_FLAG$2, isFlat = bitmask & CLONE_FLAT_FLAG$1, isFull = bitmask & CLONE_SYMBOLS_FLAG$2;
    if (customizer) {
      result = object ? customizer(value, key2, object, stack2) : customizer(value);
    }
    if (result !== void 0) {
      return result;
    }
    if (!isObject$7(value)) {
      return value;
    }
    var isArr = isArray$7(value);
    if (isArr) {
      result = initCloneArray(value);
      if (!isDeep) {
        return copyArray$1(value, result);
      }
    } else {
      var tag = getTag$3(value), isFunc = tag == funcTag || tag == genTag;
      if (isBuffer$3(value)) {
        return cloneBuffer$1(value, isDeep);
      }
      if (tag == objectTag$1 || tag == argsTag || isFunc && !object) {
        result = isFlat || isFunc ? {} : initCloneObject$1(value);
        if (!isDeep) {
          return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
        }
      } else {
        if (!cloneableTags[tag]) {
          return object ? value : {};
        }
        result = initCloneByTag(value, tag, isDeep);
      }
    }
    stack2 || (stack2 = new Stack$1());
    var stacked = stack2.get(value);
    if (stacked) {
      return stacked;
    }
    stack2.set(value, result);
    if (isSet(value)) {
      value.forEach(function(subValue) {
        result.add(baseClone$2(subValue, bitmask, customizer, subValue, value, stack2));
      });
    } else if (isMap(value)) {
      value.forEach(function(subValue, key3) {
        result.set(key3, baseClone$2(subValue, bitmask, customizer, key3, value, stack2));
      });
    }
    var keysFunc = isFull ? isFlat ? getAllKeysIn$2 : getAllKeys : isFlat ? keysIn$3 : keys;
    var props2 = isArr ? void 0 : keysFunc(value);
    arrayEach(props2 || value, function(subValue, key3) {
      if (props2) {
        key3 = subValue;
        subValue = value[key3];
      }
      assignValue$1(result, key3, baseClone$2(subValue, bitmask, customizer, key3, value, stack2));
    });
    return result;
  }
  var _baseClone = baseClone$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseClone$1 = _baseClone;
  var CLONE_DEEP_FLAG$1 = 1, CLONE_SYMBOLS_FLAG$1 = 4;
  function cloneDeep(value) {
    return baseClone$1(value, CLONE_DEEP_FLAG$1 | CLONE_SYMBOLS_FLAG$1);
  }
  var cloneDeep_1 = cloneDeep;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function identity$1(value) {
    return value;
  }
  var identity_1 = identity$1;
  function apply$1(func, thisArg, args) {
    switch (args.length) {
      case 0:
        return func.call(thisArg);
      case 1:
        return func.call(thisArg, args[0]);
      case 2:
        return func.call(thisArg, args[0], args[1]);
      case 3:
        return func.call(thisArg, args[0], args[1], args[2]);
    }
    return func.apply(thisArg, args);
  }
  var _apply = apply$1;
  var apply = _apply;
  var nativeMax$1 = Math.max;
  function overRest$2(func, start2, transform) {
    start2 = nativeMax$1(start2 === void 0 ? func.length - 1 : start2, 0);
    return function() {
      var args = arguments, index2 = -1, length = nativeMax$1(args.length - start2, 0), array = Array(length);
      while (++index2 < length) {
        array[index2] = args[start2 + index2];
      }
      index2 = -1;
      var otherArgs = Array(start2 + 1);
      while (++index2 < start2) {
        otherArgs[index2] = args[index2];
      }
      otherArgs[start2] = transform(array);
      return apply(func, this, otherArgs);
    };
  }
  var _overRest = overRest$2;
  function constant$1(value) {
    return function() {
      return value;
    };
  }
  var constant_1 = constant$1;
  var constant = constant_1, defineProperty = _defineProperty$1, identity$2 = identity_1;
  var baseSetToString$1 = !defineProperty ? identity$2 : function(func, string) {
    return defineProperty(func, "toString", {
      "configurable": true,
      "enumerable": false,
      "value": constant(string),
      "writable": true
    });
  };
  var _baseSetToString = baseSetToString$1;
  var HOT_COUNT = 800, HOT_SPAN = 16;
  var nativeNow = Date.now;
  function shortOut$1(func) {
    var count = 0, lastCalled = 0;
    return function() {
      var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
      lastCalled = stamp;
      if (remaining > 0) {
        if (++count >= HOT_COUNT) {
          return arguments[0];
        }
      } else {
        count = 0;
      }
      return func.apply(void 0, arguments);
    };
  }
  var _shortOut = shortOut$1;
  var baseSetToString = _baseSetToString, shortOut = _shortOut;
  var setToString$2 = shortOut(baseSetToString);
  var _setToString = setToString$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isArrayLike$2 = isArrayLike_1, isObjectLike$3 = isObjectLike_1;
  function isArrayLikeObject$3(value) {
    return isObjectLike$3(value) && isArrayLike$2(value);
  }
  var isArrayLikeObject_1 = isArrayLikeObject$3;
  var identity = identity_1, overRest$1 = _overRest, setToString$1 = _setToString;
  function baseRest$3(func, start2) {
    return setToString$1(overRest$1(func, start2, identity), func + "");
  }
  var _baseRest = baseRest$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag$2 = _baseGetTag, getPrototype = _getPrototype, isObjectLike$2 = isObjectLike_1;
  var objectTag = "[object Object]";
  var funcProto = Function.prototype, objectProto$1 = Object.prototype;
  var funcToString = funcProto.toString;
  var hasOwnProperty$2 = objectProto$1.hasOwnProperty;
  var objectCtorString = funcToString.call(Object);
  function isPlainObject$3(value) {
    if (!isObjectLike$2(value) || baseGetTag$2(value) != objectTag) {
      return false;
    }
    var proto = getPrototype(value);
    if (proto === null) {
      return true;
    }
    var Ctor = hasOwnProperty$2.call(proto, "constructor") && proto.constructor;
    return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
  }
  var isPlainObject_1 = isPlainObject$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var eq$1 = eq_1, isArrayLike$1 = isArrayLike_1, isIndex$2 = _isIndex, isObject$6 = isObject_1;
  function isIterateeCall$1(value, index2, object) {
    if (!isObject$6(object)) {
      return false;
    }
    var type = _typeof$2(index2);
    if (type == "number" ? isArrayLike$1(object) && isIndex$2(index2, object.length) : type == "string" && index2 in object) {
      return eq$1(object[index2], value);
    }
    return false;
  }
  var _isIterateeCall = isIterateeCall$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var defaultConfig = {
    classPrefix: "t",
    animation: {
      include: ["ripple", "expand", "fade"],
      exclude: []
    },
    calendar: {
      firstDayOfWeek: 1,
      fillWithZero: true,
      controllerConfig: void 0
    },
    icon: {},
    input: {
      autocomplete: ""
    },
    dialog: {
      closeOnEscKeydown: true,
      closeOnOverlayClick: true,
      confirmBtnTheme: {
        "default": "primary",
        info: "primary",
        warning: "primary",
        danger: "primary",
        success: "primary"
      }
    },
    message: {},
    popconfirm: {
      confirmBtnTheme: {
        "default": "primary",
        warning: "primary",
        danger: "primary"
      }
    },
    table: {
      expandIcon: void 0,
      sortIcon: void 0,
      filterIcon: void 0,
      treeExpandAndFoldIcon: void 0,
      hideSortTips: false
    },
    select: {
      clearIcon: void 0,
      filterable: false
    },
    drawer: {
      closeOnEscKeydown: true,
      closeOnOverlayClick: true,
      size: "small"
    },
    tree: {
      folderIcon: void 0
    },
    datePicker: {
      firstDayOfWeek: 1
    },
    steps: {
      checkIcon: void 0,
      errorIcon: void 0
    },
    tag: {
      closeIcon: void 0
    },
    form: {
      requiredMark: void 0
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var dayjs_min$1 = { exports: {} };
  (function(module, exports) {
    !function(t, e) {
      module.exports = e();
    }(commonjsGlobal$1, function() {
      var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "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 ordinal(t2) {
          var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
          return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
        }
      }, m = function m2(t2, e2, n2) {
        var r2 = String(t2);
        return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
      }, v = {
        s: m,
        z: function z(t2) {
          var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
          return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
        },
        m: function t2(e2, n2) {
          if (e2.date() < n2.date())
            return -t2(n2, e2);
          var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
          return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
        },
        a: function a2(t2) {
          return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
        },
        p: function p2(t2) {
          return {
            M: c,
            y: h2,
            w: o,
            d: a,
            D: d,
            h: u,
            m: s,
            s: i,
            ms: r,
            Q: f
          }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
        },
        u: function u2(t2) {
          return void 0 === t2;
        }
      }, g = "en", D = {};
      D[g] = M;
      var p = "$isDayjsObject", S = function S2(t2) {
        return t2 instanceof _ || !(!t2 || !t2[p]);
      }, w = function t2(e2, n2, r2) {
        var i2;
        if (!e2)
          return g;
        if ("string" == typeof e2) {
          var s2 = e2.toLowerCase();
          D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
          var u2 = e2.split("-");
          if (!i2 && u2.length > 1)
            return t2(u2[0]);
        } else {
          var a2 = e2.name;
          D[a2] = e2, i2 = a2;
        }
        return !r2 && i2 && (g = i2), i2 || !r2 && g;
      }, O = function O2(t2, e2) {
        if (S(t2))
          return t2.clone();
        var n2 = "object" == _typeof$2(e2) ? e2 : {};
        return n2.date = t2, n2.args = arguments, new _(n2);
      }, b = v;
      b.l = w, b.i = S, b.w = function(t2, e2) {
        return O(t2, {
          locale: e2.$L,
          utc: e2.$u,
          x: e2.$x,
          $offset: e2.$offset
        });
      };
      var _ = function() {
        function M2(t2) {
          this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
        }
        var m2 = M2.prototype;
        return m2.parse = function(t2) {
          this.$d = function(t3) {
            var e2 = t3.date, n2 = t3.utc;
            if (null === e2)
              return /* @__PURE__ */ new Date(NaN);
            if (b.u(e2))
              return /* @__PURE__ */ new Date();
            if (e2 instanceof Date)
              return new Date(e2);
            if ("string" == typeof e2 && !/Z$/i.test(e2)) {
              var r2 = e2.match($);
              if (r2) {
                var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
                return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
              }
            }
            return new Date(e2);
          }(t2), this.init();
        }, m2.init = function() {
          var t2 = this.$d;
          this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
        }, m2.$utils = function() {
          return b;
        }, m2.isValid = function() {
          return !(this.$d.toString() === l);
        }, m2.isSame = function(t2, e2) {
          var n2 = O(t2);
          return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
        }, m2.isAfter = function(t2, e2) {
          return O(t2) < this.startOf(e2);
        }, m2.isBefore = function(t2, e2) {
          return this.endOf(e2) < O(t2);
        }, m2.$g = function(t2, e2, n2) {
          return b.u(t2) ? this[e2] : this.set(n2, t2);
        }, m2.unix = function() {
          return Math.floor(this.valueOf() / 1e3);
        }, m2.valueOf = function() {
          return this.$d.getTime();
        }, m2.startOf = function(t2, e2) {
          var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function l3(t3, e3) {
            var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
            return r2 ? i2 : i2.endOf(a);
          }, $2 = function $3(t3, e3) {
            return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
          }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
          switch (f2) {
            case h2:
              return r2 ? l2(1, 0) : l2(31, 11);
            case c:
              return r2 ? l2(1, M3) : l2(0, M3 + 1);
            case o:
              var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
              return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
            case a:
            case d:
              return $2(v2 + "Hours", 0);
            case u:
              return $2(v2 + "Minutes", 1);
            case s:
              return $2(v2 + "Seconds", 2);
            case i:
              return $2(v2 + "Milliseconds", 3);
            default:
              return this.clone();
          }
        }, m2.endOf = function(t2) {
          return this.startOf(t2, false);
        }, m2.$set = function(t2, e2) {
          var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
          if (o2 === c || o2 === h2) {
            var y2 = this.clone().set(d, 1);
            y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
          } else
            l2 && this.$d[l2]($2);
          return this.init(), this;
        }, m2.set = function(t2, e2) {
          return this.clone().$set(t2, e2);
        }, m2.get = function(t2) {
          return this[b.p(t2)]();
        }, m2.add = function(r2, f2) {
          var d2, l2 = this;
          r2 = Number(r2);
          var $2 = b.p(f2), y2 = function y3(t2) {
            var e2 = O(l2);
            return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
          };
          if ($2 === c)
            return this.set(c, this.$M + r2);
          if ($2 === h2)
            return this.set(h2, this.$y + r2);
          if ($2 === a)
            return y2(1);
          if ($2 === o)
            return y2(7);
          var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
          return b.w(m3, this);
        }, m2.subtract = function(t2, e2) {
          return this.add(-1 * t2, e2);
        }, m2.format = function(t2) {
          var e2 = this, n2 = this.$locale();
          if (!this.isValid())
            return n2.invalidDate || l;
          var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function h4(t3, n3, i3, s3) {
            return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
          }, d2 = function d3(t3) {
            return b.s(s2 % 12 || 12, t3, "0");
          }, $2 = f2 || function(t3, e3, n3) {
            var r3 = t3 < 12 ? "AM" : "PM";
            return n3 ? r3.toLowerCase() : r3;
          };
          return r2.replace(y, function(t3, r3) {
            return r3 || function(t4) {
              switch (t4) {
                case "YY":
                  return String(e2.$y).slice(-2);
                case "YYYY":
                  return b.s(e2.$y, 4, "0");
                case "M":
                  return a2 + 1;
                case "MM":
                  return b.s(a2 + 1, 2, "0");
                case "MMM":
                  return h3(n2.monthsShort, a2, c2, 3);
                case "MMMM":
                  return h3(c2, a2);
                case "D":
                  return e2.$D;
                case "DD":
                  return b.s(e2.$D, 2, "0");
                case "d":
                  return String(e2.$W);
                case "dd":
                  return h3(n2.weekdaysMin, e2.$W, o2, 2);
                case "ddd":
                  return h3(n2.weekdaysShort, e2.$W, o2, 3);
                case "dddd":
                  return o2[e2.$W];
                case "H":
                  return String(s2);
                case "HH":
                  return b.s(s2, 2, "0");
                case "h":
                  return d2(1);
                case "hh":
                  return d2(2);
                case "a":
                  return $2(s2, u2, true);
                case "A":
                  return $2(s2, u2, false);
                case "m":
                  return String(u2);
                case "mm":
                  return b.s(u2, 2, "0");
                case "s":
                  return String(e2.$s);
                case "ss":
                  return b.s(e2.$s, 2, "0");
                case "SSS":
                  return b.s(e2.$ms, 3, "0");
                case "Z":
                  return i2;
              }
              return null;
            }(t3) || i2.replace(":", "");
          });
        }, m2.utcOffset = function() {
          return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
        }, m2.diff = function(r2, d2, l2) {
          var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function D3() {
            return b.m(y2, m3);
          };
          switch (M3) {
            case h2:
              $2 = D2() / 12;
              break;
            case c:
              $2 = D2();
              break;
            case f:
              $2 = D2() / 3;
              break;
            case o:
              $2 = (g2 - v2) / 6048e5;
              break;
            case a:
              $2 = (g2 - v2) / 864e5;
              break;
            case u:
              $2 = g2 / n;
              break;
            case s:
              $2 = g2 / e;
              break;
            case i:
              $2 = g2 / t;
              break;
            default:
              $2 = g2;
          }
          return l2 ? $2 : b.a($2);
        }, m2.daysInMonth = function() {
          return this.endOf(c).$D;
        }, m2.$locale = function() {
          return D[this.$L];
        }, m2.locale = function(t2, e2) {
          if (!t2)
            return this.$L;
          var n2 = this.clone(), r2 = w(t2, e2, true);
          return r2 && (n2.$L = r2), n2;
        }, m2.clone = function() {
          return b.w(this.$d, this);
        }, m2.toDate = function() {
          return new Date(this.valueOf());
        }, m2.toJSON = function() {
          return this.isValid() ? this.toISOString() : null;
        }, m2.toISOString = function() {
          return this.$d.toISOString();
        }, m2.toString = function() {
          return this.$d.toUTCString();
        }, M2;
      }(), k = _.prototype;
      return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) {
        k[t2[1]] = function(e2) {
          return this.$g(e2, t2[0], t2[1]);
        };
      }), O.extend = function(t2, e2) {
        return t2.$i || (t2(e2, _, O), t2.$i = true), O;
      }, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
        return O(1e3 * t2);
      }, O.en = D[g], O.Ls = D, O.p = {}, O;
    });
  })(dayjs_min$1);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var zhCn$2 = { exports: {} };
  (function(module, exports) {
    !function(e, _) {
      module.exports = _(dayjs_min$1.exports);
    }(commonjsGlobal$1, function(e) {
      function _(e2) {
        return e2 && "object" == _typeof$2(e2) && "default" in e2 ? e2 : {
          "default": e2
        };
      }
      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 ordinal(e2, _2) {
          return "W" === _2 ? e2 + "周" : e2 + "日";
        },
        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 meridiem(e2, _2) {
          var t2 = 100 * e2 + _2;
          return t2 < 600 ? "凌晨" : t2 < 900 ? "早上" : t2 < 1100 ? "上午" : t2 < 1300 ? "中午" : t2 < 1800 ? "下午" : "晚上";
        }
      };
      return t["default"].locale(d, null, true), d;
    });
  })(zhCn$2);
  var zhCn = {
    pagination: {
      itemsPerPage: "{size} 条/页",
      jumpTo: "跳至",
      page: "页",
      total: "共 {total} 项数据"
    },
    cascader: {
      empty: "暂无数据",
      loadingText: "加载中",
      placeholder: "请选择"
    },
    calendar: {
      yearSelection: "{year} 年",
      monthSelection: "{month} 月",
      yearRadio: "年",
      monthRadio: "月",
      hideWeekend: "隐藏周末",
      showWeekend: "显示周末",
      today: "今天",
      thisMonth: "本月",
      week: "一,二,三,四,五,六,日",
      cellMonth: "1 月,2 月,3 月,4 月,5 月,6 月,7 月,8 月,9 月,10 月,11 月,12 月"
    },
    transfer: {
      title: "{checked} / {total} 项",
      empty: "暂无数据",
      placeholder: "请输入关键词搜索"
    },
    timePicker: {
      dayjsLocale: "zh-cn",
      now: "此刻",
      confirm: "确定",
      anteMeridiem: "上午",
      postMeridiem: "下午",
      placeholder: "选择时间"
    },
    dialog: {
      confirm: "确认",
      cancel: "取消"
    },
    drawer: {
      confirm: "确认",
      cancel: "取消"
    },
    popconfirm: {
      confirm: {
        content: "确定"
      },
      cancel: {
        content: "取消"
      }
    },
    table: {
      empty: "暂无数据",
      loadingText: "正在加载中,请稍后",
      loadingMoreText: "点击加载更多",
      filterInputPlaceholder: "请输入内容(无默认值)",
      sortAscendingOperationText: "点击升序",
      sortCancelOperationText: "点击取消排序",
      sortDescendingOperationText: "点击降序",
      clearFilterResultButtonText: "清空筛选",
      columnConfigButtonText: "列配置",
      columnConfigTitleText: "表格列配置",
      columnConfigDescriptionText: "请选择需要在表格中显示的数据列",
      confirmText: "确认",
      cancelText: "取消",
      resetText: "重置",
      selectAllText: "全选",
      searchResultText: "搜索“{result}”,找到 {count} 条结果"
    },
    select: {
      empty: "暂无数据",
      loadingText: "加载中",
      placeholder: "请选择"
    },
    tree: {
      empty: "暂无数据"
    },
    treeSelect: {
      empty: "暂无数据",
      loadingText: "加载中",
      placeholder: "请选择"
    },
    datePicker: {
      dayjsLocale: "zh-cn",
      placeholder: {
        date: "请选择日期",
        month: "请选择月份",
        year: "请选择年份"
      },
      weekdays: ["一", "二", "三", "四", "五", "六", "日"],
      months: ["1 月", "2 月", "3 月", "4 月", "5 月", "6 月", "7 月", "8 月", "9 月", "10 月", "11 月", "12 月"],
      quarters: ["一季度", "二季度", "三季度", "四季度"],
      rangeSeparator: " - ",
      direction: "ltr",
      format: "YYYY-MM-DD",
      dayAriaLabel: "日",
      weekAbbreviation: "周",
      yearAriaLabel: "年",
      monthAriaLabel: "月",
      confirm: "确定",
      selectTime: "选择时间",
      selectDate: "选择日期",
      nextYear: "下一年",
      preYear: "上一年",
      nextMonth: "下个月",
      preMonth: "上个月",
      preDecade: "上个十年",
      nextDecade: "下个十年",
      now: "当前"
    },
    upload: {
      sizeLimitMessage: "文件大小不能超过 {sizeLimit}",
      cancelUploadText: "取消上传",
      triggerUploadText: {
        fileInput: "选择文件",
        image: "点击上传图片",
        normal: "点击上传",
        reupload: "重新选择",
        continueUpload: "继续选择",
        "delete": "删除",
        uploading: "上传中"
      },
      dragger: {
        dragDropText: "释放鼠标",
        draggingText: "拖拽到此区域",
        clickAndDragText: "点击上方“选择文件”或将文件拖拽到此区域"
      },
      file: {
        fileNameText: "文件名",
        fileSizeText: "文件大小",
        fileStatusText: "状态",
        fileOperationText: "操作",
        fileOperationDateText: "上传日期"
      },
      progress: {
        uploadingText: "上传中",
        waitingText: "待上传",
        failText: "上传失败",
        successText: "上传成功"
      }
    },
    form: {
      errorMessage: {
        date: "请输入正确的${name}",
        url: "请输入正确的${name}",
        required: "${name}必填",
        max: "${name}字符长度不能超过 ${validate} 个字符,一个中文等于两个字符",
        min: "${name}字符长度不能少于 ${validate} 个字符,一个中文等于两个字符",
        len: "${name}字符长度必须是 ${validate}",
        "enum": "${name}只能是${validate}等",
        idcard: "请输入正确的${name}",
        telnumber: "请输入正确的${name}",
        pattern: "请输入正确的${name}",
        validator: "${name}不符合要求",
        "boolean": "${name}数据类型必须是布尔类型",
        number: "${name}必须是数字"
      }
    },
    input: {
      placeholder: "请输入"
    },
    list: {
      loadingText: "正在加载中,请稍等",
      loadingMoreText: "点击加载更多"
    },
    alert: {
      expandText: "展开更多",
      collapseText: "收起"
    },
    anchor: {
      copySuccessText: "链接复制成功",
      copyText: "复制链接"
    },
    colorPicker: {
      swatchColorTitle: "系统预设颜色",
      recentColorTitle: "最近使用颜色",
      clearConfirmText: "确定清空最近使用的颜色吗?"
    },
    guide: {
      finishButtonProps: {
        content: "完成",
        theme: "primary"
      },
      nextButtonProps: {
        content: "下一步",
        theme: "primary"
      },
      skipButtonProps: {
        content: "跳过",
        theme: "default"
      },
      prevButtonProps: {
        content: "上一步",
        theme: "default"
      }
    },
    image: {
      errorText: "图片无法显示",
      loadingText: "图片加载中"
    },
    imageViewer: {
      errorText: "图片加载失败,可尝试重新加载",
      mirrorTipText: "镜像",
      rotateTipText: "旋转",
      originalSizeTipText: "原始大小"
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseAssignValue = _baseAssignValue, eq = eq_1;
  function assignMergeValue$2(object, key2, value) {
    if (value !== void 0 && !eq(object[key2], value) || value === void 0 && !(key2 in object)) {
      baseAssignValue(object, key2, value);
    }
  }
  var _assignMergeValue = assignMergeValue$2;
  function createBaseFor$1(fromRight) {
    return function(object, iteratee, keysFunc) {
      var index2 = -1, iterable = Object(object), props2 = keysFunc(object), length = props2.length;
      while (length--) {
        var key2 = props2[fromRight ? length : ++index2];
        if (iteratee(iterable[key2], key2, iterable) === false) {
          break;
        }
      }
      return object;
    };
  }
  var _createBaseFor = createBaseFor$1;
  var createBaseFor = _createBaseFor;
  var baseFor$1 = createBaseFor();
  var _baseFor = baseFor$1;
  function safeGet$2(object, key2) {
    if (key2 === "constructor" && typeof object[key2] === "function") {
      return;
    }
    if (key2 == "__proto__") {
      return;
    }
    return object[key2];
  }
  var _safeGet = safeGet$2;
  var copyObject$1 = _copyObject, keysIn$1 = keysIn_1;
  function toPlainObject$1(value) {
    return copyObject$1(value, keysIn$1(value));
  }
  var toPlainObject_1 = toPlainObject$1;
  var assignMergeValue$1 = _assignMergeValue, cloneBuffer = _cloneBuffer$1.exports, cloneTypedArray = _cloneTypedArray, copyArray = _copyArray, initCloneObject = _initCloneObject, isArguments$3 = isArguments_1, isArray$6 = isArray_1, isArrayLikeObject$2 = isArrayLikeObject_1, isBuffer$2 = isBuffer$5.exports, isFunction$1 = isFunction_1, isObject$1$1 = isObject_1, isPlainObject$2 = isPlainObject_1, isTypedArray$2 = isTypedArray_1, safeGet$1 = _safeGet, toPlainObject = toPlainObject_1;
  function baseMergeDeep$1(object, source, key2, srcIndex, mergeFunc, customizer, stack2) {
    var objValue = safeGet$1(object, key2), srcValue = safeGet$1(source, key2), stacked = stack2.get(srcValue);
    if (stacked) {
      assignMergeValue$1(object, key2, stacked);
      return;
    }
    var newValue = customizer ? customizer(objValue, srcValue, key2 + "", object, source, stack2) : void 0;
    var isCommon = newValue === void 0;
    if (isCommon) {
      var isArr = isArray$6(srcValue), isBuff = !isArr && isBuffer$2(srcValue), isTyped = !isArr && !isBuff && isTypedArray$2(srcValue);
      newValue = srcValue;
      if (isArr || isBuff || isTyped) {
        if (isArray$6(objValue)) {
          newValue = objValue;
        } else if (isArrayLikeObject$2(objValue)) {
          newValue = copyArray(objValue);
        } else if (isBuff) {
          isCommon = false;
          newValue = cloneBuffer(srcValue, true);
        } else if (isTyped) {
          isCommon = false;
          newValue = cloneTypedArray(srcValue, true);
        } else {
          newValue = [];
        }
      } else if (isPlainObject$2(srcValue) || isArguments$3(srcValue)) {
        newValue = objValue;
        if (isArguments$3(objValue)) {
          newValue = toPlainObject(objValue);
        } else if (!isObject$1$1(objValue) || isFunction$1(objValue)) {
          newValue = initCloneObject(srcValue);
        }
      } else {
        isCommon = false;
      }
    }
    if (isCommon) {
      stack2.set(srcValue, newValue);
      mergeFunc(newValue, srcValue, srcIndex, customizer, stack2);
      stack2["delete"](srcValue);
    }
    assignMergeValue$1(object, key2, newValue);
  }
  var _baseMergeDeep = baseMergeDeep$1;
  var Stack = _Stack, assignMergeValue = _assignMergeValue, baseFor = _baseFor, baseMergeDeep = _baseMergeDeep, isObject$5 = isObject_1, keysIn = keysIn_1, safeGet = _safeGet;
  function baseMerge$2(object, source, srcIndex, customizer, stack2) {
    if (object === source) {
      return;
    }
    baseFor(source, function(srcValue, key2) {
      stack2 || (stack2 = new Stack());
      if (isObject$5(srcValue)) {
        baseMergeDeep(object, source, key2, srcIndex, baseMerge$2, customizer, stack2);
      } else {
        var newValue = customizer ? customizer(safeGet(object, key2), srcValue, key2 + "", object, source, stack2) : void 0;
        if (newValue === void 0) {
          newValue = srcValue;
        }
        assignMergeValue(object, key2, newValue);
      }
    }, keysIn);
  }
  var _baseMerge = baseMerge$2;
  var baseRest$2 = _baseRest, isIterateeCall = _isIterateeCall;
  function createAssigner$2(assigner) {
    return baseRest$2(function(object, sources) {
      var index2 = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
      customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
      if (guard && isIterateeCall(sources[0], sources[1], guard)) {
        customizer = length < 3 ? void 0 : customizer;
        length = 1;
      }
      object = Object(object);
      while (++index2 < length) {
        var source = sources[index2];
        if (source) {
          assigner(object, source, index2, customizer);
        }
      }
      return object;
    });
  }
  var _createAssigner = createAssigner$2;
  var baseMerge$1 = _baseMerge, createAssigner$1 = _createAssigner;
  createAssigner$1(function(object, source, srcIndex, customizer) {
    baseMerge$1(object, source, srcIndex, customizer);
  });
  var baseMerge = _baseMerge, createAssigner = _createAssigner;
  var merge$2 = createAssigner(function(object, source, srcIndex) {
    baseMerge(object, source, srcIndex);
  });
  var merge_1 = merge$2;
  var EAnimationType = /* @__PURE__ */ function(EAnimationType2) {
    EAnimationType2["ripple"] = "ripple";
    EAnimationType2["expand"] = "expand";
    EAnimationType2["fade"] = "fade";
    return EAnimationType2;
  }(EAnimationType || {});
  var defaultGlobalConfig = merge_1(defaultConfig, zhCn);
  var configProviderInjectKey = Symbol("configProvide");
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var globalConfigCopy = vue.ref();
  function useConfig() {
    var componentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0;
    var componentLocale = arguments.length > 1 ? arguments[1] : void 0;
    var injectGlobalConfig = vue.getCurrentInstance() ? vue.inject(configProviderInjectKey, null) : globalConfigCopy;
    var mergedGlobalConfig = vue.computed(function() {
      return (injectGlobalConfig === null || injectGlobalConfig === void 0 ? void 0 : injectGlobalConfig.value) || defaultGlobalConfig;
    });
    var globalConfig = vue.computed(function() {
      return Object.assign({}, mergedGlobalConfig.value[componentName], componentLocale);
    });
    var classPrefix = vue.computed(function() {
      return mergedGlobalConfig.value.classPrefix;
    });
    var t = function t2(pattern2) {
      for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
        args[_key - 1] = arguments[_key];
      }
      var data2 = args[0];
      if (isString_1(pattern2)) {
        if (!data2)
          return pattern2;
        var regular = /\{\s*([\w-]+)\s*\}/g;
        var translated = pattern2.replace(regular, function(match, key2) {
          if (data2) {
            return String(data2[key2]);
          }
          return "";
        });
        return translated;
      }
      if (isFunction_1(pattern2)) {
        if (!args.length)
          return pattern2(vue.h);
        return pattern2.apply(void 0, args);
      }
      return "";
    };
    return {
      t,
      global: globalConfig,
      globalConfig,
      classPrefix
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function usePrefixClass(componentName) {
    var _useConfig = useConfig("classPrefix"), classPrefix = _useConfig.classPrefix;
    return vue.computed(function() {
      return componentName ? "".concat(classPrefix.value, "-").concat(componentName) : classPrefix.value;
    });
  }
  function useCommonClassName$1() {
    var _useConfig2 = useConfig("classPrefix"), classPrefix = _useConfig2.classPrefix;
    return {
      SIZE: vue.computed(function() {
        return {
          small: "".concat(classPrefix.value, "-size-s"),
          medium: "".concat(classPrefix.value, "-size-m"),
          large: "".concat(classPrefix.value, "-size-l"),
          "default": "",
          xs: "".concat(classPrefix.value, "-size-xs"),
          xl: "".concat(classPrefix.value, "-size-xl"),
          block: "".concat(classPrefix.value, "-size-full-width")
        };
      }),
      STATUS: vue.computed(function() {
        return {
          loading: "".concat(classPrefix.value, "-is-loading"),
          loadMore: "".concat(classPrefix.value, "-is-load-more"),
          disabled: "".concat(classPrefix.value, "-is-disabled"),
          focused: "".concat(classPrefix.value, "-is-focused"),
          success: "".concat(classPrefix.value, "-is-success"),
          error: "".concat(classPrefix.value, "-is-error"),
          warning: "".concat(classPrefix.value, "-is-warning"),
          selected: "".concat(classPrefix.value, "-is-selected"),
          active: "".concat(classPrefix.value, "-is-active"),
          checked: "".concat(classPrefix.value, "-is-checked"),
          current: "".concat(classPrefix.value, "-is-current"),
          hidden: "".concat(classPrefix.value, "-is-hidden"),
          visible: "".concat(classPrefix.value, "-is-visible"),
          expanded: "".concat(classPrefix.value, "-is-expanded"),
          indeterminate: "".concat(classPrefix.value, "-is-indeterminate")
        };
      })
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var GradientIcon = vue.defineComponent({
    name: "TLoadingGradient",
    setup: function setup() {
      var classPrefix = usePrefixClass();
      vue.onMounted(function() {
        var circleElem = vue.getCurrentInstance().refs.circle;
        vue.nextTick(function() {
          circleAdapter(circleElem);
        });
      });
      return {
        classPrefix
      };
    },
    render: function render() {
      var classPrefix = this.classPrefix;
      var name = "".concat(classPrefix, "-loading__gradient");
      var classes = [name, "".concat(classPrefix, "-icon-loading")];
      return vue.createVNode("svg", {
        "class": classes,
        "viewBox": "0 0 12 12",
        "version": "1.1",
        "width": "1em",
        "height": "1em",
        "xmlns": "http://www.w3.org/2000/svg"
      }, [vue.createVNode("foreignObject", {
        "x": "0",
        "y": "0",
        "width": "12",
        "height": "12"
      }, [vue.createVNode("div", {
        "class": "".concat(name, "-conic"),
        "ref": "circle"
      }, null)])]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var raf$2 = { exports: {} };
  var performanceNow$1 = { exports: {} };
  (function() {
    var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;
    if (typeof performance !== "undefined" && performance !== null && performance.now) {
      performanceNow$1.exports = function() {
        return performance.now();
      };
    } else if (typeof process !== "undefined" && process !== null && process.hrtime) {
      performanceNow$1.exports = function() {
        return (getNanoSeconds() - nodeLoadTime) / 1e6;
      };
      hrtime = process.hrtime;
      getNanoSeconds = function getNanoSeconds2() {
        var hr;
        hr = hrtime();
        return hr[0] * 1e9 + hr[1];
      };
      moduleLoadTime = getNanoSeconds();
      upTime = process.uptime() * 1e9;
      nodeLoadTime = moduleLoadTime - upTime;
    } else if (Date.now) {
      performanceNow$1.exports = function() {
        return Date.now() - loadTime;
      };
      loadTime = Date.now();
    } else {
      performanceNow$1.exports = function() {
        return (/* @__PURE__ */ new Date()).getTime() - loadTime;
      };
      loadTime = (/* @__PURE__ */ new Date()).getTime();
    }
  }).call(commonjsGlobal$1);
  var now$2 = performanceNow$1.exports, root$1 = typeof window === "undefined" ? commonjsGlobal$1 : window, vendors = ["moz", "webkit"], suffix = "AnimationFrame", raf = root$1["request" + suffix], caf = root$1["cancel" + suffix] || root$1["cancelRequest" + suffix];
  for (var i = 0; !raf && i < vendors.length; i++) {
    raf = root$1[vendors[i] + "Request" + suffix];
    caf = root$1[vendors[i] + "Cancel" + suffix] || root$1[vendors[i] + "CancelRequest" + suffix];
  }
  if (!raf || !caf) {
    var last$3 = 0, id = 0, queue = [], frameDuration = 1e3 / 60;
    raf = function raf2(callback) {
      if (queue.length === 0) {
        var _now = now$2(), next = Math.max(0, frameDuration - (_now - last$3));
        last$3 = next + _now;
        setTimeout(function() {
          var cp = queue.slice(0);
          queue.length = 0;
          var _loop = function _loop2() {
            if (!cp[i].cancelled) {
              try {
                cp[i].callback(last$3);
              } catch (e) {
                setTimeout(function() {
                  throw e;
                }, 0);
              }
            }
          };
          for (var i = 0; i < cp.length; i++) {
            _loop();
          }
        }, Math.round(next));
      }
      queue.push({
        handle: ++id,
        callback,
        cancelled: false
      });
      return id;
    };
    caf = function caf2(handle) {
      for (var i = 0; i < queue.length; i++) {
        if (queue[i].handle === handle) {
          queue[i].cancelled = true;
        }
      }
    };
  }
  raf$2.exports = function(fn2) {
    return raf.call(root$1, fn2);
  };
  raf$2.exports.cancel = function() {
    caf.apply(root$1, arguments);
  };
  raf$2.exports.polyfill = function(object) {
    if (!object) {
      object = root$1;
    }
    object.requestAnimationFrame = raf;
    object.cancelAnimationFrame = caf;
  };
  var isServer = typeof window === "undefined";
  var trim$2 = function trim(str) {
    return (str || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, "");
  };
  var on$1 = function() {
    if (!isServer && document.addEventListener) {
      return function(element2, event, handler, options) {
        if (element2 && event && handler) {
          element2.addEventListener(event, handler, options);
        }
      };
    }
    return function(element2, event, handler) {
      if (element2 && event && handler) {
        element2.attachEvent("on".concat(event), handler);
      }
    };
  }();
  var off$1 = function() {
    if (!isServer && document.removeEventListener) {
      return function(element2, event, handler, options) {
        if (element2 && event) {
          element2.removeEventListener(event, handler, options);
        }
      };
    }
    return function(element2, event, handler) {
      if (element2 && event) {
        element2.detachEvent("on".concat(event), handler);
      }
    };
  }();
  function once(element2, event, handler, options) {
    var handlerFn = isFunction_1(handler) ? handler : handler.handleEvent;
    var callback = function callback2(evt) {
      handlerFn(evt);
      off$1(element2, event, callback2, options);
    };
    on$1(element2, event, callback, options);
  }
  function hasClass(el, cls) {
    if (!el || !cls)
      return false;
    if (cls.indexOf(" ") !== -1)
      throw new Error("className should not contain space.");
    if (el.classList) {
      return el.classList.contains(cls);
    }
    return " ".concat(el.className, " ").indexOf(" ".concat(cls, " ")) > -1;
  }
  function addClass(el, cls) {
    if (!el)
      return;
    var curClass = el.className;
    var classes = (cls || "").split(" ");
    for (var i = 0, j = classes.length; i < j; i++) {
      var clsName = classes[i];
      if (!clsName)
        continue;
      if (el.classList) {
        el.classList.add(clsName);
      } else if (!hasClass(el, clsName)) {
        curClass += " ".concat(clsName);
      }
    }
    if (!el.classList) {
      el.className = curClass;
    }
  }
  function removeClass(el, cls) {
    if (!el || !cls)
      return;
    var classes = cls.split(" ");
    var curClass = " ".concat(el.className, " ");
    for (var i = 0, j = classes.length; i < j; i++) {
      var clsName = classes[i];
      if (!clsName)
        continue;
      if (el.classList) {
        el.classList.remove(clsName);
      } else if (hasClass(el, clsName)) {
        curClass = curClass.replace(" ".concat(clsName, " "), " ");
      }
    }
    if (!el.classList) {
      el.className = trim$2(curClass);
    }
  }
  var getAttach = function getAttach2(node, triggerNode) {
    var attachNode = isFunction_1(node) ? node(triggerNode) : node;
    if (!attachNode) {
      return document.body;
    }
    if (isString_1(attachNode)) {
      return document.querySelector(attachNode);
    }
    if (attachNode instanceof HTMLElement) {
      return attachNode;
    }
    return document.body;
  };
  var getSSRAttach = function getSSRAttach2() {
  };
  var getScrollContainer = function getScrollContainer2() {
    var container = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "body";
    if (isString_1(container)) {
      return document.querySelector(container);
    }
    if (isFunction_1(container)) {
      return container();
    }
    return container;
  };
  var isNodeOverflow = function isNodeOverflow2(ele) {
    var _ele$clientWidth = ele.clientWidth, clientWidth = _ele$clientWidth === void 0 ? 0 : _ele$clientWidth, _ele$scrollWidth = ele.scrollWidth, scrollWidth = _ele$scrollWidth === void 0 ? 0 : _ele$scrollWidth;
    return scrollWidth > clientWidth;
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseKeys = _baseKeys, getTag = _getTag, isArguments$2 = isArguments_1, isArray$5 = isArray_1, isArrayLike = isArrayLike_1, isBuffer$1 = isBuffer$5.exports, isPrototype = _isPrototype, isTypedArray$1 = isTypedArray_1;
  var mapTag = "[object Map]", setTag = "[object Set]";
  var objectProto = Object.prototype;
  var hasOwnProperty$1 = objectProto.hasOwnProperty;
  function isEmpty(value) {
    if (value == null) {
      return true;
    }
    if (isArrayLike(value) && (isArray$5(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer$1(value) || isTypedArray$1(value) || isArguments$2(value))) {
      return !value.length;
    }
    var tag = getTag(value);
    if (tag == mapTag || tag == setTag) {
      return !value.size;
    }
    if (isPrototype(value)) {
      return !baseKeys(value).length;
    }
    for (var key2 in value) {
      if (hasOwnProperty$1.call(value, key2)) {
        return false;
      }
    }
    return true;
  }
  var isEmpty_1 = isEmpty;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag$1 = _baseGetTag, isObjectLike$1 = isObjectLike_1;
  var symbolTag = "[object Symbol]";
  function isSymbol$4(value) {
    return _typeof$2(value) == "symbol" || isObjectLike$1(value) && baseGetTag$1(value) == symbolTag;
  }
  var isSymbol_1 = isSymbol$4;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function arrayMap$1$1(array, iteratee) {
    var index2 = -1, length = array == null ? 0 : array.length, result = Array(length);
    while (++index2 < length) {
      result[index2] = iteratee(array[index2], index2, array);
    }
    return result;
  }
  var _arrayMap = arrayMap$1$1;
  var _Symbol$1 = _Symbol$2$1, arrayMap$4 = _arrayMap, isArray$4 = isArray_1, isSymbol$3 = isSymbol_1;
  var INFINITY$2 = 1 / 0;
  var symbolProto = _Symbol$1 ? _Symbol$1.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
  function baseToString$1(value) {
    if (typeof value == "string") {
      return value;
    }
    if (isArray$4(value)) {
      return arrayMap$4(value, baseToString$1) + "";
    }
    if (isSymbol$3(value)) {
      return symbolToString ? symbolToString.call(value) : "";
    }
    var result = value + "";
    return result == "0" && 1 / value == -INFINITY$2 ? "-0" : result;
  }
  var _baseToString = baseToString$1;
  var baseToString = _baseToString;
  function toString$5(value) {
    return value == null ? "" : baseToString(value);
  }
  var toString_1 = toString$5;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function baseSlice$2(array, start2, end2) {
    var index2 = -1, length = array.length;
    if (start2 < 0) {
      start2 = -start2 > length ? 0 : length + start2;
    }
    end2 = end2 > length ? length : end2;
    if (end2 < 0) {
      end2 += length;
    }
    length = start2 > end2 ? 0 : end2 - start2 >>> 0;
    start2 >>>= 0;
    var result = Array(length);
    while (++index2 < length) {
      result[index2] = array[index2 + start2];
    }
    return result;
  }
  var _baseSlice = baseSlice$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseSlice$1 = _baseSlice;
  function castSlice$1(array, start2, end2) {
    var length = array.length;
    end2 = end2 === void 0 ? length : end2;
    return !start2 && end2 >= length ? array : baseSlice$1(array, start2, end2);
  }
  var _castSlice = castSlice$1;
  var rsAstralRange$1 = "\\ud800-\\udfff", rsComboMarksRange$1$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1$1 = "\\u20d0-\\u20ff", rsComboRange$1$1 = rsComboMarksRange$1$1 + reComboHalfMarksRange$1$1 + rsComboSymbolsRange$1$1, rsVarRange$1 = "\\ufe0e\\ufe0f";
  var rsZWJ$1 = "\\u200d";
  var reHasUnicode = RegExp("[" + rsZWJ$1 + rsAstralRange$1 + rsComboRange$1$1 + rsVarRange$1 + "]");
  function hasUnicode$1(string) {
    return reHasUnicode.test(string);
  }
  var _hasUnicode = hasUnicode$1;
  function asciiToArray$1(string) {
    return string.split("");
  }
  var _asciiToArray = asciiToArray$1;
  var rsAstralRange$2 = "\\ud800-\\udfff", rsComboMarksRange$2 = "\\u0300-\\u036f", reComboHalfMarksRange$2 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$2 = "\\u20d0-\\u20ff", rsComboRange$2 = rsComboMarksRange$2 + reComboHalfMarksRange$2 + rsComboSymbolsRange$2, rsVarRange$2 = "\\ufe0e\\ufe0f";
  var rsAstral = "[" + rsAstralRange$2 + "]", rsCombo$2 = "[" + rsComboRange$2 + "]", rsFitz$1 = "\\ud83c[\\udffb-\\udfff]", rsModifier$1 = "(?:" + rsCombo$2 + "|" + rsFitz$1 + ")", rsNonAstral$1 = "[^" + rsAstralRange$2 + "]", rsRegional$1 = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair$1 = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsZWJ$2 = "\\u200d";
  var reOptMod$1 = rsModifier$1 + "?", rsOptVar$1 = "[" + rsVarRange$2 + "]?", rsOptJoin$1 = "(?:" + rsZWJ$2 + "(?:" + [rsNonAstral$1, rsRegional$1, rsSurrPair$1].join("|") + ")" + rsOptVar$1 + reOptMod$1 + ")*", rsSeq$1 = rsOptVar$1 + reOptMod$1 + rsOptJoin$1, rsSymbol = "(?:" + [rsNonAstral$1 + rsCombo$2 + "?", rsCombo$2, rsRegional$1, rsSurrPair$1, rsAstral].join("|") + ")";
  var reUnicode = RegExp(rsFitz$1 + "(?=" + rsFitz$1 + ")|" + rsSymbol + rsSeq$1, "g");
  function unicodeToArray$1(string) {
    return string.match(reUnicode) || [];
  }
  var _unicodeToArray = unicodeToArray$1;
  var asciiToArray = _asciiToArray, hasUnicode$2 = _hasUnicode, unicodeToArray = _unicodeToArray;
  function stringToArray$1(string) {
    return hasUnicode$2(string) ? unicodeToArray(string) : asciiToArray(string);
  }
  var _stringToArray = stringToArray$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var castSlice = _castSlice, hasUnicode = _hasUnicode, stringToArray = _stringToArray, toString$4 = toString_1;
  function createCaseFirst$1(methodName) {
    return function(string) {
      string = toString$4(string);
      var strSymbols = hasUnicode(string) ? stringToArray(string) : void 0;
      var chr = strSymbols ? strSymbols[0] : string.charAt(0);
      var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
      return chr[methodName]() + trailing;
    };
  }
  var _createCaseFirst = createCaseFirst$1;
  var createCaseFirst = _createCaseFirst;
  var upperFirst$1 = createCaseFirst("toUpperCase");
  var upperFirst_1 = upperFirst$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function arrayReduce$1(array, iteratee, accumulator, initAccum) {
    var index2 = -1, length = array == null ? 0 : array.length;
    if (initAccum && length) {
      accumulator = array[++index2];
    }
    while (++index2 < length) {
      accumulator = iteratee(accumulator, array[index2], index2, array);
    }
    return accumulator;
  }
  var _arrayReduce = arrayReduce$1;
  function basePropertyOf$1(object) {
    return function(key2) {
      return object == null ? void 0 : object[key2];
    };
  }
  var _basePropertyOf = basePropertyOf$1;
  var basePropertyOf = _basePropertyOf;
  var deburredLetters = {
    // Latin-1 Supplement block.
    "À": "A",
    "Á": "A",
    "Â": "A",
    "Ã": "A",
    "Ä": "A",
    "Å": "A",
    "à": "a",
    "á": "a",
    "â": "a",
    "ã": "a",
    "ä": "a",
    "å": "a",
    "Ç": "C",
    "ç": "c",
    "Ð": "D",
    "ð": "d",
    "È": "E",
    "É": "E",
    "Ê": "E",
    "Ë": "E",
    "è": "e",
    "é": "e",
    "ê": "e",
    "ë": "e",
    "Ì": "I",
    "Í": "I",
    "Î": "I",
    "Ï": "I",
    "ì": "i",
    "í": "i",
    "î": "i",
    "ï": "i",
    "Ñ": "N",
    "ñ": "n",
    "Ò": "O",
    "Ó": "O",
    "Ô": "O",
    "Õ": "O",
    "Ö": "O",
    "Ø": "O",
    "ò": "o",
    "ó": "o",
    "ô": "o",
    "õ": "o",
    "ö": "o",
    "ø": "o",
    "Ù": "U",
    "Ú": "U",
    "Û": "U",
    "Ü": "U",
    "ù": "u",
    "ú": "u",
    "û": "u",
    "ü": "u",
    "Ý": "Y",
    "ý": "y",
    "ÿ": "y",
    "Æ": "Ae",
    "æ": "ae",
    "Þ": "Th",
    "þ": "th",
    "ß": "ss",
    // Latin Extended-A block.
    "Ā": "A",
    "Ă": "A",
    "Ą": "A",
    "ā": "a",
    "ă": "a",
    "ą": "a",
    "Ć": "C",
    "Ĉ": "C",
    "Ċ": "C",
    "Č": "C",
    "ć": "c",
    "ĉ": "c",
    "ċ": "c",
    "č": "c",
    "Ď": "D",
    "Đ": "D",
    "ď": "d",
    "đ": "d",
    "Ē": "E",
    "Ĕ": "E",
    "Ė": "E",
    "Ę": "E",
    "Ě": "E",
    "ē": "e",
    "ĕ": "e",
    "ė": "e",
    "ę": "e",
    "ě": "e",
    "Ĝ": "G",
    "Ğ": "G",
    "Ġ": "G",
    "Ģ": "G",
    "ĝ": "g",
    "ğ": "g",
    "ġ": "g",
    "ģ": "g",
    "Ĥ": "H",
    "Ħ": "H",
    "ĥ": "h",
    "ħ": "h",
    "Ĩ": "I",
    "Ī": "I",
    "Ĭ": "I",
    "Į": "I",
    "İ": "I",
    "ĩ": "i",
    "ī": "i",
    "ĭ": "i",
    "į": "i",
    "ı": "i",
    "Ĵ": "J",
    "ĵ": "j",
    "Ķ": "K",
    "ķ": "k",
    "ĸ": "k",
    "Ĺ": "L",
    "Ļ": "L",
    "Ľ": "L",
    "Ŀ": "L",
    "Ł": "L",
    "ĺ": "l",
    "ļ": "l",
    "ľ": "l",
    "ŀ": "l",
    "ł": "l",
    "Ń": "N",
    "Ņ": "N",
    "Ň": "N",
    "Ŋ": "N",
    "ń": "n",
    "ņ": "n",
    "ň": "n",
    "ŋ": "n",
    "Ō": "O",
    "Ŏ": "O",
    "Ő": "O",
    "ō": "o",
    "ŏ": "o",
    "ő": "o",
    "Ŕ": "R",
    "Ŗ": "R",
    "Ř": "R",
    "ŕ": "r",
    "ŗ": "r",
    "ř": "r",
    "Ś": "S",
    "Ŝ": "S",
    "Ş": "S",
    "Š": "S",
    "ś": "s",
    "ŝ": "s",
    "ş": "s",
    "š": "s",
    "Ţ": "T",
    "Ť": "T",
    "Ŧ": "T",
    "ţ": "t",
    "ť": "t",
    "ŧ": "t",
    "Ũ": "U",
    "Ū": "U",
    "Ŭ": "U",
    "Ů": "U",
    "Ű": "U",
    "Ų": "U",
    "ũ": "u",
    "ū": "u",
    "ŭ": "u",
    "ů": "u",
    "ű": "u",
    "ų": "u",
    "Ŵ": "W",
    "ŵ": "w",
    "Ŷ": "Y",
    "ŷ": "y",
    "Ÿ": "Y",
    "Ź": "Z",
    "Ż": "Z",
    "Ž": "Z",
    "ź": "z",
    "ż": "z",
    "ž": "z",
    "IJ": "IJ",
    "ij": "ij",
    "Œ": "Oe",
    "œ": "oe",
    "ʼn": "'n",
    "ſ": "s"
  };
  var deburrLetter$1 = basePropertyOf(deburredLetters);
  var _deburrLetter = deburrLetter$1;
  var deburrLetter = _deburrLetter, toString$1$1 = toString_1;
  var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
  var rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1;
  var rsCombo$1 = "[" + rsComboRange$1 + "]";
  var reComboMark = RegExp(rsCombo$1, "g");
  function deburr$1(string) {
    string = toString$1$1(string);
    return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
  }
  var deburr_1 = deburr$1;
  var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
  function asciiWords$1(string) {
    return string.match(reAsciiWord) || [];
  }
  var _asciiWords = asciiWords$1;
  var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
  function hasUnicodeWord$1(string) {
    return reHasUnicodeWord.test(string);
  }
  var _hasUnicodeWord = hasUnicodeWord$1;
  var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
  var rsApos$1 = "['’]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
  var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos$1 + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos$1 + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
  var reUnicodeWord = RegExp([rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")", rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower, rsUpper + "+" + rsOptContrUpper, rsOrdUpper, rsOrdLower, rsDigits, rsEmoji].join("|"), "g");
  function unicodeWords$1(string) {
    return string.match(reUnicodeWord) || [];
  }
  var _unicodeWords = unicodeWords$1;
  var asciiWords = _asciiWords, hasUnicodeWord = _hasUnicodeWord, toString$3 = toString_1, unicodeWords = _unicodeWords;
  function words$1(string, pattern2, guard) {
    string = toString$3(string);
    pattern2 = guard ? void 0 : pattern2;
    if (pattern2 === void 0) {
      return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
    }
    return string.match(pattern2) || [];
  }
  var words_1 = words$1;
  var arrayReduce = _arrayReduce, deburr = deburr_1, words = words_1;
  var rsApos = "['’]";
  var reApos = RegExp(rsApos, "g");
  function createCompounder$2(callback) {
    return function(string) {
      return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
    };
  }
  var _createCompounder = createCompounder$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var toString$2 = toString_1, upperFirst = upperFirst_1;
  function capitalize$1(string) {
    return upperFirst(toString$2(string).toLowerCase());
  }
  var capitalize_1 = capitalize$1;
  var capitalize = capitalize_1, createCompounder$1 = _createCompounder;
  var camelCase = createCompounder$1(function(result, word, index2) {
    word = word.toLowerCase();
    return result + (index2 ? capitalize(word) : word);
  });
  var camelCase_1 = camelCase;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var createCompounder = _createCompounder;
  var kebabCase = createCompounder(function(result, word, index2) {
    return result + (index2 ? "-" : "") + word.toLowerCase();
  });
  var kebabCase_1 = kebabCase;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function getDefaultNode(options) {
    var defaultNode;
    if (isObject_1(options) && "defaultNode" in options) {
      defaultNode = options.defaultNode;
    } else if (vue.isVNode(options) || isString_1(options)) {
      defaultNode = options;
    }
    return defaultNode;
  }
  function getParams(options) {
    return isObject_1(options) && "params" in options ? options.params : {};
  }
  function getSlotFirst(options) {
    return isObject_1(options) && "slotFirst" in options ? options.slotFirst : {};
  }
  function handleSlots$1(instance, params, name) {
    var _instance$$slots$came, _instance$$slots, _instance$$slots$keba, _instance$$slots2;
    var node = (_instance$$slots$came = (_instance$$slots = instance.$slots)[camelCase_1(name)]) === null || _instance$$slots$came === void 0 ? void 0 : _instance$$slots$came.call(_instance$$slots, params);
    if (node)
      return node;
    node = (_instance$$slots$keba = (_instance$$slots2 = instance.$slots)[kebabCase_1(name)]) === null || _instance$$slots$keba === void 0 ? void 0 : _instance$$slots$keba.call(_instance$$slots2, params);
    if (node)
      return node;
    return null;
  }
  var renderTNodeJSX = function renderTNodeJSX2(instance, name, options) {
    var params = getParams(options);
    var defaultNode = getDefaultNode(options);
    var propsNode;
    if (name in instance) {
      propsNode = instance[name];
    }
    if (propsNode === false)
      return;
    if (propsNode === true && defaultNode) {
      return handleSlots$1(instance, params, name) || defaultNode;
    }
    if (isFunction_1(propsNode))
      return propsNode(vue.h, params);
    var isPropsEmpty = [void 0, params, ""].includes(propsNode);
    if (isPropsEmpty && (instance.$slots[camelCase_1(name)] || instance.$slots[kebabCase_1(name)])) {
      return handleSlots$1(instance, params, name);
    }
    return propsNode;
  };
  var renderContent = function renderContent2(vm, name1, name2, options) {
    var params = getParams(options);
    var defaultNode = getDefaultNode(options);
    var toParams = params ? {
      params
    } : void 0;
    var node1 = renderTNodeJSX(vm, name1, toParams);
    var node2 = renderTNodeJSX(vm, name2, toParams);
    var res = isEmpty_1(node1) ? node2 : node1;
    return isEmpty_1(res) ? defaultNode : res;
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$r = {
    attach: {
      type: [String, Function],
      "default": ""
    },
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    delay: {
      type: Number,
      "default": 0
    },
    fullscreen: Boolean,
    indicator: {
      type: [Boolean, Function],
      "default": true
    },
    inheritColor: Boolean,
    loading: {
      type: Boolean,
      "default": true
    },
    preventScrollThrough: {
      type: Boolean,
      "default": true
    },
    showOverlay: {
      type: Boolean,
      "default": true
    },
    size: {
      type: String,
      "default": "medium"
    },
    text: {
      type: [String, Function]
    },
    zIndex: {
      type: Number
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var useTeleport = function useTeleport2(attach, triggerNode) {
    var to = isFunction_1(attach) ? vue.computed(attach) : vue.ref(attach);
    var innerTriggerNode = isFunction_1(triggerNode) ? vue.computed(triggerNode) : vue.ref(triggerNode);
    var element2 = vue.ref();
    var getElement = function getElement2() {
      element2.value = getSSRAttach() || getAttach(to.value, innerTriggerNode.value);
    };
    vue.onMounted(function() {
      return getElement();
    });
    vue.watch([to, innerTriggerNode], function() {
      return getElement();
    });
    return element2;
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var useComponentClassName$2 = function useComponentClassName() {
    return {
      name: usePrefixClass("loading"),
      centerClass: usePrefixClass("loading--center"),
      fullscreenClass: usePrefixClass("loading__fullscreen"),
      lockClass: usePrefixClass("loading--lock"),
      overlayClass: usePrefixClass("loading__overlay"),
      relativeClass: usePrefixClass("loading__parent"),
      fullClass: usePrefixClass("loading--full"),
      inheritColorClass: usePrefixClass("loading--inherit-color")
    };
  };
  var _Loading = vue.defineComponent({
    name: "TLoading",
    inheritAttrs: false,
    props: props$r,
    setup: function setup2(props2, _ref) {
      var slots = _ref.slots;
      var delayShowLoading = vue.ref(false);
      var _useComponentClassNam = useComponentClassName$2(), name = _useComponentClassNam.name, centerClass = _useComponentClassNam.centerClass, fullscreenClass = _useComponentClassNam.fullscreenClass, lockClass = _useComponentClassNam.lockClass, overlayClass = _useComponentClassNam.overlayClass, relativeClass = _useComponentClassNam.relativeClass, fullClass = _useComponentClassNam.fullClass, inheritColorClass = _useComponentClassNam.inheritColorClass;
      var classPrefix = usePrefixClass();
      var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
      var countDelay = function countDelay2() {
        delayShowLoading.value = false;
        var timer = setTimeout(function() {
          delayShowLoading.value = true;
          clearTimeout(timer);
        }, props2.delay);
      };
      var teleportElement = useTeleport(function() {
        return props2.attach;
      });
      var delayCounted = vue.computed(function() {
        return Boolean(!props2.delay || props2.delay && delayShowLoading.value);
      });
      var styles = vue.computed(function() {
        var styles2 = {};
        if (props2.zIndex !== void 0) {
          styles2.zIndex = props2.zIndex;
        }
        if (!["small", "medium", "large"].includes(props2.size)) {
          styles2["font-size"] = props2.size;
        }
        return styles2;
      });
      var hasContent = vue.computed(function() {
        return Boolean(props2["default"] || slots["default"] || props2.content || slots.content);
      });
      var lockFullscreen = vue.computed(function() {
        return props2.preventScrollThrough && props2.fullscreen;
      });
      var showText = vue.computed(function() {
        return Boolean(props2.text || slots.text);
      });
      var showWrapLoading = vue.computed(function() {
        return hasContent.value && props2.loading && delayCounted.value;
      });
      var showFullScreenLoading = vue.computed(function() {
        return props2.fullscreen && props2.loading && delayCounted.value;
      });
      var showNormalLoading = vue.computed(function() {
        return props2.attach && props2.loading && delayCounted.value;
      });
      var showAttachedLoading = vue.computed(function() {
        return props2.attach && props2.loading && delayCounted.value;
      });
      var classes = vue.computed(function() {
        var baseClasses = [centerClass.value, SIZE.value[props2.size], _defineProperty$2({}, inheritColorClass.value, props2.inheritColor)];
        var fullScreenClasses = [name.value, fullscreenClass.value, centerClass.value, overlayClass.value];
        return {
          baseClasses,
          attachClasses: baseClasses.concat([name.value, fullClass.value, _defineProperty$2({}, overlayClass.value, props2.showOverlay)]),
          withContentClasses: baseClasses.concat([name.value, fullClass.value, _defineProperty$2({}, overlayClass.value, props2.showOverlay)]),
          fullScreenClasses,
          normalClasses: baseClasses.concat([name.value])
        };
      });
      var _toRefs = vue.toRefs(props2), loading2 = _toRefs.loading;
      vue.watch([loading2], function(_ref5) {
        var _ref6 = _slicedToArray(_ref5, 1), isLoading = _ref6[0];
        if (isLoading) {
          countDelay();
          lockFullscreen.value && addClass(document.body, lockClass.value);
        } else {
          lockFullscreen.value && removeClass(document.body, lockClass.value);
        }
      });
      vue.onMounted(function() {
        props2.delay && countDelay();
      });
      return {
        classPrefix,
        relativeClass,
        delayShowLoading,
        styles,
        showText,
        hasContent,
        classes,
        lockFullscreen,
        showWrapLoading,
        showNormalLoading,
        showFullScreenLoading,
        showAttachedLoading,
        teleportElement
      };
    },
    render: function render2() {
      var _this = this;
      var _this$classes = this.classes, fullScreenClasses = _this$classes.fullScreenClasses, baseClasses = _this$classes.baseClasses, withContentClasses = _this$classes.withContentClasses, attachClasses = _this$classes.attachClasses, normalClasses = _this$classes.normalClasses;
      var defaultIndicator = vue.createVNode(GradientIcon, {
        "size": this.size
      }, null);
      var indicator = this.loading && renderTNodeJSX(this, "indicator", defaultIndicator);
      var text = this.showText && vue.createVNode("div", {
        "class": "".concat(this.classPrefix, "-loading__text")
      }, [renderTNodeJSX(this, "text")]);
      if (this.fullscreen) {
        if (!this.showFullScreenLoading || !this.loading)
          return null;
        return vue.createVNode(vue.Teleport, {
          "disabled": !this.attach || !this.teleportElement,
          "to": this.teleportElement
        }, {
          "default": function _default16() {
            return [vue.createVNode("div", vue.mergeProps({
              "class": fullScreenClasses,
              "style": _this.styles
            }, _this.$attrs), [vue.createVNode("div", {
              "class": baseClasses
            }, [indicator, text])])];
          }
        });
      }
      if (this.hasContent) {
        return vue.createVNode("div", vue.mergeProps({
          "class": this.relativeClass
        }, this.$attrs), [renderContent(this, "default", "content"), this.showWrapLoading && vue.createVNode("div", {
          "class": withContentClasses,
          "style": this.styles
        }, [indicator, text])]);
      }
      if (this.attach) {
        if (!this.showAttachedLoading || !this.loading)
          return null;
        return vue.createVNode(vue.Teleport, {
          "disabled": !this.attach || !this.teleportElement,
          "to": this.teleportElement
        }, {
          "default": function _default16() {
            return [vue.createVNode("div", vue.mergeProps({
              "class": attachClasses,
              "style": _this.styles
            }, _this.$attrs), [indicator, text])];
          }
        });
      }
      return this.loading ? vue.createVNode("div", vue.mergeProps({
        "class": normalClasses,
        "style": this.styles
      }, this.$attrs), [indicator, text]) : null;
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$U(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$T(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$U(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var fullScreenLoadingInstance = null;
  function createLoading(props2) {
    var component = vue.defineComponent({
      setup: function setup51() {
        var loadingOptions = vue.reactive(props2);
        return {
          loadingOptions
        };
      },
      render: function render16() {
        return vue.h(_Loading, _objectSpread$T({}, this.loadingOptions));
      }
    });
    var attach = getAttach(props2.attach);
    var loading2 = vue.createApp(component).mount(document.createElement("div"));
    var parentRelativeClass = usePrefixClass("loading__parent--relative").value;
    var prefixClass = usePrefixClass("loading");
    if (attach) {
      addClass(attach, parentRelativeClass);
    } else {
      console.error("attach is not exist");
    }
    var loadingInstance = {
      hide: function hide2() {
        var _attach$querySelector;
        loading2.loading = false;
        (_attach$querySelector = attach.querySelectorAll(".".concat(prefixClass.value))) === null || _attach$querySelector === void 0 || _attach$querySelector.forEach(function(item) {
          item.remove();
        });
        removeClass(attach, parentRelativeClass);
      }
    };
    return loadingInstance;
  }
  function produceLoading(props2) {
    var lockClass = usePrefixClass("loading--lock");
    if (props2 === true) {
      fullScreenLoadingInstance = createLoading({
        fullscreen: true,
        loading: true,
        attach: "body"
      });
      return fullScreenLoadingInstance;
    }
    removeClass(document.body, lockClass.value);
    if (props2 === false) {
      removeClass(document.body, lockClass.value);
      fullScreenLoadingInstance.hide();
      fullScreenLoadingInstance = null;
      return;
    }
    return createLoading(props2);
  }
  var LoadingPlugin = produceLoading;
  LoadingPlugin.install = function(app) {
    app.config.globalProperties.$loading = produceLoading;
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var INSTANCE_KEY = Symbol("TdLoading");
  var createInstance$1 = function createInstance(el, binding) {
    var _binding$modifiers = binding.modifiers, fullscreen = _binding$modifiers.fullscreen, inheritColor = _binding$modifiers.inheritColor;
    var options = {
      attach: function attach() {
        return el;
      },
      fullscreen: fullscreen !== null && fullscreen !== void 0 ? fullscreen : false,
      inheritColor: inheritColor !== null && inheritColor !== void 0 ? inheritColor : false,
      loading: binding.value
    };
    el[INSTANCE_KEY] = {
      options,
      instance: LoadingPlugin(options)
    };
  };
  var vLoading = {
    mounted: function mounted(el, binding) {
      if (binding.value) {
        createInstance$1(el, binding);
      }
    },
    updated: function updated(el, binding) {
      var instance = el[INSTANCE_KEY];
      var value = binding.value, oldValue = binding.oldValue;
      if (!!oldValue !== !!value) {
        if (value) {
          createInstance$1(el, binding);
        } else {
          instance === null || instance === void 0 || instance.instance.hide();
        }
      }
    },
    unmounted: function unmounted(el) {
      var _el$INSTANCE_KEY;
      (_el$INSTANCE_KEY = el[INSTANCE_KEY]) === null || _el$INSTANCE_KEY === void 0 || _el$INSTANCE_KEY.instance.hide();
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function withInstall(comp, alias, directive) {
    var componentPlugin = comp;
    componentPlugin.install = function(app, name) {
      app.component(alias || name || componentPlugin.name, comp);
      directive && app.directive(directive.name, directive.comp);
    };
    return componentPlugin;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Loading = withInstall(_Loading, _Loading.name, {
    name: "loading",
    comp: vLoading
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$q = {
    block: Boolean,
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    disabled: {
      type: Boolean,
      "default": void 0
    },
    ghost: Boolean,
    href: {
      type: String,
      "default": ""
    },
    icon: {
      type: Function
    },
    loading: Boolean,
    shape: {
      type: String,
      "default": "rectangle",
      validator: function validator(val) {
        if (!val)
          return true;
        return ["rectangle", "square", "round", "circle"].includes(val);
      }
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator2(val) {
        if (!val)
          return true;
        return ["extra-small", "small", "medium", "large"].includes(val);
      }
    },
    suffix: {
      type: Function
    },
    tag: {
      type: String,
      validator: function validator3(val) {
        if (!val)
          return true;
        return ["button", "a", "div"].includes(val);
      }
    },
    theme: {
      type: String,
      validator: function validator4(val) {
        if (!val)
          return true;
        return ["default", "primary", "danger", "warning", "success"].includes(val);
      }
    },
    type: {
      type: String,
      "default": "button",
      validator: function validator5(val) {
        if (!val)
          return true;
        return ["submit", "reset", "button"].includes(val);
      }
    },
    variant: {
      type: String,
      "default": "base",
      validator: function validator6(val) {
        if (!val)
          return true;
        return ["base", "outline", "dashed", "text"].includes(val);
      }
    },
    onClick: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var expand = EAnimationType.expand, ripple = EAnimationType.ripple, fade = EAnimationType.fade;
  function useKeepAnimation() {
    var _useConfig = useConfig("animation"), globalConfig = _useConfig.globalConfig;
    var keepAnimation = function keepAnimation2(type) {
      var _animationConfig$excl, _animationConfig$incl;
      var animationConfig = globalConfig.value;
      return animationConfig && !((_animationConfig$excl = animationConfig.exclude) !== null && _animationConfig$excl !== void 0 && _animationConfig$excl.includes(type)) && ((_animationConfig$incl = animationConfig.include) === null || _animationConfig$incl === void 0 ? void 0 : _animationConfig$incl.includes(type));
    };
    return {
      keepExpand: keepAnimation(expand),
      keepRipple: keepAnimation(ripple),
      keepFade: keepAnimation(fade)
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function setStyle(el, styles) {
    var keys2 = Object.keys(styles);
    keys2.forEach(function(key2) {
      el.style[key2] = styles[key2];
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var period = 200;
  var noneRippleBg = "rgba(0, 0, 0, 0)";
  var defaultRippleColor = "rgba(0, 0, 0, 0.35)";
  var getRippleColor = function getRippleColor2(el, fixedRippleColor) {
    var _el$dataset;
    if (fixedRippleColor) {
      return fixedRippleColor;
    }
    if (el !== null && el !== void 0 && (_el$dataset = el.dataset) !== null && _el$dataset !== void 0 && _el$dataset.ripple) {
      var rippleColor = el.dataset.ripple;
      return rippleColor;
    }
    var cssVariable = getComputedStyle(el).getPropertyValue("--ripple-color");
    if (cssVariable) {
      return cssVariable;
    }
    return defaultRippleColor;
  };
  function useRipple(el, fixedRippleColor) {
    var rippleContainer = vue.ref(null);
    var classPrefix = usePrefixClass();
    var _useKeepAnimation = useKeepAnimation(), keepRipple = _useKeepAnimation.keepRipple;
    var handleAddRipple = function handleAddRipple2(e) {
      var dom = el.value;
      var rippleColor = getRippleColor(dom, fixedRippleColor === null || fixedRippleColor === void 0 ? void 0 : fixedRippleColor.value);
      if (e.button !== 0 || !el || !keepRipple)
        return;
      if (dom.classList.contains("".concat(classPrefix.value, "-is-active")) || dom.classList.contains("".concat(classPrefix.value, "-is-disabled")) || dom.classList.contains("".concat(classPrefix.value, "-is-checked")) || dom.classList.contains("".concat(classPrefix.value, "-is-loading")))
        return;
      var elStyle = getComputedStyle(dom);
      var elBorder = parseInt(elStyle.borderWidth, 10);
      var border = elBorder > 0 ? elBorder : 0;
      var width = dom.offsetWidth;
      var height = dom.offsetHeight;
      if (rippleContainer.value.parentNode === null) {
        setStyle(rippleContainer.value, {
          position: "absolute",
          left: "".concat(0 - border, "px"),
          top: "".concat(0 - border, "px"),
          width: "".concat(width, "px"),
          height: "".concat(height, "px"),
          borderRadius: elStyle.borderRadius,
          pointerEvents: "none",
          overflow: "hidden"
        });
        dom.appendChild(rippleContainer.value);
      }
      var ripple2 = document.createElement("div");
      setStyle(ripple2, {
        marginTop: "0",
        marginLeft: "0",
        right: "".concat(width, "px"),
        width: "".concat(width + 20, "px"),
        height: "100%",
        transition: "transform ".concat(period, "ms cubic-bezier(.38, 0, .24, 1), background ").concat(period * 2, "ms linear"),
        transform: "skewX(-8deg)",
        pointerEvents: "none",
        position: "absolute",
        zIndex: 0,
        backgroundColor: rippleColor,
        opacity: "0.9"
      });
      var elMap = /* @__PURE__ */ new WeakMap();
      for (var n = dom.children.length, i = 0; i < n; ++i) {
        var child = dom.children[i];
        if (child.style.zIndex === "" && child !== rippleContainer.value) {
          child.style.zIndex = "1";
          elMap.set(child, true);
        }
      }
      var initPosition = dom.style.position ? dom.style.position : getComputedStyle(dom).position;
      if (initPosition === "" || initPosition === "static") {
        dom.style.position = "relative";
      }
      rippleContainer.value.insertBefore(ripple2, rippleContainer.value.firstChild);
      setTimeout(function() {
        ripple2.style.transform = "translateX(".concat(width, "px)");
      }, 0);
      var handleClearRipple = function handleClearRipple2() {
        ripple2.style.backgroundColor = noneRippleBg;
        if (!el.value)
          return;
        el.value.removeEventListener("pointerup", handleClearRipple2, false);
        el.value.removeEventListener("pointerleave", handleClearRipple2, false);
        setTimeout(function() {
          ripple2.remove();
          if (rippleContainer.value.children.length === 0)
            rippleContainer.value.remove();
        }, period * 2 + 100);
      };
      el.value.addEventListener("pointerup", handleClearRipple, false);
      el.value.addEventListener("pointerleave", handleClearRipple, false);
    };
    vue.onMounted(function() {
      var dom = el === null || el === void 0 ? void 0 : el.value;
      if (!dom)
        return;
      rippleContainer.value = document.createElement("div");
      dom.addEventListener("pointerdown", handleAddRipple, false);
    });
    vue.onUnmounted(function() {
      var _el$value;
      el === null || el === void 0 || (_el$value = el.value) === null || _el$value === void 0 || _el$value.removeEventListener("pointerdown", handleAddRipple, false);
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function handleSlots(instance, name, params) {
    var _instance$slots$camel, _instance$slots, _instance$slots$kebab, _instance$slots2;
    var node = (_instance$slots$camel = (_instance$slots = instance.slots)[camelCase_1(name)]) === null || _instance$slots$camel === void 0 ? void 0 : _instance$slots$camel.call(_instance$slots, params);
    if (node && node.filter(function(t) {
      return t.type.toString() !== "Symbol(v-cmt)";
    }).length)
      return node;
    node = (_instance$slots$kebab = (_instance$slots2 = instance.slots)[kebabCase_1(name)]) === null || _instance$slots$kebab === void 0 ? void 0 : _instance$slots$kebab.call(_instance$slots2, params);
    if (node && node.filter(function(t) {
      return t.type.toString() !== "Symbol(v-cmt)";
    }).length)
      return node;
    return null;
  }
  function isEmptyNode(node) {
    if ([void 0, null, ""].includes(node))
      return true;
    var innerNodes = node instanceof Array ? node : [node];
    var r = innerNodes.filter(function(node2) {
      var _node2$type;
      return (node2 === null || node2 === void 0 || (_node2$type = node2.type) === null || _node2$type === void 0 ? void 0 : _node2$type.toString()) !== "Symbol(Comment)";
    });
    return !r.length;
  }
  var useTNodeJSX = function useTNodeJSX2() {
    var instance = vue.getCurrentInstance();
    return function(name, options) {
      var params = getParams(options);
      var defaultNode = getDefaultNode(options);
      var slotFirst = getSlotFirst(options);
      var propsNode;
      if (Object.keys(instance.props).includes(name)) {
        propsNode = instance.props[name];
      }
      if (propsNode === false)
        return;
      if (propsNode === true) {
        return handleSlots(instance, name, params) || defaultNode;
      }
      if (isFunction_1(propsNode))
        return propsNode(vue.h, params);
      var isPropsEmpty = [void 0, params, ""].includes(propsNode);
      if ((isPropsEmpty || slotFirst) && (instance.slots[camelCase_1(name)] || instance.slots[kebabCase_1(name)])) {
        return handleSlots(instance, name, params);
      }
      return propsNode;
    };
  };
  var useTNodeDefault = function useTNodeDefault2() {
    var renderTNodeJSX3 = useTNodeJSX();
    return function(name, options) {
      var defaultNode = getDefaultNode(options);
      return renderTNodeJSX3(name, options) || defaultNode;
    };
  };
  var useContent = function useContent2() {
    var renderTNodeJSX3 = useTNodeJSX();
    return function(name1, name2, options) {
      var params = getParams(options);
      var defaultNode = getDefaultNode(options);
      var toParams = params ? {
        params
      } : void 0;
      var node1 = renderTNodeJSX3(name1, toParams);
      var node2 = renderTNodeJSX3(name2, toParams);
      var res = isEmptyNode(node1) ? node2 : node1;
      return isEmptyNode(res) ? defaultNode : res;
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGetTag = _baseGetTag, isObjectLike = isObjectLike_1;
  var boolTag = "[object Boolean]";
  function isBoolean$1(value) {
    return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag;
  }
  var isBoolean_1 = isBoolean$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useDisabled(context) {
    var currentInstance = vue.getCurrentInstance();
    var componentDisabled = vue.computed(function() {
      return currentInstance.props.disabled;
    });
    var formDisabled = vue.inject("formDisabled", /* @__PURE__ */ Object.create(null));
    return vue.computed(function() {
      var _formDisabled$disable;
      if (isBoolean_1(context === null || context === void 0 ? void 0 : context.beforeDisabled.value))
        return context.beforeDisabled.value;
      if (isBoolean_1(componentDisabled.value))
        return componentDisabled.value;
      if (isBoolean_1(context === null || context === void 0 ? void 0 : context.afterDisabled.value))
        return context.afterDisabled.value;
      if (isBoolean_1((_formDisabled$disable = formDisabled.disabled) === null || _formDisabled$disable === void 0 ? void 0 : _formDisabled$disable.value))
        return formDisabled.disabled.value;
      return false;
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$T(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$S(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$T(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var TButton = vue.defineComponent({
    name: "TButton",
    props: props$q,
    setup: function setup3(props2, _ref) {
      var attrs = _ref.attrs, slots = _ref.slots;
      var renderTNodeJSX3 = useTNodeJSX();
      var renderContent3 = useContent();
      var COMPONENT_NAME = usePrefixClass("button");
      var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
      var btnRef = vue.ref();
      useRipple(btnRef);
      var isDisabled = useDisabled();
      var mergeTheme = vue.computed(function() {
        var theme = props2.theme, variant = props2.variant;
        if (theme)
          return theme;
        if (variant === "base")
          return "primary";
        return "default";
      });
      var buttonClass = vue.computed(function() {
        var _ref2;
        return ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "--variant-").concat(props2.variant), "".concat(COMPONENT_NAME.value, "--theme-").concat(mergeTheme.value), (_ref2 = {}, _defineProperty$2(_ref2, SIZE.value[props2.size], props2.size !== "medium"), _defineProperty$2(_ref2, STATUS.value.disabled, isDisabled.value), _defineProperty$2(_ref2, STATUS.value.loading, props2.loading), _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--shape-").concat(props2.shape), props2.shape !== "rectangle"), _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--ghost"), props2.ghost), _defineProperty$2(_ref2, SIZE.value.block, props2.block), _ref2)];
      });
      return function() {
        var buttonContent = renderContent3("default", "content");
        var icon = props2.loading ? vue.createVNode(Loading, {
          "inheritColor": true
        }, null) : renderTNodeJSX3("icon");
        var iconOnly = icon && !buttonContent;
        var suffix2 = props2.suffix || slots.suffix ? vue.createVNode("span", {
          "className": "".concat(COMPONENT_NAME.value, "__suffix")
        }, [renderTNodeJSX3("suffix")]) : null;
        buttonContent = buttonContent ? vue.createVNode("span", {
          "class": "".concat(COMPONENT_NAME.value, "__text")
        }, [buttonContent]) : "";
        if (icon) {
          buttonContent = [icon, buttonContent];
        }
        if (suffix2) {
          buttonContent = [buttonContent].concat(suffix2);
        }
        var renderTag = function renderTag2() {
          if (!props2.tag && props2.href)
            return "a";
          return props2.tag || "button";
        };
        var buttonAttrs = {
          "class": [].concat(_toConsumableArray(buttonClass.value), [_defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--icon-only"), iconOnly)]),
          type: props2.type,
          disabled: isDisabled.value || props2.loading,
          href: props2.href,
          tabindex: isDisabled.value ? void 0 : "0"
        };
        return vue.h(renderTag(), _objectSpread$S(_objectSpread$S(_objectSpread$S({
          ref: btnRef
        }, attrs), buttonAttrs), {}, {
          onClick: props2.onClick
        }), [buttonContent]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Button = withInstall(TButton);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$p = {
    align: {
      type: String,
      validator: function validator7(val) {
        if (!val)
          return true;
        return ["start", "end", "center", "baseline"].includes(val);
      }
    },
    breakLine: Boolean,
    direction: {
      type: String,
      "default": "horizontal",
      validator: function validator8(val) {
        if (!val)
          return true;
        return ["vertical", "horizontal"].includes(val);
      }
    },
    separator: {
      type: [String, Function]
    },
    size: {
      type: [String, Number, Array],
      "default": "medium"
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useChildComponentSlots() {
    var instance = vue.getCurrentInstance();
    return function(childComponentName, slots) {
      var _slots, _slots$default;
      if (!slots) {
        slots = instance.slots;
      }
      var content = ((_slots = slots) === null || _slots === void 0 || (_slots$default = _slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(_slots)) || [];
      var childList = [];
      var getChildren = function getChildren2(content2) {
        if (!isArray_1(content2))
          return;
        content2.forEach(function(item) {
          if (item.children && isArray_1(item.children)) {
            if (item.type !== vue.Fragment)
              return;
            getChildren2(item.children);
          } else {
            childList.push(item);
          }
        });
        return childList;
      };
      return getChildren(content).filter(function(item) {
        var _item$type$name;
        return (_item$type$name = item.type.name) === null || _item$type$name === void 0 ? void 0 : _item$type$name.endsWith(childComponentName);
      });
    };
  }
  function useChildSlots() {
    var instance = vue.getCurrentInstance();
    return function() {
      var _slots$default2;
      var slots = instance.slots;
      var content = (slots === null || slots === void 0 || (_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)) || [];
      return content.filter(function(item) {
        if (_typeof$2(item.type) === "symbol" && !item.children) {
          return false;
        }
        return item.type !== vue.Comment;
      }).map(function(item) {
        if (item.children && isArray_1(item.children) && item.type === vue.Fragment)
          return item.children;
        return item;
      }).flat();
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$S(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$R(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$S(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _Space = vue.defineComponent({
    name: "TSpace",
    props: _objectSpread$R({}, props$p),
    setup: function setup4(props2) {
      var COMPONENT_NAME = usePrefixClass("space");
      var renderTNodeJSX3 = useTNodeJSX();
      var getChildSlots = useChildSlots();
      var renderStyle = vue.computed(function() {
        var sizeMap = {
          small: "8px",
          medium: "16px",
          large: "24px"
        };
        var renderGap = "";
        if (isArray_1(props2.size)) {
          renderGap = props2.size.map(function(s) {
            if (isNumber_1(s))
              return "".concat(s, "px");
            if (isString_1(s))
              return sizeMap[s] || s;
            return s;
          }).join(" ");
        } else if (isString_1(props2.size)) {
          renderGap = sizeMap[props2.size] || props2.size;
        } else if (isNumber_1(props2.size)) {
          renderGap = "".concat(props2.size, "px");
        }
        return _objectSpread$R({
          gap: renderGap
        }, props2.breakLine ? {
          "flex-wrap": "wrap"
        } : {});
      });
      function renderChildren() {
        var children = getChildSlots();
        var separatorContent = renderTNodeJSX3("separator");
        return children.map(function(child, index2) {
          var showSeparator = index2 + 1 !== children.length && separatorContent;
          return vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
            "class": "".concat(COMPONENT_NAME.value, "-item")
          }, [child]), showSeparator && vue.createVNode("div", {
            "class": "".concat(COMPONENT_NAME.value, "-item-separator")
          }, [separatorContent])]);
        });
      }
      return function() {
        var _ref;
        var spaceClassNames = ["".concat(COMPONENT_NAME.value), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "-align-").concat(props2.align), props2.align), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "-").concat(props2.direction), props2.direction), _ref)];
        return vue.createVNode("div", {
          "class": spaceClassNames,
          "style": renderStyle.value
        }, [renderChildren()]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Space = withInstall(_Space);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function asyncGeneratorStep(gen, resolve2, reject2, _next, _throw, key2, arg) {
    try {
      var info3 = gen[key2](arg);
      var value = info3.value;
    } catch (error4) {
      reject2(error4);
      return;
    }
    if (info3.done) {
      resolve2(value);
    } else {
      Promise.resolve(value).then(_next, _throw);
    }
  }
  function _asyncToGenerator(fn2) {
    return function() {
      var self2 = this, args = arguments;
      return new Promise(function(resolve2, reject2) {
        var gen = fn2.apply(self2, args);
        function _next(value) {
          asyncGeneratorStep(gen, resolve2, reject2, _next, _throw, "next", value);
        }
        function _throw(err) {
          asyncGeneratorStep(gen, resolve2, reject2, _next, _throw, "throw", err);
        }
        _next(void 0);
      });
    };
  }
  var regeneratorRuntime$2 = { exports: {} };
  var _typeof$1 = { exports: {} };
  (function(module) {
    function _typeof2(o) {
      "@babel/helpers - typeof";
      return module.exports = _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
        return typeof o2;
      } : function(o2) {
        return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
      }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof2(o);
    }
    module.exports = _typeof2, module.exports.__esModule = true, module.exports["default"] = module.exports;
  })(_typeof$1);
  (function(module) {
    var _typeof2 = _typeof$1.exports["default"];
    function _regeneratorRuntime() {
      /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
      module.exports = _regeneratorRuntime = function _regeneratorRuntime2() {
        return e;
      }, module.exports.__esModule = true, module.exports["default"] = module.exports;
      var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function(t2, e2, r2) {
        t2[e2] = r2.value;
      }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag";
      function define(t2, e2, r2) {
        return Object.defineProperty(t2, e2, {
          value: r2,
          enumerable: true,
          configurable: true,
          writable: true
        }), t2[e2];
      }
      try {
        define({}, "");
      } catch (t2) {
        define = function define2(t3, e2, r2) {
          return t3[e2] = r2;
        };
      }
      function wrap(t2, e2, r2, n2) {
        var i2 = e2 && e2.prototype instanceof Generator ? e2 : Generator, a2 = Object.create(i2.prototype), c2 = new Context(n2 || []);
        return o(a2, "_invoke", {
          value: makeInvokeMethod(t2, r2, c2)
        }), a2;
      }
      function tryCatch(t2, e2, r2) {
        try {
          return {
            type: "normal",
            arg: t2.call(e2, r2)
          };
        } catch (t3) {
          return {
            type: "throw",
            arg: t3
          };
        }
      }
      e.wrap = wrap;
      var h2 = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {};
      function Generator() {
      }
      function GeneratorFunction() {
      }
      function GeneratorFunctionPrototype() {
      }
      var p = {};
      define(p, a, function() {
        return this;
      });
      var d = Object.getPrototypeOf, v = d && d(d(values([])));
      v && v !== r && n.call(v, a) && (p = v);
      var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
      function defineIteratorMethods(t2) {
        ["next", "throw", "return"].forEach(function(e2) {
          define(t2, e2, function(t3) {
            return this._invoke(e2, t3);
          });
        });
      }
      function AsyncIterator(t2, e2) {
        function invoke(r3, o2, i2, a2) {
          var c2 = tryCatch(t2[r3], t2, o2);
          if ("throw" !== c2.type) {
            var u2 = c2.arg, h3 = u2.value;
            return h3 && "object" == _typeof2(h3) && n.call(h3, "__await") ? e2.resolve(h3.__await).then(function(t3) {
              invoke("next", t3, i2, a2);
            }, function(t3) {
              invoke("throw", t3, i2, a2);
            }) : e2.resolve(h3).then(function(t3) {
              u2.value = t3, i2(u2);
            }, function(t3) {
              return invoke("throw", t3, i2, a2);
            });
          }
          a2(c2.arg);
        }
        var r2;
        o(this, "_invoke", {
          value: function value(t3, n2) {
            function callInvokeWithMethodAndArg() {
              return new e2(function(e3, r3) {
                invoke(t3, n2, e3, r3);
              });
            }
            return r2 = r2 ? r2.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
          }
        });
      }
      function makeInvokeMethod(e2, r2, n2) {
        var o2 = h2;
        return function(i2, a2) {
          if (o2 === f)
            throw new Error("Generator is already running");
          if (o2 === s) {
            if ("throw" === i2)
              throw a2;
            return {
              value: t,
              done: true
            };
          }
          for (n2.method = i2, n2.arg = a2; ; ) {
            var c2 = n2.delegate;
            if (c2) {
              var u2 = maybeInvokeDelegate(c2, n2);
              if (u2) {
                if (u2 === y)
                  continue;
                return u2;
              }
            }
            if ("next" === n2.method)
              n2.sent = n2._sent = n2.arg;
            else if ("throw" === n2.method) {
              if (o2 === h2)
                throw o2 = s, n2.arg;
              n2.dispatchException(n2.arg);
            } else
              "return" === n2.method && n2.abrupt("return", n2.arg);
            o2 = f;
            var p2 = tryCatch(e2, r2, n2);
            if ("normal" === p2.type) {
              if (o2 = n2.done ? s : l, p2.arg === y)
                continue;
              return {
                value: p2.arg,
                done: n2.done
              };
            }
            "throw" === p2.type && (o2 = s, n2.method = "throw", n2.arg = p2.arg);
          }
        };
      }
      function maybeInvokeDelegate(e2, r2) {
        var n2 = r2.method, o2 = e2.iterator[n2];
        if (o2 === t)
          return r2.delegate = null, "throw" === n2 && e2.iterator["return"] && (r2.method = "return", r2.arg = t, maybeInvokeDelegate(e2, r2), "throw" === r2.method) || "return" !== n2 && (r2.method = "throw", r2.arg = new TypeError("The iterator does not provide a '" + n2 + "' method")), y;
        var i2 = tryCatch(o2, e2.iterator, r2.arg);
        if ("throw" === i2.type)
          return r2.method = "throw", r2.arg = i2.arg, r2.delegate = null, y;
        var a2 = i2.arg;
        return a2 ? a2.done ? (r2[e2.resultName] = a2.value, r2.next = e2.nextLoc, "return" !== r2.method && (r2.method = "next", r2.arg = t), r2.delegate = null, y) : a2 : (r2.method = "throw", r2.arg = new TypeError("iterator result is not an object"), r2.delegate = null, y);
      }
      function pushTryEntry(t2) {
        var e2 = {
          tryLoc: t2[0]
        };
        1 in t2 && (e2.catchLoc = t2[1]), 2 in t2 && (e2.finallyLoc = t2[2], e2.afterLoc = t2[3]), this.tryEntries.push(e2);
      }
      function resetTryEntry(t2) {
        var e2 = t2.completion || {};
        e2.type = "normal", delete e2.arg, t2.completion = e2;
      }
      function Context(t2) {
        this.tryEntries = [{
          tryLoc: "root"
        }], t2.forEach(pushTryEntry, this), this.reset(true);
      }
      function values(e2) {
        if (e2 || "" === e2) {
          var r2 = e2[a];
          if (r2)
            return r2.call(e2);
          if ("function" == typeof e2.next)
            return e2;
          if (!isNaN(e2.length)) {
            var o2 = -1, i2 = function next() {
              for (; ++o2 < e2.length; )
                if (n.call(e2, o2))
                  return next.value = e2[o2], next.done = false, next;
              return next.value = t, next.done = true, next;
            };
            return i2.next = i2;
          }
        }
        throw new TypeError(_typeof2(e2) + " is not iterable");
      }
      return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
        value: GeneratorFunctionPrototype,
        configurable: true
      }), o(GeneratorFunctionPrototype, "constructor", {
        value: GeneratorFunction,
        configurable: true
      }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function(t2) {
        var e2 = "function" == typeof t2 && t2.constructor;
        return !!e2 && (e2 === GeneratorFunction || "GeneratorFunction" === (e2.displayName || e2.name));
      }, e.mark = function(t2) {
        return Object.setPrototypeOf ? Object.setPrototypeOf(t2, GeneratorFunctionPrototype) : (t2.__proto__ = GeneratorFunctionPrototype, define(t2, u, "GeneratorFunction")), t2.prototype = Object.create(g), t2;
      }, e.awrap = function(t2) {
        return {
          __await: t2
        };
      }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function() {
        return this;
      }), e.AsyncIterator = AsyncIterator, e.async = function(t2, r2, n2, o2, i2) {
        void 0 === i2 && (i2 = Promise);
        var a2 = new AsyncIterator(wrap(t2, r2, n2, o2), i2);
        return e.isGeneratorFunction(r2) ? a2 : a2.next().then(function(t3) {
          return t3.done ? t3.value : a2.next();
        });
      }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function() {
        return this;
      }), define(g, "toString", function() {
        return "[object Generator]";
      }), e.keys = function(t2) {
        var e2 = Object(t2), r2 = [];
        for (var n2 in e2)
          r2.push(n2);
        return r2.reverse(), function next() {
          for (; r2.length; ) {
            var t3 = r2.pop();
            if (t3 in e2)
              return next.value = t3, next.done = false, next;
          }
          return next.done = true, next;
        };
      }, e.values = values, Context.prototype = {
        constructor: Context,
        reset: function reset(e2) {
          if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e2)
            for (var r2 in this)
              "t" === r2.charAt(0) && n.call(this, r2) && !isNaN(+r2.slice(1)) && (this[r2] = t);
        },
        stop: function stop() {
          this.done = true;
          var t2 = this.tryEntries[0].completion;
          if ("throw" === t2.type)
            throw t2.arg;
          return this.rval;
        },
        dispatchException: function dispatchException(e2) {
          if (this.done)
            throw e2;
          var r2 = this;
          function handle(n2, o3) {
            return a2.type = "throw", a2.arg = e2, r2.next = n2, o3 && (r2.method = "next", r2.arg = t), !!o3;
          }
          for (var o2 = this.tryEntries.length - 1; o2 >= 0; --o2) {
            var i2 = this.tryEntries[o2], a2 = i2.completion;
            if ("root" === i2.tryLoc)
              return handle("end");
            if (i2.tryLoc <= this.prev) {
              var c2 = n.call(i2, "catchLoc"), u2 = n.call(i2, "finallyLoc");
              if (c2 && u2) {
                if (this.prev < i2.catchLoc)
                  return handle(i2.catchLoc, true);
                if (this.prev < i2.finallyLoc)
                  return handle(i2.finallyLoc);
              } else if (c2) {
                if (this.prev < i2.catchLoc)
                  return handle(i2.catchLoc, true);
              } else {
                if (!u2)
                  throw new Error("try statement without catch or finally");
                if (this.prev < i2.finallyLoc)
                  return handle(i2.finallyLoc);
              }
            }
          }
        },
        abrupt: function abrupt(t2, e2) {
          for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
            var o2 = this.tryEntries[r2];
            if (o2.tryLoc <= this.prev && n.call(o2, "finallyLoc") && this.prev < o2.finallyLoc) {
              var i2 = o2;
              break;
            }
          }
          i2 && ("break" === t2 || "continue" === t2) && i2.tryLoc <= e2 && e2 <= i2.finallyLoc && (i2 = null);
          var a2 = i2 ? i2.completion : {};
          return a2.type = t2, a2.arg = e2, i2 ? (this.method = "next", this.next = i2.finallyLoc, y) : this.complete(a2);
        },
        complete: function complete(t2, e2) {
          if ("throw" === t2.type)
            throw t2.arg;
          return "break" === t2.type || "continue" === t2.type ? this.next = t2.arg : "return" === t2.type ? (this.rval = this.arg = t2.arg, this.method = "return", this.next = "end") : "normal" === t2.type && e2 && (this.next = e2), y;
        },
        finish: function finish(t2) {
          for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
            var r2 = this.tryEntries[e2];
            if (r2.finallyLoc === t2)
              return this.complete(r2.completion, r2.afterLoc), resetTryEntry(r2), y;
          }
        },
        "catch": function _catch(t2) {
          for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
            var r2 = this.tryEntries[e2];
            if (r2.tryLoc === t2) {
              var n2 = r2.completion;
              if ("throw" === n2.type) {
                var o2 = n2.arg;
                resetTryEntry(r2);
              }
              return o2;
            }
          }
          throw new Error("illegal catch attempt");
        },
        delegateYield: function delegateYield(e2, r2, n2) {
          return this.delegate = {
            iterator: values(e2),
            resultName: r2,
            nextLoc: n2
          }, "next" === this.method && (this.arg = t), y;
        }
      }, e;
    }
    module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
  })(regeneratorRuntime$2);
  /* @__PURE__ */ getDefaultExportFromCjs$1(regeneratorRuntime$2.exports);
  var runtime = regeneratorRuntime$2.exports();
  var regenerator = runtime;
  try {
    regeneratorRuntime = runtime;
  } catch (accidentalStrictMode) {
    if ((typeof globalThis === "undefined" ? "undefined" : _typeof$2(globalThis)) === "object") {
      globalThis.regeneratorRuntime = runtime;
    } else {
      Function("r", "regeneratorRuntime = r")(runtime);
    }
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$o = {
    container: {
      type: [String, Function],
      "default": function _default() {
        return function() {
          return window;
        };
      }
    },
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    offsetBottom: {
      type: Number,
      "default": 0
    },
    offsetTop: {
      type: Number,
      "default": 0
    },
    zIndex: {
      type: Number
    },
    onFixedChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _Affix = vue.defineComponent({
    name: "TAffix",
    props: props$o,
    emits: ["fixedChange"],
    setup: function setup5(props2, context) {
      var _document;
      var COMPONENT_NAME = usePrefixClass("affix");
      var renderTNodeJSX3 = useTNodeJSX();
      var affixWrapRef = vue.ref(null);
      var affixRef = vue.ref(null);
      var placeholderEL = vue.ref((_document = document) === null || _document === void 0 ? void 0 : _document.createElement("div"));
      var ticking = vue.ref(false);
      var binded = vue.ref(false);
      var scrollContainer = vue.ref();
      var affixStyle = vue.ref();
      var rAFId = 0;
      var handleScroll = function handleScroll2() {
        if (!ticking.value) {
          rAFId = window.requestAnimationFrame(function() {
            var _affixWrapRef$value$g;
            rAFId = 0;
            var _ref = (_affixWrapRef$value$g = affixWrapRef.value.getBoundingClientRect()) !== null && _affixWrapRef$value$g !== void 0 ? _affixWrapRef$value$g : {
              top: 0,
              width: 0,
              height: 0
            }, wrapToTop = _ref.top, wrapWidth = _ref.width, wrapHeight = _ref.height;
            var containerTop = 0;
            if (scrollContainer.value instanceof HTMLElement) {
              containerTop = scrollContainer.value.getBoundingClientRect().top;
            }
            var fixedTop;
            var calcTop = wrapToTop - containerTop;
            var containerHeight = scrollContainer.value[scrollContainer.value instanceof Window ? "innerHeight" : "clientHeight"] - wrapHeight;
            var calcBottom = containerTop + containerHeight - props2.offsetBottom;
            if (!isUndefined_1(props2.offsetTop) && calcTop <= props2.offsetTop) {
              fixedTop = containerTop + props2.offsetTop;
            } else if (!isUndefined_1(props2.offsetBottom) && wrapToTop >= calcBottom) {
              fixedTop = calcBottom;
            } else {
              fixedTop = false;
            }
            if (affixRef.value) {
              var affixed = fixedTop !== false;
              var placeholderStatus = affixWrapRef.value.contains(placeholderEL.value);
              if (affixed) {
                affixRef.value.className = COMPONENT_NAME.value;
                affixStyle.value = {
                  top: "".concat(fixedTop, "px"),
                  width: "".concat(wrapWidth, "px"),
                  height: "".concat(wrapHeight, "px"),
                  zIndex: props2.zIndex
                };
                if (!placeholderStatus) {
                  placeholderEL.value.style.width = "".concat(wrapWidth, "px");
                  placeholderEL.value.style.height = "".concat(wrapHeight, "px");
                  affixWrapRef.value.appendChild(placeholderEL.value);
                }
              } else {
                affixRef.value.removeAttribute("class");
                affixStyle.value = void 0;
                placeholderStatus && placeholderEL.value.remove();
              }
              context.emit("fixedChange", affixed, {
                top: Number(fixedTop)
              });
              if (isFunction_1(props2.onFixedChange))
                props2.onFixedChange(affixed, {
                  top: Number(fixedTop)
                });
            }
            ticking.value = false;
          });
          ticking.value = true;
        }
      };
      var bindScroll = /* @__PURE__ */ function() {
        var _ref2 = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee() {
          return regenerator.wrap(function _callee$(_context) {
            while (1)
              switch (_context.prev = _context.next) {
                case 0:
                  _context.next = 2;
                  return vue.nextTick();
                case 2:
                  if (!binded.value) {
                    _context.next = 4;
                    break;
                  }
                  return _context.abrupt("return");
                case 4:
                  scrollContainer.value = getScrollContainer(props2.container);
                  on$1(scrollContainer.value, "scroll", handleScroll);
                  on$1(window, "resize", handleScroll);
                  binded.value = true;
                case 8:
                case "end":
                  return _context.stop();
              }
          }, _callee);
        }));
        return function bindScroll2() {
          return _ref2.apply(this, arguments);
        };
      }();
      var unbindScroll = function unbindScroll2() {
        if (!scrollContainer.value || !binded.value)
          return;
        off$1(scrollContainer.value, "scroll", handleScroll);
        off$1(window, "resize", handleScroll);
        if (rAFId) {
          window.cancelAnimationFrame(rAFId);
        }
        binded.value = false;
      };
      vue.watch(function() {
        return props2.offsetTop;
      }, function() {
        handleScroll();
      });
      vue.watch(function() {
        return props2.offsetBottom;
      }, function() {
        handleScroll();
      });
      vue.watch(function() {
        return props2.zIndex;
      }, function() {
        handleScroll();
      });
      vue.onMounted(bindScroll);
      vue.onActivated(bindScroll);
      vue.onDeactivated(unbindScroll);
      vue.onBeforeUnmount(unbindScroll);
      return {
        affixWrapRef,
        affixRef,
        bindScroll,
        unbindScroll,
        handleScroll,
        scrollContainer,
        renderTNodeJSX: renderTNodeJSX3,
        affixStyle
      };
    },
    render: function render3() {
      return vue.createVNode("div", {
        "ref": "affixWrapRef"
      }, [vue.createVNode("div", {
        "ref": "affixRef",
        "style": this.affixStyle
      }, [this.renderTNodeJSX("default")])]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Affix = withInstall(_Affix);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var THEME_LIST = ["info", "success", "warning", "error", "question", "loading"];
  var DISTANCE = "32px";
  var PLACEMENT_OFFSET = {
    top: {
      top: DISTANCE,
      left: "50%",
      transform: "translateX(-50%)"
    },
    center: {
      left: "50%",
      top: "50%",
      transform: "translateX(-50%) translateY(-50%)"
    },
    left: {
      left: DISTANCE,
      top: "50%",
      transform: "translateY(-50%)"
    },
    bottom: {
      bottom: DISTANCE,
      left: "50%",
      transform: "translateX(-50%)"
    },
    right: {
      right: DISTANCE,
      top: "50%",
      transform: "translateY(-50%)",
      display: "flex",
      flexDirection: "column",
      alignItems: "flex-end"
    },
    "top-left": {
      left: DISTANCE,
      top: DISTANCE
    },
    "top-right": {
      right: DISTANCE,
      top: DISTANCE,
      display: "flex",
      flexDirection: "column",
      alignItems: "flex-end"
    },
    "bottom-right": {
      right: DISTANCE,
      bottom: DISTANCE,
      display: "flex",
      flexDirection: "column",
      alignItems: "flex-end"
    },
    "bottom-left": {
      left: DISTANCE,
      bottom: DISTANCE
    }
  };
  var PLACEMENT_LIST = Object.keys(PLACEMENT_OFFSET);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$n = {
    closeBtn: {
      type: [String, Boolean, Function],
      "default": void 0
    },
    content: {
      type: [String, Function]
    },
    duration: {
      type: Number,
      "default": 3e3
    },
    icon: {
      type: [Boolean, Function],
      "default": true
    },
    theme: {
      type: String,
      "default": "info",
      validator: function validator9(val) {
        if (!val)
          return true;
        return ["info", "success", "warning", "error", "question", "loading"].includes(val);
      }
    },
    onClose: Function,
    onCloseBtnClick: Function,
    onDurationEnd: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useGlobalIcon(tdIcon) {
    var _useConfig = useConfig("icon"), globalConfig = _useConfig.globalConfig;
    var resultIcon = {};
    Object.keys(tdIcon).forEach(function(key2) {
      var _globalConfig$value;
      resultIcon[key2] = ((_globalConfig$value = globalConfig.value) === null || _globalConfig$value === void 0 ? void 0 : _globalConfig$value[key2]) || tdIcon[key2];
    });
    return resultIcon;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var ANIMATION_OPTION = {
    duration: 200,
    easing: "linear"
  };
  function fadeIn(dom, placement) {
    if (!dom)
      return;
    var offsetWidth = (dom === null || dom === void 0 ? void 0 : dom.offsetWidth) || 0;
    var offsetHeight = (dom === null || dom === void 0 ? void 0 : dom.offsetHeight) || 0;
    var fadeInKeyframes = getFadeInKeyframes(placement, offsetWidth, offsetHeight);
    if (!fadeInKeyframes)
      return;
    var styleAfterFadeIn = fadeInKeyframes[fadeInKeyframes.length - 1];
    setDomStyleAfterAnimation(dom, styleAfterFadeIn);
    dom.animate && dom.animate(fadeInKeyframes, ANIMATION_OPTION);
  }
  function fadeOut(dom, placement, onFinish) {
    if (!dom)
      return;
    var offsetHeight = (dom === null || dom === void 0 ? void 0 : dom.offsetHeight) || 0;
    var fadeOutKeyframes = getFadeOutKeyframes(placement, offsetHeight);
    if (!fadeOutKeyframes)
      return onFinish();
    var styleAfterFadeOut = fadeOutKeyframes[fadeOutKeyframes.length - 1];
    setDomStyleAfterAnimation(dom, styleAfterFadeOut);
    var animation = dom.animate && dom.animate(fadeOutKeyframes, ANIMATION_OPTION);
    if (animation) {
      animation.onfinish = function() {
        dom.style.display = "none";
        onFinish();
      };
    } else {
      dom.style.display = "none";
      onFinish();
    }
  }
  function setDomStyleAfterAnimation(dom, styleAfterAnimation) {
    var keys2 = Object.keys(styleAfterAnimation);
    for (var i = 0; i < keys2.length; i += 1) {
      var key2 = keys2[i];
      dom.style[key2] = styleAfterAnimation[key2];
    }
  }
  function getFadeInKeyframes(placement, offsetWidth, offsetHeight) {
    if (!PLACEMENT_LIST.includes(placement))
      return null;
    if (["top-left", "left", "bottom-left"].includes(placement)) {
      return [{
        opacity: 0,
        marginLeft: "-".concat(offsetWidth, "px")
      }, {
        opacity: 1,
        marginLeft: "0"
      }];
    }
    if (["top-right", "right", "bottom-right"].includes(placement)) {
      return [{
        opacity: 0,
        marginRight: "-".concat(offsetWidth, "px")
      }, {
        opacity: 1,
        marginRight: "0"
      }];
    }
    if (["top", "center"].includes(placement)) {
      return [{
        opacity: 0,
        marginTop: "-".concat(offsetHeight, "px")
      }, {
        opacity: 1,
        marginTop: "0"
      }];
    }
    if (["bottom"].includes(placement)) {
      return [{
        opacity: 0,
        transform: "translate3d(0, ".concat(offsetHeight, "px, 0)")
      }, {
        opacity: 1,
        transform: "translate3d(0, 0, 0)"
      }];
    }
  }
  function getFadeOutKeyframes(placement, offsetHeight) {
    if (!PLACEMENT_LIST.includes(placement))
      return null;
    if (["bottom-left", "bottom", "bottom-right"].includes(placement)) {
      var marginOffset2 = "".concat(offsetHeight, "px");
      return [{
        opacity: 1,
        marginTop: "0px"
      }, {
        opacity: 0,
        marginTop: marginOffset2
      }];
    }
    var marginOffset = "-".concat(offsetHeight, "px");
    return [{
      opacity: 1,
      marginTop: "0px"
    }, {
      opacity: 0,
      marginTop: marginOffset
    }];
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$R(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$Q(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$R(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _Message = vue.defineComponent({
    name: "TMessage",
    props: _objectSpread$Q(_objectSpread$Q({}, props$n), {}, {
      placement: String
    }),
    setup: function setup6(props2, _ref) {
      var slots = _ref.slots, expose = _ref.expose;
      var COMPONENT_NAME = usePrefixClass("message");
      var _useGlobalIcon = useGlobalIcon({
        InfoCircleFilledIcon,
        CheckCircleFilledIcon,
        ErrorCircleFilledIcon,
        HelpCircleFilledIcon,
        CloseIcon
      }), InfoCircleFilledIcon$1 = _useGlobalIcon.InfoCircleFilledIcon, CheckCircleFilledIcon$1 = _useGlobalIcon.CheckCircleFilledIcon, ErrorCircleFilledIcon$1 = _useGlobalIcon.ErrorCircleFilledIcon, HelpCircleFilledIcon$1 = _useGlobalIcon.HelpCircleFilledIcon, CloseIcon$1 = _useGlobalIcon.CloseIcon;
      var classPrefix = usePrefixClass();
      var renderTNode = useTNodeJSX();
      var renderContent3 = useContent();
      var msgRef = vue.ref(null);
      var timer = vue.ref(null);
      var classes = vue.computed(function() {
        var status = {};
        THEME_LIST.forEach(function(t) {
          return status["".concat(classPrefix.value, "-is-").concat(t)] = props2.theme === t;
        });
        return [COMPONENT_NAME.value, status, _defineProperty$2({}, "".concat(classPrefix.value, "-is-closable"), props2.closeBtn || slots.closeBtn)];
      });
      var close3 = function close4(e) {
        var _props2$onClose, _props2$onCloseBtnCli;
        (_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, {
          trigger: "close-click",
          e
        });
        (_props2$onCloseBtnCli = props2.onCloseBtnClick) === null || _props2$onCloseBtnCli === void 0 || _props2$onCloseBtnCli.call(props2, {
          e
        });
      };
      var clearTimer = function clearTimer2() {
        props2.duration && clearTimeout(timer.value);
      };
      var setTimer = function setTimer2() {
        if (!props2.duration) {
          return;
        }
        timer.value = Number(setTimeout(function() {
          clearTimer();
          var msgDom = msgRef.value;
          fadeOut(msgDom, props2.placement, function() {
            var _props2$onClose2, _props2$onDurationEnd;
            (_props2$onClose2 = props2.onClose) === null || _props2$onClose2 === void 0 || _props2$onClose2.call(props2, {
              trigger: "duration-end"
            });
            (_props2$onDurationEnd = props2.onDurationEnd) === null || _props2$onDurationEnd === void 0 || _props2$onDurationEnd.call(props2);
          });
        }, props2.duration));
      };
      var renderClose = function renderClose2() {
        var defaultClose = vue.createVNode(CloseIcon$1, null, null);
        return vue.createVNode("span", {
          "class": "".concat(COMPONENT_NAME.value, "__close"),
          "onClick": close3
        }, [renderTNode("closeBtn", defaultClose)]);
      };
      var renderIcon = function renderIcon2() {
        if (props2.icon === false)
          return;
        if (isFunction_1(props2.icon))
          return props2.icon(vue.h);
        if (slots.icon) {
          return slots.icon(null);
        }
        var Icon = {
          info: InfoCircleFilledIcon$1,
          success: CheckCircleFilledIcon$1,
          warning: ErrorCircleFilledIcon$1,
          error: ErrorCircleFilledIcon$1,
          question: HelpCircleFilledIcon$1,
          loading: Loading
        }[props2.theme];
        return vue.createVNode(Icon, null, null);
      };
      vue.onBeforeMount(function() {
        props2.duration && setTimer();
      });
      vue.onMounted(function() {
        var msgDom = msgRef.value;
        fadeIn(msgDom, props2.placement);
      });
      expose({
        close: close3
      });
      return function() {
        return vue.createVNode("div", {
          "ref": msgRef,
          "class": classes.value,
          "onMouseenter": clearTimer,
          "onMouseleave": setTimer
        }, [renderIcon(), renderContent3("content", "default"), renderClose()]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$Q(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$P(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$Q(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var DEFAULT_Z_INDEX = 6e3;
  var getUniqueId = function() {
    var id = 0;
    return function() {
      id += 1;
      return id;
    };
  }();
  var MessageList = vue.defineComponent({
    name: "TMessageList",
    props: {
      zIndex: {
        type: Number,
        "default": 0
      },
      placement: {
        type: String,
        "default": ""
      }
    },
    setup: function setup7(props2, _ref) {
      var expose = _ref.expose;
      var COMPONENT_NAME = usePrefixClass("message__list");
      var list = vue.ref([]);
      var messageList = vue.ref([]);
      var styles = vue.computed(function() {
        return _objectSpread$P(_objectSpread$P({}, PLACEMENT_OFFSET[props2.placement]), {}, {
          zIndex: props2.zIndex !== DEFAULT_Z_INDEX ? props2.zIndex : DEFAULT_Z_INDEX
        });
      });
      var add2 = function add3(msg) {
        var mg = _objectSpread$P(_objectSpread$P({}, msg), {}, {
          key: getUniqueId()
        });
        list.value.push(mg);
        return mg.key;
      };
      var remove2 = function remove3(index2) {
        list.value.splice(index2, 1);
      };
      var removeAll = function removeAll2() {
        list.value = [];
      };
      var getOffset = function getOffset2(val) {
        if (!val)
          return;
        return isNaN(Number(val)) ? val : "".concat(val, "px");
      };
      var msgStyles = function msgStyles2(item) {
        return item.offset && {
          position: "relative",
          left: getOffset(item.offset[0]),
          top: getOffset(item.offset[1])
        };
      };
      var getProps = function getProps2(index2, item) {
        return _objectSpread$P(_objectSpread$P({}, item), {}, {
          onCloseBtnClick: function onCloseBtnClick(e) {
            if (item.onCloseBtnClick) {
              item.onCloseBtnClick(e);
            }
            return remove2(index2);
          },
          onDurationEnd: function onDurationEnd() {
            if (item.onDurationEnd) {
              item.onDurationEnd();
            }
            return remove2(index2);
          }
        });
      };
      var addChild = function addChild2(el) {
        if (el) {
          messageList.value.push(el);
        }
      };
      expose({
        add: add2,
        removeAll,
        list,
        messageList
      });
      return function() {
        if (!list.value.length)
          return;
        return vue.createVNode("div", {
          "class": COMPONENT_NAME.value,
          "style": styles.value
        }, [list.value.map(function(item, index2) {
          return vue.createVNode(_Message, vue.mergeProps({
            "key": item.key,
            "style": msgStyles(item),
            "ref": addChild
          }, getProps(index2, item)), null);
        })]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$P(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$O(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$P(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var instanceMap = /* @__PURE__ */ new Map();
  function handleParams(params) {
    var options = _objectSpread$O({
      duration: 3e3,
      attach: "body",
      zIndex: DEFAULT_Z_INDEX,
      placement: "top"
    }, params);
    options.content = params.content;
    return options;
  }
  var MessageFunction = function MessageFunction2(props2) {
    var options = handleParams(props2);
    var attach = options.attach, placement = options.placement;
    var attachDom = getAttach(attach);
    if (!instanceMap.get(attachDom)) {
      instanceMap.set(attachDom, {});
    }
    var p = instanceMap.get(attachDom)[placement];
    var mgKey;
    if (!p) {
      var wrapper = document.createElement("div");
      var instance = vue.createApp(MessageList, {
        zIndex: options.zIndex,
        placement: options.placement
      }).mount(wrapper);
      mgKey = instance.add(options);
      instanceMap.get(attachDom)[placement] = instance;
      attachDom.appendChild(wrapper);
    } else {
      mgKey = p.add(options);
    }
    return new Promise(function(resolve2) {
      var ins = instanceMap.get(attachDom)[placement];
      vue.nextTick(function() {
        var msg = ins.messageList;
        resolve2(msg === null || msg === void 0 ? void 0 : msg.find(function(mg) {
          var _mg$$;
          return ((_mg$$ = mg.$) === null || _mg$$ === void 0 || (_mg$$ = _mg$$.vnode) === null || _mg$$ === void 0 ? void 0 : _mg$$.key) === mgKey;
        }));
      });
    });
  };
  var showThemeMessage = function showThemeMessage2(theme, params, duration) {
    var options = {
      theme
    };
    if (isString_1(params)) {
      options.content = params;
    } else if (isObject_1(params) && !(params instanceof Array)) {
      options = _objectSpread$O(_objectSpread$O({}, options), params);
    }
    (duration || duration === 0) && (options.duration = duration);
    return MessageFunction(options);
  };
  var extraApi$1 = {
    info: function info(params, duration) {
      return showThemeMessage("info", params, duration);
    },
    success: function success(params, duration) {
      return showThemeMessage("success", params, duration);
    },
    warning: function warning(params, duration) {
      return showThemeMessage("warning", params, duration);
    },
    error: function error2(params, duration) {
      return showThemeMessage("error", params, duration);
    },
    question: function question(params, duration) {
      return showThemeMessage("question", params, duration);
    },
    loading: function loading(params, duration) {
      return showThemeMessage("loading", params, duration);
    },
    close: function close2(promise) {
      promise.then(function(instance) {
        return instance === null || instance === void 0 ? void 0 : instance.close();
      });
    },
    closeAll: function closeAll() {
      if (instanceMap instanceof Map) {
        instanceMap.forEach(function(attach) {
          Object.keys(attach).forEach(function(placement) {
            var instance = attach[placement];
            instance.list = [];
          });
        });
      }
    }
  };
  var MessagePlugin = showThemeMessage;
  MessagePlugin.install = function(app) {
    app.config.globalProperties.$message = showThemeMessage;
    Object.keys(extraApi$1).forEach(function(funcName) {
      app.config.globalProperties.$message[funcName] = extraApi$1[funcName];
    });
  };
  Object.keys(extraApi$1).forEach(function(funcName) {
    MessagePlugin[funcName] = extraApi$1[funcName];
  });
  var top = "top";
  var bottom = "bottom";
  var right = "right";
  var left = "left";
  var auto = "auto";
  var basePlacements = [top, bottom, right, left];
  var start = "start";
  var end = "end";
  var clippingParents = "clippingParents";
  var viewport = "viewport";
  var popper = "popper";
  var reference = "reference";
  var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) {
    return acc.concat([placement + "-" + start, placement + "-" + end]);
  }, []);
  var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
    return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
  }, []);
  var beforeRead = "beforeRead";
  var read = "read";
  var afterRead = "afterRead";
  var beforeMain = "beforeMain";
  var main = "main";
  var afterMain = "afterMain";
  var beforeWrite = "beforeWrite";
  var write = "write";
  var afterWrite = "afterWrite";
  var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
  function getNodeName(element2) {
    return element2 ? (element2.nodeName || "").toLowerCase() : null;
  }
  function getWindow(node) {
    if (node == null) {
      return window;
    }
    if (node.toString() !== "[object Window]") {
      var ownerDocument = node.ownerDocument;
      return ownerDocument ? ownerDocument.defaultView || window : window;
    }
    return node;
  }
  function isElement(node) {
    var OwnElement = getWindow(node).Element;
    return node instanceof OwnElement || node instanceof Element;
  }
  function isHTMLElement(node) {
    var OwnElement = getWindow(node).HTMLElement;
    return node instanceof OwnElement || node instanceof HTMLElement;
  }
  function isShadowRoot(node) {
    if (typeof ShadowRoot === "undefined") {
      return false;
    }
    var OwnElement = getWindow(node).ShadowRoot;
    return node instanceof OwnElement || node instanceof ShadowRoot;
  }
  function applyStyles(_ref) {
    var state = _ref.state;
    Object.keys(state.elements).forEach(function(name) {
      var style2 = state.styles[name] || {};
      var attributes = state.attributes[name] || {};
      var element2 = state.elements[name];
      if (!isHTMLElement(element2) || !getNodeName(element2)) {
        return;
      }
      Object.assign(element2.style, style2);
      Object.keys(attributes).forEach(function(name2) {
        var value = attributes[name2];
        if (value === false) {
          element2.removeAttribute(name2);
        } else {
          element2.setAttribute(name2, value === true ? "" : value);
        }
      });
    });
  }
  function effect$2(_ref2) {
    var state = _ref2.state;
    var initialStyles = {
      popper: {
        position: state.options.strategy,
        left: "0",
        top: "0",
        margin: "0"
      },
      arrow: {
        position: "absolute"
      },
      reference: {}
    };
    Object.assign(state.elements.popper.style, initialStyles.popper);
    state.styles = initialStyles;
    if (state.elements.arrow) {
      Object.assign(state.elements.arrow.style, initialStyles.arrow);
    }
    return function() {
      Object.keys(state.elements).forEach(function(name) {
        var element2 = state.elements[name];
        var attributes = state.attributes[name] || {};
        var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);
        var style2 = styleProperties.reduce(function(style3, property) {
          style3[property] = "";
          return style3;
        }, {});
        if (!isHTMLElement(element2) || !getNodeName(element2)) {
          return;
        }
        Object.assign(element2.style, style2);
        Object.keys(attributes).forEach(function(attribute) {
          element2.removeAttribute(attribute);
        });
      });
    };
  }
  const applyStyles$1 = {
    name: "applyStyles",
    enabled: true,
    phase: "write",
    fn: applyStyles,
    effect: effect$2,
    requires: ["computeStyles"]
  };
  function getBasePlacement(placement) {
    return placement.split("-")[0];
  }
  var max = Math.max;
  var min$1 = Math.min;
  var round = Math.round;
  function getUAString() {
    var uaData = navigator.userAgentData;
    if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
      return uaData.brands.map(function(item) {
        return item.brand + "/" + item.version;
      }).join(" ");
    }
    return navigator.userAgent;
  }
  function isLayoutViewport() {
    return !/^((?!chrome|android).)*safari/i.test(getUAString());
  }
  function getBoundingClientRect(element2, includeScale, isFixedStrategy) {
    if (includeScale === void 0) {
      includeScale = false;
    }
    if (isFixedStrategy === void 0) {
      isFixedStrategy = false;
    }
    var clientRect = element2.getBoundingClientRect();
    var scaleX = 1;
    var scaleY = 1;
    if (includeScale && isHTMLElement(element2)) {
      scaleX = element2.offsetWidth > 0 ? round(clientRect.width) / element2.offsetWidth || 1 : 1;
      scaleY = element2.offsetHeight > 0 ? round(clientRect.height) / element2.offsetHeight || 1 : 1;
    }
    var _ref = isElement(element2) ? getWindow(element2) : window, visualViewport = _ref.visualViewport;
    var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
    var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
    var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
    var width = clientRect.width / scaleX;
    var height = clientRect.height / scaleY;
    return {
      width,
      height,
      top: y,
      right: x + width,
      bottom: y + height,
      left: x,
      x,
      y
    };
  }
  function getLayoutRect(element2) {
    var clientRect = getBoundingClientRect(element2);
    var width = element2.offsetWidth;
    var height = element2.offsetHeight;
    if (Math.abs(clientRect.width - width) <= 1) {
      width = clientRect.width;
    }
    if (Math.abs(clientRect.height - height) <= 1) {
      height = clientRect.height;
    }
    return {
      x: element2.offsetLeft,
      y: element2.offsetTop,
      width,
      height
    };
  }
  function contains(parent2, child) {
    var rootNode = child.getRootNode && child.getRootNode();
    if (parent2.contains(child)) {
      return true;
    } else if (rootNode && isShadowRoot(rootNode)) {
      var next = child;
      do {
        if (next && parent2.isSameNode(next)) {
          return true;
        }
        next = next.parentNode || next.host;
      } while (next);
    }
    return false;
  }
  function getComputedStyle$1(element2) {
    return getWindow(element2).getComputedStyle(element2);
  }
  function isTableElement(element2) {
    return ["table", "td", "th"].indexOf(getNodeName(element2)) >= 0;
  }
  function getDocumentElement(element2) {
    return ((isElement(element2) ? element2.ownerDocument : (
      // $FlowFixMe[prop-missing]
      element2.document
    )) || window.document).documentElement;
  }
  function getParentNode(element2) {
    if (getNodeName(element2) === "html") {
      return element2;
    }
    return (
      // this is a quicker (but less type safe) way to save quite some bytes from the bundle
      // $FlowFixMe[incompatible-return]
      // $FlowFixMe[prop-missing]
      element2.assignedSlot || // step into the shadow DOM of the parent of a slotted node
      element2.parentNode || // DOM Element detected
      (isShadowRoot(element2) ? element2.host : null) || // ShadowRoot detected
      // $FlowFixMe[incompatible-call]: HTMLElement is a Node
      getDocumentElement(element2)
    );
  }
  function getTrueOffsetParent(element2) {
    if (!isHTMLElement(element2) || // https://github.com/popperjs/popper-core/issues/837
    getComputedStyle$1(element2).position === "fixed") {
      return null;
    }
    return element2.offsetParent;
  }
  function getContainingBlock(element2) {
    var isFirefox = /firefox/i.test(getUAString());
    var isIE = /Trident/i.test(getUAString());
    if (isIE && isHTMLElement(element2)) {
      var elementCss = getComputedStyle$1(element2);
      if (elementCss.position === "fixed") {
        return null;
      }
    }
    var currentNode = getParentNode(element2);
    if (isShadowRoot(currentNode)) {
      currentNode = currentNode.host;
    }
    while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
      var css2 = getComputedStyle$1(currentNode);
      if (css2.transform !== "none" || css2.perspective !== "none" || css2.contain === "paint" || ["transform", "perspective"].indexOf(css2.willChange) !== -1 || isFirefox && css2.willChange === "filter" || isFirefox && css2.filter && css2.filter !== "none") {
        return currentNode;
      } else {
        currentNode = currentNode.parentNode;
      }
    }
    return null;
  }
  function getOffsetParent(element2) {
    var window2 = getWindow(element2);
    var offsetParent = getTrueOffsetParent(element2);
    while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === "static") {
      offsetParent = getTrueOffsetParent(offsetParent);
    }
    if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle$1(offsetParent).position === "static")) {
      return window2;
    }
    return offsetParent || getContainingBlock(element2) || window2;
  }
  function getMainAxisFromPlacement(placement) {
    return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
  }
  function within(min3, value, max$1) {
    return max(min3, min$1(value, max$1));
  }
  function withinMaxClamp(min3, value, max3) {
    var v = within(min3, value, max3);
    return v > max3 ? max3 : v;
  }
  function getFreshSideObject() {
    return {
      top: 0,
      right: 0,
      bottom: 0,
      left: 0
    };
  }
  function mergePaddingObject(paddingObject) {
    return Object.assign({}, getFreshSideObject(), paddingObject);
  }
  function expandToHashMap(value, keys2) {
    return keys2.reduce(function(hashMap, key2) {
      hashMap[key2] = value;
      return hashMap;
    }, {});
  }
  var toPaddingObject = function toPaddingObject2(padding, state) {
    padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, {
      placement: state.placement
    })) : padding;
    return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
  };
  function arrow(_ref) {
    var _state$modifiersData$;
    var state = _ref.state, name = _ref.name, options = _ref.options;
    var arrowElement = state.elements.arrow;
    var popperOffsets2 = state.modifiersData.popperOffsets;
    var basePlacement = getBasePlacement(state.placement);
    var axis = getMainAxisFromPlacement(basePlacement);
    var isVertical = [left, right].indexOf(basePlacement) >= 0;
    var len2 = isVertical ? "height" : "width";
    if (!arrowElement || !popperOffsets2) {
      return;
    }
    var paddingObject = toPaddingObject(options.padding, state);
    var arrowRect = getLayoutRect(arrowElement);
    var minProp = axis === "y" ? top : left;
    var maxProp = axis === "y" ? bottom : right;
    var endDiff = state.rects.reference[len2] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len2];
    var startDiff = popperOffsets2[axis] - state.rects.reference[axis];
    var arrowOffsetParent = getOffsetParent(arrowElement);
    var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
    var centerToReference = endDiff / 2 - startDiff / 2;
    var min3 = paddingObject[minProp];
    var max3 = clientSize - arrowRect[len2] - paddingObject[maxProp];
    var center = clientSize / 2 - arrowRect[len2] / 2 + centerToReference;
    var offset2 = within(min3, center, max3);
    var axisProp = axis;
    state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$);
  }
  function effect$1(_ref2) {
    var state = _ref2.state, options = _ref2.options;
    var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element;
    if (arrowElement == null) {
      return;
    }
    if (typeof arrowElement === "string") {
      arrowElement = state.elements.popper.querySelector(arrowElement);
      if (!arrowElement) {
        return;
      }
    }
    if (!contains(state.elements.popper, arrowElement)) {
      return;
    }
    state.elements.arrow = arrowElement;
  }
  const arrow$1 = {
    name: "arrow",
    enabled: true,
    phase: "main",
    fn: arrow,
    effect: effect$1,
    requires: ["popperOffsets"],
    requiresIfExists: ["preventOverflow"]
  };
  function getVariation(placement) {
    return placement.split("-")[1];
  }
  var unsetSides = {
    top: "auto",
    right: "auto",
    bottom: "auto",
    left: "auto"
  };
  function roundOffsetsByDPR(_ref, win) {
    var x = _ref.x, y = _ref.y;
    var dpr = win.devicePixelRatio || 1;
    return {
      x: round(x * dpr) / dpr || 0,
      y: round(y * dpr) / dpr || 0
    };
  }
  function mapToStyles(_ref2) {
    var _Object$assign2;
    var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
    var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
    var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
      x,
      y
    }) : {
      x,
      y
    };
    x = _ref3.x;
    y = _ref3.y;
    var hasX = offsets.hasOwnProperty("x");
    var hasY = offsets.hasOwnProperty("y");
    var sideX = left;
    var sideY = top;
    var win = window;
    if (adaptive) {
      var offsetParent = getOffsetParent(popper2);
      var heightProp = "clientHeight";
      var widthProp = "clientWidth";
      if (offsetParent === getWindow(popper2)) {
        offsetParent = getDocumentElement(popper2);
        if (getComputedStyle$1(offsetParent).position !== "static" && position === "absolute") {
          heightProp = "scrollHeight";
          widthProp = "scrollWidth";
        }
      }
      offsetParent = offsetParent;
      if (placement === top || (placement === left || placement === right) && variation === end) {
        sideY = bottom;
        var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : (
          // $FlowFixMe[prop-missing]
          offsetParent[heightProp]
        );
        y -= offsetY - popperRect.height;
        y *= gpuAcceleration ? 1 : -1;
      }
      if (placement === left || (placement === top || placement === bottom) && variation === end) {
        sideX = right;
        var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : (
          // $FlowFixMe[prop-missing]
          offsetParent[widthProp]
        );
        x -= offsetX - popperRect.width;
        x *= gpuAcceleration ? 1 : -1;
      }
    }
    var commonStyles = Object.assign({
      position
    }, adaptive && unsetSides);
    var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
      x,
      y
    }, getWindow(popper2)) : {
      x,
      y
    };
    x = _ref4.x;
    y = _ref4.y;
    if (gpuAcceleration) {
      var _Object$assign;
      return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
    }
    return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
  }
  function computeStyles(_ref5) {
    var state = _ref5.state, options = _ref5.options;
    var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
    var commonStyles = {
      placement: getBasePlacement(state.placement),
      variation: getVariation(state.placement),
      popper: state.elements.popper,
      popperRect: state.rects.popper,
      gpuAcceleration,
      isFixed: state.options.strategy === "fixed"
    };
    if (state.modifiersData.popperOffsets != null) {
      state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
        offsets: state.modifiersData.popperOffsets,
        position: state.options.strategy,
        adaptive,
        roundOffsets
      })));
    }
    if (state.modifiersData.arrow != null) {
      state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
        offsets: state.modifiersData.arrow,
        position: "absolute",
        adaptive: false,
        roundOffsets
      })));
    }
    state.attributes.popper = Object.assign({}, state.attributes.popper, {
      "data-popper-placement": state.placement
    });
  }
  const computeStyles$1 = {
    name: "computeStyles",
    enabled: true,
    phase: "beforeWrite",
    fn: computeStyles,
    data: {}
  };
  var passive = {
    passive: true
  };
  function effect(_ref) {
    var state = _ref.state, instance = _ref.instance, options = _ref.options;
    var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
    var window2 = getWindow(state.elements.popper);
    var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
    if (scroll) {
      scrollParents.forEach(function(scrollParent) {
        scrollParent.addEventListener("scroll", instance.update, passive);
      });
    }
    if (resize) {
      window2.addEventListener("resize", instance.update, passive);
    }
    return function() {
      if (scroll) {
        scrollParents.forEach(function(scrollParent) {
          scrollParent.removeEventListener("scroll", instance.update, passive);
        });
      }
      if (resize) {
        window2.removeEventListener("resize", instance.update, passive);
      }
    };
  }
  const eventListeners = {
    name: "eventListeners",
    enabled: true,
    phase: "write",
    fn: function fn() {
    },
    effect,
    data: {}
  };
  var hash$1 = {
    left: "right",
    right: "left",
    bottom: "top",
    top: "bottom"
  };
  function getOppositePlacement(placement) {
    return placement.replace(/left|right|bottom|top/g, function(matched) {
      return hash$1[matched];
    });
  }
  var hash = {
    start: "end",
    end: "start"
  };
  function getOppositeVariationPlacement(placement) {
    return placement.replace(/start|end/g, function(matched) {
      return hash[matched];
    });
  }
  function getWindowScroll(node) {
    var win = getWindow(node);
    var scrollLeft = win.pageXOffset;
    var scrollTop = win.pageYOffset;
    return {
      scrollLeft,
      scrollTop
    };
  }
  function getWindowScrollBarX(element2) {
    return getBoundingClientRect(getDocumentElement(element2)).left + getWindowScroll(element2).scrollLeft;
  }
  function getViewportRect(element2, strategy) {
    var win = getWindow(element2);
    var html = getDocumentElement(element2);
    var visualViewport = win.visualViewport;
    var width = html.clientWidth;
    var height = html.clientHeight;
    var x = 0;
    var y = 0;
    if (visualViewport) {
      width = visualViewport.width;
      height = visualViewport.height;
      var layoutViewport = isLayoutViewport();
      if (layoutViewport || !layoutViewport && strategy === "fixed") {
        x = visualViewport.offsetLeft;
        y = visualViewport.offsetTop;
      }
    }
    return {
      width,
      height,
      x: x + getWindowScrollBarX(element2),
      y
    };
  }
  function getDocumentRect(element2) {
    var _element$ownerDocumen;
    var html = getDocumentElement(element2);
    var winScroll = getWindowScroll(element2);
    var body = (_element$ownerDocumen = element2.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
    var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
    var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
    var x = -winScroll.scrollLeft + getWindowScrollBarX(element2);
    var y = -winScroll.scrollTop;
    if (getComputedStyle$1(body || html).direction === "rtl") {
      x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
    }
    return {
      width,
      height,
      x,
      y
    };
  }
  function isScrollParent(element2) {
    var _getComputedStyle = getComputedStyle$1(element2), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
    return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
  }
  function getScrollParent(node) {
    if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
      return node.ownerDocument.body;
    }
    if (isHTMLElement(node) && isScrollParent(node)) {
      return node;
    }
    return getScrollParent(getParentNode(node));
  }
  function listScrollParents(element2, list) {
    var _element$ownerDocumen;
    if (list === void 0) {
      list = [];
    }
    var scrollParent = getScrollParent(element2);
    var isBody = scrollParent === ((_element$ownerDocumen = element2.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
    var win = getWindow(scrollParent);
    var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
    var updatedList = list.concat(target);
    return isBody ? updatedList : (
      // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
      updatedList.concat(listScrollParents(getParentNode(target)))
    );
  }
  function rectToClientRect(rect) {
    return Object.assign({}, rect, {
      left: rect.x,
      top: rect.y,
      right: rect.x + rect.width,
      bottom: rect.y + rect.height
    });
  }
  function getInnerBoundingClientRect(element2, strategy) {
    var rect = getBoundingClientRect(element2, false, strategy === "fixed");
    rect.top = rect.top + element2.clientTop;
    rect.left = rect.left + element2.clientLeft;
    rect.bottom = rect.top + element2.clientHeight;
    rect.right = rect.left + element2.clientWidth;
    rect.width = element2.clientWidth;
    rect.height = element2.clientHeight;
    rect.x = rect.left;
    rect.y = rect.top;
    return rect;
  }
  function getClientRectFromMixedType(element2, clippingParent, strategy) {
    return clippingParent === viewport ? rectToClientRect(getViewportRect(element2, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element2)));
  }
  function getClippingParents(element2) {
    var clippingParents2 = listScrollParents(getParentNode(element2));
    var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle$1(element2).position) >= 0;
    var clipperElement = canEscapeClipping && isHTMLElement(element2) ? getOffsetParent(element2) : element2;
    if (!isElement(clipperElement)) {
      return [];
    }
    return clippingParents2.filter(function(clippingParent) {
      return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
    });
  }
  function getClippingRect(element2, boundary, rootBoundary, strategy) {
    var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element2) : [].concat(boundary);
    var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
    var firstClippingParent = clippingParents2[0];
    var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
      var rect = getClientRectFromMixedType(element2, clippingParent, strategy);
      accRect.top = max(rect.top, accRect.top);
      accRect.right = min$1(rect.right, accRect.right);
      accRect.bottom = min$1(rect.bottom, accRect.bottom);
      accRect.left = max(rect.left, accRect.left);
      return accRect;
    }, getClientRectFromMixedType(element2, firstClippingParent, strategy));
    clippingRect.width = clippingRect.right - clippingRect.left;
    clippingRect.height = clippingRect.bottom - clippingRect.top;
    clippingRect.x = clippingRect.left;
    clippingRect.y = clippingRect.top;
    return clippingRect;
  }
  function computeOffsets(_ref) {
    var reference2 = _ref.reference, element2 = _ref.element, placement = _ref.placement;
    var basePlacement = placement ? getBasePlacement(placement) : null;
    var variation = placement ? getVariation(placement) : null;
    var commonX = reference2.x + reference2.width / 2 - element2.width / 2;
    var commonY = reference2.y + reference2.height / 2 - element2.height / 2;
    var offsets;
    switch (basePlacement) {
      case top:
        offsets = {
          x: commonX,
          y: reference2.y - element2.height
        };
        break;
      case bottom:
        offsets = {
          x: commonX,
          y: reference2.y + reference2.height
        };
        break;
      case right:
        offsets = {
          x: reference2.x + reference2.width,
          y: commonY
        };
        break;
      case left:
        offsets = {
          x: reference2.x - element2.width,
          y: commonY
        };
        break;
      default:
        offsets = {
          x: reference2.x,
          y: reference2.y
        };
    }
    var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
    if (mainAxis != null) {
      var len2 = mainAxis === "y" ? "height" : "width";
      switch (variation) {
        case start:
          offsets[mainAxis] = offsets[mainAxis] - (reference2[len2] / 2 - element2[len2] / 2);
          break;
        case end:
          offsets[mainAxis] = offsets[mainAxis] + (reference2[len2] / 2 - element2[len2] / 2);
          break;
      }
    }
    return offsets;
  }
  function detectOverflow(state, options) {
    if (options === void 0) {
      options = {};
    }
    var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
    var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
    var altContext = elementContext === popper ? reference : popper;
    var popperRect = state.rects.popper;
    var element2 = state.elements[altBoundary ? altContext : elementContext];
    var clippingClientRect = getClippingRect(isElement(element2) ? element2 : element2.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
    var referenceClientRect = getBoundingClientRect(state.elements.reference);
    var popperOffsets2 = computeOffsets({
      reference: referenceClientRect,
      element: popperRect,
      strategy: "absolute",
      placement
    });
    var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2));
    var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect;
    var overflowOffsets = {
      top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
      bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
      left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
      right: elementClientRect.right - clippingClientRect.right + paddingObject.right
    };
    var offsetData = state.modifiersData.offset;
    if (elementContext === popper && offsetData) {
      var offset2 = offsetData[placement];
      Object.keys(overflowOffsets).forEach(function(key2) {
        var multiply = [right, bottom].indexOf(key2) >= 0 ? 1 : -1;
        var axis = [top, bottom].indexOf(key2) >= 0 ? "y" : "x";
        overflowOffsets[key2] += offset2[axis] * multiply;
      });
    }
    return overflowOffsets;
  }
  function computeAutoPlacement(state, options) {
    if (options === void 0) {
      options = {};
    }
    var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
    var variation = getVariation(placement);
    var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
      return getVariation(placement2) === variation;
    }) : basePlacements;
    var allowedPlacements = placements$1.filter(function(placement2) {
      return allowedAutoPlacements.indexOf(placement2) >= 0;
    });
    if (allowedPlacements.length === 0) {
      allowedPlacements = placements$1;
    }
    var overflows = allowedPlacements.reduce(function(acc, placement2) {
      acc[placement2] = detectOverflow(state, {
        placement: placement2,
        boundary,
        rootBoundary,
        padding
      })[getBasePlacement(placement2)];
      return acc;
    }, {});
    return Object.keys(overflows).sort(function(a, b) {
      return overflows[a] - overflows[b];
    });
  }
  function getExpandedFallbackPlacements(placement) {
    if (getBasePlacement(placement) === auto) {
      return [];
    }
    var oppositePlacement = getOppositePlacement(placement);
    return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
  }
  function flip(_ref) {
    var state = _ref.state, options = _ref.options, name = _ref.name;
    if (state.modifiersData[name]._skip) {
      return;
    }
    var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements;
    var preferredPlacement = state.options.placement;
    var basePlacement = getBasePlacement(preferredPlacement);
    var isBasePlacement = basePlacement === preferredPlacement;
    var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
    var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
      return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, {
        placement: placement2,
        boundary,
        rootBoundary,
        padding,
        flipVariations,
        allowedAutoPlacements
      }) : placement2);
    }, []);
    var referenceRect = state.rects.reference;
    var popperRect = state.rects.popper;
    var checksMap = /* @__PURE__ */ new Map();
    var makeFallbackChecks = true;
    var firstFittingPlacement = placements2[0];
    for (var i = 0; i < placements2.length; i++) {
      var placement = placements2[i];
      var _basePlacement = getBasePlacement(placement);
      var isStartVariation = getVariation(placement) === start;
      var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
      var len2 = isVertical ? "width" : "height";
      var overflow = detectOverflow(state, {
        placement,
        boundary,
        rootBoundary,
        altBoundary,
        padding
      });
      var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
      if (referenceRect[len2] > popperRect[len2]) {
        mainVariationSide = getOppositePlacement(mainVariationSide);
      }
      var altVariationSide = getOppositePlacement(mainVariationSide);
      var checks = [];
      if (checkMainAxis) {
        checks.push(overflow[_basePlacement] <= 0);
      }
      if (checkAltAxis) {
        checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
      }
      if (checks.every(function(check2) {
        return check2;
      })) {
        firstFittingPlacement = placement;
        makeFallbackChecks = false;
        break;
      }
      checksMap.set(placement, checks);
    }
    if (makeFallbackChecks) {
      var numberOfChecks = flipVariations ? 3 : 1;
      var _loop = function _loop2(_i2) {
        var fittingPlacement = placements2.find(function(placement2) {
          var checks2 = checksMap.get(placement2);
          if (checks2) {
            return checks2.slice(0, _i2).every(function(check2) {
              return check2;
            });
          }
        });
        if (fittingPlacement) {
          firstFittingPlacement = fittingPlacement;
          return "break";
        }
      };
      for (var _i = numberOfChecks; _i > 0; _i--) {
        var _ret = _loop(_i);
        if (_ret === "break")
          break;
      }
    }
    if (state.placement !== firstFittingPlacement) {
      state.modifiersData[name]._skip = true;
      state.placement = firstFittingPlacement;
      state.reset = true;
    }
  }
  const flip$1 = {
    name: "flip",
    enabled: true,
    phase: "main",
    fn: flip,
    requiresIfExists: ["offset"],
    data: {
      _skip: false
    }
  };
  function getSideOffsets(overflow, rect, preventedOffsets) {
    if (preventedOffsets === void 0) {
      preventedOffsets = {
        x: 0,
        y: 0
      };
    }
    return {
      top: overflow.top - rect.height - preventedOffsets.y,
      right: overflow.right - rect.width + preventedOffsets.x,
      bottom: overflow.bottom - rect.height + preventedOffsets.y,
      left: overflow.left - rect.width - preventedOffsets.x
    };
  }
  function isAnySideFullyClipped(overflow) {
    return [top, right, bottom, left].some(function(side) {
      return overflow[side] >= 0;
    });
  }
  function hide(_ref) {
    var state = _ref.state, name = _ref.name;
    var referenceRect = state.rects.reference;
    var popperRect = state.rects.popper;
    var preventedOffsets = state.modifiersData.preventOverflow;
    var referenceOverflow = detectOverflow(state, {
      elementContext: "reference"
    });
    var popperAltOverflow = detectOverflow(state, {
      altBoundary: true
    });
    var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
    var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
    var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
    var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
    state.modifiersData[name] = {
      referenceClippingOffsets,
      popperEscapeOffsets,
      isReferenceHidden,
      hasPopperEscaped
    };
    state.attributes.popper = Object.assign({}, state.attributes.popper, {
      "data-popper-reference-hidden": isReferenceHidden,
      "data-popper-escaped": hasPopperEscaped
    });
  }
  const hide$1 = {
    name: "hide",
    enabled: true,
    phase: "main",
    requiresIfExists: ["preventOverflow"],
    fn: hide
  };
  function distanceAndSkiddingToXY(placement, rects, offset2) {
    var basePlacement = getBasePlacement(placement);
    var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
    var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
      placement
    })) : offset2, skidding = _ref[0], distance2 = _ref[1];
    skidding = skidding || 0;
    distance2 = (distance2 || 0) * invertDistance;
    return [left, right].indexOf(basePlacement) >= 0 ? {
      x: distance2,
      y: skidding
    } : {
      x: skidding,
      y: distance2
    };
  }
  function offset(_ref2) {
    var state = _ref2.state, options = _ref2.options, name = _ref2.name;
    var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
    var data2 = placements.reduce(function(acc, placement) {
      acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
      return acc;
    }, {});
    var _data$state$placement = data2[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
    if (state.modifiersData.popperOffsets != null) {
      state.modifiersData.popperOffsets.x += x;
      state.modifiersData.popperOffsets.y += y;
    }
    state.modifiersData[name] = data2;
  }
  const offset$1 = {
    name: "offset",
    enabled: true,
    phase: "main",
    requires: ["popperOffsets"],
    fn: offset
  };
  function popperOffsets(_ref) {
    var state = _ref.state, name = _ref.name;
    state.modifiersData[name] = computeOffsets({
      reference: state.rects.reference,
      element: state.rects.popper,
      strategy: "absolute",
      placement: state.placement
    });
  }
  const popperOffsets$1 = {
    name: "popperOffsets",
    enabled: true,
    phase: "read",
    fn: popperOffsets,
    data: {}
  };
  function getAltAxis(axis) {
    return axis === "x" ? "y" : "x";
  }
  function preventOverflow(_ref) {
    var state = _ref.state, options = _ref.options, name = _ref.name;
    var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
    var overflow = detectOverflow(state, {
      boundary,
      rootBoundary,
      padding,
      altBoundary
    });
    var basePlacement = getBasePlacement(state.placement);
    var variation = getVariation(state.placement);
    var isBasePlacement = !variation;
    var mainAxis = getMainAxisFromPlacement(basePlacement);
    var altAxis = getAltAxis(mainAxis);
    var popperOffsets2 = state.modifiersData.popperOffsets;
    var referenceRect = state.rects.reference;
    var popperRect = state.rects.popper;
    var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, {
      placement: state.placement
    })) : tetherOffset;
    var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? {
      mainAxis: tetherOffsetValue,
      altAxis: tetherOffsetValue
    } : Object.assign({
      mainAxis: 0,
      altAxis: 0
    }, tetherOffsetValue);
    var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
    var data2 = {
      x: 0,
      y: 0
    };
    if (!popperOffsets2) {
      return;
    }
    if (checkMainAxis) {
      var _offsetModifierState$;
      var mainSide = mainAxis === "y" ? top : left;
      var altSide = mainAxis === "y" ? bottom : right;
      var len2 = mainAxis === "y" ? "height" : "width";
      var offset2 = popperOffsets2[mainAxis];
      var min3 = offset2 + overflow[mainSide];
      var max$1 = offset2 - overflow[altSide];
      var additive = tether ? -popperRect[len2] / 2 : 0;
      var minLen = variation === start ? referenceRect[len2] : popperRect[len2];
      var maxLen = variation === start ? -popperRect[len2] : -referenceRect[len2];
      var arrowElement = state.elements.arrow;
      var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
        width: 0,
        height: 0
      };
      var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject();
      var arrowPaddingMin = arrowPaddingObject[mainSide];
      var arrowPaddingMax = arrowPaddingObject[altSide];
      var arrowLen = within(0, referenceRect[len2], arrowRect[len2]);
      var minOffset = isBasePlacement ? referenceRect[len2] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
      var maxOffset = isBasePlacement ? -referenceRect[len2] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
      var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
      var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
      var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
      var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset;
      var tetherMax = offset2 + maxOffset - offsetModifierValue;
      var preventedOffset = within(tether ? min$1(min3, tetherMin) : min3, offset2, tether ? max(max$1, tetherMax) : max$1);
      popperOffsets2[mainAxis] = preventedOffset;
      data2[mainAxis] = preventedOffset - offset2;
    }
    if (checkAltAxis) {
      var _offsetModifierState$2;
      var _mainSide = mainAxis === "x" ? top : left;
      var _altSide = mainAxis === "x" ? bottom : right;
      var _offset = popperOffsets2[altAxis];
      var _len = altAxis === "y" ? "height" : "width";
      var _min = _offset + overflow[_mainSide];
      var _max = _offset - overflow[_altSide];
      var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
      var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
      var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
      var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
      var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
      popperOffsets2[altAxis] = _preventedOffset;
      data2[altAxis] = _preventedOffset - _offset;
    }
    state.modifiersData[name] = data2;
  }
  const preventOverflow$1 = {
    name: "preventOverflow",
    enabled: true,
    phase: "main",
    fn: preventOverflow,
    requiresIfExists: ["offset"]
  };
  function getHTMLElementScroll(element2) {
    return {
      scrollLeft: element2.scrollLeft,
      scrollTop: element2.scrollTop
    };
  }
  function getNodeScroll(node) {
    if (node === getWindow(node) || !isHTMLElement(node)) {
      return getWindowScroll(node);
    } else {
      return getHTMLElementScroll(node);
    }
  }
  function isElementScaled(element2) {
    var rect = element2.getBoundingClientRect();
    var scaleX = round(rect.width) / element2.offsetWidth || 1;
    var scaleY = round(rect.height) / element2.offsetHeight || 1;
    return scaleX !== 1 || scaleY !== 1;
  }
  function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
    if (isFixed === void 0) {
      isFixed = false;
    }
    var isOffsetParentAnElement = isHTMLElement(offsetParent);
    var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
    var documentElement = getDocumentElement(offsetParent);
    var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
    var scroll = {
      scrollLeft: 0,
      scrollTop: 0
    };
    var offsets = {
      x: 0,
      y: 0
    };
    if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
      if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
      isScrollParent(documentElement)) {
        scroll = getNodeScroll(offsetParent);
      }
      if (isHTMLElement(offsetParent)) {
        offsets = getBoundingClientRect(offsetParent, true);
        offsets.x += offsetParent.clientLeft;
        offsets.y += offsetParent.clientTop;
      } else if (documentElement) {
        offsets.x = getWindowScrollBarX(documentElement);
      }
    }
    return {
      x: rect.left + scroll.scrollLeft - offsets.x,
      y: rect.top + scroll.scrollTop - offsets.y,
      width: rect.width,
      height: rect.height
    };
  }
  function order(modifiers) {
    var map = /* @__PURE__ */ new Map();
    var visited = /* @__PURE__ */ new Set();
    var result = [];
    modifiers.forEach(function(modifier) {
      map.set(modifier.name, modifier);
    });
    function sort2(modifier) {
      visited.add(modifier.name);
      var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
      requires.forEach(function(dep) {
        if (!visited.has(dep)) {
          var depModifier = map.get(dep);
          if (depModifier) {
            sort2(depModifier);
          }
        }
      });
      result.push(modifier);
    }
    modifiers.forEach(function(modifier) {
      if (!visited.has(modifier.name)) {
        sort2(modifier);
      }
    });
    return result;
  }
  function orderModifiers(modifiers) {
    var orderedModifiers = order(modifiers);
    return modifierPhases.reduce(function(acc, phase) {
      return acc.concat(orderedModifiers.filter(function(modifier) {
        return modifier.phase === phase;
      }));
    }, []);
  }
  function debounce$2(fn2) {
    var pending;
    return function() {
      if (!pending) {
        pending = new Promise(function(resolve2) {
          Promise.resolve().then(function() {
            pending = void 0;
            resolve2(fn2());
          });
        });
      }
      return pending;
    };
  }
  function mergeByName(modifiers) {
    var merged = modifiers.reduce(function(merged2, current) {
      var existing = merged2[current.name];
      merged2[current.name] = existing ? Object.assign({}, existing, current, {
        options: Object.assign({}, existing.options, current.options),
        data: Object.assign({}, existing.data, current.data)
      }) : current;
      return merged2;
    }, {});
    return Object.keys(merged).map(function(key2) {
      return merged[key2];
    });
  }
  var DEFAULT_OPTIONS = {
    placement: "bottom",
    modifiers: [],
    strategy: "absolute"
  };
  function areValidElements() {
    for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
      args[_key] = arguments[_key];
    }
    return !args.some(function(element2) {
      return !(element2 && typeof element2.getBoundingClientRect === "function");
    });
  }
  function popperGenerator(generatorOptions) {
    if (generatorOptions === void 0) {
      generatorOptions = {};
    }
    var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
    return function createPopper2(reference2, popper2, options) {
      if (options === void 0) {
        options = defaultOptions;
      }
      var state = {
        placement: "bottom",
        orderedModifiers: [],
        options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
        modifiersData: {},
        elements: {
          reference: reference2,
          popper: popper2
        },
        attributes: {},
        styles: {}
      };
      var effectCleanupFns = [];
      var isDestroyed = false;
      var instance = {
        state,
        setOptions: function setOptions(setOptionsAction) {
          var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
          cleanupModifierEffects();
          state.options = Object.assign({}, defaultOptions, state.options, options2);
          state.scrollParents = {
            reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [],
            popper: listScrollParents(popper2)
          };
          var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
          state.orderedModifiers = orderedModifiers.filter(function(m) {
            return m.enabled;
          });
          runModifierEffects();
          return instance.update();
        },
        // Sync update – it will always be executed, even if not necessary. This
        // is useful for low frequency updates where sync behavior simplifies the
        // logic.
        // For high frequency updates (e.g. `resize` and `scroll` events), always
        // prefer the async Popper#update method
        forceUpdate: function forceUpdate() {
          if (isDestroyed) {
            return;
          }
          var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper;
          if (!areValidElements(reference3, popper3)) {
            return;
          }
          state.rects = {
            reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"),
            popper: getLayoutRect(popper3)
          };
          state.reset = false;
          state.placement = state.options.placement;
          state.orderedModifiers.forEach(function(modifier) {
            return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
          });
          for (var index2 = 0; index2 < state.orderedModifiers.length; index2++) {
            if (state.reset === true) {
              state.reset = false;
              index2 = -1;
              continue;
            }
            var _state$orderedModifie = state.orderedModifiers[index2], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
            if (typeof fn2 === "function") {
              state = fn2({
                state,
                options: _options,
                name,
                instance
              }) || state;
            }
          }
        },
        // Async and optimistically optimized update – it will not be executed if
        // not necessary (debounced to run at most once-per-tick)
        update: debounce$2(function() {
          return new Promise(function(resolve2) {
            instance.forceUpdate();
            resolve2(state);
          });
        }),
        destroy: function destroy2() {
          cleanupModifierEffects();
          isDestroyed = true;
        }
      };
      if (!areValidElements(reference2, popper2)) {
        return instance;
      }
      instance.setOptions(options).then(function(state2) {
        if (!isDestroyed && options.onFirstUpdate) {
          options.onFirstUpdate(state2);
        }
      });
      function runModifierEffects() {
        state.orderedModifiers.forEach(function(_ref) {
          var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect2 = _ref.effect;
          if (typeof effect2 === "function") {
            var cleanupFn = effect2({
              state,
              name,
              instance,
              options: options2
            });
            var noopFn = function noopFn2() {
            };
            effectCleanupFns.push(cleanupFn || noopFn);
          }
        });
      }
      function cleanupModifierEffects() {
        effectCleanupFns.forEach(function(fn2) {
          return fn2();
        });
        effectCleanupFns = [];
      }
      return instance;
    };
  }
  var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
  var createPopper = /* @__PURE__ */ popperGenerator({
    defaultModifiers
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var reWhitespace = /\s/;
  function trimmedEndIndex$1(string) {
    var index2 = string.length;
    while (index2-- && reWhitespace.test(string.charAt(index2))) {
    }
    return index2;
  }
  var _trimmedEndIndex = trimmedEndIndex$1;
  var trimmedEndIndex = _trimmedEndIndex;
  var reTrimStart = /^\s+/;
  function baseTrim$1(string) {
    return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
  }
  var _baseTrim = baseTrim$1;
  var baseTrim = _baseTrim, isObject$4 = isObject_1, isSymbol$2 = isSymbol_1;
  var NAN = 0 / 0;
  var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
  var reIsBinary = /^0b[01]+$/i;
  var reIsOctal = /^0o[0-7]+$/i;
  var freeParseInt = parseInt;
  function toNumber$1(value) {
    if (typeof value == "number") {
      return value;
    }
    if (isSymbol$2(value)) {
      return NAN;
    }
    if (isObject$4(value)) {
      var other = typeof value.valueOf == "function" ? value.valueOf() : value;
      value = isObject$4(other) ? other + "" : other;
    }
    if (typeof value != "string") {
      return value === 0 ? value : +value;
    }
    value = baseTrim(value);
    var isBinary = reIsBinary.test(value);
    return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
  }
  var toNumber_1 = toNumber$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var root = _root;
  var now$1 = function now() {
    return root.Date.now();
  };
  var now_1 = now$1;
  var isObject$3 = isObject_1, now2 = now_1, toNumber = toNumber_1;
  var FUNC_ERROR_TEXT$2 = "Expected a function";
  var nativeMax = Math.max, nativeMin$1 = Math.min;
  function debounce$1(func, wait, options) {
    var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
    if (typeof func != "function") {
      throw new TypeError(FUNC_ERROR_TEXT$2);
    }
    wait = toNumber(wait) || 0;
    if (isObject$3(options)) {
      leading = !!options.leading;
      maxing = "maxWait" in options;
      maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
      trailing = "trailing" in options ? !!options.trailing : trailing;
    }
    function invokeFunc(time) {
      var args = lastArgs, thisArg = lastThis;
      lastArgs = lastThis = void 0;
      lastInvokeTime = time;
      result = func.apply(thisArg, args);
      return result;
    }
    function leadingEdge(time) {
      lastInvokeTime = time;
      timerId = setTimeout(timerExpired, wait);
      return leading ? invokeFunc(time) : result;
    }
    function remainingWait(time) {
      var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
      return maxing ? nativeMin$1(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
    }
    function shouldInvoke(time) {
      var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
      return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
    }
    function timerExpired() {
      var time = now2();
      if (shouldInvoke(time)) {
        return trailingEdge(time);
      }
      timerId = setTimeout(timerExpired, remainingWait(time));
    }
    function trailingEdge(time) {
      timerId = void 0;
      if (trailing && lastArgs) {
        return invokeFunc(time);
      }
      lastArgs = lastThis = void 0;
      return result;
    }
    function cancel() {
      if (timerId !== void 0) {
        clearTimeout(timerId);
      }
      lastInvokeTime = 0;
      lastArgs = lastCallTime = lastThis = timerId = void 0;
    }
    function flush() {
      return timerId === void 0 ? result : trailingEdge(now2());
    }
    function debounced() {
      var time = now2(), isInvoking = shouldInvoke(time);
      lastArgs = arguments;
      lastThis = this;
      lastCallTime = time;
      if (isInvoking) {
        if (timerId === void 0) {
          return leadingEdge(lastCallTime);
        }
        if (maxing) {
          clearTimeout(timerId);
          timerId = setTimeout(timerExpired, wait);
          return invokeFunc(lastCallTime);
        }
      }
      if (timerId === void 0) {
        timerId = setTimeout(timerExpired, wait);
      }
      return result;
    }
    debounced.cancel = cancel;
    debounced.flush = flush;
    return debounced;
  }
  var debounce_1 = debounce$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useCommonClassName() {
    var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix;
    var sizeClassNames = {
      small: "".concat(classPrefix.value, "-size-s"),
      medium: "".concat(classPrefix.value, "-size-m"),
      large: "".concat(classPrefix.value, "-size-l"),
      "default": "",
      xs: "".concat(classPrefix.value, "-size-xs"),
      xl: "".concat(classPrefix.value, "-size-xl"),
      block: "".concat(classPrefix.value, "-size-full-width")
    };
    var statusClassNames = {
      loading: "".concat(classPrefix.value, "-is-loading"),
      loadMore: "".concat(classPrefix.value, "-is-load-more"),
      disabled: "".concat(classPrefix.value, "-is-disabled"),
      focused: "".concat(classPrefix.value, "-is-focused"),
      success: "".concat(classPrefix.value, "-is-success"),
      error: "".concat(classPrefix.value, "-is-error"),
      warning: "".concat(classPrefix.value, "-is-warning"),
      selected: "".concat(classPrefix.value, "-is-selected"),
      active: "".concat(classPrefix.value, "-is-active"),
      checked: "".concat(classPrefix.value, "-is-checked"),
      current: "".concat(classPrefix.value, "-is-current"),
      hidden: "".concat(classPrefix.value, "-is-hidden"),
      visible: "".concat(classPrefix.value, "-is-visible"),
      expanded: "".concat(classPrefix.value, "-is-expanded"),
      indeterminate: "".concat(classPrefix.value, "-is-indeterminate")
    };
    return {
      classPrefix,
      sizeClassNames,
      statusClassNames,
      classNames: {
        size: sizeClassNames,
        status: statusClassNames
      }
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useDefaultValue(value, defaultValue, onChange, propsName) {
    var _getCurrentInstance = vue.getCurrentInstance(), emit = _getCurrentInstance.emit, vnode = _getCurrentInstance.vnode;
    var internalValue = vue.ref();
    var vProps = vnode.props || {};
    var isVMP = Object.prototype.hasOwnProperty.call(vProps, propsName) || Object.prototype.hasOwnProperty.call(vProps, kebabCase_1(propsName));
    if (isVMP) {
      return [value, function(newValue) {
        emit("update:".concat(propsName), newValue);
        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          args[_key - 1] = arguments[_key];
        }
        onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
      }];
    }
    internalValue.value = defaultValue;
    return [internalValue, function(newValue) {
      internalValue.value = newValue;
      for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
        args[_key2 - 1] = arguments[_key2];
      }
      onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
    }];
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var TDisplayNoneElementRefresh = "t-display-none-element-refresh";
  function useDestroyOnClose() {
    var refresh = vue.ref(0);
    vue.provide(TDisplayNoneElementRefresh, refresh);
    vue.onUpdated(function() {
      refresh.value += 1;
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$O(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$N(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$O(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var useVirtualScroll$1 = function useVirtualScroll(_ref) {
    var data2 = _ref.data, container = _ref.container, _ref$fixedHeight = _ref.fixedHeight, fixedHeight = _ref$fixedHeight === void 0 ? false : _ref$fixedHeight, _ref$lineHeight = _ref.lineHeight, lineHeight = _ref$lineHeight === void 0 ? 30 : _ref$lineHeight, _ref$bufferSize = _ref.bufferSize, bufferSize = _ref$bufferSize === void 0 ? 20 : _ref$bufferSize, _ref$threshold = _ref.threshold, threshold = _ref$threshold === void 0 ? 100 : _ref$threshold;
    var state = vue.reactive({
      visibleData: [],
      cachedHeight: [],
      cachedScrollY: []
    });
    var isVirtual = vue.computed(function() {
      return data2.value.length > threshold;
    });
    var updateId = vue.ref(0);
    var trs = /* @__PURE__ */ new Map();
    var visibleCount = 0;
    var beforeScrollTop = 0;
    var index2 = 0;
    var offset2 = 0;
    var start2 = 0;
    var last2 = 0;
    var reset = function reset2() {
      data2.value.forEach(function(item, i) {
        item.$index = i;
        if (fixedHeight) {
          state.cachedScrollY[i] = i * lineHeight;
        }
      });
      if (!fixedHeight) {
        state.cachedScrollY[data2.value.length - 1] = void 0;
      }
    };
    reset();
    var scrollHeight = vue.computed(function() {
      var cachedHeight = state.cachedHeight;
      var length = cachedHeight.length;
      if (length) {
        var maxScrollY = cachedHeight.reduce(function(sum, v) {
          return sum + v || lineHeight;
        }, 0);
        if (cachedHeight.length === data2.value.length) {
          return maxScrollY;
        }
        var average = maxScrollY / cachedHeight.length;
        return maxScrollY + (data2.value.length - cachedHeight.length) * average;
      }
      return isVirtual.value ? data2.value.length * lineHeight : 0;
    });
    var translateY = vue.computed(function() {
      var visibleData = state.visibleData;
      var firstRow = visibleData[0];
      if (firstRow) {
        return visibleData.length === 1 ? 0 : state.cachedScrollY[firstRow.$index];
      }
      return 0;
    });
    var updateVisibleData = function updateVisibleData2() {
      last2 = Math.min(start2 + visibleCount + bufferSize * 2, data2.value.length);
      state.visibleData = data2.value.slice(start2, last2);
    };
    var calculateScrollY = function calculateScrollY2() {
      var _anchorDom$getBoundin;
      var anchorDom = trs.get(index2);
      if (!anchorDom) {
        return;
      }
      var anchorDomHeight = anchorDom === null || anchorDom === void 0 || (_anchorDom$getBoundin = anchorDom.getBoundingClientRect()) === null || _anchorDom$getBoundin === void 0 ? void 0 : _anchorDom$getBoundin.height;
      state.cachedScrollY[index2] = container.value.scrollTop - offset2;
      state.cachedHeight[index2] = anchorDomHeight;
      for (var i = index2 + 1; i <= ((_state$visibleData = state.visibleData[state.visibleData.length - 1]) === null || _state$visibleData === void 0 ? void 0 : _state$visibleData.$index); i++) {
        var _state$visibleData;
        var tr = trs.get(i);
        var _ref2 = (tr === null || tr === void 0 ? void 0 : tr.getBoundingClientRect()) || {}, height = _ref2.height;
        state.cachedHeight[i] = height;
        var scrollY = state.cachedScrollY[i - 1] + state.cachedHeight[i - 1];
        state.cachedScrollY.splice(i, 1, scrollY);
      }
      for (var _i = index2 - 1; _i >= ((_state$visibleData$ = state.visibleData[0]) === null || _state$visibleData$ === void 0 ? void 0 : _state$visibleData$.$index); _i--) {
        var _state$visibleData$;
        var _tr = trs.get(_i);
        var _ref3 = (_tr === null || _tr === void 0 ? void 0 : _tr.getBoundingClientRect()) || {}, _height = _ref3.height;
        state.cachedHeight[_i] = _height;
        var _scrollY = state.cachedScrollY[_i + 1] - state.cachedHeight[_i];
        state.cachedScrollY.splice(_i, 1, _scrollY);
      }
      if (state.cachedScrollY[0] > 0) {
        var distance2 = state.cachedScrollY[0];
        var length = Math.min(last2, data2.value.length);
        for (var _i2 = 0; _i2 < length; _i2++) {
          state.cachedScrollY.splice(_i2, 1, state.cachedScrollY[_i2] - distance2);
        }
        var scrollTop = state.cachedScrollY[index2 - 1] ? state.cachedScrollY[index2 - 1] + offset2 : offset2;
        container.value.scrollTop = scrollTop;
        beforeScrollTop = scrollTop;
      }
      if (state.cachedScrollY[start2] < 0) {
        var s = state.cachedHeight.slice(0, Math.max(0, index2)).reduce(function(sum, v) {
          return sum + v;
        }, 0) + offset2;
        container.value.scrollTop = s;
        beforeScrollTop = s;
        if (s === 0) {
          index2 = 0;
          offset2 = 0;
        }
      }
      vue.nextTick(function() {
        var _container$value = container.value, scrollTop2 = _container$value.scrollTop, scrollHeight2 = _container$value.scrollHeight, clientHeight = _container$value.clientHeight;
        if (scrollTop2 + clientHeight === scrollHeight2) {
          for (var _i3 = last2 - 1; _i3 >= start2; _i3--) {
            if (_i3 === last2 - 1) {
              state.cachedScrollY.splice(_i3, 1, scrollHeight2.value - state.cachedHeight[_i3]);
            } else {
              state.cachedScrollY.splice(_i3, 1, state.cachedScrollY[_i3 + 1] - state.cachedHeight[_i3]);
            }
          }
        }
      });
    };
    var handleScroll = function handleScroll2() {
      if (!isVirtual.value)
        return;
      var scrollTop = container.value.scrollTop;
      var distance2 = scrollTop - beforeScrollTop;
      beforeScrollTop = scrollTop;
      distance2 += offset2;
      var lastIndex = index2;
      if (!distance2)
        return;
      if (distance2 >= 0) {
        while (lastIndex < data2.value.length && distance2 > (state.cachedHeight[lastIndex] || lineHeight)) {
          if (!state.cachedHeight[lastIndex]) {
            state.cachedHeight[lastIndex] = lineHeight;
          }
          distance2 -= state.cachedHeight[lastIndex];
          lastIndex++;
        }
        if (lastIndex >= data2.value.length) {
          index2 = data2.value.length - 1;
          offset2 = 0;
        } else {
          index2 = lastIndex;
          offset2 = distance2;
        }
        var _container$value2 = container.value, clientHeight = _container$value2.clientHeight, scrollHeight2 = _container$value2.scrollHeight;
        if (scrollTop + clientHeight === scrollHeight2) {
          index2 = data2.value.length - visibleCount + 1;
        }
        if (start2 <= index2 - bufferSize) {
          start2 = Math.min(data2.value.length - visibleCount, index2 - bufferSize);
          if (start2 < 0) {
            start2 = 0;
          }
        }
      } else {
        while (distance2 < 0) {
          lastIndex--;
          if (!state.cachedHeight[lastIndex]) {
            state.cachedHeight[lastIndex] = lineHeight;
          }
          distance2 += state.cachedHeight[lastIndex];
        }
        if (lastIndex < 0) {
          index2 = 0;
          offset2 = 0;
        } else {
          index2 = lastIndex;
          offset2 = distance2;
        }
        calculateScrollY();
        if (start2 > index2 - bufferSize) {
          start2 = Math.max(0, index2 - bufferSize);
        }
      }
      updateVisibleData();
    };
    !fixedHeight && vue.watch(updateId, calculateScrollY, {
      flush: "post"
    });
    var handleRowMounted = function handleRowMounted2() {
      if (!isVirtual.value)
        return;
      updateId.value++;
    };
    vue.watch(data2, function() {
      reset();
      state.visibleData = [];
      state.cachedScrollY = [];
      state.cachedHeight = [];
      beforeScrollTop = 0;
      index2 = 0;
      offset2 = 0;
      start2 = 0;
      trs.clear();
      if (data2.value.length <= threshold) {
        state.visibleData = data2.value;
      } else {
        updateVisibleData();
      }
      container.value && (container.value.scrollTop = 0);
    });
    var mounted2 = false;
    var refreshContainer = function refreshContainer2() {
      if (mounted2) {
        visibleCount = Math.ceil(container.value.offsetHeight / lineHeight);
        updateVisibleData();
      }
    };
    vue.onMounted(function() {
      if (!window || !window.IntersectionObserver) {
        return;
      }
      var ob = new window.IntersectionObserver(function(entries) {
        var entry = entries[0];
        if (entry.isIntersecting || entry.intersectionRatio) {
          mounted2 = true;
          isVirtual.value && refreshContainer();
          ob.unobserve(container.value);
        }
      });
      container.value && ob.observe(container.value);
    });
    return _objectSpread$N(_objectSpread$N({
      trs,
      scrollHeight
    }, vue.toRefs(state)), {}, {
      translateY,
      handleScroll,
      handleRowMounted,
      refreshContainer,
      fixedHeight,
      calculateScrollY
    });
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useVModel(value, modelValue, defaultValue, onChange) {
    var propName = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "value";
    var _getCurrentInstance = vue.getCurrentInstance(), emit = _getCurrentInstance.emit, vnode = _getCurrentInstance.vnode;
    var internalValue = vue.ref();
    var vProps = vnode.props || {};
    var isVM = Object.prototype.hasOwnProperty.call(vProps, "modelValue") || Object.prototype.hasOwnProperty.call(vProps, "model-value");
    var isVMP = Object.prototype.hasOwnProperty.call(vProps, propName) || Object.prototype.hasOwnProperty.call(vProps, kebabCase_1(propName));
    if (isVM) {
      return [modelValue, function(newValue) {
        emit("update:modelValue", newValue);
        for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
          args[_key - 1] = arguments[_key];
        }
        onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
      }];
    }
    if (isVMP) {
      return [value, function(newValue) {
        emit("update:".concat(propName), newValue);
        for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
          args[_key2 - 1] = arguments[_key2];
        }
        onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
      }];
    }
    internalValue.value = defaultValue;
    return [internalValue, function(newValue) {
      internalValue.value = newValue;
      for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
        args[_key3 - 1] = arguments[_key3];
      }
      onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
    }];
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var logSet = /* @__PURE__ */ new Set();
  var log = {
    warn: function warn(componentName, message) {
      console.warn("TDesign ".concat(componentName, " Warn: ").concat(message));
    },
    warnOnce: function warnOnce(componentName, message) {
      var msgContent = "TDesign ".concat(componentName, " Warn: ").concat(message);
      if (logSet.has(msgContent))
        return;
      logSet.add(msgContent);
      console.warn(msgContent);
    },
    error: function error3(componentName, message) {
      console.error("TDesign ".concat(componentName, " Error: ").concat(message));
    },
    errorOnce: function errorOnce(componentName, message) {
      var msgContent = "TDesign ".concat(componentName, " Error: ").concat(message);
      if (logSet.has(msgContent))
        return;
      logSet.add(msgContent);
      console.error(msgContent);
    },
    info: function info2(componentName, message) {
      console.info("TDesign ".concat(componentName, " Info: ").concat(message));
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var popupProps = {
    attach: {
      type: [String, Function],
      "default": "body"
    },
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    delay: {
      type: [Number, Array]
    },
    destroyOnClose: Boolean,
    disabled: Boolean,
    hideEmptyPopup: Boolean,
    overlayClassName: {
      type: [String, Object, Array]
    },
    overlayInnerClassName: {
      type: [String, Object, Array]
    },
    overlayInnerStyle: {
      type: [Boolean, Object, Function]
    },
    overlayStyle: {
      type: [Boolean, Object, Function]
    },
    placement: {
      type: String,
      "default": "top"
    },
    popperOptions: {
      type: Object
    },
    showArrow: Boolean,
    trigger: {
      type: String,
      "default": "hover",
      validator: function validator10(val) {
        if (!val)
          return true;
        return ["hover", "click", "focus", "mousedown", "context-menu"].includes(val);
      }
    },
    triggerElement: {
      type: [String, Function]
    },
    visible: {
      type: Boolean,
      "default": void 0
    },
    modelValue: {
      type: Boolean,
      "default": void 0
    },
    defaultVisible: Boolean,
    zIndex: {
      type: Number
    },
    onScroll: Function,
    onScrollToBottom: Function,
    onVisibleChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useResizeObserver(container, callback) {
    if (typeof window === "undefined")
      return;
    var isSupport = window && window.ResizeObserver;
    if (!isSupport)
      return;
    var containerObserver = null;
    var cleanupObserver = function cleanupObserver2() {
      if (!containerObserver || !container.value)
        return;
      containerObserver.unobserve(container.value);
      containerObserver.disconnect();
      containerObserver = null;
    };
    var addObserver = function addObserver2(el) {
      containerObserver = new ResizeObserver(callback);
      containerObserver.observe(el);
    };
    if (container !== null && container !== void 0 && container.value) {
      vue.watch(container, function(el) {
        cleanupObserver();
        el && addObserver(el);
      }, {
        immediate: true,
        flush: "post"
      });
    }
    vue.onBeforeUnmount(function() {
      cleanupObserver();
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _isSlot$b(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  function filterEmpty() {
    var children = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
    var vnodes = [];
    children.forEach(function(child) {
      if (isArray_1(child)) {
        vnodes.push.apply(vnodes, _toConsumableArray(child));
      } else if (child.type === vue.Fragment) {
        vnodes.push.apply(vnodes, _toConsumableArray(filterEmpty(child.children)));
      } else {
        vnodes.push(child);
      }
    });
    return vnodes.filter(function(c) {
      return !(c && (c.type === vue.Comment || c.type === vue.Fragment && c.children.length === 0 || c.type === vue.Text && c.children.trim() === ""));
    });
  }
  function isRectChanged(rect1, rect2) {
    if (!rect1 && !rect2)
      return false;
    if (!rect1 || !rect2)
      return true;
    if (["width", "height", "x", "y"].some(function(k) {
      return rect1[k] !== rect2[k];
    })) {
      return true;
    }
    return false;
  }
  function useElement(getter) {
    var instance = vue.getCurrentInstance();
    var el = vue.ref();
    vue.onMounted(function() {
      el.value = getter(instance);
    });
    vue.onUpdated(function() {
      var newEl = getter(instance);
      if (el.value !== newEl) {
        el.value = newEl;
      }
    });
    return el;
  }
  var Trigger = vue.defineComponent({
    name: "TPopupTrigger",
    props: {
      forwardRef: Function
    },
    emits: ["resize"],
    setup: function setup8(props2, _ref) {
      var emit = _ref.emit, slots = _ref.slots;
      var el = useElement(function(vm) {
        var containerNode = vm.parent.vnode;
        return containerNode.el.nextElementSibling;
      });
      var contentRect = vue.ref();
      vue.watch(el, function() {
        var _props2$forwardRef;
        (_props2$forwardRef = props2.forwardRef) === null || _props2$forwardRef === void 0 || _props2$forwardRef.call(props2, el.value);
      });
      useResizeObserver(el, function(_ref2) {
        var _ref3 = _slicedToArray(_ref2, 1), newContentRect = _ref3[0].contentRect;
        contentRect.value = newContentRect;
      });
      vue.watch(contentRect, function(newRect, oldRect) {
        if (isRectChanged(newRect, oldRect)) {
          emit("resize");
        }
      });
      return function() {
        var _slots$default, _children$;
        var children = filterEmpty((_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots));
        if (children.length > 1 || ((_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.type) === vue.Text) {
          return vue.createVNode("span", null, [children]);
        }
        return children[0];
      };
    }
  });
  var Content = vue.defineComponent({
    name: "TPopupContent",
    emits: ["resize"],
    setup: function setup9(props2, _ref4) {
      var emit = _ref4.emit, slots = _ref4.slots;
      var contentEl = useElement(function(vm) {
        return vm.vnode.el.children[0];
      });
      useResizeObserver(contentEl, function() {
        emit("resize");
      });
      return function() {
        return vue.createVNode("div", {
          "style": "position: absolute; top: 0px; left: 0px; width: 100%"
        }, [slots["default"]()]);
      };
    }
  });
  var Container = vue.defineComponent({
    name: "TPopupContainer",
    inheritAttrs: false,
    props: {
      parent: Object,
      visible: Boolean,
      attach: popupProps.attach,
      forwardRef: Function
    },
    emits: ["resize", "contentMounted"],
    setup: function setup10(props2, _ref5) {
      var emit = _ref5.emit, attrs = _ref5.attrs, slots = _ref5.slots, expose = _ref5.expose;
      var triggerEl = vue.ref();
      var mountContent = vue.ref(false);
      function emitResize() {
        emit("resize");
      }
      vue.onMounted(function() {
        requestAnimationFrame(function() {
          mountContent.value = props2.visible;
        });
      });
      vue.watch(function() {
        return props2.visible;
      }, function(visible) {
        if (visible) {
          mountContent.value = props2.visible;
        }
      });
      expose({
        unmountContent: function unmountContent() {
          mountContent.value = false;
        }
      });
      return function() {
        var _slot;
        var getElement = function getElement2() {
          return getSSRAttach() || getAttach(props2.attach, triggerEl.value);
        };
        return vue.createVNode(vue.Fragment, null, [vue.createVNode(Trigger, {
          "class": attrs["class"],
          "forwardRef": function forwardRef(el) {
            props2.forwardRef(el);
            triggerEl.value = el;
          },
          "onResize": emitResize
        }, _isSlot$b(_slot = slots["default"]()) ? _slot : {
          "default": function _default16() {
            return [_slot];
          }
        }), mountContent.value && vue.createVNode(vue.Teleport, {
          "disabled": !getElement(),
          "to": getElement()
        }, {
          "default": function _default16() {
            return [vue.createVNode(Content, {
              "onResize": emitResize,
              "onVnodeMounted": function onVnodeMounted() {
                return emit("contentMounted");
              }
            }, {
              "default": function _default17() {
                return [slots.content && slots.content()];
              }
            })];
          }
        })]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$N(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$M(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$N(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$a(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var POPUP_ATTR_NAME = "data-td-popup";
  var POPUP_PARENT_ATTR_NAME = "data-td-popup-parent";
  function getPopperTree(id, upwards) {
    var list = [];
    var selectors = [POPUP_PARENT_ATTR_NAME, POPUP_ATTR_NAME];
    if (!id)
      return list;
    if (upwards) {
      selectors.unshift(selectors.pop());
    }
    recurse(id);
    return list;
    function recurse(id2) {
      var children = document.querySelectorAll("[".concat(selectors[0], '="').concat(id2, '"]'));
      children.forEach(function(el) {
        list.push(el);
        var childId = el.getAttribute(selectors[1]);
        if (childId && childId !== id2) {
          recurse(childId);
        }
      });
    }
  }
  var parentKey = Symbol();
  function getPopperPlacement(placement) {
    return placement.replace(/-(left|top)$/, "-start").replace(/-(right|bottom)$/, "-end");
  }
  function attachListeners(elm) {
    var offs = [];
    return {
      add: function add2(type, listener) {
        if (!type)
          return;
        on$1(elm.value, type, listener);
        offs.push(function() {
          off$1(elm.value, type, listener);
        });
      },
      clean: function clean() {
        offs.forEach(function(handler) {
          return handler === null || handler === void 0 ? void 0 : handler();
        });
        offs.length = 0;
      }
    };
  }
  var _Popup = vue.defineComponent({
    name: "TPopup",
    props: _objectSpread$M(_objectSpread$M({}, popupProps), {}, {
      expandAnimation: {
        type: Boolean
      }
    }),
    setup: function setup11(props2, _ref) {
      var _process$env;
      var expose = _ref.expose;
      var _toRefs = vue.toRefs(props2), propVisible = _toRefs.visible, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(propVisible, modelValue, props2.defaultVisible, props2.onVisibleChange, "visible"), _useVModel2 = _slicedToArray(_useVModel, 2), visible = _useVModel2[0], setVisible = _useVModel2[1];
      var renderTNodeJSX3 = useTNodeJSX();
      var renderContent3 = useContent();
      var popper2;
      var showTimeout;
      var hideTimeout;
      var triggerEl = vue.ref(null);
      var overlayEl = vue.ref(null);
      var popperEl = vue.ref(null);
      var containerRef = vue.ref(null);
      var id = typeof process !== "undefined" && (_process$env = process.env) !== null && _process$env !== void 0 && _process$env.TEST ? "" : Date.now().toString(36);
      var parent2 = vue.inject(parentKey, void 0);
      vue.provide(parentKey, {
        id,
        assertMouseLeave: onMouseLeave
      });
      var prefixCls = usePrefixClass("popup");
      var _useCommonClassName = useCommonClassName$1(), commonCls = _useCommonClassName.STATUS;
      var delay = vue.computed(function() {
        var _props2$delay, _delay2$;
        var delay2 = props2.trigger !== "hover" ? [0, 0] : [].concat((_props2$delay = props2.delay) !== null && _props2$delay !== void 0 ? _props2$delay : [250, 150]);
        return {
          show: delay2[0],
          hide: (_delay2$ = delay2[1]) !== null && _delay2$ !== void 0 ? _delay2$ : delay2[0]
        };
      });
      var trigger = attachListeners(triggerEl);
      vue.watch(function() {
        return [props2.trigger, triggerEl.value];
      }, function() {
        if (!triggerEl.value)
          return;
        trigger.clean();
        trigger.add({
          hover: "mouseenter",
          focus: "focusin",
          "context-menu": "contextmenu",
          click: "click"
        }[props2.trigger], function(ev) {
          if (props2.disabled)
            return;
          if (ev.type === "contextmenu") {
            ev.preventDefault();
          }
          if ((ev.type === "click" || ev.type === "contextmenu") && visible.value) {
            hide2(ev);
            return;
          }
          show(ev);
        });
        trigger.add({
          hover: "mouseleave",
          focus: "focusout"
        }[props2.trigger], hide2);
      });
      vue.watch(function() {
        return [props2.overlayStyle, props2.overlayInnerStyle, overlayEl.value];
      }, function() {
        updateOverlayInnerStyle();
        updatePopper();
      });
      vue.watch(function() {
        return props2.placement;
      }, function() {
        destroyPopper();
        updatePopper();
      });
      vue.watch(function() {
        return visible.value;
      }, function(visible2) {
        if (visible2) {
          on$1(document, "mousedown", onDocumentMouseDown, true);
          if (props2.trigger === "focus") {
            once(triggerEl.value, "keydown", function(ev) {
              var _process$env2;
              var code = typeof process !== "undefined" && (_process$env2 = process.env) !== null && _process$env2 !== void 0 && _process$env2.TEST ? "27" : "Escape";
              if (ev.code === code) {
                hide2(ev);
              }
            });
          }
          return;
        }
        off$1(document, "mousedown", onDocumentMouseDown, true);
      });
      vue.onUnmounted(function() {
        destroyPopper();
        clearAllTimeout();
        off$1(document, "mousedown", onDocumentMouseDown, true);
      });
      expose({
        update: updatePopper,
        close: function close3() {
          return hide2();
        },
        getOverlay: function getOverlay() {
          return overlayEl.value;
        }
      });
      function getOverlayStyle() {
        var overlayStyle = props2.overlayStyle;
        if (!triggerEl.value || !overlayEl.value)
          return;
        if (isFunction_1(overlayStyle)) {
          return overlayStyle(triggerEl.value, overlayEl.value);
        }
        if (isObject_1(overlayStyle)) {
          return overlayStyle;
        }
      }
      function updateOverlayInnerStyle() {
        var overlayInnerStyle = props2.overlayInnerStyle;
        if (!triggerEl.value || !overlayEl.value)
          return;
        if (isFunction_1(overlayInnerStyle)) {
          setStyle$1(overlayEl.value, overlayInnerStyle(triggerEl.value, overlayEl.value));
        } else if (isObject_1(overlayInnerStyle)) {
          setStyle$1(overlayEl.value, overlayInnerStyle);
        }
      }
      function updatePopper() {
        if (!popperEl.value || !visible.value)
          return;
        if (popper2) {
          var rect = triggerEl.value.getBoundingClientRect();
          var parent22 = triggerEl.value;
          while (parent22 && parent22 !== document.body) {
            parent22 = parent22.parentElement;
          }
          var isHidden = parent22 !== document.body || rect.width === 0 && rect.height === 0;
          if (!isHidden) {
            popper2.state.elements.reference = triggerEl.value;
            popper2.update();
          } else {
            setVisible(false, {
              trigger: getTriggerType({
                type: "mouseenter"
              })
            });
          }
          return;
        }
        popper2 = createPopper(triggerEl.value, popperEl.value, _objectSpread$M({
          placement: getPopperPlacement(props2.placement),
          onFirstUpdate: function onFirstUpdate() {
            vue.nextTick(updatePopper);
          }
        }, props2.popperOptions));
      }
      function destroyPopper() {
        if (popper2) {
          var _popper;
          (_popper = popper2) === null || _popper === void 0 || _popper.destroy();
          popper2 = null;
        }
        if (props2.destroyOnClose) {
          var _containerRef$value;
          (_containerRef$value = containerRef.value) === null || _containerRef$value === void 0 || _containerRef$value.unmountContent();
        }
      }
      function show(ev) {
        clearAllTimeout();
        showTimeout = setTimeout(function() {
          setVisible(true, {
            trigger: getTriggerType(ev)
          });
        }, delay.value.show);
      }
      function hide2(ev) {
        clearAllTimeout();
        hideTimeout = setTimeout(function() {
          setVisible(false, {
            trigger: getTriggerType(ev)
          });
        }, delay.value.hide);
      }
      function clearAllTimeout() {
        clearTimeout(showTimeout);
        clearTimeout(hideTimeout);
      }
      function getTriggerType(ev) {
        switch (ev === null || ev === void 0 ? void 0 : ev.type) {
          case "mouseenter":
          case "mouseleave":
            return "trigger-element-hover";
          case "focusin":
            return "trigger-element-focus";
          case "focusout":
            return "trigger-element-blur";
          case "click":
            return "trigger-element-click";
          case "context-menu":
          case "keydown":
            return "keydown-esc";
          case "mousedown":
            return "document";
          default:
            return "trigger-element-close";
        }
      }
      function onDocumentMouseDown(ev) {
        if (popperEl.value.contains(ev.target)) {
          return;
        }
        if (triggerEl.value.contains(ev.target)) {
          return;
        }
        var activedPopper = getPopperTree(id).find(function(el) {
          return el.contains(ev.target);
        });
        if (activedPopper && getPopperTree(activedPopper.getAttribute(POPUP_PARENT_ATTR_NAME), true).some(function(el) {
          return el === popperEl.value;
        })) {
          return;
        }
        hide2(ev);
      }
      function onMouseLeave(ev) {
        if (props2.trigger !== "hover" || triggerEl.value.contains(ev.target))
          return;
        var isCursorOverlaps = getPopperTree(id).some(function(el) {
          var rect = el.getBoundingClientRect();
          return ev.x > rect.x && ev.x < rect.x + rect.width && ev.y > rect.y && ev.y < rect.y + rect.height;
        });
        if (!isCursorOverlaps) {
          hide2(ev);
          parent2 === null || parent2 === void 0 || parent2.assertMouseLeave(ev);
        }
      }
      var updateScrollTop = vue.inject("updateScrollTop", void 0);
      function handleOnScroll(e) {
        var _props2$onScroll;
        var _e$target = e.target, scrollTop = _e$target.scrollTop, clientHeight = _e$target.clientHeight, scrollHeight = _e$target.scrollHeight;
        var debounceOnScrollBottom = debounce_1(function(e2) {
          var _props2$onScrollToBot;
          return (_props2$onScrollToBot = props2.onScrollToBottom) === null || _props2$onScrollToBot === void 0 ? void 0 : _props2$onScrollToBot.call(props2, {
            e: e2
          });
        }, 100);
        if (clientHeight + Math.floor(scrollTop) === scrollHeight) {
          debounceOnScrollBottom(e);
        }
        (_props2$onScroll = props2.onScroll) === null || _props2$onScroll === void 0 || _props2$onScroll.call(props2, {
          e
        });
      }
      vue.watch(function() {
        return [visible.value, overlayEl.value];
      }, function() {
        if (visible.value && overlayEl.value && updateScrollTop) {
          updateScrollTop === null || updateScrollTop === void 0 || updateScrollTop(overlayEl.value);
        }
      });
      return function() {
        var _ref2, _ref3;
        var content = renderTNodeJSX3("content");
        var hidePopup = props2.hideEmptyPopup && ["", void 0, null].includes(content);
        var overlay = visible.value || !props2.destroyOnClose ? vue.withDirectives(vue.createVNode("div", vue.mergeProps((_ref2 = {}, _defineProperty$2(_ref2, POPUP_ATTR_NAME, id), _defineProperty$2(_ref2, POPUP_PARENT_ATTR_NAME, parent2 === null || parent2 === void 0 ? void 0 : parent2.id), _ref2), {
          "class": [prefixCls.value, props2.overlayClassName],
          "ref": function ref2(ref22) {
            return popperEl.value = ref22;
          },
          "style": [{
            zIndex: props2.zIndex
          }, getOverlayStyle(), hidePopup && {
            visibility: "hidden"
          }]
        }, props2.trigger === "hover" && {
          onMouseenter: function onMouseenter() {
            if (visible.value) {
              clearAllTimeout();
            }
          },
          onMouseleave: onMouseLeave
        }), [vue.createVNode("div", {
          "class": ["".concat(prefixCls.value, "__content"), (_ref3 = {}, _defineProperty$2(_ref3, "".concat(prefixCls.value, "__content--text"), isString_1(props2.content)), _defineProperty$2(_ref3, "".concat(prefixCls.value, "__content--arrow"), props2.showArrow), _defineProperty$2(_ref3, commonCls.value.disabled, props2.disabled), _ref3), props2.overlayInnerClassName],
          "ref": overlayEl,
          "onScroll": handleOnScroll
        }, [content, props2.showArrow && vue.createVNode("div", {
          "class": "".concat(prefixCls.value, "__arrow")
        }, null)])]), [[vue.vShow, visible.value]]) : null;
        return vue.createVNode(Container, {
          "ref": function ref2(ref22) {
            return containerRef.value = ref22;
          },
          "forwardRef": function forwardRef(ref2) {
            return triggerEl.value = ref2;
          },
          "onContentMounted": function onContentMounted() {
            if (visible.value) {
              updatePopper();
              var timer = setTimeout(function() {
                updateOverlayInnerStyle();
                clearTimeout(timer);
              }, 60);
            }
          },
          "onResize": function onResize() {
            if (visible.value) {
              updatePopper();
            }
          },
          "visible": visible.value,
          "attach": props2.attach
        }, {
          content: function content2() {
            return vue.createVNode(vue.Transition, {
              "name": "".concat(prefixCls.value, "--animation").concat(props2.expandAnimation ? "-expand" : ""),
              "appear": true,
              "onEnter": updatePopper,
              "onAfterLeave": destroyPopper
            }, _isSlot$a(overlay) ? overlay : {
              "default": function _default16() {
                return [overlay];
              }
            });
          },
          "default": function _default16() {
            return renderContent3("default", "triggerElement");
          }
        });
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Popup = withInstall(_Popup);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isArray$1$1 = isArray_1, isSymbol$1 = isSymbol_1;
  var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
  function isKey$1(value, object) {
    if (isArray$1$1(value)) {
      return false;
    }
    var type = _typeof$2(value);
    if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol$1(value)) {
      return true;
    }
    return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
  }
  var _isKey = isKey$1;
  var MapCache$1 = _MapCache;
  var FUNC_ERROR_TEXT$1 = "Expected a function";
  function memoize$1(func, resolver) {
    if (typeof func != "function" || resolver != null && typeof resolver != "function") {
      throw new TypeError(FUNC_ERROR_TEXT$1);
    }
    var memoized = function memoized2() {
      var args = arguments, key2 = resolver ? resolver.apply(this, args) : args[0], cache = memoized2.cache;
      if (cache.has(key2)) {
        return cache.get(key2);
      }
      var result = func.apply(this, args);
      memoized2.cache = cache.set(key2, result) || cache;
      return result;
    };
    memoized.cache = new (memoize$1.Cache || MapCache$1)();
    return memoized;
  }
  memoize$1.Cache = MapCache$1;
  var memoize_1 = memoize$1;
  var memoize = memoize_1;
  var MAX_MEMOIZE_SIZE = 500;
  function memoizeCapped$1(func) {
    var result = memoize(func, function(key2) {
      if (cache.size === MAX_MEMOIZE_SIZE) {
        cache.clear();
      }
      return key2;
    });
    var cache = result.cache;
    return result;
  }
  var _memoizeCapped = memoizeCapped$1;
  var memoizeCapped = _memoizeCapped;
  var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
  var reEscapeChar = /\\(\\)?/g;
  var stringToPath$1 = memoizeCapped(function(string) {
    var result = [];
    if (string.charCodeAt(0) === 46) {
      result.push("");
    }
    string.replace(rePropName, function(match, number2, quote, subString) {
      result.push(quote ? subString.replace(reEscapeChar, "$1") : number2 || match);
    });
    return result;
  });
  var _stringToPath = stringToPath$1;
  var isArray$3 = isArray_1, isKey = _isKey, stringToPath = _stringToPath, toString$1 = toString_1;
  function castPath$1$2(value, object) {
    if (isArray$3(value)) {
      return value;
    }
    return isKey(value, object) ? [value] : stringToPath(toString$1(value));
  }
  var _castPath = castPath$1$2;
  var isSymbol = isSymbol_1;
  var INFINITY$1 = 1 / 0;
  function toKey$1$1(value) {
    if (typeof value == "string" || isSymbol(value)) {
      return value;
    }
    var result = value + "";
    return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
  }
  var _toKey = toKey$1$1;
  var castPath$4 = _castPath, toKey$3 = _toKey;
  function baseGet$3(object, path) {
    path = castPath$4(path, object);
    var index2 = 0, length = path.length;
    while (object != null && index2 < length) {
      object = object[toKey$3(path[index2++])];
    }
    return index2 && index2 == length ? object : void 0;
  }
  var _baseGet = baseGet$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function last$2(array) {
    var length = array == null ? 0 : array.length;
    return length ? array[length - 1] : void 0;
  }
  var last_1 = last$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _Symbol = _Symbol$2$1, isArguments$1 = isArguments_1, isArray$2 = isArray_1;
  var spreadableSymbol = _Symbol ? _Symbol.isConcatSpreadable : void 0;
  function isFlattenable$1(value) {
    return isArray$2(value) || isArguments$1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
  }
  var _isFlattenable = isFlattenable$1;
  var arrayPush = _arrayPush, isFlattenable = _isFlattenable;
  function baseFlatten$2(array, depth, predicate, isStrict, result) {
    var index2 = -1, length = array.length;
    predicate || (predicate = isFlattenable);
    result || (result = []);
    while (++index2 < length) {
      var value = array[index2];
      if (depth > 0 && predicate(value)) {
        if (depth > 1) {
          baseFlatten$2(value, depth - 1, predicate, isStrict, result);
        } else {
          arrayPush(result, value);
        }
      } else if (!isStrict) {
        result[result.length] = value;
      }
    }
    return result;
  }
  var _baseFlatten = baseFlatten$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseFlatten$1 = _baseFlatten;
  function flatten$1(array) {
    var length = array == null ? 0 : array.length;
    return length ? baseFlatten$1(array, 1) : [];
  }
  var flatten_1 = flatten$1;
  var flatten = flatten_1, overRest = _overRest, setToString = _setToString;
  function flatRest$2(func) {
    return setToString(overRest(func, void 0, flatten), func + "");
  }
  var _flatRest = flatRest$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGet$2 = _baseGet, baseSlice = _baseSlice;
  function parent$1(object, path) {
    return path.length < 2 ? object : baseGet$2(object, baseSlice(path, 0, -1));
  }
  var _parent = parent$1;
  var castPath$1$1 = _castPath, last$1 = last_1, parent = _parent, toKey$2 = _toKey;
  function baseUnset$1(object, path) {
    path = castPath$1$1(path, object);
    object = parent(object, path);
    return object == null || delete object[toKey$2(last$1(path))];
  }
  var _baseUnset = baseUnset$1;
  var isPlainObject$1 = isPlainObject_1;
  function customOmitClone$1(value) {
    return isPlainObject$1(value) ? void 0 : value;
  }
  var _customOmitClone = customOmitClone$1;
  var arrayMap$3 = _arrayMap, baseClone = _baseClone, baseUnset = _baseUnset, castPath$3 = _castPath, copyObject = _copyObject, customOmitClone = _customOmitClone, flatRest$1 = _flatRest, getAllKeysIn = _getAllKeysIn;
  var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
  var omit$1 = flatRest$1(function(object, paths) {
    var result = {};
    if (object == null) {
      return result;
    }
    var isDeep = false;
    paths = arrayMap$3(paths, function(path) {
      path = castPath$3(path, object);
      isDeep || (isDeep = path.length > 1);
      return path;
    });
    copyObject(object, getAllKeysIn(object), result);
    if (isDeep) {
      result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
    }
    var length = paths.length;
    while (length--) {
      baseUnset(result, paths[length]);
    }
    return result;
  });
  var omit_1 = omit$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$m = {
    delay: {
      type: Number
    },
    destroyOnClose: {
      type: Boolean,
      "default": true
    },
    duration: {
      type: Number
    },
    placement: {
      type: String,
      "default": "top"
    },
    showArrow: {
      type: Boolean,
      "default": true
    },
    theme: {
      type: String,
      "default": "default",
      validator: function validator11(val) {
        if (!val)
          return true;
        return ["default", "primary", "success", "danger", "warning", "light"].includes(val);
      }
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var useMouse = function useMouse2() {
    var x = vue.ref(0);
    var y = vue.ref(0);
    var onMouseMove = function onMouseMove2(e) {
      x.value = e.clientX;
      y.value = e.clientY;
    };
    if (!isServer) {
      vue.onMounted(function() {
        window.addEventListener("mousemove", onMouseMove, {
          passive: true
        });
      });
      vue.onUnmounted(function() {
        window.removeEventListener("mousemove", onMouseMove);
      });
    }
    return {
      x,
      y
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$M(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$L(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$M(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _Tooltip = vue.defineComponent({
    name: "TTooltip",
    props: _objectSpread$L(_objectSpread$L({}, popupProps), props$m),
    setup: function setup12(props2, ctx) {
      var timer = vue.ref(null);
      var popupRef = vue.ref(null);
      var _toRefs = vue.toRefs(props2), visible = _toRefs.visible, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(visible, modelValue, props2.defaultVisible, props2.onVisibleChange, "visible"), _useVModel2 = _slicedToArray(_useVModel, 2), innerVisible = _useVModel2[0], setInnerVisible = _useVModel2[1];
      var vm = vue.getCurrentInstance();
      var innerTooltipVisible = vue.ref(props2.visible || props2.defaultVisible);
      var classPrefix = usePrefixClass();
      var renderTNodeJSX3 = useTNodeJSX();
      var renderContent3 = useContent();
      var _useMouse = useMouse(), x = _useMouse.x;
      var offsetX = vue.ref(x.value);
      vue.onMounted(function() {
        if (props2.duration && innerTooltipVisible.value) {
          timer.value = setTimeout(function() {
            setInnerVisible(false, {});
            clearTimeout(timer.value);
            timer.value = null;
          }, props2.duration);
        }
      });
      var onTipVisibleChange = function onTipVisibleChange2(val, ctx2) {
        if (timer.value && (ctx2 === null || ctx2 === void 0 ? void 0 : ctx2.trigger) !== "document")
          return;
        if (val) {
          offsetX.value = x.value;
        }
        setInnerVisible(val, ctx2);
      };
      var tooltipOverlayClassName = vue.computed(function() {
        return ["".concat(classPrefix.value, "-tooltip"), _defineProperty$2({}, "".concat(classPrefix.value, "-tooltip--").concat(props2.theme), props2.theme), props2.overlayClassName];
      });
      var popupProps2 = vue.computed(function() {
        return _objectSpread$L(_objectSpread$L({}, (vm === null || vm === void 0 ? void 0 : vm.vnode.props) || {}), {}, {
          placement: props2.placement === "mouse" ? "bottom-left" : props2.placement,
          showArrow: props2.placement === "mouse" ? false : props2.showArrow,
          overlayClassName: tooltipOverlayClassName.value,
          onVisibleChange: onTipVisibleChange,
          disabled: props2.disabled
        });
      });
      var overlayInnerStyle = vue.computed(function() {
        if (props2.placement !== "mouse" || offsetX.value === 0) {
          return props2.overlayInnerStyle;
        }
        var offsetStyle = function offsetStyle2(triggerEl) {
          return {
            transform: "translateX(".concat(offsetX.value - triggerEl.getBoundingClientRect().left, "px)")
          };
        };
        if (props2.overlayInnerStyle) {
          return function(triggerEl, popupEl) {
            return _objectSpread$L(_objectSpread$L({}, offsetStyle(triggerEl)), isFunction_1(props2.overlayInnerStyle) ? props2.overlayInnerStyle(triggerEl, popupEl) : props2.overlayInnerStyle);
          };
        }
        return offsetStyle;
      });
      vue.watch(function() {
        return innerTooltipVisible.value;
      }, function() {
        if (timer.value && !innerTooltipVisible.value) {
          clearTimeout(timer.value);
          timer.value = null;
        }
      });
      var onPopupUpdate = function onPopupUpdate2() {
        var _popupRef$value, _popupRef$value$updat;
        (_popupRef$value = popupRef.value) === null || _popupRef$value === void 0 || (_popupRef$value$updat = _popupRef$value.update) === null || _popupRef$value$updat === void 0 || _popupRef$value$updat.call(_popupRef$value);
      };
      ctx.expose({
        updatePopper: onPopupUpdate
      });
      return function() {
        var _content = renderTNodeJSX3("content");
        if (!_content && !props2.content) {
          return renderContent3("default", "triggerElement");
        }
        return vue.createVNode(Popup, vue.mergeProps(omit_1(popupProps2.value, ["content", "default"]), {
          "ref": popupRef,
          "overlayInnerStyle": overlayInnerStyle.value,
          "visible": innerVisible.value
        }), {
          "default": function _default16() {
            return [renderContent3("default", "triggerElement")];
          },
          content: function content() {
            return _content;
          }
        });
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Tooltip = withInstall(_Tooltip);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded$8 = ["from", "to", "direction"];
  function ownKeys$L(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$K(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$L(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function omit(obj, fields) {
    var shallowCopy = _objectSpread$K({}, obj);
    for (var i = 0; i < fields.length; i++) {
      var key2 = fields[i];
      delete shallowCopy[key2];
    }
    return shallowCopy;
  }
  function getBackgroundColor(color) {
    if (isString_1(color)) {
      return color;
    }
    if (isArray_1(color)) {
      if (color[0] && color[0][0] === "#") {
        color.unshift("90deg");
      }
      return "linear-gradient( ".concat(color.join(","), " )");
    }
    var from = color.from, to = color.to, _color$direction = color.direction, direction = _color$direction === void 0 ? "to right" : _color$direction, rest = _objectWithoutProperties$1(color, _excluded$8);
    var keys2 = Object.keys(rest);
    if (keys2.length) {
      keys2 = keys2.sort(function(a, b) {
        return parseFloat(a.substr(0, a.length - 1)) - parseFloat(b.substr(0, b.length - 1));
      });
      var tempArr = keys2.map(function(key2) {
        return "".concat(rest[key2], " ").concat(key2);
      });
      return "linear-gradient(".concat(direction, ", ").concat(tempArr.join(","), ")");
    }
    return "linear-gradient(".concat(direction, ", ").concat(from, ", ").concat(to, ")");
  }
  function getCharacterLength(str, maxCharacter) {
    var hasMaxCharacter = isNumber_1(maxCharacter);
    if (!str || str.length === 0) {
      if (hasMaxCharacter) {
        return {
          length: 0,
          characters: str
        };
      }
      return 0;
    }
    var len2 = 0;
    for (var i = 0; i < str.length; i++) {
      var currentStringLength = 0;
      if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
        currentStringLength = 2;
      } else {
        currentStringLength = 1;
      }
      if (hasMaxCharacter && len2 + currentStringLength > maxCharacter) {
        return {
          length: len2,
          characters: str.slice(0, i)
        };
      }
      len2 += currentStringLength;
    }
    if (hasMaxCharacter) {
      return {
        length: len2,
        characters: str
      };
    }
    return len2;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  }
  function _defineProperties(target, props2) {
    for (var i = 0; i < props2.length; i++) {
      var descriptor = props2[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor)
        descriptor.writable = true;
      Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
    }
  }
  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps)
      _defineProperties(Constructor.prototype, protoProps);
    if (staticProps)
      _defineProperties(Constructor, staticProps);
    Object.defineProperty(Constructor, "prototype", {
      writable: false
    });
    return Constructor;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var FakeArrow = vue.defineComponent({
    name: "TFakeArrow",
    props: {
      isActive: {
        type: Boolean
      },
      overlayClassName: {
        type: [String, Object, Array]
      },
      overlayStyle: {
        type: Object || String
      }
    },
    setup: function setup13(props2) {
      var COMPONENT_NAME = usePrefixClass("fake-arrow");
      var classes = vue.computed(function() {
        return [COMPONENT_NAME.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--active"), props2.isActive), props2.overlayClassName];
      });
      return {
        classes
      };
    },
    render: function render4() {
      return vue.createVNode("svg", {
        "class": this.classes,
        "width": "16",
        "height": "16",
        "viewBox": "0 0 16 16",
        "fill": "none",
        "xmlns": "http://www.w3.org/2000/svg",
        "style": this.overlayStyle
      }, [vue.createVNode("path", {
        "d": "M3.75 5.7998L7.99274 10.0425L12.2361 5.79921",
        "stroke": "black",
        "stroke-opacity": "0.9",
        "stroke-width": "1.3"
      }, null)]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useCollapseAnimation() {
    var beforeEnter = function beforeEnter2(el) {
      el.dataset.oldPaddingTop = el.style.paddingTop;
      el.dataset.oldPaddingBottom = el.style.paddingBottom;
      el.style.height = "0";
      el.style.paddingTop = "0";
      el.style.paddingBottom = "0";
    };
    var enter = function enter2(el) {
      el.dataset.oldOverflow = el.style.overflow;
      el.style.height = "".concat(el.scrollHeight, "px");
      el.style.paddingTop = el.dataset.oldPaddingTop;
      el.style.paddingBottom = el.dataset.oldPaddingBottom;
      el.style.overflow = "hidden";
    };
    var afterEnter = function afterEnter2(el) {
      el.style.height = "";
      el.style.overflow = el.dataset.oldOverflow;
    };
    var beforeLeave = function beforeLeave2(el) {
      el.dataset.oldPaddingTop = el.style.paddingTop;
      el.dataset.oldPaddingBottom = el.style.paddingBottom;
      el.dataset.oldOverflow = el.style.overflow;
      el.style.height = "".concat(el.scrollHeight, "px");
      el.style.overflow = "hidden";
    };
    var leave = function leave2(el) {
      if (el.scrollHeight !== 0) {
        el.style.height = "0";
        el.style.paddingTop = "0";
        el.style.paddingBottom = "0";
      }
    };
    var afterLeave = function afterLeave2(el) {
      el.style.height = "";
      el.style.overflow = el.dataset.oldOverflow;
      el.style.paddingTop = el.dataset.oldPaddingTop;
      el.style.paddingBottom = el.dataset.oldPaddingBottom;
    };
    return {
      beforeEnter,
      enter,
      afterEnter,
      beforeLeave,
      leave,
      afterLeave
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$l = {
    align: {
      type: String,
      "default": "left",
      validator: function validator12(val) {
        if (!val)
          return true;
        return ["left", "center", "right"].includes(val);
      }
    },
    allowInputOverMax: Boolean,
    autoWidth: Boolean,
    autocomplete: {
      type: String,
      "default": void 0
    },
    autofocus: Boolean,
    clearable: Boolean,
    disabled: Boolean,
    format: {
      type: Function
    },
    inputClass: {
      type: [String, Object, Array]
    },
    label: {
      type: [String, Function]
    },
    maxcharacter: {
      type: Number
    },
    maxlength: {
      type: [Number, String]
    },
    name: {
      type: String,
      "default": ""
    },
    placeholder: {
      type: String,
      "default": void 0
    },
    prefixIcon: {
      type: Function
    },
    readonly: Boolean,
    showClearIconOnEmpty: Boolean,
    showLimitNumber: Boolean,
    size: {
      type: String,
      "default": "medium",
      validator: function validator13(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    status: {
      type: String,
      "default": void 0,
      validator: function validator14(val) {
        if (!val)
          return true;
        return ["default", "success", "warning", "error"].includes(val);
      }
    },
    suffix: {
      type: [String, Function]
    },
    suffixIcon: {
      type: Function
    },
    tips: {
      type: [String, Function]
    },
    type: {
      type: String,
      "default": "text",
      validator: function validator15(val) {
        if (!val)
          return true;
        return ["text", "number", "url", "tel", "password", "search", "submit", "hidden"].includes(val);
      }
    },
    value: {
      type: String,
      "default": void 0
    },
    modelValue: {
      type: String,
      "default": void 0
    },
    defaultValue: {
      type: String,
      "default": ""
    },
    onBlur: Function,
    onChange: Function,
    onClear: Function,
    onClick: Function,
    onCompositionend: Function,
    onCompositionstart: Function,
    onEnter: Function,
    onFocus: Function,
    onKeydown: Function,
    onKeypress: Function,
    onKeyup: Function,
    onMouseenter: Function,
    onMouseleave: Function,
    onPaste: Function,
    onValidate: Function,
    onWheel: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useFormDisabled(extend2) {
    var ctx = vue.getCurrentInstance();
    var propsDisabled = vue.computed(function() {
      return ctx.props.disabled;
    });
    var _inject = vue.inject("formDisabled", /* @__PURE__ */ Object.create(null)), disabled = _inject.disabled;
    return vue.computed(function() {
      return propsDisabled.value || (disabled === null || disabled === void 0 ? void 0 : disabled.value) || (extend2 === null || extend2 === void 0 ? void 0 : extend2.value) || false;
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var FormItemInjectionKey = Symbol("FormItemProvide");
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useLengthLimit(params) {
    var getValueByLimitNumber = function getValueByLimitNumber2(inputValue) {
      var _params$value = params.value, allowInputOverMax = _params$value.allowInputOverMax, maxlength = _params$value.maxlength, maxcharacter = _params$value.maxcharacter;
      if (!(maxlength || maxcharacter) || allowInputOverMax || !inputValue)
        return inputValue;
      if (maxlength) {
        return limitUnicodeMaxLength(inputValue, maxlength);
      }
      if (maxcharacter) {
        var r = getCharacterLength$1(inputValue, maxcharacter);
        if (isObject_1(r)) {
          return r.characters;
        }
      }
    };
    var limitNumber = vue.computed(function() {
      var _params$value2 = params.value, maxlength = _params$value2.maxlength, maxcharacter = _params$value2.maxcharacter, value = _params$value2.value;
      if (isNumber_1(value))
        return String(value);
      if (maxlength && maxcharacter) {
        log.warn("Input", "Pick one of maxlength and maxcharacter please.");
      }
      if (maxlength) {
        var length = value !== null && value !== void 0 && value.length ? getUnicodeLength(value) : 0;
        return "".concat(length, "/").concat(maxlength);
      }
      if (maxcharacter) {
        return "".concat(getCharacterLength$1(value || ""), "/").concat(maxcharacter);
      }
      return "";
    });
    var innerStatus = vue.computed(function() {
      if (limitNumber.value) {
        var _limitNumber$value$sp = limitNumber.value.split("/"), _limitNumber$value$sp2 = _slicedToArray(_limitNumber$value$sp, 2), current = _limitNumber$value$sp2[0], total = _limitNumber$value$sp2[1];
        return Number(current) > Number(total) ? "error" : "";
      }
      return "";
    });
    var tStatus = vue.computed(function() {
      var status = params.value.status;
      return status || innerStatus.value;
    });
    var onValidateChange = function onValidateChange2() {
      var _params$value$onValid, _params$value3;
      (_params$value$onValid = (_params$value3 = params.value).onValidate) === null || _params$value$onValid === void 0 || _params$value$onValid.call(_params$value3, {
        error: innerStatus.value ? "exceed-maximum" : void 0
      });
    };
    vue.watch(innerStatus, onValidateChange);
    vue.onMounted(function() {
      innerStatus.value && onValidateChange();
    });
    return {
      tStatus,
      limitNumber,
      getValueByLimitNumber
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useInput(props2, expose) {
    var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
    var inputValue = vue.ref();
    var isComposition = vue.ref(false);
    var compositionValue = vue.ref();
    var clearIconRef = vue.ref(null);
    var innerClickElement = vue.ref();
    var disabled = useFormDisabled();
    var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
    var isHover = vue.ref(false);
    var focused = vue.ref(false);
    var renderType = vue.ref(props2.type);
    var inputRef = vue.ref(null);
    var limitParams = vue.computed(function() {
      return {
        value: [void 0, null].includes(innerValue.value) ? void 0 : String(innerValue.value),
        status: props2.status,
        maxlength: Number(props2.maxlength),
        maxcharacter: props2.maxcharacter,
        allowInputOverMax: props2.allowInputOverMax,
        onValidate: props2.onValidate
      };
    });
    var _useLengthLimit = useLengthLimit(limitParams), limitNumber = _useLengthLimit.limitNumber, getValueByLimitNumber = _useLengthLimit.getValueByLimitNumber, tStatus = _useLengthLimit.tStatus;
    var showClear = vue.computed(function() {
      return (innerValue.value && !disabled.value && props2.clearable && !props2.readonly || props2.showClearIconOnEmpty) && isHover.value;
    });
    var focus = function focus2() {
      var _inputRef$value;
      return (_inputRef$value = inputRef.value) === null || _inputRef$value === void 0 ? void 0 : _inputRef$value.focus();
    };
    var blur = function blur2() {
      var _inputRef$value2;
      return (_inputRef$value2 = inputRef.value) === null || _inputRef$value2 === void 0 ? void 0 : _inputRef$value2.blur();
    };
    var emitFocus = function emitFocus2(e) {
      var _props$onFocus;
      inputValue.value = innerValue.value;
      if (props2.disabled)
        return;
      focused.value = true;
      (_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, innerValue.value, {
        e
      });
    };
    var emitClear = function emitClear2(_ref) {
      var _props$onClear;
      var e = _ref.e;
      setInnerValue("", {
        e,
        trigger: "clear"
      });
      (_props$onClear = props2.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props2, {
        e
      });
    };
    var onClearIconMousedown = function onClearIconMousedown2(e) {
      innerClickElement.value = e.target;
    };
    var emitPassword = function emitPassword2() {
      var toggleType = renderType.value === "password" ? "text" : "password";
      renderType.value = toggleType;
    };
    var setInputElValue = function setInputElValue2() {
      var v = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var inputEl = inputRef.value;
      if (!inputEl)
        return;
      var sV = String(v);
      if (!inputEl.value) {
        return;
      }
      if (inputEl.value !== sV) {
        inputEl.value = sV;
      }
    };
    var inputValueChangeHandle = function inputValueChangeHandle2(e) {
      var _innerValue$value;
      var target = e.target;
      var val = target.value;
      if (props2.type !== "number" && val.length > ((_innerValue$value = innerValue.value) === null || _innerValue$value === void 0 ? void 0 : _innerValue$value.length)) {
        val = getValueByLimitNumber(val);
      }
      setInnerValue(val, {
        e
      });
      vue.nextTick(function() {
        setInputElValue(innerValue.value);
      });
    };
    var handleInput = function handleInput2(e) {
      var checkInputType = e.inputType && e.inputType === "insertCompositionText";
      var val = e.currentTarget.value;
      if (checkInputType || isComposition.value) {
        compositionValue.value = val;
        return;
      }
      inputValueChangeHandle(e);
    };
    var isClearIcon = function isClearIcon2() {
      var _clearIconRef$value;
      var tmp = innerClickElement.value;
      if (!tmp || !tmp.tagName || !((_clearIconRef$value = clearIconRef.value) !== null && _clearIconRef$value !== void 0 && _clearIconRef$value.$el) || !["path", "svg"].includes(tmp.tagName))
        return false;
      while (tmp) {
        var _clearIconRef$value2;
        if (((_clearIconRef$value2 = clearIconRef.value) === null || _clearIconRef$value2 === void 0 ? void 0 : _clearIconRef$value2.$el) === tmp) {
          return true;
        }
        tmp = tmp.parentNode;
      }
      return false;
    };
    var formItem = vue.inject(FormItemInjectionKey, void 0);
    var formatAndEmitBlur = function formatAndEmitBlur2(e) {
      if (props2.format) {
        inputValue.value = props2.format(innerValue.value);
      }
      focused.value = false;
      if (!isClearIcon() && props2.allowTriggerBlur) {
        var _props$onBlur;
        (_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, innerValue.value, {
          e
        });
        formItem === null || formItem === void 0 || formItem.handleBlur();
      }
    };
    var onHandleCompositionend = function onHandleCompositionend2(e) {
      var _props$onCompositione;
      isComposition.value = false;
      compositionValue.value = "";
      inputValueChangeHandle(e);
      (_props$onCompositione = props2.onCompositionend) === null || _props$onCompositione === void 0 || _props$onCompositione.call(props2, innerValue.value, {
        e
      });
    };
    var onHandleCompositionstart = function onHandleCompositionstart2(e) {
      var _props$onCompositions;
      isComposition.value = true;
      var value2 = e.currentTarget.value;
      compositionValue.value = value2;
      (_props$onCompositions = props2.onCompositionstart) === null || _props$onCompositions === void 0 || _props$onCompositions.call(props2, innerValue.value, {
        e
      });
    };
    var onRootClick = function onRootClick2(e) {
      var _inputRef$value3, _props$onClick;
      (_inputRef$value3 = inputRef.value) === null || _inputRef$value3 === void 0 || _inputRef$value3.focus();
      (_props$onClick = props2.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props2, {
        e
      });
    };
    vue.watch(function() {
      return props2.autofocus;
    }, function(value2) {
      if (value2 === true) {
        vue.nextTick(function() {
          var _inputRef$value4;
          (_inputRef$value4 = inputRef.value) === null || _inputRef$value4 === void 0 || _inputRef$value4.focus();
        });
      }
    }, {
      immediate: true
    });
    vue.watch(innerValue, function(val, oldVal) {
      if (oldVal === void 0 && props2.format) {
        inputValue.value = props2.format(val);
      } else {
        inputValue.value = val;
      }
      var newVal = getValueByLimitNumber(val);
      if (newVal !== val && props2.type !== "number") {
        setInnerValue(newVal, {
          trigger: "initial"
        });
      }
    }, {
      immediate: true
    });
    vue.watch(function() {
      return props2.type;
    }, function(v) {
      renderType.value = v;
    }, {
      immediate: true
    });
    expose({
      inputRef,
      focus,
      blur
    });
    return {
      isHover,
      focused,
      renderType,
      showClear,
      inputRef,
      clearIconRef,
      inputValue,
      isComposition,
      compositionValue,
      limitNumber,
      tStatus,
      emitFocus,
      formatAndEmitBlur,
      onHandleCompositionend,
      onHandleCompositionstart,
      onRootClick,
      emitPassword,
      handleInput,
      emitClear,
      onClearIconMousedown,
      innerValue
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useInputEventHandler(props2, isHover) {
    var handleKeydown = function handleKeydown2(e) {
      if (props2.disabled)
        return;
      var code = e.code;
      if (/enter/i.test(code) || /enter/i.test(e.key)) {
        var _props$onEnter;
        (_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, e.currentTarget.value, {
          e
        });
      } else {
        var _props$onKeydown;
        (_props$onKeydown = props2.onKeydown) === null || _props$onKeydown === void 0 || _props$onKeydown.call(props2, e.currentTarget.value, {
          e
        });
      }
    };
    var handleKeyUp = function handleKeyUp2(e) {
      var _props$onKeyup;
      if (props2.disabled)
        return;
      (_props$onKeyup = props2.onKeyup) === null || _props$onKeyup === void 0 || _props$onKeyup.call(props2, e.currentTarget.value, {
        e
      });
    };
    var handleKeypress = function handleKeypress2(e) {
      var _props$onKeypress;
      if (props2.disabled)
        return;
      (_props$onKeypress = props2.onKeypress) === null || _props$onKeypress === void 0 || _props$onKeypress.call(props2, e.currentTarget.value, {
        e
      });
    };
    var onHandlePaste = function onHandlePaste2(e) {
      var _props$onPaste;
      if (props2.disabled)
        return;
      var clipData = e.clipboardData || window.clipboardData;
      (_props$onPaste = props2.onPaste) === null || _props$onPaste === void 0 || _props$onPaste.call(props2, {
        e,
        pasteValue: clipData === null || clipData === void 0 ? void 0 : clipData.getData("text/plain")
      });
    };
    var mouseEvent = function mouseEvent2(v) {
      return isHover.value = v;
    };
    var onHandleMousewheel = function onHandleMousewheel2(e) {
      var _props$onWheel;
      return (_props$onWheel = props2.onWheel) === null || _props$onWheel === void 0 ? void 0 : _props$onWheel.call(props2, {
        e
      });
    };
    var onInputMouseenter = function onInputMouseenter2(e) {
      var _props$onMouseenter;
      mouseEvent(true);
      (_props$onMouseenter = props2.onMouseenter) === null || _props$onMouseenter === void 0 || _props$onMouseenter.call(props2, {
        e
      });
    };
    var onInputMouseleave = function onInputMouseleave2(e) {
      var _props$onMouseleave;
      mouseEvent(false);
      (_props$onMouseleave = props2.onMouseleave) === null || _props$onMouseleave === void 0 || _props$onMouseleave.call(props2, {
        e
      });
    };
    return {
      handleKeydown,
      handleKeyUp,
      handleKeypress,
      onHandlePaste,
      onHandleMousewheel,
      onInputMouseenter,
      onInputMouseleave
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var ANIMATION_TIME = 100;
  function useInputWidth(props2, inputRef, innerValue) {
    var _toRefs = vue.toRefs(props2), autoWidth = _toRefs.autoWidth, placeholder = _toRefs.placeholder;
    var inputPreRef = vue.ref(null);
    var observerTimer = vue.ref(null);
    var updateInputWidth = function updateInputWidth2() {
      if (!inputPreRef.value || !inputRef.value)
        return;
      var _inputPreRef$value$ge = inputPreRef.value.getBoundingClientRect(), width = _inputPreRef$value$ge.width;
      inputRef.value.style.width = "".concat(width || 0, "px");
    };
    useResizeObserver(inputRef, function() {
      if (autoWidth.value) {
        observerTimer.value = setTimeout(function() {
          updateInputWidth();
          clearTimeout(observerTimer.value);
        }, ANIMATION_TIME);
      }
    });
    vue.onBeforeUnmount(function() {
      clearTimeout(observerTimer.value);
    });
    var addListeners = function addListeners2() {
      vue.watch([innerValue, placeholder], function() {
        if (!autoWidth.value)
          return;
        vue.nextTick(function() {
          updateInputWidth();
        });
      }, {
        immediate: true
      });
    };
    vue.onMounted(function() {
      if (autoWidth.value) {
        addListeners();
      }
    });
    return {
      inputPreRef
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded$7 = ["isHover", "tStatus", "inputRef", "renderType", "showClear", "focused", "inputValue", "isComposition", "compositionValue", "innerValue", "limitNumber"];
  function ownKeys$K(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$J(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$K(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function getValidAttrs$2(obj) {
    var newObj = {};
    Object.keys(obj).forEach(function(key2) {
      if (!isUndefined_1(obj[key2])) {
        newObj[key2] = obj[key2];
      }
    });
    return newObj;
  }
  var _Input = vue.defineComponent({
    name: "TInput",
    props: _objectSpread$J(_objectSpread$J({}, props$l), {}, {
      showInput: {
        type: Boolean,
        "default": true
      },
      keepWrapperWidth: {
        type: Boolean,
        "default": false
      },
      allowTriggerBlur: {
        type: Boolean,
        "default": true
      }
    }),
    setup: function setup14(props2, _ref) {
      var expose = _ref.expose;
      var _useConfig = useConfig("input"), globalConfig = _useConfig.globalConfig;
      var _useGlobalIcon = useGlobalIcon({
        BrowseIcon,
        BrowseOffIcon,
        CloseCircleFilledIcon
      }), BrowseIcon$1 = _useGlobalIcon.BrowseIcon, BrowseOffIcon$1 = _useGlobalIcon.BrowseOffIcon, CloseCircleFilledIcon$1 = _useGlobalIcon.CloseCircleFilledIcon;
      var disabled = useFormDisabled();
      var COMPONENT_NAME = usePrefixClass("input");
      var INPUT_WRAP_CLASS = usePrefixClass("input__wrap");
      var INPUT_TIPS_CLASS = usePrefixClass("input__tips");
      var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
      var classPrefix = usePrefixClass();
      var renderTNodeJSX3 = useTNodeJSX();
      var _useInput = useInput(props2, expose), isHover = _useInput.isHover, tStatus = _useInput.tStatus, inputRef = _useInput.inputRef, renderType = _useInput.renderType, showClear = _useInput.showClear, focused = _useInput.focused, inputValue = _useInput.inputValue, isComposition = _useInput.isComposition, compositionValue = _useInput.compositionValue, innerValue = _useInput.innerValue, limitNumber = _useInput.limitNumber, inputHandle = _objectWithoutProperties$1(_useInput, _excluded$7);
      var _useInputWidth = useInputWidth(props2, inputRef, innerValue), inputPreRef = _useInputWidth.inputPreRef;
      var inputEventHandler = useInputEventHandler(props2, isHover);
      var tPlaceholder = vue.computed(function() {
        var _props2$placeholder;
        return (_props2$placeholder = props2.placeholder) !== null && _props2$placeholder !== void 0 ? _props2$placeholder : globalConfig.value.placeholder;
      });
      var inputAttrs = vue.computed(function() {
        var _props2$autocomplete;
        return getValidAttrs$2({
          autofocus: props2.autofocus,
          disabled: disabled.value,
          readonly: props2.readonly,
          placeholder: tPlaceholder.value,
          maxlength: !props2.allowInputOverMax && props2.maxlength || void 0,
          name: props2.name || void 0,
          type: renderType.value,
          autocomplete: (_props2$autocomplete = props2.autocomplete) !== null && _props2$autocomplete !== void 0 ? _props2$autocomplete : globalConfig.value.autocomplete || void 0,
          unselectable: props2.readonly ? "on" : void 0
        });
      });
      var wrapClasses = vue.computed(function() {
        return [INPUT_WRAP_CLASS.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--auto-width"), props2.autoWidth && !props2.keepWrapperWidth)];
      });
      var inputEvents = getValidAttrs$2({
        onFocus: function onFocus(e) {
          return inputHandle.emitFocus(e);
        },
        onBlur: inputHandle.formatAndEmitBlur,
        onKeydown: inputEventHandler.handleKeydown,
        onKeyup: inputEventHandler.handleKeyUp,
        onKeypress: inputEventHandler.handleKeypress,
        onPaste: inputEventHandler.onHandlePaste,
        onCompositionend: inputHandle.onHandleCompositionend,
        onCompositionstart: inputHandle.onHandleCompositionstart
      });
      return function() {
        var _ref4, _compositionValue$val, _inputValue$value;
        var prefixIcon = renderTNodeJSX3("prefixIcon");
        var suffixIcon = renderTNodeJSX3("suffixIcon");
        var passwordIcon = renderTNodeJSX3("passwordIcon");
        var label = renderTNodeJSX3("label", {
          silent: true
        });
        var suffix2 = renderTNodeJSX3("suffix");
        var limitNode = limitNumber.value && props2.showLimitNumber ? vue.createVNode("div", {
          "class": ["".concat(classPrefix.value, "-input__limit-number"), _defineProperty$2({}, "".concat(classPrefix.value, "-is-disabled"), disabled.value)]
        }, [limitNumber.value]) : null;
        var labelContent = label ? vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__prefix")
        }, [label]) : null;
        var suffixContent = suffix2 || limitNode ? vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__suffix")
        }, [suffix2, limitNode]) : null;
        if (props2.type === "password") {
          if (renderType.value === "password") {
            suffixIcon = vue.createVNode(BrowseOffIcon$1, {
              "class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
              "onClick": inputHandle.emitPassword
            }, null);
          } else if (renderType.value === "text") {
            suffixIcon = vue.createVNode(BrowseIcon$1, {
              "class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
              "onClick": inputHandle.emitPassword
            }, null);
          }
        }
        if (showClear.value) {
          if (props2.type === "password") {
            passwordIcon = vue.createVNode(CloseCircleFilledIcon$1, {
              "ref": inputHandle.clearIconRef,
              "class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
              "onClick": inputHandle.emitClear,
              "onMousedown": inputHandle.onClearIconMousedown
            }, null);
          } else {
            suffixIcon = vue.createVNode(CloseCircleFilledIcon$1, {
              "ref": inputHandle.clearIconRef,
              "class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
              "onClick": inputHandle.emitClear,
              "onMousedown": inputHandle.onClearIconMousedown
            }, null);
          }
        }
        var classes = [COMPONENT_NAME.value, props2.inputClass, (_ref4 = {}, _defineProperty$2(_ref4, SIZE.value[props2.size], props2.size !== "medium"), _defineProperty$2(_ref4, STATUS.value.disabled, disabled.value), _defineProperty$2(_ref4, STATUS.value.focused, focused.value), _defineProperty$2(_ref4, "".concat(classPrefix.value, "-is-").concat(tStatus.value), tStatus.value && tStatus.value !== "default"), _defineProperty$2(_ref4, "".concat(classPrefix.value, "-align-").concat(props2.align), props2.align !== "left"), _defineProperty$2(_ref4, "".concat(classPrefix.value, "-is-readonly"), props2.readonly), _defineProperty$2(_ref4, "".concat(COMPONENT_NAME.value, "--prefix"), prefixIcon || labelContent), _defineProperty$2(_ref4, "".concat(COMPONENT_NAME.value, "--suffix"), suffixIcon || suffixContent), _defineProperty$2(_ref4, "".concat(COMPONENT_NAME.value, "--focused"), focused.value), _ref4)];
        var tips = renderTNodeJSX3("tips");
        var tipsClasses = [INPUT_TIPS_CLASS.value, "".concat(classPrefix.value, "-tips"), "".concat(classPrefix.value, "-is-").concat(tStatus.value || "default")];
        return vue.withDirectives(vue.createVNode("div", {
          "class": wrapClasses.value
        }, [vue.createVNode("div", {
          "class": classes,
          "onClick": inputHandle.onRootClick,
          "onMouseenter": inputEventHandler.onInputMouseenter,
          "onMouseleave": inputEventHandler.onInputMouseleave,
          "onWheel": inputEventHandler.onHandleMousewheel
        }, [prefixIcon ? vue.createVNode("span", {
          "class": ["".concat(COMPONENT_NAME.value, "__prefix"), "".concat(COMPONENT_NAME.value, "__prefix-icon")]
        }, [prefixIcon]) : null, labelContent, props2.showInput && vue.createVNode("input", vue.mergeProps({
          "class": "".concat(COMPONENT_NAME.value, "__inner")
        }, inputAttrs.value, inputEvents, {
          "ref": inputRef,
          "value": isComposition.value ? (_compositionValue$val = compositionValue.value) !== null && _compositionValue$val !== void 0 ? _compositionValue$val : "" : (_inputValue$value = inputValue.value) !== null && _inputValue$value !== void 0 ? _inputValue$value : "",
          "onInput": function onInput(e) {
            return inputHandle.handleInput(e);
          }
        }), null), props2.autoWidth && vue.createVNode("span", {
          "ref": inputPreRef,
          "class": "".concat(classPrefix.value, "-input__input-pre")
        }, [innerValue.value || tPlaceholder.value]), suffixContent, passwordIcon ? vue.createVNode("span", {
          "class": ["".concat(COMPONENT_NAME.value, "__suffix"), "".concat(COMPONENT_NAME.value, "__suffix-icon"), "".concat(COMPONENT_NAME.value, "__clear")]
        }, [passwordIcon]) : null, suffixIcon ? vue.createVNode("span", {
          "class": ["".concat(COMPONENT_NAME.value, "__suffix"), "".concat(COMPONENT_NAME.value, "__suffix-icon"), _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "__clear"), showClear.value)]
        }, [suffixIcon]) : null]), tips && vue.createVNode("div", {
          "class": tipsClasses
        }, [tips])]), [[vue.vShow, props2.type !== "hidden"]]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var inputGroupProps = {
    separate: Boolean
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _InputGroup = vue.defineComponent({
    name: "TInputGroup",
    props: inputGroupProps,
    setup: function setup15(props2) {
      var COMPONENT_NAME = usePrefixClass("input-group");
      var renderTNodeJSX3 = useTNodeJSX();
      var CLASS = vue.computed(function() {
        return [COMPONENT_NAME.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--separate"), props2.separate)];
      });
      return function() {
        return vue.createVNode("div", {
          "class": CLASS.value
        }, [renderTNodeJSX3("default")]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Input = withInstall(_Input);
  withInstall(_InputGroup);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$k = {
    align: {
      type: String,
      validator: function validator16(val) {
        if (!val)
          return true;
        return ["left", "center", "right"].includes(val);
      }
    },
    allowInputOverLimit: {
      type: Boolean,
      "default": true
    },
    autoWidth: Boolean,
    decimalPlaces: {
      type: Number,
      "default": void 0
    },
    disabled: Boolean,
    format: {
      type: Function
    },
    inputProps: {
      type: Object
    },
    label: {
      type: [String, Function]
    },
    largeNumber: Boolean,
    max: {
      type: [String, Number],
      "default": Infinity
    },
    min: {
      type: [String, Number],
      "default": -Infinity
    },
    placeholder: {
      type: String,
      "default": void 0
    },
    readonly: Boolean,
    size: {
      type: String,
      "default": "medium",
      validator: function validator17(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    status: {
      type: String,
      "default": "default",
      validator: function validator18(val) {
        if (!val)
          return true;
        return ["default", "success", "warning", "error"].includes(val);
      }
    },
    step: {
      type: [String, Number],
      "default": 1
    },
    suffix: {
      type: [String, Function]
    },
    theme: {
      type: String,
      "default": "row",
      validator: function validator19(val) {
        if (!val)
          return true;
        return ["column", "row", "normal"].includes(val);
      }
    },
    tips: {
      type: [String, Function]
    },
    value: {
      type: [String, Number],
      "default": void 0
    },
    modelValue: {
      type: [String, Number],
      "default": void 0
    },
    defaultValue: {
      type: [String, Number]
    },
    onBlur: Function,
    onChange: Function,
    onEnter: Function,
    onFocus: Function,
    onKeydown: Function,
    onKeypress: Function,
    onKeyup: Function,
    onValidate: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function fillZero(length) {
    return new Array(length).fill(0).join("");
  }
  function isInputNumber(num) {
    if (!num)
      return true;
    if (isNumber_1(num))
      return !Number.isNaN(num);
    var r = /^[0-9|e|E|-]+\.*[0-9|e|E|-]*$/.test(num);
    if (!r)
      return false;
    var eCount = 0;
    var negativeCount = 0;
    var dotCount = 0;
    for (var i = 0, len2 = num.length; i < len2; i++) {
      if (num[i] === ".") {
        dotCount += 1;
        if (dotCount > 1)
          return false;
      }
      if (/(e|E)+/.test(num[i])) {
        eCount += 1;
        if (eCount > 1)
          return false;
      }
      if (num[i] === "-") {
        negativeCount += 1;
        if (negativeCount > 2)
          return false;
      }
    }
    return true;
  }
  function removeInvalidZero(num) {
    var decimal = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
    if (num.indexOf(".") !== -1) {
      log.error("InputNumber", "num is not a integer number.");
      return num;
    }
    if (!num || num === "0" && decimal)
      return "";
    if (num === "0")
      return num;
    return (decimal ? num.replace(/0+$/, "") : num.replace(/^0+/, "")) || "0";
  }
  function largeIntNumberAdd(num1, num2) {
    var decimal = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
    var number1 = removeInvalidZero(num1, decimal);
    var number2 = removeInvalidZero(num2, decimal);
    var isFirstLarger = number1.length > number2.length;
    var maxNumber = isFirstLarger ? number1 : number2;
    var minNumber = isFirstLarger ? number2 : number1;
    var newNumber = [];
    var step = [];
    var diff = decimal ? 0 : maxNumber.length - minNumber.length;
    var len2 = decimal ? minNumber.length : maxNumber.length;
    for (var i = len2 - 1; i >= 0; i--) {
      var minIndex = i - diff;
      var count = Number(maxNumber[i]) + (Number(minNumber[minIndex]) || 0) + (step[i] || 0);
      if (count >= 10) {
        step[i - 1] = 1;
      }
      newNumber.unshift(String(count % 10));
    }
    if (step[-1]) {
      newNumber.unshift("1");
    }
    if (decimal) {
      return newNumber.concat(maxNumber.slice(len2, maxNumber.length)).join("");
    }
    return newNumber.join("");
  }
  function largePositiveNumberAdd(num1, num2) {
    var _num1$split = num1.split("."), _num1$split2 = _slicedToArray(_num1$split, 2), _num1$split2$ = _num1$split2[0], intNumber1 = _num1$split2$ === void 0 ? "0" : _num1$split2$, _num1$split2$2 = _num1$split2[1], decimalNumber1 = _num1$split2$2 === void 0 ? "0" : _num1$split2$2;
    var _num2$split = num2.split("."), _num2$split2 = _slicedToArray(_num2$split, 2), _num2$split2$ = _num2$split2[0], intNumber2 = _num2$split2$ === void 0 ? "0" : _num2$split2$, _num2$split2$2 = _num2$split2[1], decimalNumber2 = _num2$split2$2 === void 0 ? "0" : _num2$split2$2;
    var integerSum = largeIntNumberAdd(intNumber1, intNumber2);
    if (decimalNumber1 === "0" && decimalNumber2 === "0")
      return integerSum;
    var newDecimalNumber1 = removeInvalidZero(decimalNumber1, true);
    var newDecimalNumber2 = removeInvalidZero(decimalNumber2, true);
    var decimalNumberSum = largeIntNumberAdd(newDecimalNumber1, newDecimalNumber2, true);
    var decimalLength = decimalNumberSum.length;
    if (decimalLength > newDecimalNumber1.length && decimalLength > newDecimalNumber2.length) {
      return [removeInvalidZero(largeIntNumberAdd(integerSum, "1")), removeInvalidZero(decimalNumberSum.slice(1), true)].filter(function(v) {
        return v;
      }).join(".");
    }
    return [removeInvalidZero(integerSum), removeInvalidZero(decimalNumberSum, true)].filter(function(v) {
      return v;
    }).join(".");
  }
  function compareLargeIntegerNumber(num1, num2) {
    var number1 = removeInvalidZero(num1);
    var number2 = removeInvalidZero(num2);
    if (number1.length === number2.length) {
      for (var i = 0, len2 = number1.length; i < len2; i++) {
        if (number1[i] > number2[i])
          return 1;
        if (number1[i] < number2[i])
          return -1;
      }
      return 0;
    }
    return number1.length > number2.length ? 1 : -1;
  }
  function compareLargeDecimalNumber(num1, num2) {
    var number1 = num1 && num1 !== "0" ? num1.replace(/0+$/, "") : "0";
    var number2 = num2 && num2 !== "0" ? num2.replace(/0+$/, "") : "0";
    var maxLength = Math.max(number1.length, number2.length);
    for (var i = 0, len2 = maxLength; i < len2; i++) {
      if ((number1[i] || 0) > (number2[i] || 0))
        return 1;
      if ((number1[i] || 0) < (number2[i] || 0))
        return -1;
    }
    return 0;
  }
  function formatENumber(num) {
    var _num$split = num.split("e"), _num$split2 = _slicedToArray(_num$split, 2), num1 = _num$split2[0], num2 = _num$split2[1];
    if (!num2)
      return num;
    var _num$split3 = num.split("."), _num$split4 = _slicedToArray(_num$split3, 2), integer = _num$split4[0], _num$split4$ = _num$split4[1], initDecimal = _num$split4$ === void 0 ? "" : _num$split4$;
    var zeroCount = Number(num2);
    var _initDecimal$split = initDecimal.split("e"), _initDecimal$split2 = _slicedToArray(_initDecimal$split, 1), decimal = _initDecimal$split2[0];
    if (zeroCount > decimal.length) {
      var multipleZero = fillZero(zeroCount - decimal.length);
      return num1.replace(/(^0+|\.)/g, "") + multipleZero;
    }
    var n1 = integer.replace(/^0+/, "") + decimal.slice(0, zeroCount);
    var d2 = decimal.slice(zeroCount);
    return d2 ? [n1, d2].join(".") : n1;
  }
  function compareLargeNumber(num1, num2) {
    var _formatENumber$split = formatENumber(num1).split("."), _formatENumber$split2 = _slicedToArray(_formatENumber$split, 2), integer1 = _formatENumber$split2[0], decimal1 = _formatENumber$split2[1];
    var _formatENumber$split3 = formatENumber(num2).split("."), _formatENumber$split4 = _slicedToArray(_formatENumber$split3, 2), integer2 = _formatENumber$split4[0], decimal2 = _formatENumber$split4[1];
    var result = compareLargeIntegerNumber(integer1.replace("-", ""), integer2.replace("-", ""));
    var integer1IsNegative = integer1.includes("-");
    var integer2IsNegative = integer2.includes("-");
    if (integer1IsNegative && !integer2IsNegative)
      return -1;
    if (!integer1IsNegative && integer2IsNegative)
      return 1;
    if (integer1IsNegative && integer2IsNegative) {
      if (result === 0)
        return 0;
      return result > 0 ? -1 : 1;
    }
    if (result === 0) {
      return compareLargeDecimalNumber(decimal1, decimal2);
    }
    return result;
  }
  function isInfinity(num) {
    return [-Infinity, Infinity].includes(Number(num));
  }
  function isSafeNumber(num) {
    return Number(num) < Number.MAX_SAFE_INTEGER && Number(num) > Number.MIN_SAFE_INTEGER;
  }
  function compareNumber(num1, num2, largeNumber) {
    var isSafeNumberCompare = isSafeNumber(num1) && isSafeNumber(num2) && !largeNumber;
    var isInfinityCompare = isInfinity(num1) || isInfinity(num2);
    if (isSafeNumberCompare || isInfinityCompare) {
      if (Number(num1) === Number(num2))
        return 0;
      return Number(num1) > Number(num2) ? 1 : -1;
    }
    return compareLargeNumber(String(num1), String(num2));
  }
  function largeIntegerNumberSubtract(num1, num2, p) {
    if (num1 === num2)
      return "0";
    var _ref = p || {}, decimal = _ref.decimal, stayZero = _ref.stayZero;
    var number1 = removeInvalidZero(num1);
    var number2 = removeInvalidZero(num2);
    var isFirstLarger = compareLargeIntegerNumber(number1, number2) > 0;
    var maxNumber = isFirstLarger ? number1 : number2;
    var minNumber = isFirstLarger ? number2 : number1;
    var newNumber = [];
    var step = [];
    var diff = decimal ? 0 : maxNumber.length - minNumber.length;
    var len2 = decimal ? minNumber.length : maxNumber.length;
    for (var i = len2 - 1; i >= 0; i--) {
      var minIndex = i - diff;
      var count = Number(maxNumber[i]) - (Number(minNumber[minIndex]) || 0) - (step[i] || 0);
      if (count < 0) {
        step[i - 1] = 1;
        count += 10;
      }
      newNumber.unshift(String(count));
    }
    if (decimal) {
      return newNumber.concat(maxNumber.slice(len2, maxNumber.length)).join("");
    }
    var finalNumber = newNumber.join("");
    if (!stayZero) {
      finalNumber = finalNumber.replace(/^0+/, "");
    }
    return removeInvalidZero(isFirstLarger ? finalNumber : "-".concat(finalNumber));
  }
  function largePositiveNumberSubtract(num1, num2) {
    if (num1 === num2)
      return "0";
    var isFirstLarger = compareNumber(num1, num2, true) > 0;
    var maxNumber = isFirstLarger ? num1 : num2;
    var minNumber = isFirstLarger ? num2 : num1;
    var _maxNumber$split = maxNumber.split("."), _maxNumber$split2 = _slicedToArray(_maxNumber$split, 2), intNumber1 = _maxNumber$split2[0], _maxNumber$split2$ = _maxNumber$split2[1], decimalNumber1 = _maxNumber$split2$ === void 0 ? "0" : _maxNumber$split2$;
    var _minNumber$split = minNumber.split("."), _minNumber$split2 = _slicedToArray(_minNumber$split, 2), intNumber2 = _minNumber$split2[0], _minNumber$split2$ = _minNumber$split2[1], decimalNumber2 = _minNumber$split2$ === void 0 ? "0" : _minNumber$split2$;
    var integerNumber = largeIntegerNumberSubtract(intNumber1, intNumber2);
    if (decimalNumber1 === "0" && decimalNumber2 === "0") {
      return isFirstLarger ? integerNumber : "-".concat(integerNumber);
    }
    var decimalNumber = "";
    var addOneNumber = decimalNumber1;
    if (decimalNumber1.length < decimalNumber2.length) {
      addOneNumber = "".concat(decimalNumber1).concat(fillZero(decimalNumber2.length - decimalNumber1.length));
    }
    if (compareLargeDecimalNumber(addOneNumber, decimalNumber2) >= 0) {
      decimalNumber = largeIntegerNumberSubtract(addOneNumber, decimalNumber2, {
        decimal: true
      });
    } else {
      if (decimalNumber1.length < decimalNumber2.length || decimalNumber1 === "0") {
        decimalNumber = largeIntegerNumberSubtract("1".concat(addOneNumber), decimalNumber2, {
          stayZero: true
        });
        decimalNumber = fillZero(decimalNumber2.length - decimalNumber.length) + decimalNumber;
      } else {
        decimalNumber = largeIntegerNumberSubtract(decimalNumber1, decimalNumber2, {
          decimal: true
        });
      }
      integerNumber = largeIntegerNumberSubtract(integerNumber, "1");
    }
    var finalNumber = decimalNumber ? [integerNumber, decimalNumber].join(".") : integerNumber;
    return isFirstLarger ? finalNumber : "-".concat(finalNumber);
  }
  function largeNumberSubtract(num1, num2) {
    var isFirstNegative = num1[0] === "-";
    var isSecondNegative = num2[0] === "-";
    if (isFirstNegative && !isSecondNegative) {
      var r = largePositiveNumberAdd(num1.slice(1), num2);
      return "-".concat(r);
    }
    if (isFirstNegative && isSecondNegative) {
      return largePositiveNumberSubtract(num2.slice(1), num1.slice(1));
    }
    if (!isFirstNegative && isSecondNegative) {
      return largePositiveNumberAdd(num1, num2.slice(1));
    }
    return largePositiveNumberSubtract(num1, num2);
  }
  function largeNumberAdd(num1, num2) {
    var isFirstNegative = num1[0] === "-";
    var isSecondNegative = num2[0] === "-";
    if (isFirstNegative && !isSecondNegative) {
      return largePositiveNumberSubtract(num2, num1.slice(1));
    }
    if (isFirstNegative && isSecondNegative) {
      var r = largePositiveNumberAdd(num2.slice(1), num1.slice(1));
      return "-".concat(r);
    }
    if (!isFirstNegative && isSecondNegative) {
      return largePositiveNumberSubtract(num1, num2.slice(1));
    }
    return largePositiveNumberAdd(num1, num2);
  }
  function largeNumberToFixed(number2) {
    var decimalPlaces = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
    var largeNumber = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
    if (!largeNumber)
      return Number(number2).toFixed(decimalPlaces);
    if (!isString_1(number2))
      return String(number2);
    var _number$split = number2.split("."), _number$split2 = _slicedToArray(_number$split, 2), num1 = _number$split2[0], num2 = _number$split2[1];
    if (!num2) {
      return decimalPlaces ? [number2, fillZero(decimalPlaces)].join(".") : number2;
    }
    if (decimalPlaces === 0) {
      return Number(num2[0]) >= 5 ? largePositiveNumberAdd(num1, "1") : num1;
    }
    var decimalNumber = num2.slice(0, decimalPlaces);
    if (num2.length < decimalPlaces) {
      decimalNumber += fillZero(decimalPlaces - num2.length);
    } else {
      decimalNumber = Number(num2[decimalPlaces]) >= 5 ? largePositiveNumberAdd(decimalNumber, "1") : decimalNumber;
    }
    return [num1, decimalNumber].join(".");
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function canAddNumber(num, max3) {
    var largeNumber = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
    if (!num && num !== 0)
      return true;
    if (largeNumber && isString_1(num)) {
      return compareNumber(num, max3, largeNumber) < 0;
    }
    return num < max3;
  }
  function canReduceNumber(num, min3) {
    var largeNumber = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
    if (!num && num !== 0)
      return true;
    if (largeNumber && isString_1(num)) {
      return compareNumber(num, min3, largeNumber) > 0;
    }
    return num > min3;
  }
  function putInRangeNumber(val, params) {
    if (val === "")
      return void 0;
    var max3 = params.max, min3 = params.min, lastValue = params.lastValue, largeNumber = params.largeNumber;
    if (!isInputNumber(val))
      return lastValue;
    if (largeNumber && (isString_1(max3) || max3 === Infinity) && (isString_1(min3) || min3 === -Infinity)) {
      if (compareNumber(max3, val, largeNumber) < 0)
        return max3;
      if (compareNumber(min3, val, largeNumber) > 0)
        return min3;
      return val;
    }
    return Math.max(Number(min3), Math.min(Number(max3), Number(val)));
  }
  function positiveAdd(num1, num2) {
    var _num1$toString$split$, _num2$toString$split$;
    if (!num1 || !num2)
      return (num1 || 0) + (num2 || 0);
    var r1 = ((_num1$toString$split$ = num1.toString().split(".")[1]) === null || _num1$toString$split$ === void 0 ? void 0 : _num1$toString$split$.length) || 0;
    var r2 = ((_num2$toString$split$ = num2.toString().split(".")[1]) === null || _num2$toString$split$ === void 0 ? void 0 : _num2$toString$split$.length) || 0;
    if (!r1 && !r2)
      return num1 + num2;
    var newNumber1 = num1;
    var newNumber2 = num2;
    var diff = Math.abs(r1 - r2);
    var digit = Math.pow(10, Math.max(r1, r2));
    if (diff > 0) {
      var cm = Math.pow(10, diff);
      if (r1 > r2) {
        newNumber1 = Number(num1.toString().replace(".", ""));
        newNumber2 = Number(num2.toString().replace(".", "")) * cm;
      } else {
        newNumber1 = Number(num1.toString().replace(".", "")) * cm;
        newNumber2 = Number(num2.toString().replace(".", ""));
      }
    } else {
      newNumber1 = Number(num1.toString().replace(".", ""));
      newNumber2 = Number(num2.toString().replace(".", ""));
    }
    return (newNumber1 + newNumber2) / digit;
  }
  function positiveSubtract(num1, num2) {
    var _num1$toString$split$2, _num2$toString$split$2;
    if (!num1 || !num2)
      return (num1 || 0) - (num2 || 0);
    var r1 = ((_num1$toString$split$2 = num1.toString().split(".")[1]) === null || _num1$toString$split$2 === void 0 ? void 0 : _num1$toString$split$2.length) || 0;
    var r2 = ((_num2$toString$split$2 = num2.toString().split(".")[1]) === null || _num2$toString$split$2 === void 0 ? void 0 : _num2$toString$split$2.length) || 0;
    var digit = Math.pow(10, Math.max(r1, r2));
    var n = r1 >= r2 ? r1 : r2;
    return Number(((num1 * digit - num2 * digit) / digit).toFixed(n));
  }
  function add(num1, num2) {
    if (num1 < 0 && num2 > 0)
      return positiveSubtract(num2, Math.abs(num1));
    if (num1 < 0 && num2 < 0)
      return positiveAdd(Math.abs(num1), Math.abs(num2)) * -1;
    if (num1 > 0 && num2 < 0)
      return positiveSubtract(num1, Math.abs(num2));
    return positiveAdd(num1, num2);
  }
  function subtract(num1, num2) {
    if (num1 < 0 && num2 > 0)
      return positiveAdd(Math.abs(num1), num2) * -1;
    if (num1 < 0 && num2 < 0)
      return positiveSubtract(Math.abs(num2), Math.abs(num1));
    if (num1 > 0 && num2 < 0)
      return positiveAdd(num1, Math.abs(num2));
    return positiveSubtract(num1, num2);
  }
  function getStepValue(p) {
    var op = p.op, step = p.step, lastValue = p.lastValue, max3 = p.max, min3 = p.min, largeNumber = p.largeNumber;
    if (step <= 0) {
      log.error("InputNumber", "step must be larger than 0.");
      return lastValue;
    }
    var tStep = isNumber_1(step) ? String(step) : step;
    var newVal;
    if (op === "add") {
      if (largeNumber && isString_1(lastValue)) {
        newVal = largeNumberAdd(String(lastValue), String(tStep));
      } else {
        newVal = add(Number(lastValue || 0), Number(step));
      }
    } else if (op === "reduce") {
      if (largeNumber && isString_1(lastValue)) {
        newVal = largeNumberSubtract(String(lastValue), String(tStep));
      } else {
        newVal = subtract(Number(lastValue || 0), Number(step));
      }
    }
    if (isUndefined_1(lastValue)) {
      newVal = putInRangeNumber(newVal, {
        max: max3,
        min: min3,
        lastValue,
        largeNumber
      });
    }
    return largeNumber ? newVal : Number(newVal);
  }
  function getMaxOrMinValidateResult(p) {
    var largeNumber = p.largeNumber, value = p.value, max3 = p.max, min3 = p.min;
    if (isUndefined_1(largeNumber))
      return void 0;
    if (largeNumber && isNumber_1(value)) {
      log.warn("InputNumber", "largeNumber value must be a string.");
    }
    var error4;
    if (compareNumber(value, max3, largeNumber) > 0) {
      error4 = "exceed-maximum";
    } else if (compareNumber(value, min3, largeNumber) < 0) {
      error4 = "below-minimum";
    } else {
      error4 = void 0;
    }
    return error4;
  }
  var specialCode = ["-", ".", "e", "E", "+"];
  function canInputNumber(number2, largeNumber) {
    var _number$match;
    if (["", null, void 0].includes(number2))
      return true;
    if (number2.slice(0, 2) === "00")
      return false;
    if (((_number$match = number2.match(/\./g)) === null || _number$match === void 0 ? void 0 : _number$match.length) > 1)
      return false;
    var tmpNumber = number2.slice(1);
    if (/(\+|-)/.test(tmpNumber) && !/e+/i.test(tmpNumber))
      return false;
    var isNumber2 = largeNumber && isInputNumber(number2) || !Number.isNaN(Number(number2));
    if (!isNumber2 && !specialCode.includes(number2.slice(-1)))
      return false;
    if (/e/i.test(number2) && !/\de/i.test(number2))
      return false;
    return true;
  }
  function canSetValue(number2, lastNumber) {
    return parseFloat(number2) !== lastNumber && !Number.isNaN(Number(number2));
  }
  function formatUnCompleteNumber(number2) {
    var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    if (["", null, void 0].includes(number2) || !/\d+/.test(number2))
      return void 0;
    var decimalPlaces = extra.decimalPlaces, largeNumber = extra.largeNumber, isToFixed = extra.isToFixed;
    var newNumber = number2.replace(/[.|+|\-|e]$/, "");
    if (largeNumber) {
      newNumber = formatENumber(newNumber);
    }
    if (decimalPlaces !== void 0) {
      newNumber = largeNumberToFixed(newNumber, decimalPlaces, largeNumber);
    }
    if (largeNumber)
      return newNumber;
    return isToFixed ? newNumber : parseFloat(newNumber);
  }
  function formatThousandths(number2) {
    var thousandthsRegExp = /^[-+]?\d{1,3}(,\d{3})*(\.(\d*))?$/;
    if (thousandthsRegExp.test(number2))
      return number2.replace(/,/g, "");
    return number2;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useInputNumber(props2) {
    var _useCommonClassName = useCommonClassName(), classPrefix = _useCommonClassName.classPrefix, sizeClassNames = _useCommonClassName.sizeClassNames, statusClassNames = _useCommonClassName.statusClassNames;
    var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue, max3 = _toRefs.max, min3 = _toRefs.min;
    var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), tValue = _useVModel2[0], setTValue = _useVModel2[1];
    var inputRef = vue.ref();
    var userInput = vue.ref("");
    var tDisabled = useFormDisabled();
    var isError = vue.ref();
    var disabledReduce = vue.computed(function() {
      return tDisabled.value || !canReduceNumber(tValue.value, props2.min, props2.largeNumber);
    });
    var disabledAdd = vue.computed(function() {
      return tDisabled.value || !canAddNumber(tValue.value, props2.max, props2.largeNumber);
    });
    var wrapClasses = vue.computed(function() {
      var _ref;
      return ["".concat(classPrefix.value, "-input-number"), sizeClassNames[props2.size], (_ref = {}, _defineProperty$2(_ref, statusClassNames.disabled, tDisabled.value), _defineProperty$2(_ref, "".concat(classPrefix.value, "-is-controls-right"), props2.theme === "column"), _defineProperty$2(_ref, "".concat(classPrefix.value, "-input-number--").concat(props2.theme), props2.theme), _defineProperty$2(_ref, "".concat(classPrefix.value, "-input-number--auto-width"), props2.autoWidth), _ref)];
    });
    var reduceClasses = vue.computed(function() {
      return ["".concat(classPrefix.value, "-input-number__decrease"), _defineProperty$2({}, statusClassNames.disabled, disabledReduce.value)];
    });
    var addClasses = vue.computed(function() {
      return ["".concat(classPrefix.value, "-input-number__increase"), _defineProperty$2({}, statusClassNames.disabled, disabledAdd.value)];
    });
    var getUserInput = function getUserInput2(value2) {
      var _inputRef$value;
      if (!value2 && value2 !== 0)
        return "";
      var inputStr = value2 || value2 === 0 ? String(value2) : "";
      if (!((_inputRef$value = inputRef.value) !== null && _inputRef$value !== void 0 && (_inputRef$value = _inputRef$value.inputRef) !== null && _inputRef$value !== void 0 && _inputRef$value.contains(document.activeElement))) {
        var num = formatUnCompleteNumber(inputStr, {
          decimalPlaces: props2.decimalPlaces,
          largeNumber: props2.largeNumber,
          isToFixed: true
        });
        inputStr = num || num === 0 ? String(num) : "";
        if (props2.format) {
          inputStr = String(props2.format(value2, {
            fixedNumber: inputStr
          }));
        }
      }
      return inputStr;
    };
    vue.watch(tValue, function(val) {
      var largeNumber = props2.largeNumber, decimalPlaces = props2.decimalPlaces;
      var inputValue = [void 0, null].includes(val) ? "" : String(val);
      if (!largeNumber && !Number.isNaN(userInput.value)) {
        if (parseFloat(userInput.value) !== val) {
          userInput.value = getUserInput(inputValue);
        }
        var fixedNumber = Number(largeNumberToFixed(inputValue, decimalPlaces, largeNumber));
        if (decimalPlaces !== void 0 && ![void 0, null].includes(val) && Number(fixedNumber) !== Number(tValue.value)) {
          setTValue(fixedNumber, {
            type: "props",
            e: void 0
          });
        }
      }
      if (largeNumber) {
        userInput.value = getUserInput(inputValue);
        if (decimalPlaces !== void 0 && largeNumberToFixed(inputValue, decimalPlaces, largeNumber) !== val) {
          setTValue(userInput.value, {
            type: "props",
            e: void 0
          });
        }
      }
    }, {
      immediate: true
    });
    vue.watch([tValue, max3, min3], function() {
      var _props$onValidate;
      if ([void 0, "", null].includes(tValue.value))
        return;
      var max22 = props2.max, min22 = props2.min, largeNumber = props2.largeNumber;
      var error4 = getMaxOrMinValidateResult({
        value: tValue.value,
        largeNumber,
        max: max22,
        min: min22
      });
      isError.value = error4;
      (_props$onValidate = props2.onValidate) === null || _props$onValidate === void 0 || _props$onValidate.call(props2, {
        error: error4
      });
    }, {
      immediate: true
    });
    var handleStepValue = function handleStepValue2(op) {
      var newValue = getStepValue({
        op,
        step: props2.step,
        max: props2.max,
        min: props2.min,
        lastValue: tValue.value,
        largeNumber: props2.largeNumber
      });
      var largeNumber = props2.largeNumber, max22 = props2.max, min22 = props2.min;
      var overLimit = getMaxOrMinValidateResult({
        value: newValue,
        largeNumber,
        max: max22,
        min: min22
      });
      return {
        overLimit,
        newValue
      };
    };
    var handleReduce = function handleReduce2(e) {
      if (disabledReduce.value || props2.readonly)
        return;
      var r = handleStepValue("reduce");
      if (r.overLimit && !props2.allowInputOverLimit)
        return;
      setTValue(r.newValue, {
        type: "reduce",
        e
      });
    };
    var handleAdd = function handleAdd2(e) {
      if (disabledAdd.value || props2.readonly)
        return;
      var r = handleStepValue("add");
      if (r.overLimit && !props2.allowInputOverLimit)
        return;
      setTValue(r.newValue, {
        type: "add",
        e
      });
    };
    var onInnerInputChange = function onInnerInputChange2(inputValue, _ref4) {
      var e = _ref4.e;
      var val = formatThousandths(inputValue);
      if (!canInputNumber(val, props2.largeNumber))
        return;
      userInput.value = val;
      if (props2.largeNumber) {
        setTValue(val, {
          type: "input",
          e
        });
        return;
      }
      if (canSetValue(String(val), Number(tValue.value))) {
        var newVal = val === "" ? void 0 : Number(val);
        setTValue(newVal, {
          type: "input",
          e
        });
      }
    };
    var handleBlur = function handleBlur2(value2, ctx) {
      var _props$onBlur;
      var largeNumber = props2.largeNumber, max22 = props2.max, min22 = props2.min, decimalPlaces = props2.decimalPlaces;
      if (!props2.allowInputOverLimit && tValue.value !== void 0) {
        var r = getMaxOrMinValidateResult({
          value: tValue.value,
          largeNumber,
          max: max22,
          min: min22
        });
        if (r === "below-minimum") {
          setTValue(min22, {
            type: "blur",
            e: ctx.e
          });
          return;
        }
        if (r === "exceed-maximum") {
          setTValue(max22, {
            type: "blur",
            e: ctx.e
          });
          return;
        }
      }
      var newValue = formatUnCompleteNumber(value2, {
        decimalPlaces,
        largeNumber
      });
      userInput.value = getUserInput(newValue);
      if (newValue !== tValue.value) {
        setTValue(newValue, {
          type: "blur",
          e: ctx.e
        });
      }
      (_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, newValue, ctx);
    };
    var handleFocus = function handleFocus2(value2, ctx) {
      var _props$onFocus;
      userInput.value = tValue.value || tValue.value === 0 ? String(tValue.value) : "";
      (_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, value2, ctx);
    };
    var handleKeydown = function handleKeydown2(value2, ctx) {
      var _props$onKeydown;
      if (tDisabled.value)
        return;
      var e = ctx.e;
      var keyEvent = {
        ArrowUp: handleAdd,
        ArrowDown: handleReduce
      };
      var code = e.code || e.key;
      if (keyEvent[code] !== void 0) {
        keyEvent[code](e);
      }
      (_props$onKeydown = props2.onKeydown) === null || _props$onKeydown === void 0 || _props$onKeydown.call(props2, value2, ctx);
    };
    var handleKeyup = function handleKeyup2(value2, ctx) {
      var _props$onKeyup;
      (_props$onKeyup = props2.onKeyup) === null || _props$onKeyup === void 0 || _props$onKeyup.call(props2, value2, ctx);
    };
    var handleKeypress = function handleKeypress2(value2, ctx) {
      var _props$onKeypress;
      (_props$onKeypress = props2.onKeypress) === null || _props$onKeypress === void 0 || _props$onKeypress.call(props2, value2, ctx);
    };
    var handleEnter = function handleEnter2(value2, ctx) {
      var _props$onEnter;
      userInput.value = getUserInput(value2);
      var newValue = formatUnCompleteNumber(value2, {
        decimalPlaces: props2.decimalPlaces,
        largeNumber: props2.largeNumber
      });
      if (newValue !== value2 && String(newValue) !== value2) {
        setTValue(newValue, {
          type: "enter",
          e: ctx.e
        });
      }
      (_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, newValue, ctx);
    };
    var focus = function focus2() {
      inputRef.value.focus();
    };
    var blur = function blur2() {
      inputRef.value.blur();
    };
    var listeners = {
      onBlur: handleBlur,
      onFocus: handleFocus,
      onKeydown: handleKeydown,
      onKeyup: handleKeyup,
      onKeypress: handleKeypress,
      onEnter: handleEnter,
      onClick: focus
    };
    return {
      classPrefix,
      wrapClasses,
      reduceClasses,
      addClasses,
      tDisabled,
      isError,
      listeners,
      userInput,
      tValue,
      inputRef,
      focus,
      blur,
      handleReduce,
      handleAdd,
      onInnerInputChange
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$J(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$I(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$J(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _InputNumber = vue.defineComponent({
    name: "TInputNumber",
    props: props$k,
    setup: function setup16(props2, context) {
      var renderTNodeJSX3 = useTNodeJSX();
      var _useGlobalIcon = useGlobalIcon({
        AddIcon,
        RemoveIcon,
        ChevronDownIcon,
        ChevronUpIcon
      }), AddIcon$1 = _useGlobalIcon.AddIcon, RemoveIcon$1 = _useGlobalIcon.RemoveIcon, ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon, ChevronUpIcon$1 = _useGlobalIcon.ChevronUpIcon;
      var p = useInputNumber(props2);
      var inputRef = p.inputRef;
      context.expose(_objectSpread$I({}, p));
      return function() {
        var reduceIcon = props2.theme === "column" ? vue.createVNode(ChevronDownIcon$1, {
          "size": props2.size
        }, null) : vue.createVNode(RemoveIcon$1, {
          "size": props2.size
        }, null);
        var addIcon = props2.theme === "column" ? vue.createVNode(ChevronUpIcon$1, {
          "size": props2.size
        }, null) : vue.createVNode(AddIcon$1, {
          "size": props2.size
        }, null);
        var status = p.isError.value ? "error" : props2.status;
        var classPrefix = p.classPrefix.value;
        var tipsNode = renderTNodeJSX3("tips");
        return vue.createVNode("div", {
          "class": p.wrapClasses.value
        }, [props2.theme !== "normal" && vue.createVNode(Button, {
          "class": p.reduceClasses.value,
          "disabled": p.tDisabled.value,
          "onClick": p.handleReduce,
          "variant": "outline",
          "shape": "square",
          "icon": function icon() {
            return reduceIcon;
          }
        }, null), vue.createVNode(Input, vue.mergeProps({
          "ref": inputRef,
          "disabled": p.tDisabled.value,
          "readonly": props2.readonly,
          "autocomplete": "off",
          "placeholder": props2.placeholder,
          "unselectable": props2.readonly ? "on" : "off",
          "autoWidth": props2.autoWidth,
          "align": props2.align || (props2.theme === "row" ? "center" : void 0),
          "status": status,
          "label": props2.label,
          "suffix": props2.suffix
        }, p.listeners, props2.inputProps, {
          "value": p.userInput.value,
          "onChange": p.onInnerInputChange
        }), context.slots), props2.theme !== "normal" && vue.createVNode(Button, {
          "class": p.addClasses.value,
          "disabled": p.tDisabled.value,
          "onClick": p.handleAdd,
          "variant": "outline",
          "shape": "square",
          "icon": function icon() {
            return addIcon;
          }
        }, null), tipsNode && vue.createVNode("div", {
          "class": "".concat(classPrefix, "-input__tips ").concat(classPrefix, "-tips ").concat(classPrefix, "-is-").concat(status)
        }, [tipsNode])]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var InputNumber = withInstall(_InputNumber);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var assignValue = _assignValue, castPath$2 = _castPath, isIndex$1 = _isIndex, isObject$2 = isObject_1, toKey$1 = _toKey;
  function baseSet$2(object, path, value, customizer) {
    if (!isObject$2(object)) {
      return object;
    }
    path = castPath$2(path, object);
    var index2 = -1, length = path.length, lastIndex = length - 1, nested = object;
    while (nested != null && ++index2 < length) {
      var key2 = toKey$1(path[index2]), newValue = value;
      if (key2 === "__proto__" || key2 === "constructor" || key2 === "prototype") {
        return object;
      }
      if (index2 != lastIndex) {
        var objValue = nested[key2];
        newValue = customizer ? customizer(objValue, key2, nested) : void 0;
        if (newValue === void 0) {
          newValue = isObject$2(objValue) ? objValue : isIndex$1(path[index2 + 1]) ? [] : {};
        }
      }
      assignValue(nested, key2, newValue);
      nested = nested[key2];
    }
    return object;
  }
  var _baseSet = baseSet$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGet$1 = _baseGet, baseSet$1 = _baseSet, castPath$1 = _castPath;
  function basePickBy$1(object, paths, predicate) {
    var index2 = -1, length = paths.length, result = {};
    while (++index2 < length) {
      var path = paths[index2], value = baseGet$1(object, path);
      if (predicate(value, path)) {
        baseSet$1(result, castPath$1(path, object), value);
      }
    }
    return result;
  }
  var _basePickBy = basePickBy$1;
  function baseHasIn$1(object, key2) {
    return object != null && key2 in Object(object);
  }
  var _baseHasIn = baseHasIn$1;
  var castPath = _castPath, isArguments = isArguments_1, isArray$1 = isArray_1, isIndex = _isIndex, isLength = isLength_1, toKey = _toKey;
  function hasPath$1(object, path, hasFunc) {
    path = castPath(path, object);
    var index2 = -1, length = path.length, result = false;
    while (++index2 < length) {
      var key2 = toKey(path[index2]);
      if (!(result = object != null && hasFunc(object, key2))) {
        break;
      }
      object = object[key2];
    }
    if (result || ++index2 != length) {
      return result;
    }
    length = object == null ? 0 : object.length;
    return !!length && isLength(length) && isIndex(key2, length) && (isArray$1(object) || isArguments(object));
  }
  var _hasPath = hasPath$1;
  var baseHasIn = _baseHasIn, hasPath = _hasPath;
  function hasIn$1(object, path) {
    return object != null && hasPath(object, path, baseHasIn);
  }
  var hasIn_1 = hasIn$1;
  var basePickBy = _basePickBy, hasIn = hasIn_1;
  function basePick$1(object, paths) {
    return basePickBy(object, paths, function(value, path) {
      return hasIn(object, path);
    });
  }
  var _basePick = basePick$1;
  var basePick = _basePick, flatRest = _flatRest;
  var pick = flatRest(function(object, paths) {
    return object == null ? {} : basePick(object, paths);
  });
  var pick_1 = pick;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseGet = _baseGet;
  function get(object, path, defaultValue) {
    var result = object == null ? void 0 : baseGet(object, path);
    return result === void 0 ? defaultValue : result;
  }
  var get_1 = get;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var HASH_UNDEFINED = "__lodash_hash_undefined__";
  function setCacheAdd$1(value) {
    this.__data__.set(value, HASH_UNDEFINED);
    return this;
  }
  var _setCacheAdd = setCacheAdd$1;
  function setCacheHas$1(value) {
    return this.__data__.has(value);
  }
  var _setCacheHas = setCacheHas$1;
  var MapCache = _MapCache, setCacheAdd = _setCacheAdd, setCacheHas = _setCacheHas;
  function SetCache$3(values) {
    var index2 = -1, length = values == null ? 0 : values.length;
    this.__data__ = new MapCache();
    while (++index2 < length) {
      this.add(values[index2]);
    }
  }
  SetCache$3.prototype.add = SetCache$3.prototype.push = setCacheAdd;
  SetCache$3.prototype.has = setCacheHas;
  var _SetCache = SetCache$3;
  function baseFindIndex$1(array, predicate, fromIndex, fromRight) {
    var length = array.length, index2 = fromIndex + (fromRight ? 1 : -1);
    while (fromRight ? index2-- : ++index2 < length) {
      if (predicate(array[index2], index2, array)) {
        return index2;
      }
    }
    return -1;
  }
  var _baseFindIndex = baseFindIndex$1;
  function baseIsNaN$1(value) {
    return value !== value;
  }
  var _baseIsNaN = baseIsNaN$1;
  function strictIndexOf$1(array, value, fromIndex) {
    var index2 = fromIndex - 1, length = array.length;
    while (++index2 < length) {
      if (array[index2] === value) {
        return index2;
      }
    }
    return -1;
  }
  var _strictIndexOf = strictIndexOf$1;
  var baseFindIndex = _baseFindIndex, baseIsNaN = _baseIsNaN, strictIndexOf = _strictIndexOf;
  function baseIndexOf$1(array, value, fromIndex) {
    return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
  }
  var _baseIndexOf = baseIndexOf$1;
  var baseIndexOf = _baseIndexOf;
  function arrayIncludes$3(array, value) {
    var length = array == null ? 0 : array.length;
    return !!length && baseIndexOf(array, value, 0) > -1;
  }
  var _arrayIncludes = arrayIncludes$3;
  function arrayIncludesWith$3(array, value, comparator) {
    var index2 = -1, length = array == null ? 0 : array.length;
    while (++index2 < length) {
      if (comparator(value, array[index2])) {
        return true;
      }
    }
    return false;
  }
  var _arrayIncludesWith = arrayIncludesWith$3;
  function cacheHas$3(cache, key2) {
    return cache.has(key2);
  }
  var _cacheHas = cacheHas$3;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var SetCache$2 = _SetCache, arrayIncludes$2 = _arrayIncludes, arrayIncludesWith$2 = _arrayIncludesWith, arrayMap$1 = _arrayMap, baseUnary$1 = _baseUnary, cacheHas$2 = _cacheHas;
  var nativeMin = Math.min;
  function baseIntersection$1(arrays, iteratee, comparator) {
    var includes = comparator ? arrayIncludesWith$2 : arrayIncludes$2, length = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array(othLength), maxLength = Infinity, result = [];
    while (othIndex--) {
      var array = arrays[othIndex];
      if (othIndex && iteratee) {
        array = arrayMap$1(array, baseUnary$1(iteratee));
      }
      maxLength = nativeMin(array.length, maxLength);
      caches[othIndex] = !comparator && (iteratee || length >= 120 && array.length >= 120) ? new SetCache$2(othIndex && array) : void 0;
    }
    array = arrays[0];
    var index2 = -1, seen = caches[0];
    outer:
      while (++index2 < length && result.length < maxLength) {
        var value = array[index2], computed2 = iteratee ? iteratee(value) : value;
        value = comparator || value !== 0 ? value : 0;
        if (!(seen ? cacheHas$2(seen, computed2) : includes(result, computed2, comparator))) {
          othIndex = othLength;
          while (--othIndex) {
            var cache = caches[othIndex];
            if (!(cache ? cacheHas$2(cache, computed2) : includes(arrays[othIndex], computed2, comparator))) {
              continue outer;
            }
          }
          if (seen) {
            seen.push(computed2);
          }
          result.push(value);
        }
      }
    return result;
  }
  var _baseIntersection = baseIntersection$1;
  var isArrayLikeObject$1 = isArrayLikeObject_1;
  function castArrayLikeObject$1(value) {
    return isArrayLikeObject$1(value) ? value : [];
  }
  var _castArrayLikeObject = castArrayLikeObject$1;
  var arrayMap$2 = _arrayMap, baseIntersection = _baseIntersection, baseRest$1 = _baseRest, castArrayLikeObject = _castArrayLikeObject;
  var intersection = baseRest$1(function(arrays) {
    var mapped = arrayMap$2(arrays, castArrayLikeObject);
    return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];
  });
  var intersection_1 = intersection;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$j = {
    allowInput: Boolean,
    autoWidth: Boolean,
    autofocus: Boolean,
    borderless: Boolean,
    clearable: Boolean,
    collapsedItems: {
      type: Function
    },
    disabled: Boolean,
    inputProps: {
      type: Object
    },
    inputValue: {
      type: [String, Number],
      "default": void 0
    },
    defaultInputValue: {
      type: [String, Number]
    },
    keys: {
      type: Object
    },
    label: {
      type: [String, Function]
    },
    loading: Boolean,
    minCollapsedNum: {
      type: Number,
      "default": 0
    },
    multiple: Boolean,
    panel: {
      type: [String, Function]
    },
    placeholder: {
      type: String,
      "default": ""
    },
    popupProps: {
      type: Object
    },
    popupVisible: {
      type: Boolean,
      "default": void 0
    },
    defaultPopupVisible: Boolean,
    readonly: Boolean,
    status: {
      type: String,
      "default": "default",
      validator: function validator20(val) {
        if (!val)
          return true;
        return ["default", "success", "warning", "error"].includes(val);
      }
    },
    suffix: {
      type: [String, Function]
    },
    suffixIcon: {
      type: Function
    },
    tag: {
      type: [String, Function]
    },
    tagInputProps: {
      type: Object
    },
    tagProps: {
      type: Object
    },
    tips: {
      type: [String, Function]
    },
    value: {
      type: [String, Number, Boolean, Object, Array, Date],
      "default": void 0
    },
    valueDisplay: {
      type: [String, Function]
    },
    valueDisplayOptions: {
      type: Object
    },
    onBlur: Function,
    onClear: Function,
    onEnter: Function,
    onFocus: Function,
    onInputChange: Function,
    onMouseenter: Function,
    onMouseleave: Function,
    onPaste: Function,
    onPopupVisibleChange: Function,
    onTagChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded$6 = ["tips"];
  function ownKeys$I(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$H(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$I(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var COMMON_PROPERTIES = ["status", "clearable", "disabled", "label", "placeholder", "readonly", "suffix", "suffixIcon", "onPaste", "onMouseenter", "onMouseleave"];
  var DEFAULT_KEYS$1 = {
    label: "label",
    value: "value",
    children: "children"
  };
  function getInputValue(value, keys2) {
    var iKeys = _objectSpread$H(_objectSpread$H({}, DEFAULT_KEYS$1), keys2);
    return isObject_1(value) ? value[iKeys.label] : value;
  }
  function useSingle(props2, context) {
    var _props$defaultInputVa;
    var _toRefs = vue.toRefs(props2), value = _toRefs.value, keys2 = _toRefs.keys, propsInputValue = _toRefs.inputValue;
    var classPrefix = usePrefixClass();
    var inputRef = vue.ref();
    var _useDefaultValue = useDefaultValue(propsInputValue, (_props$defaultInputVa = props2.defaultInputValue) !== null && _props$defaultInputVa !== void 0 ? _props$defaultInputVa : "", props2.onInputChange, "inputValue"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), inputValue = _useDefaultValue2[0], setInputValue = _useDefaultValue2[1];
    var renderTNode = useTNodeJSX();
    var disable = useFormDisabled();
    var commonInputProps = vue.computed(function() {
      return _objectSpread$H(_objectSpread$H({}, pick_1(props2, COMMON_PROPERTIES)), {}, {
        disabled: disable.value
      });
    });
    var onInnerClear = function onInnerClear2(context2) {
      var _context2$e, _props$onClear;
      context2 === null || context2 === void 0 || (_context2$e = context2.e) === null || _context2$e === void 0 || _context2$e.stopPropagation();
      (_props$onClear = props2.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props2, context2);
      setInputValue("", {
        trigger: "clear"
      });
    };
    var onInnerInputChange = function onInnerInputChange2(value2, context2) {
      if (props2.allowInput) {
        setInputValue(value2, _objectSpread$H(_objectSpread$H({}, context2), {}, {
          trigger: context2.trigger || "input"
        }));
      }
    };
    var renderSelectSingle = function renderSelectSingle2(popupVisible) {
      var _context$attrs;
      var singleValueDisplay = renderTNode("valueDisplay");
      var displayedValue = popupVisible && props2.allowInput ? inputValue.value : getInputValue(value.value, keys2.value);
      var prefixContent = renderPrefixContent(singleValueDisplay, popupVisible);
      var inputProps = _objectSpread$H(_objectSpread$H({}, commonInputProps.value), {}, {
        value: renderInputDisplay(singleValueDisplay, displayedValue, popupVisible),
        label: prefixContent.length ? function() {
          return prefixContent;
        } : void 0,
        autoWidth: props2.autoWidth,
        readonly: !props2.allowInput || props2.readonly,
        placeholder: renderPlaceholder(singleValueDisplay),
        suffixIcon: !disable.value && props2.loading ? function() {
          return vue.createVNode(Loading, {
            "loading": true,
            "size": "small"
          }, null);
        } : props2.suffixIcon,
        showClearIconOnEmpty: Boolean(props2.clearable && (inputValue.value || displayedValue) && !disable.value && !props2.readonly),
        allowTriggerBlur: props2.allowInput && !props2.readonly
      }, props2.inputProps);
      var _context$slots = context.slots;
      _context$slots.tips;
      var slots = _objectWithoutProperties$1(_context$slots, _excluded$6);
      var inputClassProps = popupVisible ? ["".concat(classPrefix.value, "-input--focused"), "".concat(classPrefix.value, "-is-focused"), inputProps === null || inputProps === void 0 ? void 0 : inputProps.inputClass] : inputProps === null || inputProps === void 0 ? void 0 : inputProps.inputClass;
      return vue.createVNode(Input, vue.mergeProps({
        "ref": "inputRef",
        "style": (_context$attrs = context.attrs) === null || _context$attrs === void 0 ? void 0 : _context$attrs.style
      }, _objectSpread$H({
        onChange: onInnerInputChange,
        onClear: onInnerClear,
        onBlur: function onBlur(val, context2) {
          var _props$onBlur;
          (_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, value.value, _objectSpread$H(_objectSpread$H({}, context2), {}, {
            inputValue: val
          }));
        },
        onEnter: function onEnter(val, context2) {
          var _props$onEnter;
          (_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, value.value, _objectSpread$H(_objectSpread$H({}, context2), {}, {
            inputValue: val
          }));
        },
        onFocus: function onFocus(val, context2) {
          var _props$onFocus;
          (_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, value.value, _objectSpread$H(_objectSpread$H({}, context2), {}, {
            inputValue: val
          }));
        }
      }, inputProps), {
        "inputClass": inputClassProps
      }), slots);
    };
    var renderPrefixContent = function renderPrefixContent2(singleValueDisplay, popupVisible) {
      if (singleValueDisplay) {
        var _props$valueDisplayOp, _props$valueDisplayOp2;
        if ((_props$valueDisplayOp = props2.valueDisplayOptions) !== null && _props$valueDisplayOp !== void 0 && _props$valueDisplayOp.usePlaceholder && !value.value || (_props$valueDisplayOp2 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp2 !== void 0 && _props$valueDisplayOp2.useInputDisplay && popupVisible) {
          return [renderTNode("label")];
        }
      }
      return [renderTNode("label"), singleValueDisplay];
    };
    var renderInputDisplay = function renderInputDisplay2(singleValueDisplay, displayedValue, popupVisible) {
      if (singleValueDisplay) {
        var _props$valueDisplayOp3, _props$valueDisplayOp4;
        if (!((_props$valueDisplayOp3 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp3 !== void 0 && _props$valueDisplayOp3.useInputDisplay) || (_props$valueDisplayOp4 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp4 !== void 0 && _props$valueDisplayOp4.useInputDisplay && !popupVisible) {
          return void 0;
        }
      }
      return displayedValue;
    };
    var renderPlaceholder = function renderPlaceholder2(singleValueDisplay) {
      if (singleValueDisplay) {
        var _props$valueDisplayOp5, _props$valueDisplayOp6;
        if (!((_props$valueDisplayOp5 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp5 !== void 0 && _props$valueDisplayOp5.usePlaceholder) || (_props$valueDisplayOp6 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp6 !== void 0 && _props$valueDisplayOp6.usePlaceholder && value.value) {
          return "";
        }
      }
      return props2.placeholder;
    };
    return {
      inputRef,
      commonInputProps,
      onInnerClear,
      renderSelectSingle
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$i = {
    autoWidth: Boolean,
    clearable: Boolean,
    collapsedItems: {
      type: Function
    },
    disabled: Boolean,
    dragSort: Boolean,
    excessTagsDisplayType: {
      type: String,
      "default": "break-line",
      validator: function validator21(val) {
        if (!val)
          return true;
        return ["scroll", "break-line"].includes(val);
      }
    },
    inputProps: {
      type: Object
    },
    inputValue: {
      type: [String, Number],
      "default": void 0
    },
    defaultInputValue: {
      type: [String, Number],
      "default": ""
    },
    label: {
      type: [String, Function]
    },
    max: {
      type: Number
    },
    minCollapsedNum: {
      type: Number,
      "default": 0
    },
    placeholder: {
      type: String,
      "default": void 0
    },
    readonly: Boolean,
    size: {
      type: String,
      "default": "medium",
      validator: function validator22(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    status: {
      type: String,
      validator: function validator23(val) {
        if (!val)
          return true;
        return ["default", "success", "warning", "error"].includes(val);
      }
    },
    suffix: {
      type: [String, Function]
    },
    suffixIcon: {
      type: Function
    },
    prefixIcon: {
      type: Function
    },
    tag: {
      type: [String, Function]
    },
    tagProps: {
      type: Object
    },
    tips: {
      type: [String, Function]
    },
    value: {
      type: Array,
      "default": void 0
    },
    modelValue: {
      type: Array,
      "default": void 0
    },
    defaultValue: {
      type: Array,
      "default": function _default2() {
        return [];
      }
    },
    valueDisplay: {
      type: [String, Function]
    },
    onBlur: Function,
    onChange: Function,
    onClear: Function,
    onClick: Function,
    onDragSort: Function,
    onEnter: Function,
    onFocus: Function,
    onInputChange: Function,
    onMouseenter: Function,
    onMouseleave: Function,
    onPaste: Function,
    onRemove: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useTagScroll(props2) {
    var tagInputRef = vue.ref();
    var _toRefs = vue.toRefs(props2), excessTagsDisplayType = _toRefs.excessTagsDisplayType, readonly = _toRefs.readonly, disabled = _toRefs.disabled;
    var scrollDistance = vue.ref(0);
    var scrollElement = vue.ref();
    var mouseEnterTimer = vue.ref();
    var updateScrollElement = function updateScrollElement2(element2) {
      var inputElement = element2.children[0];
      scrollElement.value = inputElement;
    };
    var updateScrollDistance = function updateScrollDistance2() {
      scrollDistance.value = scrollElement.value.scrollWidth - scrollElement.value.clientWidth;
    };
    var scrollTo = function scrollTo2(distance2) {
      var _scrollElement$value;
      if (!isFunction_1((_scrollElement$value = scrollElement.value) === null || _scrollElement$value === void 0 ? void 0 : _scrollElement$value.scroll))
        return;
      scrollElement.value.scroll({
        left: distance2,
        behavior: "smooth"
      });
    };
    var scrollToRight = function scrollToRight2() {
      updateScrollDistance();
      scrollTo(scrollDistance.value);
    };
    var scrollToLeft = function scrollToLeft2() {
      scrollTo(0);
    };
    var onWheel = function onWheel2(_ref) {
      var e = _ref.e;
      if (readonly.value || disabled.value)
        return;
      if (!scrollElement.value)
        return;
      if (e.deltaX > 0) {
        var distance2 = Math.min(scrollElement.value.scrollLeft + 120, scrollDistance.value);
        scrollTo(distance2);
      } else {
        var _distance = Math.max(scrollElement.value.scrollLeft - 120, 0);
        scrollTo(_distance);
      }
    };
    var scrollToRightOnEnter = function scrollToRightOnEnter2() {
      if (excessTagsDisplayType.value !== "scroll")
        return;
      mouseEnterTimer.value = setTimeout(function() {
        scrollToRight();
        clearTimeout(mouseEnterTimer.value);
      }, 100);
    };
    var scrollToLeftOnLeave = function scrollToLeftOnLeave2() {
      if (excessTagsDisplayType.value !== "scroll")
        return;
      scrollTo(0);
      clearTimeout(mouseEnterTimer.value);
    };
    var init = function init2() {
      var _tagInputRef$value;
      var element2 = (_tagInputRef$value = tagInputRef.value) === null || _tagInputRef$value === void 0 ? void 0 : _tagInputRef$value.$el;
      if (!element2)
        return;
      updateScrollElement(element2);
    };
    var clear = function clear2() {
      clearTimeout(mouseEnterTimer.value);
    };
    vue.onMounted(init);
    vue.onUnmounted(clear);
    return {
      tagInputRef,
      scrollElement,
      scrollDistance,
      scrollTo,
      scrollToRight,
      scrollToLeft,
      updateScrollElement,
      updateScrollDistance,
      onWheel,
      scrollToRightOnEnter,
      scrollToLeftOnLeave
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$h = {
    closable: Boolean,
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    disabled: Boolean,
    icon: {
      type: Function,
      "default": void 0
    },
    maxWidth: {
      type: [String, Number]
    },
    shape: {
      type: String,
      "default": "square",
      validator: function validator24(val) {
        if (!val)
          return true;
        return ["square", "round", "mark"].includes(val);
      }
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator25(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    theme: {
      type: String,
      "default": "default",
      validator: function validator26(val) {
        if (!val)
          return true;
        return ["default", "primary", "warning", "danger", "success"].includes(val);
      }
    },
    variant: {
      type: String,
      "default": "dark",
      validator: function validator27(val) {
        if (!val)
          return true;
        return ["dark", "light", "outline", "light-outline"].includes(val);
      }
    },
    onClick: Function,
    onClose: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _Tag = vue.defineComponent({
    name: "TTag",
    props: props$h,
    setup: function setup17(props2) {
      var _useConfig = useConfig("tag"), tagGlobalConfig = _useConfig.globalConfig;
      var COMPONENT_NAME = usePrefixClass("tag");
      var _useGlobalIcon = useGlobalIcon({
        CloseIcon
      }), CloseIcon$1 = _useGlobalIcon.CloseIcon;
      var renderTNodeJSX3 = useTNodeJSX();
      var renderContent3 = useContent();
      var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
      var tagClass = vue.computed(function() {
        var _ref;
        return ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "--").concat(props2.theme), "".concat(COMPONENT_NAME.value, "--").concat(props2.variant), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--ellipsis"), props2.maxWidth), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--close"), props2.closable), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--disabled"), props2.disabled), _defineProperty$2(_ref, SIZE.value[props2.size], props2.size !== "medium"), _ref), props2.shape !== "square" && "".concat(COMPONENT_NAME.value, "--").concat(props2.shape)];
      });
      var tagStyle = vue.computed(function() {
        var maxWidth = props2.maxWidth;
        return props2.maxWidth ? {
          maxWidth: isNaN(Number(maxWidth)) ? String(maxWidth) : "".concat(maxWidth, "px")
        } : {};
      });
      var handleClick = function handleClick2(e) {
        var _props2$onClick;
        if (props2.disabled)
          return;
        (_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, {
          e
        });
      };
      var getCloseIcon = function getCloseIcon2() {
        if (!props2.closable)
          return null;
        var iconClassName = "".concat(COMPONENT_NAME.value, "__icon-close");
        if (tagGlobalConfig.value.closeIcon) {
          return vue.h(tagGlobalConfig.value.closeIcon(vue.h), {
            "class": iconClassName
          });
        }
        return vue.createVNode(CloseIcon$1, {
          "onClick": function onClick(_ref2) {
            var _props2$onClose;
            var e = _ref2.e;
            e.stopPropagation();
            (_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, {
              e
            });
          },
          "class": iconClassName
        }, null);
      };
      return function() {
        var closeIcon = getCloseIcon();
        var tagContent = renderContent3("default", "content");
        var icon = renderTNodeJSX3("icon");
        var title = isString_1(tagContent) ? tagContent : "";
        var titleAttribute = title && props2.maxWidth ? title : void 0;
        return vue.createVNode("span", {
          "class": tagClass.value,
          "style": tagStyle.value,
          "onClick": handleClick
        }, [icon, props2.maxWidth ? vue.createVNode("span", {
          "class": _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--text"), props2.maxWidth),
          "title": titleAttribute
        }, [tagContent]) : tagContent, !props2.disabled && closeIcon]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$g = {
    checked: {
      type: Boolean,
      "default": void 0
    },
    modelValue: {
      type: Boolean,
      "default": void 0
    },
    defaultChecked: Boolean,
    content: {
      type: [String, Number, Array, Function]
    },
    "default": {
      type: [String, Function]
    },
    disabled: Boolean,
    size: {
      type: String,
      "default": "medium",
      validator: function validator28(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    onChange: Function,
    onClick: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _CheckTag = vue.defineComponent({
    name: "TCheckTag",
    props: props$g,
    setup: function setup18(props2) {
      var COMPONENT_NAME = usePrefixClass("tag");
      var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
      var renderContent3 = useContent();
      var _toRefs = vue.toRefs(props2), checked = _toRefs.checked, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(checked, modelValue, props2.defaultChecked, props2.onChange, "checked"), _useVModel2 = _slicedToArray(_useVModel, 2), innerChecked = _useVModel2[0], setInnerChecked = _useVModel2[1];
      var tagClass = vue.computed(function() {
        var _ref;
        return ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "--check"), "".concat(COMPONENT_NAME.value, "--default"), SIZE.value[props2.size], (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--checked"), !props2.disabled && innerChecked.value), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--disabled"), props2.disabled), _ref)];
      });
      var handleClick = function handleClick2(e) {
        if (!props2.disabled) {
          var _props2$onClick;
          (_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, {
            e
          });
          setInnerChecked(!innerChecked.value);
        }
      };
      return function() {
        var tagContent = renderContent3("default", "content");
        return vue.createVNode("span", {
          "class": tagClass.value,
          "onClick": handleClick
        }, [tagContent]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Tag = withInstall(_Tag);
  withInstall(_CheckTag);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$H(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$G(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$H(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useTagList(props2) {
    var renderTNode = useTNodeJSX();
    var classPrefix = usePrefixClass();
    var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue, onRemove = _toRefs.onRemove, max3 = _toRefs.max, minCollapsedNum = _toRefs.minCollapsedNum, size = _toRefs.size, disabled = _toRefs.disabled, readonly = _toRefs.readonly, tagProps = _toRefs.tagProps, getDragProps = _toRefs.getDragProps;
    var _useVModel = useVModel(value, modelValue, props2.defaultValue || [], props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), tagValue = _useVModel2[0], setTagValue = _useVModel2[1];
    var oldInputValue = vue.ref();
    var _onClose = function onClose(p) {
      var _onRemove$value;
      var arr = _toConsumableArray(tagValue.value);
      arr.splice(p.index, 1);
      setTagValue(arr, _objectSpread$G({
        trigger: "tag-remove"
      }, p));
      (_onRemove$value = onRemove.value) === null || _onRemove$value === void 0 || _onRemove$value.call(onRemove, _objectSpread$G(_objectSpread$G({}, p), {}, {
        trigger: "tag-remove",
        value: arr
      }));
    };
    var clearAll = function clearAll2(context) {
      setTagValue([], {
        trigger: "clear",
        e: context.e
      });
    };
    var onInnerEnter = function onInnerEnter2(value2, context) {
      var _tagValue$value, _props$onEnter;
      var valueStr = value2 ? String(value2).trim() : "";
      var isLimitExceeded = max3 && ((_tagValue$value = tagValue.value) === null || _tagValue$value === void 0 ? void 0 : _tagValue$value.length) >= max3.value;
      var newValue = tagValue.value;
      if (!isLimitExceeded && valueStr) {
        newValue = tagValue.value instanceof Array ? tagValue.value.concat(String(valueStr)) : [valueStr];
        setTagValue(newValue, {
          trigger: "enter",
          index: newValue.length - 1,
          item: valueStr,
          e: context.e
        });
      }
      props2 === null || props2 === void 0 || (_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, newValue, _objectSpread$G(_objectSpread$G({}, context), {}, {
        inputValue: value2
      }));
    };
    var onInputBackspaceKeyUp = function onInputBackspaceKeyUp2(value2) {
      if (!tagValue.value || !tagValue.value.length)
        return;
      oldInputValue.value = value2;
    };
    var onInputBackspaceKeyDown = function onInputBackspaceKeyDown2(value2, context) {
      var e = context.e;
      if (!tagValue.value || !tagValue.value.length || e.key === "Process")
        return;
      var isDelete = /(Backspace|NumpadDelete)/i.test(e.code) || /(Backspace|NumpadDelete)/i.test(e.key);
      if (!value2 && isDelete) {
        var _onRemove$value2;
        var index2 = tagValue.value.length - 1;
        var item = tagValue.value[index2];
        var trigger = "backspace";
        var newValue = tagValue.value.slice(0, -1);
        setTagValue(newValue, {
          e,
          index: index2,
          item,
          trigger
        });
        (_onRemove$value2 = onRemove.value) === null || _onRemove$value2 === void 0 || _onRemove$value2.call(onRemove, {
          e,
          index: index2,
          item,
          trigger,
          value: newValue
        });
      }
      oldInputValue.value = value2;
    };
    var renderLabel = function renderLabel2(_ref) {
      var _newList$map;
      var displayNode = _ref.displayNode, label = _ref.label;
      var newList = minCollapsedNum.value ? tagValue.value.slice(0, minCollapsedNum.value) : tagValue.value;
      var list = displayNode ? [displayNode] : (newList === null || newList === void 0 || (_newList$map = newList.map) === null || _newList$map === void 0 ? void 0 : _newList$map.call(newList, function(item, index2) {
        var _getDragProps$value;
        var tagContent = renderTNode("tag", {
          params: {
            value: item
          }
        });
        return vue.createVNode(Tag, vue.mergeProps({
          "key": "".concat(item).concat(index2),
          "size": size.value,
          "disabled": disabled.value,
          "onClose": function onClose(context) {
            return _onClose({
              e: context.e,
              item,
              index: index2
            });
          },
          "closable": !readonly.value && !disabled.value
        }, (_getDragProps$value = getDragProps.value) === null || _getDragProps$value === void 0 ? void 0 : _getDragProps$value.call(getDragProps, index2, item), tagProps.value), {
          "default": function _default16() {
            return [tagContent !== null && tagContent !== void 0 ? tagContent : item];
          }
        });
      })) || [];
      if (![null, void 0, ""].includes(label)) {
        list.unshift(vue.createVNode("div", {
          "class": "".concat(classPrefix.value, "-tag-input__prefix"),
          "key": "label"
        }, [label]));
      }
      if (newList.length !== (tagValue.value || []).length) {
        var len2 = tagValue.value.length - newList.length;
        var more = renderTNode("collapsedItems", {
          params: {
            value: tagValue.value,
            count: tagValue.value.length - minCollapsedNum.value,
            collapsedTags: tagValue.value.slice(minCollapsedNum.value, tagValue.value.length),
            collapsedSelectedItems: tagValue.value.slice(minCollapsedNum.value, tagValue.value.length)
          }
        });
        list.push(more !== null && more !== void 0 ? more : vue.createVNode(Tag, {
          "key": "more"
        }, {
          "default": function _default16() {
            return ["+", len2];
          }
        }));
      }
      return list;
    };
    return {
      tagValue,
      clearAll,
      onClose: _onClose,
      onInnerEnter,
      onInputBackspaceKeyUp,
      onInputBackspaceKeyDown,
      renderLabel
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useHover(props2) {
    var disabled = props2.disabled, readonly = props2.readonly, onMouseenter = props2.onMouseenter, onMouseleave = props2.onMouseleave;
    var isHover = vue.ref(false);
    var addHover = function addHover2(context) {
      if (readonly || disabled)
        return;
      isHover.value = true;
      onMouseenter === null || onMouseenter === void 0 || onMouseenter(context);
    };
    var cancelHover = function cancelHover2(context) {
      if (readonly || disabled)
        return;
      isHover.value = false;
      onMouseleave === null || onMouseleave === void 0 || onMouseleave(context);
    };
    return {
      isHover,
      addHover,
      cancelHover
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useDragSorter(props2) {
    var sortOnDraggable = props2.sortOnDraggable, onDragSort = props2.onDragSort, onDragOverCheck = props2.onDragOverCheck;
    var draggingIndex = vue.ref(-1);
    var dragStartData = vue.ref(null);
    var isDropped = vue.ref(null);
    var startInfo = vue.reactive({
      nodeX: 0,
      nodeWidth: 0,
      mouseX: 0
    });
    var onDragOver = function onDragOver2(e, index2, record) {
      e.preventDefault();
      if (draggingIndex.value === index2 || draggingIndex.value === -1)
        return;
      var target = e.target;
      if (onDragOverCheck !== null && onDragOverCheck !== void 0 && onDragOverCheck.targetClassNameRegExp && !(onDragOverCheck !== null && onDragOverCheck !== void 0 && onDragOverCheck.targetClassNameRegExp.test(target.className))) {
        return;
      }
      if (onDragOverCheck !== null && onDragOverCheck !== void 0 && onDragOverCheck.x && target) {
        if (!startInfo.nodeWidth)
          return;
        var _target$getBoundingCl = target.getBoundingClientRect(), x = _target$getBoundingCl.x, width = _target$getBoundingCl.width;
        var targetNodeMiddleX = x + width / 2;
        var draggingNodeLeft = e.clientX - (startInfo.mouseX - startInfo.nodeX);
        var draggingNodeRight = draggingNodeLeft + startInfo.nodeWidth;
        var overlap = false;
        if (draggingNodeLeft > x && draggingNodeLeft < x + width) {
          overlap = draggingNodeLeft < targetNodeMiddleX;
        } else {
          overlap = draggingNodeRight > targetNodeMiddleX;
        }
        if (!overlap)
          return;
      }
      onDragSort === null || onDragSort === void 0 || onDragSort({
        currentIndex: draggingIndex.value,
        current: dragStartData,
        target: record,
        targetIndex: index2
      });
      draggingIndex.value = index2;
    };
    if (!sortOnDraggable) {
      return {};
    }
    function onDragStart(e, index2, record) {
      draggingIndex.value = index2;
      dragStartData.value = record;
      var target = e.target;
      if (onDragOverCheck && target) {
        var _target$getBoundingCl2 = target.getBoundingClientRect(), x = _target$getBoundingCl2.x, width = _target$getBoundingCl2.width;
        startInfo.nodeX = x;
        startInfo.nodeWidth = width;
        startInfo.mouseX = e.clientX;
      }
    }
    function _onDrop2() {
      isDropped.value = true;
    }
    function onDragEnd() {
      if (!isDropped.value)
        ;
      isDropped.value = false;
      draggingIndex.value = -1;
      dragStartData.value = null;
    }
    function getDragProps(index2, record) {
      if (sortOnDraggable) {
        return {
          draggable: true,
          onDragstart: function onDragstart(e) {
            onDragStart(e, index2, record);
          },
          onDragover: function onDragover(e) {
            onDragOver(e, index2, record);
          },
          onDrop: function onDrop() {
            _onDrop2();
          },
          onDragend: function onDragend() {
            onDragEnd();
          }
        };
      }
      return {};
    }
    return {
      onDragStart,
      onDragOver,
      onDrop: _onDrop2,
      onDragEnd,
      getDragProps,
      dragging: draggingIndex.value !== -1
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$G(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$F(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$G(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var useComponentClassName$1 = function useComponentClassName2() {
    return {
      NAME_CLASS: usePrefixClass("tag-input"),
      CLEAR_CLASS: usePrefixClass("tag-input__suffix-clear"),
      BREAK_LINE_CLASS: usePrefixClass("tag-input--break-line")
    };
  };
  var _TagInput = vue.defineComponent({
    name: "TTagInput",
    props: _objectSpread$F({}, props$i),
    setup: function setup19(props2) {
      var _useComponentClassNam = useComponentClassName$1(), NAME_CLASS = _useComponentClassNam.NAME_CLASS, CLEAR_CLASS = _useComponentClassNam.CLEAR_CLASS, BREAK_LINE_CLASS = _useComponentClassNam.BREAK_LINE_CLASS;
      var _useGlobalIcon = useGlobalIcon({
        CloseCircleFilledIcon
      }), CloseCircleFilledIcon$1 = _useGlobalIcon.CloseCircleFilledIcon;
      var _toRefs = vue.toRefs(props2), inputValue = _toRefs.inputValue, inputProps = _toRefs.inputProps;
      var _useDefault = useDefaultValue(inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefault2 = _slicedToArray(_useDefault, 2), tInputValue = _useDefault2[0], setTInputValue = _useDefault2[1];
      var _toRefs2 = vue.toRefs(props2), excessTagsDisplayType = _toRefs2.excessTagsDisplayType, readonly = _toRefs2.readonly, disabled = _toRefs2.disabled, clearable = _toRefs2.clearable, placeholder = _toRefs2.placeholder;
      var _useHover = useHover({
        readonly: props2.readonly,
        disabled: props2.disabled,
        onMouseenter: props2.onMouseenter,
        onMouseleave: props2.onMouseleave
      }), isHover = _useHover.isHover, addHover = _useHover.addHover, cancelHover = _useHover.cancelHover;
      var isComposition = vue.ref(false);
      var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix;
      var _useDragSorter = useDragSorter(_objectSpread$F(_objectSpread$F({}, props2), {}, {
        sortOnDraggable: props2.dragSort,
        onDragOverCheck: {
          x: true,
          targetClassNameRegExp: new RegExp("^".concat(classPrefix.value, "-tag"))
        }
      })), getDragProps = _useDragSorter.getDragProps;
      var _useTagScroll = useTagScroll(props2), scrollToRight = _useTagScroll.scrollToRight, onWheel = _useTagScroll.onWheel, scrollToRightOnEnter = _useTagScroll.scrollToRightOnEnter, scrollToLeftOnLeave = _useTagScroll.scrollToLeftOnLeave, tagInputRef = _useTagScroll.tagInputRef;
      var _useTagList = useTagList(vue.reactive(_objectSpread$F(_objectSpread$F({}, vue.toRefs(props2)), {}, {
        getDragProps
      }))), tagValue = _useTagList.tagValue, onInnerEnter = _useTagList.onInnerEnter, onInputBackspaceKeyUp = _useTagList.onInputBackspaceKeyUp, onInputBackspaceKeyDown = _useTagList.onInputBackspaceKeyDown, clearAll = _useTagList.clearAll, renderLabel = _useTagList.renderLabel, onClose = _useTagList.onClose;
      var classes = vue.computed(function() {
        var _ref;
        var isEmpty2 = !(isArray_1(tagValue.value) && tagValue.value.length);
        return [NAME_CLASS.value, (_ref = {}, _defineProperty$2(_ref, BREAK_LINE_CLASS.value, excessTagsDisplayType.value === "break-line"), _defineProperty$2(_ref, "".concat(classPrefix.value, "-is-empty"), isEmpty2), _defineProperty$2(_ref, "".concat(classPrefix.value, "-tag-input--with-tag"), !isEmpty2), _ref)];
      });
      var tagInputPlaceholder = vue.computed(function() {
        var _tagValue$value;
        return !((_tagValue$value = tagValue.value) !== null && _tagValue$value !== void 0 && _tagValue$value.length) ? placeholder.value : "";
      });
      var showClearIcon = vue.computed(function() {
        var _tagValue$value2;
        return Boolean(!readonly.value && !disabled.value && clearable.value && isHover.value && (((_tagValue$value2 = tagValue.value) === null || _tagValue$value2 === void 0 ? void 0 : _tagValue$value2.length) || tInputValue.value));
      });
      var onInputEnter = function onInputEnter2(value, context) {
        var _context$e, _context$e$preventDef;
        (_context$e = context.e) === null || _context$e === void 0 || (_context$e$preventDef = _context$e.preventDefault) === null || _context$e$preventDef === void 0 || _context$e$preventDef.call(_context$e);
        setTInputValue("", {
          e: context.e,
          trigger: "enter"
        });
        !isComposition.value && onInnerEnter(value, context);
        vue.nextTick(function() {
          scrollToRight();
          isComposition.value = false;
        });
      };
      var onInputCompositionstart = function onInputCompositionstart2(value, context) {
        var _inputProps$value, _inputProps$value$onC;
        isComposition.value = true;
        (_inputProps$value = inputProps.value) === null || _inputProps$value === void 0 || (_inputProps$value$onC = _inputProps$value.onCompositionstart) === null || _inputProps$value$onC === void 0 || _inputProps$value$onC.call(_inputProps$value, value, context);
      };
      var onInputCompositionend = function onInputCompositionend2(value, context) {
        var _inputProps$value2, _inputProps$value2$on;
        isComposition.value = false;
        (_inputProps$value2 = inputProps.value) === null || _inputProps$value2 === void 0 || (_inputProps$value2$on = _inputProps$value2.onCompositionend) === null || _inputProps$value2$on === void 0 || _inputProps$value2$on.call(_inputProps$value2, value, context);
      };
      var onClick = function onClick2(ctx) {
        var _props2$onClick;
        tagInputRef.value.focus();
        (_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, ctx);
      };
      var onClearClick = function onClearClick2(context) {
        var _props2$onClear;
        clearAll(context);
        setTInputValue("", {
          e: context.e,
          trigger: "clear"
        });
        (_props2$onClear = props2.onClear) === null || _props2$onClear === void 0 || _props2$onClear.call(props2, context);
      };
      var focus = function focus2() {
        tagInputRef.value.focus();
      };
      return {
        CLEAR_CLASS,
        CloseCircleFilledIcon: CloseCircleFilledIcon$1,
        tagValue,
        tInputValue,
        isHover,
        tagInputPlaceholder,
        showClearIcon,
        tagInputRef,
        classPrefix,
        setTInputValue,
        addHover,
        cancelHover,
        onInputEnter,
        onInnerEnter,
        onInputBackspaceKeyUp,
        onInputBackspaceKeyDown,
        renderLabel,
        onWheel,
        scrollToRightOnEnter,
        scrollToLeftOnLeave,
        onClick,
        onClearClick,
        onClose,
        onInputCompositionstart,
        onInputCompositionend,
        focus,
        classes
      };
    },
    render: function render5() {
      var _this = this, _this$inputProps, _this$tagValue;
      var CloseCircleFilledIcon2 = this.CloseCircleFilledIcon;
      var suffixIconNode = this.showClearIcon ? vue.createVNode(CloseCircleFilledIcon2, {
        "class": this.CLEAR_CLASS,
        "onClick": this.onClearClick
      }, null) : renderTNodeJSX(this, "suffixIcon");
      var prefixIconNode = renderTNodeJSX(this, "prefixIcon");
      var suffixClass = "".concat(this.classPrefix, "-tag-input__with-suffix-icon");
      if (suffixIconNode && !this.classes.includes(suffixClass)) {
        this.classes.push(suffixClass);
      }
      var displayNode = renderTNodeJSX(this, "valueDisplay", {
        params: {
          value: this.tagValue,
          onClose: function onClose(index2, item) {
            return _this.onClose({
              index: index2,
              item
            });
          }
        }
      });
      var _label = renderTNodeJSX(this, "label", {
        silent: true
      });
      return vue.createVNode(Input, vue.mergeProps({
        "ref": "tagInputRef",
        "readonly": this.readonly,
        "value": this.tInputValue,
        "autoWidth": true,
        "size": this.size,
        "disabled": this.disabled,
        "label": function label() {
          return _this.renderLabel({
            displayNode,
            label: _label
          });
        },
        "class": this.classes,
        "tips": this.tips,
        "status": this.status,
        "placeholder": this.tagInputPlaceholder,
        "suffix": this.suffix,
        "suffixIcon": function suffixIcon() {
          return suffixIconNode;
        },
        "prefixIcon": function prefixIcon() {
          return prefixIconNode;
        },
        "showInput": !((_this$inputProps = this.inputProps) !== null && _this$inputProps !== void 0 && _this$inputProps.readonly) || !this.tagValue || !((_this$tagValue = this.tagValue) !== null && _this$tagValue !== void 0 && _this$tagValue.length),
        "keepWrapperWidth": !this.autoWidth,
        "onWheel": this.onWheel,
        "onChange": function onChange(val, context) {
          _this.setTInputValue(val, _objectSpread$F(_objectSpread$F({}, context), {}, {
            trigger: "input"
          }));
        },
        "onPaste": this.onPaste,
        "onEnter": this.onInputEnter,
        "onKeyup": this.onInputBackspaceKeyUp,
        "onKeydown": this.onInputBackspaceKeyDown,
        "onMouseenter": function onMouseenter(context) {
          _this.addHover(context);
          _this.scrollToRightOnEnter();
        },
        "onMouseleave": function onMouseleave(context) {
          _this.cancelHover(context);
          _this.scrollToLeftOnLeave();
        },
        "onFocus": function onFocus(inputValue, context) {
          var _this$onFocus;
          (_this$onFocus = _this.onFocus) === null || _this$onFocus === void 0 || _this$onFocus.call(_this, _this.tagValue, {
            e: context.e,
            inputValue
          });
        },
        "onBlur": function onBlur(inputValue, context) {
          var _this$onBlur;
          _this.setTInputValue("", {
            e: context.e,
            trigger: "blur"
          });
          (_this$onBlur = _this.onBlur) === null || _this$onBlur === void 0 || _this$onBlur.call(_this, _this.tagValue, {
            e: context.e,
            inputValue: ""
          });
        },
        "onClick": this.onClick,
        "onCompositionstart": this.onInputCompositionstart,
        "onCompositionend": this.onInputCompositionend
      }, this.inputProps), {
        suffix: this.$slots.suffix
      });
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var TagInput = withInstall(_TagInput);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded$5 = ["tips"];
  function ownKeys$F(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$E(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$F(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$F(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var DEFAULT_KEYS = {
    label: "label",
    key: "key",
    children: "children"
  };
  function useMultiple(props2, context) {
    var _toRefs = vue.toRefs(props2), inputValue = _toRefs.inputValue;
    var classPrefix = usePrefixClass();
    var tagInputRef = vue.ref();
    var _useDefault = useDefaultValue(inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefault2 = _slicedToArray(_useDefault, 2), tInputValue = _useDefault2[0], setTInputValue = _useDefault2[1];
    var disable = useFormDisabled();
    var iKeys = vue.computed(function() {
      return _objectSpread$E(_objectSpread$E({}, DEFAULT_KEYS), props2.keys);
    });
    var tags = vue.computed(function() {
      if (!(props2.value instanceof Array)) {
        return isObject_1(props2.value) ? [props2.value[iKeys.value.label]] : [props2.value];
      }
      return props2.value.map(function(item) {
        return isObject_1(item) ? item[iKeys.value.label] : item;
      });
    });
    var tPlaceholder = vue.computed(function() {
      return !tags.value || !tags.value.length ? props2.placeholder : "";
    });
    var onTagInputChange = function onTagInputChange2(val, context2) {
      var _props$onTagChange;
      if (context2.trigger === "tag-remove") {
        var _context2$e;
        (_context2$e = context2.e) === null || _context2$e === void 0 || _context2$e.stopPropagation();
      }
      (_props$onTagChange = props2.onTagChange) === null || _props$onTagChange === void 0 || _props$onTagChange.call(props2, val, context2);
    };
    var renderSelectMultiple = function renderSelectMultiple2(p) {
      var tagInputProps = _objectSpread$E(_objectSpread$E({}, p.commonInputProps), {}, {
        tagProps: props2.tagProps,
        label: props2.label,
        autoWidth: props2.autoWidth,
        readonly: props2.readonly,
        placeholder: tPlaceholder.value,
        minCollapsedNum: props2.minCollapsedNum,
        collapsedItems: props2.collapsedItems,
        tag: props2.tag,
        value: tags.value,
        valueDisplay: props2.valueDisplay,
        inputValue: p.popupVisible && p.allowInput ? tInputValue.value : "",
        inputProps: _objectSpread$E({
          readonly: !props2.allowInput || props2.readonly,
          inputClass: _defineProperty$2({}, "".concat(classPrefix.value, "-input--focused"), p.popupVisible)
        }, props2.inputProps),
        suffixIcon: !disable.value && props2.loading ? function() {
          return vue.createVNode(Loading, {
            "loading": true,
            "size": "small"
          }, null);
        } : props2.suffixIcon
      }, props2.tagInputProps);
      var _context$slots = context.slots;
      _context$slots.tips;
      var slots = _objectWithoutProperties$1(_context$slots, _excluded$5);
      return vue.createVNode(TagInput, vue.mergeProps({
        "ref": "tagInputRef"
      }, tagInputProps, {
        "onInputChange": function onInputChange(val, context2) {
          if ((context2 === null || context2 === void 0 ? void 0 : context2.trigger) === "enter" || (context2 === null || context2 === void 0 ? void 0 : context2.trigger) === "blur")
            return;
          setTInputValue(val, {
            trigger: context2.trigger,
            e: context2.e
          });
        },
        "onChange": onTagInputChange,
        "onClear": p.onInnerClear,
        "onBlur": function onBlur(val, context2) {
          var _props$onBlur;
          (_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, props2.value, _objectSpread$E(_objectSpread$E({}, context2), {}, {
            tagInputValue: val
          }));
        },
        "onEnter": function onEnter(val, context2) {
          var _props$onEnter;
          (_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, props2.value, _objectSpread$E(_objectSpread$E({}, context2), {}, {
            inputValue: tInputValue.value
          }));
        },
        "onFocus": function onFocus(val, context2) {
          var _props$onFocus;
          (_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, props2.value, _objectSpread$E(_objectSpread$E({}, context2), {}, {
            tagInputValue: val
          }));
        }
      }), slots);
    };
    return {
      tags,
      tPlaceholder,
      tagInputRef,
      renderSelectMultiple
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$E(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$D(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$E(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var MAX_POPUP_WIDTH = 1e3;
  var RESERVE_WIDTH = 0;
  function useOverlayInnerStyle(props2) {
    var _toRefs = vue.toRefs(props2), popupProps2 = _toRefs.popupProps, autoWidth = _toRefs.autoWidth;
    var innerPopupVisible = vue.ref(false);
    var disable = useFormDisabled();
    var matchWidthFunc = function matchWidthFunc2(triggerElement, popupElement) {
      var SCROLLBAR_WIDTH = popupElement.scrollHeight > popupElement.offsetHeight ? RESERVE_WIDTH : 0;
      var width = popupElement.offsetWidth + SCROLLBAR_WIDTH >= triggerElement.offsetWidth ? popupElement.offsetWidth : triggerElement.offsetWidth;
      var otherOverlayInnerStyle = {};
      if (popupProps2.value && _typeof$2(popupProps2.value.overlayInnerStyle) === "object" && !popupProps2.value.overlayInnerStyle.width) {
        otherOverlayInnerStyle = popupProps2.value.overlayInnerStyle;
      }
      return _objectSpread$D({
        width: "".concat(Math.min(width, MAX_POPUP_WIDTH), "px")
      }, otherOverlayInnerStyle);
    };
    var onInnerPopupVisibleChange = function onInnerPopupVisibleChange2(visible, context) {
      if (disable.value || props2.readonly)
        return;
      var newVisible = context.trigger === "trigger-element-click" && props2.allowInput ? true : visible;
      if (props2.popupVisible !== newVisible) {
        var _props$onPopupVisible;
        innerPopupVisible.value = newVisible;
        (_props$onPopupVisible = props2.onPopupVisibleChange) === null || _props$onPopupVisible === void 0 || _props$onPopupVisible.call(props2, newVisible, context);
      }
    };
    var getAutoWidthPopupStyleWidth = function getAutoWidthPopupStyleWidth2(triggerElement, popupElement) {
      var _popupProps$value;
      return _objectSpread$D({
        width: "".concat(Math.max(triggerElement.offsetWidth, popupElement.offsetWidth), "px")
      }, (_popupProps$value = popupProps2.value) === null || _popupProps$value === void 0 ? void 0 : _popupProps$value.overlayInnerStyle);
    };
    var tOverlayInnerStyle = vue.computed(function() {
      var _popupProps$value2;
      var result = {};
      var overlayInnerStyle = ((_popupProps$value2 = popupProps2.value) === null || _popupProps$value2 === void 0 ? void 0 : _popupProps$value2.overlayInnerStyle) || {};
      if (isFunction_1(overlayInnerStyle) || isObject_1(overlayInnerStyle) && overlayInnerStyle.width) {
        result = overlayInnerStyle;
      } else {
        if (autoWidth.value) {
          result = getAutoWidthPopupStyleWidth;
        } else {
          result = matchWidthFunc;
        }
      }
      return result;
    });
    return {
      tOverlayInnerStyle,
      innerPopupVisible,
      onInnerPopupVisibleChange
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$D(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$C(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$D(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var useComponentClassName3 = function useComponentClassName4() {
    return {
      NAME_CLASS: usePrefixClass("select-input"),
      BASE_CLASS_BORDERLESS: usePrefixClass("select-input--borderless"),
      BASE_CLASS_MULTIPLE: usePrefixClass("select-input--multiple"),
      BASE_CLASS_POPUP_VISIBLE: usePrefixClass("select-input--popup-visible"),
      BASE_CLASS_EMPTY: usePrefixClass("select-input--empty")
    };
  };
  var _SelectInput = vue.defineComponent({
    name: "TSelectInput",
    props: _objectSpread$C({}, props$j),
    setup: function setup20(props2, context) {
      var _useComponentClassNam = useComponentClassName3(), NAME_CLASS = _useComponentClassNam.NAME_CLASS, BASE_CLASS_BORDERLESS = _useComponentClassNam.BASE_CLASS_BORDERLESS, BASE_CLASS_MULTIPLE = _useComponentClassNam.BASE_CLASS_MULTIPLE, BASE_CLASS_POPUP_VISIBLE = _useComponentClassNam.BASE_CLASS_POPUP_VISIBLE, BASE_CLASS_EMPTY = _useComponentClassNam.BASE_CLASS_EMPTY;
      var classPrefix = usePrefixClass();
      var renderTNodeJSX3 = useTNodeJSX();
      var selectInputRef = vue.ref();
      var popupRef = vue.ref();
      var _toRefs = vue.toRefs(props2), multiple = _toRefs.multiple, value = _toRefs.value, popupVisible = _toRefs.popupVisible, borderless = _toRefs.borderless;
      var _useSingle = useSingle(props2, context), commonInputProps = _useSingle.commonInputProps, onInnerClear = _useSingle.onInnerClear, renderSelectSingle = _useSingle.renderSelectSingle;
      var _useMultiple = useMultiple(props2, context), renderSelectMultiple = _useMultiple.renderSelectMultiple;
      var _useOverlayInnerStyle = useOverlayInnerStyle(props2), tOverlayInnerStyle = _useOverlayInnerStyle.tOverlayInnerStyle, innerPopupVisible = _useOverlayInnerStyle.innerPopupVisible, onInnerPopupVisibleChange = _useOverlayInnerStyle.onInnerPopupVisibleChange;
      var classes = vue.computed(function() {
        var _popupVisible$value, _ref;
        return ["".concat(NAME_CLASS.value), (_ref = {}, _defineProperty$2(_ref, BASE_CLASS_MULTIPLE.value, multiple.value), _defineProperty$2(_ref, BASE_CLASS_BORDERLESS.value, borderless.value), _defineProperty$2(_ref, BASE_CLASS_POPUP_VISIBLE.value, (_popupVisible$value = popupVisible.value) !== null && _popupVisible$value !== void 0 ? _popupVisible$value : innerPopupVisible.value), _defineProperty$2(_ref, BASE_CLASS_EMPTY.value, value.value instanceof Array ? !value.value.length : !value.value), _ref)];
      });
      return {
        classPrefix,
        NAME_CLASS,
        innerPopupVisible,
        commonInputProps,
        tOverlayInnerStyle,
        selectInputRef,
        popupRef,
        classes,
        onInnerClear,
        renderTNodeJSX: renderTNodeJSX3,
        renderSelectSingle,
        renderSelectMultiple,
        onInnerPopupVisibleChange
      };
    },
    render: function render6() {
      var _this$popupVisible, _this$popupProps, _this = this;
      var visibleProps = {
        visible: (_this$popupVisible = this.popupVisible) !== null && _this$popupVisible !== void 0 ? _this$popupVisible : this.innerPopupVisible
      };
      var mainContent = vue.createVNode(Popup, vue.mergeProps({
        "ref": "popupRef",
        "trigger": ((_this$popupProps = this.popupProps) === null || _this$popupProps === void 0 ? void 0 : _this$popupProps.trigger) || "click",
        "placement": "bottom-left"
      }, visibleProps, {
        "content": this.panel,
        "hideEmptyPopup": true
      }, _objectSpread$C(_objectSpread$C({
        onVisibleChange: this.onInnerPopupVisibleChange
      }, this.popupProps), {}, {
        overlayInnerStyle: this.tOverlayInnerStyle
      })), _objectSpread$C({
        "default": function _default16() {
          return [_this.multiple ? _this.renderSelectMultiple({
            commonInputProps: _this.commonInputProps,
            onInnerClear: _this.onInnerClear,
            popupVisible: visibleProps.visible,
            allowInput: _this.allowInput
          }) : _this.renderSelectSingle(visibleProps.visible)];
        }
      }, _objectSpread$C(_objectSpread$C({}, this.$slots), {}, {
        content: this.$slots.panel
      })));
      var tipsNode = this.renderTNodeJSX("tips");
      var tipsClasses = ["".concat(this.classPrefix, "-input__tips"), "".concat(this.classPrefix, "-tips"), "".concat(this.classPrefix, "-is-").concat(this.status)];
      return vue.createVNode("div", {
        "ref": "selectInputRef",
        "class": this.classes
      }, [mainContent, tipsNode && vue.createVNode("div", {
        "class": tipsClasses
      }, [tipsNode])]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var SelectInput = withInstall(_SelectInput);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$f = {
    checkAll: Boolean,
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    disabled: Boolean,
    label: {
      type: String,
      "default": ""
    },
    title: {
      type: String,
      "default": ""
    },
    value: {
      type: [String, Number]
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$e = {
    checkAll: Boolean,
    checked: {
      type: Boolean,
      "default": void 0
    },
    modelValue: {
      type: Boolean,
      "default": void 0
    },
    defaultChecked: Boolean,
    "default": {
      type: [String, Function]
    },
    disabled: {
      type: Boolean,
      "default": void 0
    },
    indeterminate: Boolean,
    label: {
      type: [String, Function]
    },
    lazyLoad: Boolean,
    name: {
      type: String,
      "default": ""
    },
    readonly: Boolean,
    value: {
      type: [String, Number, Boolean]
    },
    onChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var CheckboxGroupInjectionKey = Symbol("CheckboxGroupProvide");
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function observe(element2, root2, callback, marginBottom) {
    if (typeof window === "undefined")
      return null;
    if (!window || !window.IntersectionObserver) {
      callback();
      return null;
    }
    var io = null;
    try {
      io = new window.IntersectionObserver(function(entries) {
        var entry = entries[0];
        if (entry.isIntersecting) {
          callback();
          io.unobserve(element2);
        }
      }, {
        rootMargin: "0px 0px ".concat(marginBottom, "px 0px"),
        root: root2
      });
      io.observe(element2);
    } catch (e) {
      console.error(e);
      callback();
    }
    return io;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useCheckboxLazyLoad(labelRef, lazyLoad) {
    var ioObserver = vue.ref();
    var showCheckbox = vue.ref(true);
    var handleLazyLoad = function handleLazyLoad2() {
      if (!lazyLoad.value)
        return;
      showCheckbox.value = false;
      var io = observe(labelRef.value, null, function() {
        showCheckbox.value = true;
      }, 0);
      ioObserver.value = io;
    };
    vue.onMounted(handleLazyLoad);
    vue.watch([lazyLoad, labelRef], handleLazyLoad);
    vue.onBeforeUnmount(function() {
      if (!lazyLoad.value)
        return;
      ioObserver.value.unobserve(labelRef.value);
    });
    return {
      showCheckbox
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var CHECKED_CODE_REG = /(enter|space)/i;
  function useKeyboardEvent(handleChange) {
    var keyboardEventListener = function keyboardEventListener2(e) {
      var isCheckedCode = CHECKED_CODE_REG.test(e.key) || CHECKED_CODE_REG.test(e.code);
      if (isCheckedCode) {
        e.preventDefault();
        var _e$currentTarget$quer = e.currentTarget.querySelector("input"), disabled = _e$currentTarget$quer.disabled;
        !disabled && handleChange(e);
      }
    };
    var onCheckboxFocus = function onCheckboxFocus2(e) {
      e.currentTarget.addEventListener("keydown", keyboardEventListener);
    };
    var onCheckboxBlur = function onCheckboxBlur2(e) {
      e.currentTarget.removeEventListener("keydown", keyboardEventListener);
    };
    return {
      onCheckboxFocus,
      onCheckboxBlur
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$C(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$B(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$C(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _Checkbox = vue.defineComponent({
    name: "TCheckbox",
    props: _objectSpread$B(_objectSpread$B({}, props$e), {}, {
      needRipple: Boolean,
      stopLabelTrigger: Boolean,
      index: Number,
      data: Object
    }),
    setup: function setup21(props2) {
      var labelRef = vue.ref();
      if (props2.needRipple) {
        useRipple(labelRef);
      }
      var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS;
      var _toRefs = vue.toRefs(props2), checked = _toRefs.checked, modelValue = _toRefs.modelValue, lazyLoad = _toRefs.lazyLoad;
      var _useVModel = useVModel(checked, modelValue, props2.defaultChecked, props2.onChange, "checked"), _useVModel2 = _slicedToArray(_useVModel, 2), innerChecked = _useVModel2[0], setInnerChecked = _useVModel2[1];
      var checkboxGroupData = vue.inject(CheckboxGroupInjectionKey, void 0);
      var tName = vue.ref();
      vue.watch(function() {
        return [props2.name, checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.name].join("_");
      }, function() {
        var name = props2.name || (checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.name);
        if (name) {
          tName.value = name;
        }
      }, {
        immediate: true
      });
      var tChecked = vue.ref(false);
      var getChecked = function getChecked2() {
        var value = props2.value, checkAll = props2.checkAll;
        if (checkAll)
          return checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.isCheckAll;
        return checkboxGroupData !== null && checkboxGroupData !== void 0 && checkboxGroupData.value ? checkboxGroupData.value.checkedValues.includes(value) : innerChecked.value;
      };
      vue.watch(function() {
        var _checkboxGroupData$va;
        return [innerChecked.value, checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.isCheckAll, checkboxGroupData === null || checkboxGroupData === void 0 || (_checkboxGroupData$va = checkboxGroupData.value.checkedValues) === null || _checkboxGroupData$va === void 0 ? void 0 : _checkboxGroupData$va.join(",")];
      }, function() {
        tChecked.value = getChecked();
      }, {
        immediate: true
      });
      var beforeDisabled = vue.computed(function() {
        if (!props2.checkAll && !tChecked.value && checkboxGroupData !== null && checkboxGroupData !== void 0 && checkboxGroupData.value.maxExceeded) {
          return true;
        }
        return null;
      });
      var afterDisabled = vue.computed(function() {
        return checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.disabled;
      });
      var isDisabled = useDisabled({
        beforeDisabled,
        afterDisabled
      });
      var tIndeterminate = vue.ref(false);
      vue.watch(function() {
        return [props2.checkAll, props2.indeterminate, checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.indeterminate];
      }, function() {
        tIndeterminate.value = props2.checkAll ? checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.indeterminate : props2.indeterminate;
      }, {
        immediate: true
      });
      var COMPONENT_NAME = usePrefixClass("checkbox");
      var labelClasses = vue.ref({});
      vue.watch([tChecked, isDisabled, tIndeterminate], function() {
        var _ref;
        labelClasses.value = ["".concat(COMPONENT_NAME.value), (_ref = {}, _defineProperty$2(_ref, STATUS.value.checked, tChecked.value), _defineProperty$2(_ref, STATUS.value.disabled, isDisabled.value), _defineProperty$2(_ref, STATUS.value.indeterminate, tIndeterminate.value), _ref)];
      }, {
        immediate: true
      });
      var handleChange = function handleChange2(e) {
        if (props2.readonly)
          return;
        var checked2 = !tChecked.value;
        setInnerChecked(checked2, {
          e
        });
        if (checkboxGroupData !== null && checkboxGroupData !== void 0 && checkboxGroupData.value.handleCheckboxChange) {
          checkboxGroupData.value.onCheckedChange({
            checked: checked2,
            checkAll: props2.checkAll,
            e,
            option: props2
          });
        }
      };
      var renderContent3 = useContent();
      var handleLabelClick = function handleLabelClick2(e) {
        if (props2.stopLabelTrigger)
          e.preventDefault();
      };
      var _useCheckboxLazyLoad = useCheckboxLazyLoad(labelRef, lazyLoad), showCheckbox = _useCheckboxLazyLoad.showCheckbox;
      var _useKeyboard = useKeyboardEvent(handleChange), onCheckboxFocus = _useKeyboard.onCheckboxFocus, onCheckboxBlur = _useKeyboard.onCheckboxBlur;
      return function() {
        return vue.createVNode("label", {
          "ref": labelRef,
          "class": labelClasses.value,
          "tabindex": isDisabled.value ? void 0 : "0",
          "onFocus": onCheckboxFocus,
          "onBlur": onCheckboxBlur
        }, [!showCheckbox.value ? null : [vue.createVNode("input", {
          "type": "checkbox",
          "tabindex": "-1",
          "class": "".concat(COMPONENT_NAME.value, "__former"),
          "disabled": isDisabled.value,
          "readonly": props2.readonly,
          "indeterminate": tIndeterminate.value,
          "name": tName.value,
          "value": props2.value ? props2.value : void 0,
          "checked": tChecked.value,
          "onChange": handleChange,
          "key": "input"
        }, null), vue.createVNode("span", {
          "class": "".concat(COMPONENT_NAME.value, "__input"),
          "key": "input-span"
        }, null), vue.createVNode("span", {
          "class": "".concat(COMPONENT_NAME.value, "__label"),
          "key": "label",
          "onClick": handleLabelClick
        }, [renderContent3("default", "label")])]]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$d = {
    disabled: {
      type: Boolean,
      "default": void 0
    },
    lazyLoad: Boolean,
    max: {
      type: Number,
      "default": void 0
    },
    name: {
      type: String,
      "default": ""
    },
    options: {
      type: Array
    },
    value: {
      type: Array,
      "default": void 0
    },
    modelValue: {
      type: Array,
      "default": void 0
    },
    defaultValue: {
      type: Array,
      "default": function _default3() {
        return [];
      }
    },
    onChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _Group$1 = vue.defineComponent({
    name: "TCheckboxGroup",
    props: props$d,
    setup: function setup22(props2) {
      var COMPONENT_NAME = usePrefixClass("checkbox-group");
      var renderTNodeJSX3 = useTNodeJSX();
      var isArray2 = Array.isArray;
      var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
      var optionList = vue.ref([]);
      var intersectionLen = vue.computed(function() {
        if (!isArray2(innerValue.value))
          return 0;
        var values = optionList.value.map(function(item) {
          return item.value;
        });
        var n = intersection_1(innerValue.value, values);
        return n.length;
      });
      var isCheckAll = vue.computed(function() {
        var optionItems = optionList.value.filter(function(item) {
          return !item.disabled && !item.checkAll;
        }).map(function(t) {
          return t.value;
        });
        var intersectionValues = intersection_1(optionItems, innerValue.value);
        return intersectionValues.length === optionItems.length;
      });
      var indeterminate = vue.computed(function() {
        return !isCheckAll.value && intersectionLen.value < optionList.value.length && intersectionLen.value !== 0;
      });
      var maxExceeded = vue.computed(function() {
        return !isUndefined_1(props2.max) && innerValue.value.length === props2.max;
      });
      vue.watchEffect(function() {
        if (!props2.options)
          return [];
        optionList.value = props2.options.map(function(item) {
          return isObject_1(item) ? item : {
            label: String(item),
            value: item
          };
        });
      });
      var getAllCheckboxValue = function getAllCheckboxValue2() {
        var val = /* @__PURE__ */ new Set();
        for (var i = 0, len2 = optionList.value.length; i < len2; i++) {
          var item = optionList.value[i];
          if (item.checkAll)
            continue;
          if (item.disabled)
            continue;
          val.add(item.value);
          if (maxExceeded.value)
            break;
        }
        return _toConsumableArray(val);
      };
      var onCheckAllChange = function onCheckAllChange2(checked, context) {
        var value2 = checked ? getAllCheckboxValue() : [];
        setInnerValue(value2, {
          e: context.e,
          type: checked ? "check" : "uncheck",
          current: void 0,
          option: void 0
        });
      };
      var handleCheckboxChange = function handleCheckboxChange2(data2) {
        var currentValue = data2.option.value;
        if (!isArray2(innerValue.value)) {
          console.warn("TDesign CheckboxGroup Warn: `value` must be an array, instead of ".concat(_typeof$2(innerValue.value)));
          return;
        }
        var val = _toConsumableArray(innerValue.value);
        if (data2.checked) {
          val.push(currentValue);
        } else {
          var i = val.indexOf(currentValue);
          val.splice(i, 1);
        }
        setInnerValue(val, {
          e: data2.e,
          current: data2.option.value,
          option: data2.option,
          type: data2.checked ? "check" : "uncheck"
        });
      };
      var onCheckedChange = function onCheckedChange2(p) {
        var checked = p.checked, checkAll = p.checkAll, e = p.e;
        if (checkAll) {
          onCheckAllChange(checked, {
            e
          });
        } else {
          handleCheckboxChange(p);
        }
      };
      var getChildComponentSlots = useChildComponentSlots();
      var getOptionListBySlots = function getOptionListBySlots2() {
        var nodes = getChildComponentSlots("Checkbox");
        var arr = [];
        nodes === null || nodes === void 0 || nodes.forEach(function(node) {
          var option2 = node.props;
          if (!option2)
            return;
          if (option2["check-all"] === "" || option2["check-all"] === true) {
            option2.checkAll = true;
          }
          arr.push(option2);
        });
        return arr;
      };
      vue.provide(CheckboxGroupInjectionKey, vue.computed(function() {
        return {
          name: props2.name,
          isCheckAll: isCheckAll.value,
          checkedValues: innerValue.value || [],
          maxExceeded: maxExceeded.value,
          disabled: props2.disabled,
          indeterminate: indeterminate.value,
          handleCheckboxChange,
          onCheckedChange
        };
      }));
      return function() {
        var _props2$options;
        var children = null;
        if ((_props2$options = props2.options) !== null && _props2$options !== void 0 && _props2$options.length) {
          var _optionList$value;
          children = (_optionList$value = optionList.value) === null || _optionList$value === void 0 ? void 0 : _optionList$value.map(function(option2, index2) {
            var _innerValue$value;
            return vue.createVNode(_Checkbox, vue.mergeProps({
              "key": "".concat(option2.value || "").concat(index2),
              "lazyLoad": props2.lazyLoad
            }, option2, {
              "index": index2,
              "checked": (_innerValue$value = innerValue.value) === null || _innerValue$value === void 0 ? void 0 : _innerValue$value.includes(option2.value),
              "data": option2
            }), null);
          });
        } else {
          var nodes = renderTNodeJSX3("default");
          optionList.value = getOptionListBySlots();
          children = nodes;
        }
        return vue.createVNode("div", {
          "class": COMPONENT_NAME.value,
          "role": "group",
          "aria-label": "checkbox-group"
        }, [children]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Checkbox = withInstall(_Checkbox);
  var CheckboxGroup = withInstall(_Group$1);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _createForOfIteratorHelper$2(o, allowArrayLike) {
    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
    if (!it) {
      if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
        if (it)
          o = it;
        var i = 0;
        var F = function F2() {
        };
        return { s: F, n: function n() {
          if (i >= o.length)
            return { done: true };
          return { done: false, value: o[i++] };
        }, e: function e(_e) {
          throw _e;
        }, f: F };
      }
      throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    var normalCompletion = true, didErr = false, err;
    return { s: function s() {
      it = it.call(o);
    }, n: function n() {
      var step = it.next();
      normalCompletion = step.done;
      return step;
    }, e: function e(_e2) {
      didErr = true;
      err = _e2;
    }, f: function f() {
      try {
        if (!normalCompletion && it["return"] != null)
          it["return"]();
      } finally {
        if (didErr)
          throw err;
      }
    } };
  }
  function _unsupportedIterableToArray$2(o, minLen) {
    if (!o)
      return;
    if (typeof o === "string")
      return _arrayLikeToArray$2(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor)
      n = o.constructor.name;
    if (n === "Map" || n === "Set")
      return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
      return _arrayLikeToArray$2(o, minLen);
  }
  function _arrayLikeToArray$2(arr, len2) {
    if (len2 == null || len2 > arr.length)
      len2 = arr.length;
    for (var i = 0, arr2 = new Array(len2); i < len2; i++)
      arr2[i] = arr[i];
    return arr2;
  }
  var selectInjectKey = Symbol("selectProvide");
  var getSingleContent = function getSingleContent2(value, optionsMap) {
    var option2 = optionsMap.value.get(value);
    return (option2 === null || option2 === void 0 ? void 0 : option2.label) || (value === null || value === void 0 ? void 0 : value.toString());
  };
  var getMultipleContent = function getMultipleContent2(value, optionsMap) {
    var res = [];
    var _iterator = _createForOfIteratorHelper$2(value), _step;
    try {
      for (_iterator.s(); !(_step = _iterator.n()).done; ) {
        var iterator = _step.value;
        var resLabel = getSingleContent(iterator, optionsMap);
        if (resLabel) {
          res.push(resLabel);
        }
      }
    } catch (err) {
      _iterator.e(err);
    } finally {
      _iterator.f();
    }
    return res;
  };
  var getNewMultipleValue = function getNewMultipleValue2(innerValue, optionValue) {
    var value = cloneDeep_1(innerValue);
    var valueIndex = value.indexOf(optionValue);
    if (valueIndex < 0) {
      value.push(optionValue);
    } else {
      value.splice(valueIndex, 1);
    }
    return {
      value,
      isCheck: valueIndex < 0
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$B(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$A(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$B(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$9(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var _Option = vue.defineComponent({
    name: "TOption",
    props: _objectSpread$A(_objectSpread$A({}, props$f), {}, {
      createAble: Boolean,
      multiple: Boolean,
      index: Number,
      rowIndex: Number,
      trs: Map,
      scrollType: String,
      isVirtual: Boolean,
      bufferSize: Number,
      checkAll: Boolean
    }),
    emits: ["row-mounted"],
    setup: function setup23(props2, context) {
      var selectProvider = vue.inject(selectInjectKey);
      var formDisabled = useFormDisabled();
      var isReachMax = vue.computed(function() {
        return selectProvider.value.max !== 0 && selectProvider.value.max <= selectProvider.value.selectValue.length;
      });
      var disabled = vue.computed(function() {
        return formDisabled.value || props2.multiple && isReachMax.value && !isSelected.value && !selectProvider.value.isCheckAll;
      });
      var renderContent3 = useContent();
      var selectName = usePrefixClass("select");
      var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
      var liRef = vue.ref();
      var isHover = vue.ref(false);
      var isSelected = vue.computed(function() {
        if (selectProvider.value.isCheckAll && !props2.disabled)
          return true;
        return !props2.multiple ? selectProvider.value.selectValue === props2.value : selectProvider.value.selectValue.includes(props2.value);
      });
      var isIndeterminate = vue.computed(function() {
        if (!props2.checkAll)
          return false;
        return selectProvider.value.indeterminate;
      });
      var classes = vue.computed(function() {
        var _ref;
        return ["".concat(selectName.value, "-option"), [SIZE.value[selectProvider.value.size]], (_ref = {}, _defineProperty$2(_ref, STATUS.value.disabled, disabled.value), _defineProperty$2(_ref, STATUS.value.selected, isSelected.value), _defineProperty$2(_ref, "".concat(selectName.value, "-option__hover"), (isHover.value || selectProvider.value.hoverIndex === props2.index) && !disabled.value && !isSelected.value), _ref)];
      });
      var labelText = vue.computed(function() {
        return props2.label || props2.value;
      });
      var handleClick = function handleClick2(e) {
        if (props2.disabled || disabled.value)
          return;
        if (props2.multiple) {
          handleCheckboxClick(!isSelected.value, {
            e
          });
          e.preventDefault();
          return;
        }
        e.stopPropagation();
        if (props2.createAble) {
          var _selectProvider$value, _selectProvider$value2;
          (_selectProvider$value = (_selectProvider$value2 = selectProvider.value).handleCreate) === null || _selectProvider$value === void 0 || _selectProvider$value.call(_selectProvider$value2, props2.value);
          if (selectProvider.value.multiple) {
            selectProvider.value.selectValue.push(props2.value);
            selectProvider.value.handleValueChange(selectProvider.value.selectValue, {
              selectedOptions: selectProvider.value.getSelectedOptions(),
              trigger: "check",
              e
            });
            return;
          }
        }
        var selectedOptions = selectProvider.value.getSelectedOptions(props2.value);
        selectProvider.value.handleValueChange(props2.value, {
          option: selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0],
          selectedOptions,
          trigger: "check",
          e
        });
        selectProvider.value.handlePopupVisibleChange(false, {
          e
        });
      };
      var handleCheckboxClick = function handleCheckboxClick2(val, context2) {
        if (props2.checkAll) {
          selectProvider.value.onCheckAllChange(val);
          return;
        }
        var newValue = getNewMultipleValue(selectProvider.value.selectValue, props2.value);
        var selectedOptions = selectProvider.value.getSelectedOptions(newValue.value);
        selectProvider.value.handleValueChange(newValue.value, {
          option: selectedOptions.find(function(v) {
            return v.value === props2.value;
          }),
          selectedOptions,
          trigger: val ? "check" : "uncheck",
          e: context2.e
        });
        if (!selectProvider.value.reserveKeyword) {
          selectProvider.value.handlerInputChange("");
        }
      };
      vue.onMounted(function() {
        var trs = props2.trs, rowIndex = props2.rowIndex, isVirtual = props2.isVirtual;
        if (isVirtual) {
          trs.set(rowIndex, liRef.value);
          context.emit("row-mounted");
        }
      });
      vue.onBeforeUnmount(function() {
        if (props2.isVirtual) {
          var trs = props2.trs, rowIndex = props2.rowIndex;
          trs["delete"](rowIndex);
        }
      });
      useRipple(liRef);
      return function() {
        var optionChild = renderContent3("default", "content") || labelText.value;
        return vue.createVNode("li", {
          "ref": liRef,
          "class": classes.value,
          "title": props2.title || "".concat(labelText.value),
          "onMouseenter": function onMouseenter() {
            return isHover.value = true;
          },
          "onMouseleave": function onMouseleave() {
            return isHover.value = false;
          },
          "onClick": handleClick
        }, [selectProvider && props2.multiple ? vue.createVNode(Checkbox, {
          "checked": isSelected.value,
          "disabled": disabled.value,
          "onChange": handleCheckboxClick,
          "indeterminate": isIndeterminate.value
        }, _isSlot$9(optionChild) ? optionChild : {
          "default": function _default16() {
            return [optionChild];
          }
        }) : vue.createVNode("span", null, [optionChild])]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$c = {
    divider: {
      type: Boolean,
      "default": true
    },
    label: {
      type: String,
      "default": ""
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$A(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$z(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$A(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _OptionGroup = vue.defineComponent({
    name: "TOptionGroup",
    props: _objectSpread$z({}, props$c),
    setup: function setup24(props2) {
      var selectProvider = vue.inject(selectInjectKey);
      var COMPONENT_NAME = usePrefixClass("select-option-group");
      var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
      var renderTNodeJSX3 = useTNodeJSX();
      var classes = vue.computed(function() {
        return [COMPONENT_NAME.value, SIZE.value[selectProvider.value.size], _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "__divider"), props2.divider)];
      });
      return function() {
        return vue.createVNode("li", {
          "class": classes.value
        }, [vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__header")
        }, [props2.label]), renderTNodeJSX3("default")]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$b = {
    autoWidth: Boolean,
    autofocus: Boolean,
    borderless: Boolean,
    clearable: Boolean,
    collapsedItems: {
      type: Function
    },
    creatable: Boolean,
    disabled: Boolean,
    empty: {
      type: [String, Function]
    },
    filter: {
      type: Function
    },
    filterable: Boolean,
    inputProps: {
      type: Object
    },
    inputValue: {
      type: [String, Number],
      "default": void 0
    },
    defaultInputValue: {
      type: [String, Number]
    },
    keys: {
      type: Object
    },
    label: {
      type: [String, Function]
    },
    loading: Boolean,
    loadingText: {
      type: [String, Function]
    },
    max: {
      type: Number,
      "default": 0
    },
    minCollapsedNum: {
      type: Number,
      "default": 0
    },
    multiple: Boolean,
    options: {
      type: Array
    },
    panelBottomContent: {
      type: [String, Function]
    },
    panelTopContent: {
      type: [String, Function]
    },
    placeholder: {
      type: String,
      "default": void 0
    },
    popupProps: {
      type: Object
    },
    popupVisible: {
      type: Boolean,
      "default": void 0
    },
    defaultPopupVisible: Boolean,
    prefixIcon: {
      type: Function
    },
    readonly: Boolean,
    reserveKeyword: Boolean,
    scroll: {
      type: Object
    },
    selectInputProps: {
      type: Object
    },
    showArrow: {
      type: Boolean,
      "default": true
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator29(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    status: {
      type: String,
      "default": "default",
      validator: function validator30(val) {
        if (!val)
          return true;
        return ["default", "success", "warning", "error"].includes(val);
      }
    },
    suffix: {
      type: [String, Function]
    },
    suffixIcon: {
      type: Function
    },
    tagInputProps: {
      type: Object
    },
    tagProps: {
      type: Object
    },
    tips: {
      type: [String, Function]
    },
    value: {
      type: [String, Number, Boolean, Object, Array],
      "default": void 0
    },
    modelValue: {
      type: [String, Number, Boolean, Object, Array],
      "default": void 0
    },
    defaultValue: {
      type: [String, Number, Boolean, Object, Array],
      "default": void 0
    },
    valueDisplay: {
      type: [String, Function]
    },
    valueDisplayOptions: {
      type: Object
    },
    valueType: {
      type: String,
      "default": "value",
      validator: function validator31(val) {
        if (!val)
          return true;
        return ["value", "object"].includes(val);
      }
    },
    onBlur: Function,
    onChange: Function,
    onClear: Function,
    onCreate: Function,
    onEnter: Function,
    onFocus: Function,
    onInputChange: Function,
    onPopupVisibleChange: Function,
    onRemove: Function,
    onSearch: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var usePanelVirtualScroll = function usePanelVirtualScroll2(props2) {
    var _props$scroll3, _props$scroll4, _props$scroll5, _props$scroll6, _props$scroll7;
    var isVirtual = vue.computed(function() {
      var _props$scroll, _props$options$value, _props$scroll2;
      return ((_props$scroll = props2.scroll) === null || _props$scroll === void 0 ? void 0 : _props$scroll.type) === "virtual" && ((_props$options$value = props2.options.value) === null || _props$options$value === void 0 ? void 0 : _props$options$value.length) > (((_props$scroll2 = props2.scroll) === null || _props$scroll2 === void 0 ? void 0 : _props$scroll2.threshold) || 100);
    });
    var _ref = ((_props$scroll3 = props2.scroll) === null || _props$scroll3 === void 0 ? void 0 : _props$scroll3.type) === "virtual" ? useVirtualScroll$1({
      container: props2.popupContentRef,
      data: props2.options,
      fixedHeight: ((_props$scroll4 = props2.scroll) === null || _props$scroll4 === void 0 ? void 0 : _props$scroll4.isFixedRowHeight) || false,
      lineHeight: ((_props$scroll5 = props2.scroll) === null || _props$scroll5 === void 0 ? void 0 : _props$scroll5.rowHeight) || 28,
      bufferSize: ((_props$scroll6 = props2.scroll) === null || _props$scroll6 === void 0 ? void 0 : _props$scroll6.bufferSize) || 20,
      threshold: ((_props$scroll7 = props2.scroll) === null || _props$scroll7 === void 0 ? void 0 : _props$scroll7.threshold) || 100
    }) : {}, _ref$trs = _ref.trs, trs = _ref$trs === void 0 ? null : _ref$trs, _ref$visibleData = _ref.visibleData, visibleData = _ref$visibleData === void 0 ? null : _ref$visibleData, _ref$handleScroll = _ref.handleScroll, handleVirtualScroll = _ref$handleScroll === void 0 ? null : _ref$handleScroll, _ref$scrollHeight = _ref.scrollHeight, scrollHeight = _ref$scrollHeight === void 0 ? null : _ref$scrollHeight, _ref$translateY = _ref.translateY, translateY = _ref$translateY === void 0 ? null : _ref$translateY, _ref$handleRowMounted = _ref.handleRowMounted, handleRowMounted = _ref$handleRowMounted === void 0 ? null : _ref$handleRowMounted;
    var lastScrollY = -1;
    var onInnerVirtualScroll = function onInnerVirtualScroll2(e) {
      if (!isVirtual.value) {
        return;
      }
      var target = e.target;
      var top2 = target.scrollTop;
      if (Math.abs(lastScrollY - top2) > 5) {
        handleVirtualScroll();
        lastScrollY = top2;
      } else {
        lastScrollY = -1;
      }
    };
    vue.onMounted(function() {
      var _props$popupContentRe;
      (_props$popupContentRe = props2.popupContentRef.value) === null || _props$popupContentRe === void 0 || _props$popupContentRe.addEventListener("scroll", onInnerVirtualScroll);
    });
    vue.onBeforeUnmount(function() {
      var _props$popupContentRe2;
      (_props$popupContentRe2 = props2.popupContentRef.value) === null || _props$popupContentRe2 === void 0 || _props$popupContentRe2.removeEventListener("scroll", onInnerVirtualScroll);
    });
    var cursorStyle = vue.computed(function() {
      return {
        position: "absolute",
        width: "1px",
        height: "1px",
        transition: "transform 0.2s",
        transform: "translate(0, ".concat(scrollHeight.value, "px)"),
        "-ms-transform": "translate(0, ".concat(scrollHeight.value, "px)"),
        "-moz-transform": "translate(0, ".concat(scrollHeight.value, "px)"),
        "-webkit-transform": "translate(0, ".concat(scrollHeight.value, "px)")
      };
    });
    var panelStyle = vue.computed(function() {
      return {
        transform: "translate(0, ".concat(translateY.value, "px)"),
        "-ms-transform": "translate(0, ".concat(translateY.value, "px)"),
        "-moz-transform": "translate(0, ".concat(translateY.value, "px)"),
        "-webkit-transform": "translate(0, ".concat(translateY.value, "px)")
      };
    });
    return {
      trs,
      scrollHeight,
      translateY,
      visibleData,
      handleRowMounted,
      isVirtual,
      cursorStyle,
      panelStyle
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _isSlot$8(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var SelectPanel = vue.defineComponent({
    name: "TSelectPanel",
    props: {
      inputValue: props$b.inputValue,
      panelTopContent: props$b.panelTopContent,
      panelBottomContent: props$b.panelBottomContent,
      empty: props$b.empty,
      creatable: props$b.creatable,
      loading: props$b.loading,
      loadingText: props$b.loadingText,
      multiple: props$b.multiple,
      filterable: props$b.filterable,
      filter: props$b.filter,
      options: {
        type: Array,
        "default": function _default4() {
          return [];
        }
      },
      scroll: props$b.scroll,
      size: props$b.size
    },
    setup: function setup25(props2, _ref) {
      var expose = _ref.expose;
      var COMPONENT_NAME = usePrefixClass("select");
      var renderTNodeJSX3 = useTNodeJSX();
      var renderDefaultTNode = useTNodeDefault();
      var _useConfig = useConfig("select"), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
      var tSelect = vue.inject(selectInjectKey);
      var innerRef = vue.ref(null);
      var popupContentRef = vue.computed(function() {
        return tSelect.value.popupContentRef.value;
      });
      var showCreateOption = vue.computed(function() {
        return props2.creatable && props2.filterable && props2.inputValue;
      });
      var displayOptions = vue.computed(function() {
        return tSelect.value.displayOptions;
      });
      var _usePanelVirtualScrol = usePanelVirtualScroll({
        scroll: props2.scroll,
        popupContentRef,
        options: displayOptions
      }), trs = _usePanelVirtualScrol.trs, visibleData = _usePanelVirtualScrol.visibleData, handleRowMounted = _usePanelVirtualScrol.handleRowMounted, isVirtual = _usePanelVirtualScrol.isVirtual, panelStyle = _usePanelVirtualScrol.panelStyle, cursorStyle = _usePanelVirtualScrol.cursorStyle;
      var isEmpty2 = vue.computed(function() {
        return !displayOptions.value.length;
      });
      var renderCreateOption = function renderCreateOption2() {
        return vue.createVNode("ul", {
          "class": ["".concat(COMPONENT_NAME.value, "__create-option"), "".concat(COMPONENT_NAME.value, "__list")]
        }, [vue.createVNode(_Option, {
          "value": props2.inputValue,
          "label": "".concat(props2.inputValue),
          "createAble": true,
          "class": "".concat(COMPONENT_NAME.value, "__create-option--special")
        }, null)]);
      };
      var renderOptionsContent = function renderOptionsContent2(options) {
        return vue.createVNode("ul", {
          "class": "".concat(COMPONENT_NAME.value, "__list")
        }, [options.map(function(item, index2) {
          var _props$scroll, _props$scroll2;
          if (item.group) {
            var _slot;
            return vue.createVNode(_OptionGroup, {
              "label": item.group,
              "divider": item.divider
            }, _isSlot$8(_slot = renderOptionsContent2(item.children)) ? _slot : {
              "default": function _default16() {
                return [_slot];
              }
            });
          }
          return vue.createVNode(_Option, vue.mergeProps(omit_1(item, "$index", "className", "tagName"), isVirtual.value ? {
            rowIndex: item.$index,
            trs,
            scrollType: (_props$scroll = props2.scroll) === null || _props$scroll === void 0 ? void 0 : _props$scroll.type,
            isVirtual: isVirtual.value,
            bufferSize: (_props$scroll2 = props2.scroll) === null || _props$scroll2 === void 0 ? void 0 : _props$scroll2.bufferSize,
            key: "".concat(item.$index || "", "_").concat(index2)
          } : {
            key: "".concat(index2, "_").concat(item.value)
          }, {
            "multiple": props2.multiple,
            "onRowMounted": handleRowMounted
          }), item.slots);
        })]);
      };
      var dropdownInnerSize = vue.computed(function() {
        return {
          small: "s",
          medium: "m",
          large: "l"
        }[tSelect.value.size];
      });
      expose({
        innerRef
      });
      var renderPanel = function renderPanel2(options, extraStyle) {
        return vue.createVNode("div", {
          "ref": innerRef,
          "class": ["".concat(COMPONENT_NAME.value, "__dropdown-inner"), "".concat(COMPONENT_NAME.value, "__dropdown-inner--size-").concat(dropdownInnerSize.value)],
          "onClick": function onClick(e) {
            return e.stopPropagation();
          },
          "style": extraStyle
        }, [showCreateOption.value && renderCreateOption(), props2.loading && renderDefaultTNode("loadingText", {
          defaultNode: vue.createVNode("div", {
            "class": "".concat(COMPONENT_NAME.value, "__loading-tips")
          }, [t(globalConfig.value.loadingText)])
        }), !props2.loading && isEmpty2.value && !showCreateOption.value && renderDefaultTNode("empty", {
          defaultNode: vue.createVNode("div", {
            "class": "".concat(COMPONENT_NAME.value, "__empty")
          }, [t(globalConfig.value.empty)])
        }), !isEmpty2.value && !props2.loading && renderOptionsContent(options)]);
      };
      return {
        renderPanel,
        panelStyle,
        cursorStyle,
        isVirtual,
        displayOptions,
        visibleData,
        renderTNodeJSX: renderTNodeJSX3
      };
    },
    render: function render7() {
      return this.isVirtual ? vue.createVNode(vue.Fragment, null, [this.renderTNodeJSX("panelTopContent"), vue.createVNode("div", null, [vue.createVNode("div", {
        "style": this.cursorStyle
      }, null), this.renderPanel(this.visibleData, this.panelStyle)]), this.renderTNodeJSX("panelBottomContent")]) : vue.createVNode(vue.Fragment, null, [this.renderTNodeJSX("panelTopContent"), this.renderPanel(this.displayOptions), this.renderTNodeJSX("panelBottomContent")]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _createForOfIteratorHelper$1(o, allowArrayLike) {
    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
    if (!it) {
      if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
        if (it)
          o = it;
        var i = 0;
        var F = function F2() {
        };
        return { s: F, n: function n() {
          if (i >= o.length)
            return { done: true };
          return { done: false, value: o[i++] };
        }, e: function e(_e) {
          throw _e;
        }, f: F };
      }
      throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    var normalCompletion = true, didErr = false, err;
    return { s: function s() {
      it = it.call(o);
    }, n: function n() {
      var step = it.next();
      normalCompletion = step.done;
      return step;
    }, e: function e(_e2) {
      didErr = true;
      err = _e2;
    }, f: function f() {
      try {
        if (!normalCompletion && it["return"] != null)
          it["return"]();
      } finally {
        if (didErr)
          throw err;
      }
    } };
  }
  function _unsupportedIterableToArray$1(o, minLen) {
    if (!o)
      return;
    if (typeof o === "string")
      return _arrayLikeToArray$1(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor)
      n = o.constructor.name;
    if (n === "Map" || n === "Set")
      return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
      return _arrayLikeToArray$1(o, minLen);
  }
  function _arrayLikeToArray$1(arr, len2) {
    if (len2 == null || len2 > arr.length)
      len2 = arr.length;
    for (var i = 0, arr2 = new Array(len2); i < len2; i++)
      arr2[i] = arr[i];
    return arr2;
  }
  function ownKeys$z(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$y(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$z(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var useSelectOptions = function useSelectOptions2(props2, keys2, inputValue) {
    var getChildComponentSlots = useChildComponentSlots();
    var optionsCache = vue.ref([]);
    var options = vue.computed(function() {
      var _props$options;
      var dynamicIndex = 0;
      var innerOptions = ((_props$options = props2.options) === null || _props$options === void 0 ? void 0 : _props$options.map(function(option2) {
        var getFormatOption = function getFormatOption2(option22) {
          var _keys$value = keys2.value, value = _keys$value.value, label = _keys$value.label, disabled = _keys$value.disabled;
          var res2 = _objectSpread$y(_objectSpread$y({}, option22), {}, {
            index: dynamicIndex,
            label: get_1(option22, label),
            value: get_1(option22, value),
            disabled: get_1(option22, disabled)
          });
          dynamicIndex++;
          return res2;
        };
        if (option2.group && option2.children) {
          return _objectSpread$y(_objectSpread$y({}, option2), {}, {
            children: option2.children.map(function(child2) {
              return getFormatOption(child2);
            })
          });
        }
        return getFormatOption(option2);
      })) || [];
      var optionsSlots = getChildComponentSlots("Option");
      var groupSlots = getChildComponentSlots("OptionGroup");
      if (isArray_1(groupSlots)) {
        var _iterator = _createForOfIteratorHelper$1(groupSlots), _step;
        try {
          for (_iterator.s(); !(_step = _iterator.n()).done; ) {
            var _group$props, _res$, _res$2;
            var group = _step.value;
            var groupOption = _objectSpread$y(_objectSpread$y({
              group: (_group$props = group.props) === null || _group$props === void 0 ? void 0 : _group$props.label
            }, group.props), {}, {
              children: []
            });
            var res = group.children["default"]();
            if (!(isArray_1(res) && !!((_res$ = res[0]) !== null && _res$ !== void 0 && _res$.children)))
              continue;
            var _iterator2 = _createForOfIteratorHelper$1(res === null || res === void 0 || (_res$2 = res[0]) === null || _res$2 === void 0 ? void 0 : _res$2.children), _step2;
            try {
              for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
                var child = _step2.value;
                groupOption.children.push(_objectSpread$y(_objectSpread$y({}, child.props), {}, {
                  slots: child.children,
                  index: dynamicIndex
                }));
                dynamicIndex++;
              }
            } catch (err) {
              _iterator2.e(err);
            } finally {
              _iterator2.f();
            }
            innerOptions.push(groupOption);
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }
      }
      if (isArray_1(optionsSlots)) {
        var _iterator3 = _createForOfIteratorHelper$1(optionsSlots), _step3;
        try {
          for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {
            var _child = _step3.value;
            innerOptions.push(_objectSpread$y(_objectSpread$y({}, _child.props), {}, {
              slots: _child.children,
              index: dynamicIndex
            }));
            dynamicIndex++;
          }
        } catch (err) {
          _iterator3.e(err);
        } finally {
          _iterator3.f();
        }
      }
      return innerOptions;
    });
    var optionsList = vue.computed(function() {
      var res = [];
      var getOptionsList = function getOptionsList2(options2) {
        var _iterator4 = _createForOfIteratorHelper$1(options2), _step4;
        try {
          for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {
            var option2 = _step4.value;
            if (option2.group) {
              getOptionsList2(option2.children);
            } else {
              res.push(option2);
            }
          }
        } catch (err) {
          _iterator4.e(err);
        } finally {
          _iterator4.f();
        }
      };
      getOptionsList(options.value);
      return res;
    });
    var optionsMap = vue.computed(function() {
      var res = /* @__PURE__ */ new Map();
      optionsCache.value.concat(optionsList.value).forEach(function(option2) {
        res.set(option2.value, option2);
      });
      return res;
    });
    var displayOptions = vue.computed(function() {
      if (!inputValue.value || !(props2.filterable || isFunction_1(props2.filter)))
        return options.value;
      var filterMethods = function filterMethods2(option2) {
        var _option$label, _option$label$toLower;
        if (isFunction_1(props2.filter)) {
          return props2.filter("".concat(inputValue.value), option2);
        }
        return ((_option$label = option2.label) === null || _option$label === void 0 || (_option$label$toLower = _option$label.toLowerCase) === null || _option$label$toLower === void 0 ? void 0 : _option$label$toLower.call(_option$label).indexOf("".concat(inputValue.value).toLowerCase())) > -1;
      };
      var res = [];
      options.value.forEach(function(option2) {
        if (option2.group && option2.children) {
          res.push(_objectSpread$y(_objectSpread$y({}, option2), {}, {
            children: option2.children.filter(filterMethods)
          }));
        }
        if (filterMethods(option2)) {
          res.push(option2);
        }
      });
      return res;
    });
    return {
      options,
      optionsMap,
      optionsList,
      optionsCache,
      displayOptions
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded$4 = ["overlayClassName"];
  function _createForOfIteratorHelper(o, allowArrayLike) {
    var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
    if (!it) {
      if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
        if (it)
          o = it;
        var i = 0;
        var F = function F2() {
        };
        return { s: F, n: function n() {
          if (i >= o.length)
            return { done: true };
          return { done: false, value: o[i++] };
        }, e: function e(_e) {
          throw _e;
        }, f: F };
      }
      throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    var normalCompletion = true, didErr = false, err;
    return { s: function s() {
      it = it.call(o);
    }, n: function n() {
      var step = it.next();
      normalCompletion = step.done;
      return step;
    }, e: function e(_e2) {
      didErr = true;
      err = _e2;
    }, f: function f() {
      try {
        if (!normalCompletion && it["return"] != null)
          it["return"]();
      } finally {
        if (didErr)
          throw err;
      }
    } };
  }
  function _unsupportedIterableToArray(o, minLen) {
    if (!o)
      return;
    if (typeof o === "string")
      return _arrayLikeToArray(o, minLen);
    var n = Object.prototype.toString.call(o).slice(8, -1);
    if (n === "Object" && o.constructor)
      n = o.constructor.name;
    if (n === "Map" || n === "Set")
      return Array.from(o);
    if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
      return _arrayLikeToArray(o, minLen);
  }
  function _arrayLikeToArray(arr, len2) {
    if (len2 == null || len2 > arr.length)
      len2 = arr.length;
    for (var i = 0, arr2 = new Array(len2); i < len2; i++)
      arr2[i] = arr[i];
    return arr2;
  }
  function ownKeys$y(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$x(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$y(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _Select = vue.defineComponent({
    name: "TSelect",
    props: _objectSpread$x({}, props$b),
    setup: function setup26(props2, _ref) {
      var slots = _ref.slots;
      var classPrefix = usePrefixClass();
      var disabled = useFormDisabled();
      var renderTNodeJSX3 = useTNodeJSX();
      var COMPONENT_NAME = usePrefixClass("select");
      var _useConfig = useConfig("select"), globalConfig = _useConfig.globalConfig, t = _useConfig.t;
      var _toRefs = vue.toRefs(props2), popupVisible = _toRefs.popupVisible, inputValue = _toRefs.inputValue, modelValue = _toRefs.modelValue, value = _toRefs.value;
      var _useDefaultValue = useDefaultValue(inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), innerInputValue = _useDefaultValue2[0], setInputValue = _useDefaultValue2[1];
      var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), orgValue = _useVModel2[0], setOrgValue = _useVModel2[1];
      var selectPanelRef = vue.ref(null);
      var selectInputRef = vue.ref(null);
      var keys2 = vue.computed(function() {
        var _props2$keys, _props2$keys2, _props2$keys3;
        return {
          label: ((_props2$keys = props2.keys) === null || _props2$keys === void 0 ? void 0 : _props2$keys.label) || "label",
          value: ((_props2$keys2 = props2.keys) === null || _props2$keys2 === void 0 ? void 0 : _props2$keys2.value) || "value",
          disabled: ((_props2$keys3 = props2.keys) === null || _props2$keys3 === void 0 ? void 0 : _props2$keys3.disabled) || "disabled"
        };
      });
      var _useSelectOptions = useSelectOptions(props2, keys2, innerInputValue), options = _useSelectOptions.options, optionsMap = _useSelectOptions.optionsMap, optionsList = _useSelectOptions.optionsList, optionsCache = _useSelectOptions.optionsCache, displayOptions = _useSelectOptions.displayOptions;
      var innerValue = vue.computed(function() {
        if (orgValue.value === void 0) {
          return props2.multiple ? [] : void 0;
        }
        if (props2.valueType === "object") {
          return !props2.multiple ? orgValue.value[keys2.value.value] : orgValue.value.map(function(option2) {
            return option2[keys2.value.value];
          });
        }
        return orgValue.value;
      });
      var setInnerValue = function setInnerValue2(newVal, context) {
        if (props2.valueType === "object") {
          var _keys$value = keys2.value, value2 = _keys$value.value, label = _keys$value.label;
          var getOption = function getOption2(val) {
            var _ref2;
            if (val === void 0) {
              return void 0;
            }
            var option2 = optionsMap.value.get(val);
            return _ref2 = {}, _defineProperty$2(_ref2, value2, get_1(option2, value2)), _defineProperty$2(_ref2, label, get_1(option2, label)), _ref2;
          };
          newVal = props2.multiple ? newVal.map(function(val) {
            return getOption(val);
          }) : getOption(newVal);
        }
        if (newVal === orgValue.value)
          return;
        setOrgValue(newVal, _objectSpread$x({
          selectedOptions: getSelectedOptions(newVal)
        }, context));
      };
      var _useDefaultValue3 = useDefaultValue(popupVisible, false, function(visible, context) {
        var _props2$onPopupVisibl;
        (_props2$onPopupVisibl = props2.onPopupVisibleChange) === null || _props2$onPopupVisibl === void 0 || _props2$onPopupVisibl.call(props2, visible, context);
      }, "popupVisible"), _useDefaultValue4 = _slicedToArray(_useDefaultValue3, 2), innerPopupVisible = _useDefaultValue4[0], setInnerPopupVisible = _useDefaultValue4[1];
      var placeholderText = vue.computed(function() {
        var _ref3;
        return (_ref3 = !props2.multiple && innerPopupVisible.value && getSingleContent(innerValue.value, optionsMap) || props2.placeholder) !== null && _ref3 !== void 0 ? _ref3 : t(globalConfig.value.placeholder);
      });
      var displayText = vue.computed(function() {
        return props2.multiple ? getMultipleContent(innerValue.value, optionsMap) : getSingleContent(innerValue.value, optionsMap);
      });
      var valueDisplayParams = vue.computed(function() {
        var val = props2.multiple && isArray_1(innerValue.value) ? innerValue.value.map(function(value2) {
          var _optionsMap$value$get;
          return {
            value: value2,
            label: (_optionsMap$value$get = optionsMap.value.get(value2)) === null || _optionsMap$value$get === void 0 ? void 0 : _optionsMap$value$get.label
          };
        }) : innerValue.value;
        var params = {
          value: val,
          onClose: props2.multiple ? function(index2) {
            return removeTag(index2);
          } : function() {
          }
        };
        if (props2.minCollapsedNum && props2.multiple) {
          var _val$slice;
          return _objectSpread$x(_objectSpread$x({}, params), {}, {
            displayValue: val === null || val === void 0 || (_val$slice = val.slice) === null || _val$slice === void 0 ? void 0 : _val$slice.call(val, 0, props2.minCollapsedNum)
          });
        }
        return params;
      });
      var isFilterable = vue.computed(function() {
        return Boolean(props2.filterable || globalConfig.value.filterable || isFunction_1(props2.filter));
      });
      var removeTag = function removeTag2(index2, e) {
        var _props2$onRemove;
        e && e.stopPropagation();
        var selectValue = cloneDeep_1(innerValue.value);
        var value2 = selectValue[index2];
        selectValue.splice(index2, 1);
        setInnerValue(selectValue, {
          selectedOptions: getSelectedOptions(selectValue),
          trigger: "tag-remove",
          e
        });
        (_props2$onRemove = props2.onRemove) === null || _props2$onRemove === void 0 || _props2$onRemove.call(props2, {
          value: value2,
          data: optionsMap.value.get(value2),
          e
        });
      };
      var handleCreate = function handleCreate2() {
        var _props2$onCreate;
        if (!innerInputValue.value)
          return;
        (_props2$onCreate = props2.onCreate) === null || _props2$onCreate === void 0 || _props2$onCreate.call(props2, innerInputValue.value);
        setInputValue("");
      };
      var hoverIndex = vue.ref(-1);
      var handleKeyDown = function handleKeyDown2(e) {
        var _optionsList$value$ne, _optionsList$value$ne2;
        var optionsListLength = displayOptions.value.length;
        var newIndex2 = hoverIndex.value;
        switch (e.code) {
          case "ArrowUp":
            e.preventDefault();
            if (hoverIndex.value === -1) {
              newIndex2 = 0;
            } else if (hoverIndex.value === 0) {
              newIndex2 = optionsListLength - 1;
            } else {
              newIndex2--;
            }
            if ((_optionsList$value$ne = optionsList.value[newIndex2]) !== null && _optionsList$value$ne !== void 0 && _optionsList$value$ne.disabled) {
              newIndex2--;
            }
            hoverIndex.value = newIndex2;
            break;
          case "ArrowDown":
            e.preventDefault();
            if (hoverIndex.value === -1 || hoverIndex.value === optionsListLength - 1) {
              newIndex2 = 0;
            } else {
              newIndex2++;
            }
            if ((_optionsList$value$ne2 = optionsList.value[newIndex2]) !== null && _optionsList$value$ne2 !== void 0 && _optionsList$value$ne2.disabled) {
              newIndex2++;
            }
            hoverIndex.value = newIndex2;
            break;
          case "Enter":
            if (hoverIndex.value === -1)
              break;
            if (!innerPopupVisible.value) {
              setInnerPopupVisible(true, {
                e
              });
              break;
            }
            if (!props2.multiple) {
              var selectedOptions = getSelectedOptions(optionsList.value[hoverIndex.value].value);
              setInnerValue(optionsList.value[hoverIndex.value].value, {
                option: selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0],
                selectedOptions: getSelectedOptions(optionsList.value[hoverIndex.value].value),
                trigger: "check",
                e
              });
              setInnerPopupVisible(false, {
                e
              });
            } else {
              var _optionsList$value$ho;
              if (hoverIndex.value === -1)
                return;
              var optionValue = (_optionsList$value$ho = optionsList.value[hoverIndex.value]) === null || _optionsList$value$ho === void 0 ? void 0 : _optionsList$value$ho.value;
              if (!optionValue)
                return;
              var newValue = getNewMultipleValue(innerValue.value, optionValue);
              var _selectedOptions = getSelectedOptions(newValue.value);
              setInnerValue(newValue.value, {
                option: _selectedOptions.find(function(v) {
                  return v.value == optionValue;
                }),
                selectedOptions: _selectedOptions,
                trigger: newValue.isCheck ? "check" : "uncheck",
                e
              });
            }
            break;
          case "Escape":
            setInnerPopupVisible(false, {
              e
            });
            break;
        }
      };
      var popupContentRef = vue.computed(function() {
        var _selectInputRef$value;
        return (_selectInputRef$value = selectInputRef.value) === null || _selectInputRef$value === void 0 ? void 0 : _selectInputRef$value.popupRef.getOverlay();
      });
      var optionalList = vue.computed(function() {
        return optionsList.value.filter(function(item) {
          return !item.disabled && !item["check-all"] && !item.checkAll;
        });
      });
      var getSelectedOptions = function getSelectedOptions2() {
        var selectValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : innerValue.value;
        return optionsList.value.filter(function(option2) {
          if (option2.checkAll)
            return;
          if (isArray_1(selectValue))
            return selectValue.includes(option2.value);
          return selectValue === option2.value;
        });
      };
      var onCheckAllChange = function onCheckAllChange2(checked) {
        if (!props2.multiple)
          return;
        var value2 = checked ? optionalList.value.map(function(option2) {
          return option2.value;
        }) : [];
        setInnerValue(value2, {
          selectedOptions: getSelectedOptions(value2),
          trigger: checked ? "check" : "clear"
        });
      };
      var intersectionLen = vue.computed(function() {
        var values = optionalList.value.map(function(item) {
          return item.value;
        });
        var n = intersection_1(innerValue.value, values);
        return n.length;
      });
      var isCheckAll = vue.computed(function() {
        return intersectionLen.value === optionalList.value.length;
      });
      var indeterminate = vue.computed(function() {
        return !isCheckAll.value && intersectionLen.value !== 0;
      });
      var SelectProvide = vue.computed(function() {
        return {
          max: props2.max,
          multiple: props2.multiple,
          hoverIndex: hoverIndex.value,
          selectValue: innerValue.value,
          reserveKeyword: props2.reserveKeyword,
          handleValueChange: setInnerValue,
          handlerInputChange: setInputValue,
          handlePopupVisibleChange: setInnerPopupVisible,
          handleCreate,
          size: props2.size,
          popupContentRef,
          indeterminate: indeterminate.value,
          isCheckAll: isCheckAll.value,
          onCheckAllChange,
          getSelectedOptions,
          displayOptions: displayOptions.value
        };
      });
      vue.provide(selectInjectKey, SelectProvide);
      var checkValueInvalid = function checkValueInvalid2() {
        if (!props2.multiple && isArray_1(orgValue.value)) {
          setOrgValue(void 0, {
            selectedOptions: [],
            trigger: "default"
          });
        }
        if (props2.multiple && !isArray_1(orgValue.value)) {
          setOrgValue([], {
            selectedOptions: [],
            trigger: "default"
          });
        }
      };
      var handleSearch = debounce_1(function(value2, _ref4) {
        var _props2$onSearch;
        var e = _ref4.e;
        (_props2$onSearch = props2.onSearch) === null || _props2$onSearch === void 0 || _props2$onSearch.call(props2, "".concat(value2), {
          e
        });
      }, 300);
      var addCache = function addCache2(val) {
        if (props2.multiple) {
          var newCache = [];
          var _iterator = _createForOfIteratorHelper(val || []), _step;
          try {
            for (_iterator.s(); !(_step = _iterator.n()).done; ) {
              var item = _step.value;
              var option2 = optionsMap.value.get(item);
              if (option2) {
                newCache.push(option2);
              }
            }
          } catch (err) {
            _iterator.e(err);
          } finally {
            _iterator.f();
          }
          optionsCache.value = Array.from(/* @__PURE__ */ new Set([].concat(newCache, _toConsumableArray(optionsCache.value))));
        } else {
          var _option = optionsMap.value.get(val);
          if (_option) {
            optionsCache.value = Array.from(/* @__PURE__ */ new Set([_option].concat(_toConsumableArray(optionsCache.value))));
          }
        }
      };
      vue.watch(orgValue, function(val) {
        checkValueInvalid();
        vue.nextTick(function() {
          addCache(val);
        });
      }, {
        immediate: true
      });
      vue.watch(function() {
        return props2.multiple;
      }, function() {
        checkValueInvalid();
      });
      vue.watch(innerPopupVisible, function(value2) {
        if (value2) {
          hoverIndex.value = -1;
        } else {
          if (innerInputValue.value) {
            setInputValue("");
          }
        }
      });
      var updateScrollTop = function updateScrollTop2(content) {
        var _selectPanelRef$value;
        if (!selectPanelRef.value) {
          return;
        }
        var firstSelectedNode = (_selectPanelRef$value = selectPanelRef.value) === null || _selectPanelRef$value === void 0 || (_selectPanelRef$value = _selectPanelRef$value.innerRef) === null || _selectPanelRef$value === void 0 ? void 0 : _selectPanelRef$value.querySelector(".".concat(classPrefix.value, "-is-selected"));
        vue.nextTick(function() {
          if (firstSelectedNode && content) {
            var _getComputedStyle = getComputedStyle(firstSelectedNode), paddingBottom = _getComputedStyle.paddingBottom;
            var _getComputedStyle2 = getComputedStyle(content), marginBottom = _getComputedStyle2.marginBottom;
            var elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10);
            var updateValue = firstSelectedNode.offsetTop - content.offsetTop - (content.clientHeight - firstSelectedNode.clientHeight) + elementBottomHeight;
            content.scrollTop = updateValue;
          }
        });
      };
      vue.provide("updateScrollTop", updateScrollTop);
      return function() {
        var _ref5 = props2.popupProps || {}, overlayClassName = _ref5.overlayClassName, restPopupProps = _objectWithoutProperties$1(_ref5, _excluded$4);
        return vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__wrap")
        }, [vue.createVNode(SelectInput, vue.mergeProps({
          autoWidth: props2.autoWidth,
          readonly: props2.readonly,
          borderless: props2.borderless,
          multiple: props2.multiple,
          clearable: props2.clearable,
          loading: props2.loading,
          status: props2.status,
          tips: props2.tips,
          minCollapsedNum: props2.minCollapsedNum,
          autofocus: props2.autofocus,
          suffix: props2.suffix,
          valueDisplayOptions: props2.valueDisplayOptions
        }, {
          "ref": selectInputRef,
          "class": COMPONENT_NAME.value,
          "value": displayText.value,
          "disabled": disabled.value,
          "popupVisible": innerPopupVisible.value,
          "inputValue": innerPopupVisible.value ? innerInputValue.value : "",
          "placeholder": "".concat(placeholderText.value),
          "allowInput": isFilterable.value,
          "collapsed-items": props2.collapsedItems,
          "inputProps": _objectSpread$x(_objectSpread$x({
            size: props2.size,
            autofocus: props2.autofocus
          }, props2.inputProps), {}, {
            onkeydown: handleKeyDown
          }),
          "tagInputProps": _objectSpread$x({
            size: props2.size
          }, props2.tagInputProps),
          "onTagChange": function onTagChange(val, ctx) {
            removeTag(ctx.index);
          },
          "tagProps": _objectSpread$x({}, props2.tagProps),
          "popupProps": _objectSpread$x({
            overlayClassName: ["".concat(COMPONENT_NAME.value, "__dropdown"), overlayClassName]
          }, restPopupProps),
          "label": props2.label,
          "prefixIcon": props2.prefixIcon,
          "suffix": props2.suffix,
          "suffixIcon": function suffixIcon() {
            if (props2.suffixIcon || slots.suffixIcon) {
              return renderTNodeJSX3("suffixIcon");
            }
            return props2.showArrow && vue.createVNode(FakeArrow, {
              "overlayClassName": "".concat(COMPONENT_NAME.value, "__right-icon"),
              "isActive": innerPopupVisible.value
            }, null);
          },
          "valueDisplay": function valueDisplay() {
            return renderTNodeJSX3("valueDisplay", {
              params: valueDisplayParams.value
            });
          },
          "onPopupVisibleChange": function onPopupVisibleChange(val, context) {
            setInnerPopupVisible(val, context);
          },
          "onInputChange": function onInputChange(value2, context) {
            if (value2) {
              setInnerPopupVisible(true, {
                e: context.e
              });
            }
            setInputValue(value2);
            handleSearch("".concat(value2), {
              e: context.e
            });
          },
          "onClear": function onClear(_ref6) {
            var _props2$onClear;
            var e = _ref6.e;
            setInnerValue(props2.multiple ? [] : void 0, {
              option: null,
              selectedOptions: getSelectedOptions(props2.multiple ? [] : void 0),
              trigger: "clear",
              e
            });
            (_props2$onClear = props2.onClear) === null || _props2$onClear === void 0 || _props2$onClear.call(props2, {
              e
            });
          },
          "onEnter": function onEnter(inputValue2, _ref7) {
            var _props2$onEnter;
            var e = _ref7.e;
            (_props2$onEnter = props2.onEnter) === null || _props2$onEnter === void 0 || _props2$onEnter.call(props2, {
              inputValue: "".concat(innerInputValue.value),
              e,
              value: innerValue.value
            });
            handleCreate();
          },
          "onBlur": function onBlur(inputValue2, _ref8) {
            var _props2$onBlur;
            var e = _ref8.e;
            (_props2$onBlur = props2.onBlur) === null || _props2$onBlur === void 0 || _props2$onBlur.call(props2, {
              e,
              value: innerValue.value
            });
          },
          "onFocus": function onFocus(inputValue2, _ref9) {
            var _props2$onFocus;
            var e = _ref9.e;
            (_props2$onFocus = props2.onFocus) === null || _props2$onFocus === void 0 || _props2$onFocus.call(props2, {
              e,
              value: innerValue.value
            });
          }
        }, props2.selectInputProps), {
          label: slots.label,
          prefixIcon: slots.prefixIcon,
          suffix: slots.suffix,
          panel: function panel() {
            return vue.createVNode(SelectPanel, vue.mergeProps({
              "ref": selectPanelRef
            }, pick_1(props2, ["size", "multiple", "empty", "loading", "loadingText", "filterable", "creatable", "panelTopContent", "panelBottomContent", "filter", "scroll"]), {
              "options": options.value,
              "inputValue": innerInputValue.value
            }), slots);
          },
          collapsedItems: slots.collapsedItems
        })]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Select = withInstall(_Select);
  var Option = withInstall(_Option);
  withInstall(_OptionGroup);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$a = {
    append: {
      type: [String, Function]
    },
    prepend: {
      type: [String, Function]
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _InputAdornment = vue.defineComponent({
    name: "TInputAdornment",
    inheritAttrs: false,
    props: props$a,
    setup: function setup27(props2, _ref) {
      var slots = _ref.slots;
      var COMPONENT_NAME = usePrefixClass("input-adornment");
      var renderTNodeJSX3 = useTNodeJSX();
      var renderAddon = function renderAddon2(h2, type, addon) {
        var addonNode;
        var isContentNode = isString_1(addon) || isNumber_1(addon);
        if (!slots[type] && isString_1(addon) && !addon)
          return null;
        if (slots[type]) {
          if (slots[type](null).length === 1 && typeof slots[type](null)[0].children === "string") {
            addonNode = vue.createVNode("span", {
              "class": "".concat(COMPONENT_NAME.value, "__text")
            }, [slots[type](null)]);
          } else {
            addonNode = slots[type](null);
          }
        } else if (isFunction_1(addon)) {
          addonNode = addon(h2);
        } else {
          addonNode = isContentNode ? vue.createVNode("span", {
            "class": "".concat(COMPONENT_NAME.value, "__text")
          }, [addon]) : addon;
        }
        return addonNode ? vue.createVNode("span", {
          "class": "".concat(COMPONENT_NAME.value, "__").concat(type)
        }, [addonNode]) : addonNode;
      };
      return function() {
        var _ref2;
        var prepend = renderAddon(vue.h, "prepend", props2.prepend);
        var append2 = renderAddon(vue.h, "append", props2.append);
        var defaultSlot = renderTNodeJSX3("default") || [null];
        var className = [COMPONENT_NAME.value, (_ref2 = {}, _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--prepend"), prepend), _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--append"), append2), _ref2)];
        if (!prepend && !append2) {
          return defaultSlot[0];
        }
        return vue.createVNode("div", {
          "class": className
        }, [prepend, defaultSlot[0], append2]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var InputAdornment = withInstall(_InputAdornment);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$9 = {
    current: {
      type: Number,
      "default": void 0
    },
    modelValue: {
      type: Number,
      "default": void 0
    },
    defaultCurrent: {
      type: Number,
      "default": 1
    },
    disabled: Boolean,
    foldedMaxPageBtn: {
      type: Number,
      "default": 5
    },
    maxPageBtn: {
      type: Number,
      "default": 10
    },
    pageEllipsisMode: {
      type: String,
      "default": "mid",
      validator: function validator32(val) {
        if (!val)
          return true;
        return ["mid", "both-ends"].includes(val);
      }
    },
    pageSize: {
      type: Number,
      "default": void 0
    },
    defaultPageSize: {
      type: Number,
      "default": 10
    },
    pageSizeOptions: {
      type: Array,
      "default": function _default5() {
        return [5, 10, 20, 50];
      }
    },
    selectProps: {
      type: Object
    },
    showFirstAndLastPageBtn: Boolean,
    showJumper: Boolean,
    showPageNumber: {
      type: Boolean,
      "default": true
    },
    showPageSize: {
      type: Boolean,
      "default": true
    },
    showPreviousAndNextBtn: {
      type: Boolean,
      "default": true
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator33(val) {
        if (!val)
          return true;
        return ["small", "medium"].includes(val);
      }
    },
    theme: {
      type: String,
      "default": "default",
      validator: function validator34(val) {
        if (!val)
          return true;
        return ["default", "simple"].includes(val);
      }
    },
    total: {
      type: Number,
      "default": 0
    },
    totalContent: {
      type: [Boolean, Function],
      "default": true
    },
    onChange: Function,
    onCurrentChange: Function,
    onPageSizeChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function usePaginationClasses(props2, innerCurrent, innerPageSize, name) {
    var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE, STATUS = _useCommonClassName.STATUS;
    var pageCount = vue.computed(function() {
      var c = Math.ceil(props2.total / innerPageSize.value);
      return c > 0 ? c : 1;
    });
    var paginationClass = vue.computed(function() {
      var _ref;
      return ["".concat(name.value), SIZE.value[props2.size], (_ref = {}, _defineProperty$2(_ref, STATUS.value.disabled, props2.disabled), _defineProperty$2(_ref, "".concat(name.value, "-ie"), getIEVersion() < 11), _ref)];
    });
    var totalClass = vue.computed(function() {
      return ["".concat(name.value, "__total")];
    });
    var sizerClass = vue.computed(function() {
      return ["".concat(name.value, "__select")];
    });
    var preBtnClass = vue.computed(function() {
      return ["".concat(name.value, "__btn"), "".concat(name.value, "__btn-prev"), _defineProperty$2({}, STATUS.value.disabled, props2.disabled || innerCurrent.value === 1)];
    });
    var nextBtnClass = vue.computed(function() {
      return ["".concat(name.value, "__btn"), "".concat(name.value, "__btn-next"), _defineProperty$2({}, STATUS.value.disabled, props2.disabled || innerCurrent.value === pageCount.value)];
    });
    var btnWrapClass = vue.computed(function() {
      return ["".concat(name.value, "__pager")];
    });
    var btnMoreClass = vue.computed(function() {
      return ["".concat(name.value, "__number"), "".concat(name.value, "__number--more"), _defineProperty$2({}, STATUS.value.disabled, props2.disabled)];
    });
    var jumperClass = vue.computed(function() {
      return ["".concat(name.value, "__jump")];
    });
    var jumperInputClass = vue.computed(function() {
      return ["".concat(name.value, "__input")];
    });
    var simpleClass = vue.computed(function() {
      return ["".concat(name.value, "__select")];
    });
    var getButtonClass = function getButtonClass2(index2) {
      var _ref5;
      return ["".concat(name.value, "__number"), (_ref5 = {}, _defineProperty$2(_ref5, STATUS.value.disabled, props2.disabled), _defineProperty$2(_ref5, STATUS.value.current, innerCurrent.value === index2), _ref5)];
    };
    return {
      pageCount,
      paginationClass,
      totalClass,
      sizerClass,
      preBtnClass,
      nextBtnClass,
      btnWrapClass,
      btnMoreClass,
      jumperClass,
      jumperInputClass,
      simpleClass,
      getButtonClass
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useMoreAction(props2, pageCount, innerCurrent) {
    var prevMore = vue.ref(false);
    var nextMore = vue.ref(false);
    var curPageLeftCount = vue.computed(function() {
      return Math.ceil((props2.foldedMaxPageBtn - 1) / 2);
    });
    var curPageRightCount = vue.computed(function() {
      return Math.ceil((props2.foldedMaxPageBtn - 1) / 2);
    });
    var isPrevMoreShow = vue.computed(function() {
      return 2 + curPageLeftCount.value < innerCurrent.value;
    });
    var isNextMoreShow = vue.computed(function() {
      return pageCount.value - 1 - curPageRightCount.value > innerCurrent.value;
    });
    return {
      prevMore,
      nextMore,
      curPageLeftCount,
      curPageRightCount,
      isPrevMoreShow,
      isNextMoreShow
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isNumber$1 = isNumber_1;
  function isNaN$1(value) {
    return isNumber$1(value) && value != +value;
  }
  var _isNaN = isNaN$1;
  var _excluded$3 = ["pageCount"];
  var min = 1;
  var _Pagination = vue.defineComponent({
    name: "TPagination",
    props: props$9,
    setup: function setup28(props2) {
      var _toRefs = vue.toRefs(props2), modelValue = _toRefs.modelValue, pageSize = _toRefs.pageSize, current = _toRefs.current;
      var renderTNodeJSX3 = useTNodeJSX();
      var _useVModel = useVModel(current, modelValue, props2.defaultCurrent, props2.onCurrentChange, "current"), _useVModel2 = _slicedToArray(_useVModel, 2), innerCurrent = _useVModel2[0], setInnerCurrent = _useVModel2[1];
      var _useDefaultValue = useDefaultValue(pageSize, props2.defaultPageSize, props2.onPageSizeChange, "pageSize"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), innerPageSize = _useDefaultValue2[0], setInnerPageSize = _useDefaultValue2[1];
      var _useConfig = useConfig("pagination"), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
      var COMPONENT_NAME = usePrefixClass("pagination");
      var _useGlobalIcon = useGlobalIcon({
        PageFirstIcon,
        PageLastIcon,
        ChevronLeftIcon,
        ChevronRightIcon,
        ChevronLeftDoubleIcon,
        ChevronRightDoubleIcon,
        EllipsisIcon
      }), PageFirstIcon$1 = _useGlobalIcon.PageFirstIcon, PageLastIcon$1 = _useGlobalIcon.PageLastIcon, ChevronLeftIcon$1 = _useGlobalIcon.ChevronLeftIcon, ChevronRightIcon$1 = _useGlobalIcon.ChevronRightIcon, ChevronLeftDoubleIcon$1 = _useGlobalIcon.ChevronLeftDoubleIcon, ChevronRightDoubleIcon$1 = _useGlobalIcon.ChevronRightDoubleIcon, EllipsisIcon$1 = _useGlobalIcon.EllipsisIcon;
      var _usePaginationClasses = usePaginationClasses(props2, innerCurrent, innerPageSize, COMPONENT_NAME), pageCount = _usePaginationClasses.pageCount, CLASS_MAP = _objectWithoutProperties$1(_usePaginationClasses, _excluded$3);
      var _useMoreAction = useMoreAction(props2, pageCount, innerCurrent), prevMore = _useMoreAction.prevMore, isPrevMoreShow = _useMoreAction.isPrevMoreShow, curPageLeftCount = _useMoreAction.curPageLeftCount, nextMore = _useMoreAction.nextMore, isNextMoreShow = _useMoreAction.isNextMoreShow, curPageRightCount = _useMoreAction.curPageRightCount;
      var jumpIndex = vue.ref(innerCurrent.value);
      var isFolded = vue.computed(function() {
        return pageCount.value > props2.maxPageBtn;
      });
      var sizeOptions = vue.computed(function() {
        var pageSizeOptions = props2.pageSizeOptions;
        var options = pageSizeOptions.map(function(option2) {
          return isObject_1(option2) ? option2 : {
            label: t(globalConfig.value.itemsPerPage, {
              size: option2
            }),
            value: Number(option2)
          };
        });
        return options.sort(function(a, b) {
          return a.value - b.value;
        });
      });
      var isMidEllipsis = vue.computed(function() {
        return props2.pageEllipsisMode === "mid";
      });
      var pages = vue.computed(function() {
        var array = [];
        var start2;
        var end2;
        if (isFolded.value) {
          if (isPrevMoreShow.value && isNextMoreShow.value) {
            start2 = innerCurrent.value - curPageLeftCount.value;
            end2 = innerCurrent.value + curPageRightCount.value;
          } else {
            var foldedStart = isMidEllipsis.value ? 2 : 1;
            var foldedEnd = isMidEllipsis.value ? pageCount.value - 1 : pageCount.value;
            start2 = isPrevMoreShow.value ? pageCount.value - props2.foldedMaxPageBtn + 1 : foldedStart;
            end2 = isPrevMoreShow.value ? foldedEnd : props2.foldedMaxPageBtn;
          }
        } else {
          start2 = 1;
          end2 = pageCount.value;
        }
        for (var i = start2; i <= end2; i++) {
          array.push(i);
        }
        return array;
      });
      vue.watch(function() {
        return pageCount.value;
      }, function() {
        if (innerCurrent.value > pageCount.value)
          innerCurrent.value = 1;
      });
      vue.watch(function() {
        return innerCurrent.value;
      }, function(val) {
        return jumpIndex.value = val;
      });
      var toPage = function toPage2(pageIndex, isTriggerChange) {
        if (props2.disabled) {
          return;
        }
        var current2 = pageIndex;
        if (pageIndex < min) {
          current2 = min;
        } else if (pageIndex > pageCount.value) {
          current2 = pageCount.value;
        }
        if (innerCurrent.value !== current2) {
          var prev = innerCurrent.value;
          var pageInfo = {
            current: current2,
            previous: prev,
            pageSize: innerPageSize.value
          };
          setInnerCurrent(current2, pageInfo);
          if (isTriggerChange !== false) {
            var _props2$onChange;
            (_props2$onChange = props2.onChange) === null || _props2$onChange === void 0 || _props2$onChange.call(props2, pageInfo);
          }
        }
      };
      var handlePageChange = function handlePageChange2(type) {
        var pageChangeMap = {
          prevPage: function prevPage() {
            return toPage(innerCurrent.value - 1);
          },
          nextPage: function nextPage() {
            return toPage(innerCurrent.value + 1);
          },
          prevMorePage: function prevMorePage() {
            return toPage(innerCurrent.value - props2.foldedMaxPageBtn);
          },
          nextMorePage: function nextMorePage() {
            return toPage(innerCurrent.value + props2.foldedMaxPageBtn);
          }
        };
        pageChangeMap[type]();
      };
      var onSelectorChange = function onSelectorChange2(e) {
        var _props2$onChange2;
        if (props2.disabled) {
          return;
        }
        var pageSize2 = parseInt(e, 10);
        var pageCount2 = 1;
        if (pageSize2 > 0) {
          pageCount2 = Math.max(Math.ceil(props2.total / pageSize2), 1);
        }
        var isIndexChange = false;
        if (innerCurrent.value > pageCount2) {
          isIndexChange = true;
        }
        var pageInfo = {
          current: isIndexChange ? pageCount2 : innerCurrent.value,
          previous: innerCurrent.value,
          pageSize: pageSize2
        };
        (_props2$onChange2 = props2.onChange) === null || _props2$onChange2 === void 0 || _props2$onChange2.call(props2, pageInfo);
        setInnerPageSize(pageSize2, pageInfo);
        if (isIndexChange) {
          toPage(pageCount2, false);
        }
      };
      var onJumperChange = function onJumperChange2(val) {
        var currentIndex = Math.trunc(+val);
        if (_isNaN(currentIndex))
          return;
        jumpIndex.value = currentIndex;
        toPage(currentIndex);
      };
      return function() {
        var total = props2.total, pageSizeOptions = props2.pageSizeOptions, size = props2.size, disabled = props2.disabled, showPageSize = props2.showPageSize;
        if (pageCount.value < 1)
          return null;
        var Jumper = vue.createVNode("div", {
          "class": CLASS_MAP.jumperClass.value
        }, [t(globalConfig.value.jumpTo), vue.createVNode(InputAdornment, {
          "append": "/ ".concat(pageCount.value, " ").concat(t(globalConfig.value.page))
        }, {
          "default": function _default16() {
            return [vue.createVNode(InputNumber, {
              "class": CLASS_MAP.jumperInputClass.value,
              "modelValue": jumpIndex.value,
              "onUpdate:modelValue": function onUpdateModelValue($event) {
                return jumpIndex.value = $event;
              },
              "onBlur": onJumperChange,
              "onEnter": onJumperChange,
              "max": pageCount.value,
              "min": min,
              "size": size,
              "disabled": disabled,
              "theme": "normal",
              "placeholder": ""
            }, null)];
          }
        })]);
        return vue.createVNode("div", {
          "class": CLASS_MAP.paginationClass.value
        }, [renderTNodeJSX3("totalContent", vue.createVNode("div", {
          "class": CLASS_MAP.totalClass.value
        }, [t(globalConfig.value.total, {
          total
        })])), showPageSize && pageSizeOptions.length > 0 && vue.createVNode(Select, vue.mergeProps({
          "size": size,
          "value": innerPageSize,
          "disabled": disabled,
          "class": CLASS_MAP.sizerClass.value,
          "autoWidth": true,
          "onChange": onSelectorChange,
          "options": sizeOptions.value
        }, props2.selectProps), null), props2.showFirstAndLastPageBtn ? vue.createVNode("div", {
          "class": CLASS_MAP.preBtnClass.value,
          "onClick": function onClick() {
            return toPage(1);
          },
          "disabled": props2.disabled || props2.current === min
        }, [vue.createVNode(PageFirstIcon$1, null, null)]) : null, props2.showPreviousAndNextBtn ? vue.createVNode("div", {
          "class": CLASS_MAP.preBtnClass.value,
          "onClick": function onClick() {
            return handlePageChange("prevPage");
          },
          "disabled": disabled || innerCurrent.value === min
        }, [vue.createVNode(ChevronLeftIcon$1, null, null)]) : null, props2.showPageNumber && props2.theme === "default" ? vue.createVNode("ul", {
          "class": CLASS_MAP.btnWrapClass.value
        }, [isFolded.value && isMidEllipsis.value && vue.createVNode("li", {
          "class": CLASS_MAP.getButtonClass(1),
          "onClick": function onClick() {
            return toPage(min);
          }
        }, [min]), isFolded.value && isPrevMoreShow.value && isMidEllipsis.value ? vue.createVNode("li", {
          "class": CLASS_MAP.btnMoreClass.value,
          "onClick": function onClick() {
            return handlePageChange("prevMorePage");
          },
          "onMouseOver": function onMouseOver() {
            return prevMore.value = true;
          },
          "onMouseOut": function onMouseOut() {
            return prevMore.value = false;
          }
        }, [prevMore.value ? vue.createVNode(ChevronLeftDoubleIcon$1, null, null) : vue.createVNode(EllipsisIcon$1, null, null)]) : null, pages.value.map(function(i) {
          return vue.createVNode("li", {
            "class": CLASS_MAP.getButtonClass(i),
            "key": i,
            "onClick": function onClick() {
              return toPage(i);
            }
          }, [i]);
        }), isFolded.value && isNextMoreShow.value && isMidEllipsis.value ? vue.createVNode("li", {
          "class": CLASS_MAP.btnMoreClass.value,
          "onClick": function onClick() {
            return handlePageChange("nextMorePage");
          },
          "onMouseOver": function onMouseOver() {
            return nextMore.value = true;
          },
          "onMouseOut": function onMouseOut() {
            return nextMore.value = false;
          }
        }, [nextMore.value ? vue.createVNode(ChevronRightDoubleIcon$1, null, null) : vue.createVNode(EllipsisIcon$1, null, null)]) : null, isFolded.value && isMidEllipsis.value ? vue.createVNode("li", {
          "class": CLASS_MAP.getButtonClass(pageCount.value),
          "onClick": function onClick() {
            return toPage(pageCount.value);
          }
        }, [pageCount.value]) : null]) : null, props2.theme === "simple" && Jumper, props2.showPreviousAndNextBtn ? vue.createVNode("div", {
          "class": CLASS_MAP.nextBtnClass.value,
          "onClick": function onClick() {
            return handlePageChange("nextPage");
          },
          "disabled": disabled || innerCurrent.value === pageCount.value
        }, [vue.createVNode(ChevronRightIcon$1, null, null)]) : null, props2.showFirstAndLastPageBtn ? vue.createVNode("div", {
          "class": CLASS_MAP.nextBtnClass.value,
          "onClick": function onClick() {
            return toPage(pageCount.value);
          },
          "disabled": disabled || innerCurrent.value === pageCount.value
        }, [vue.createVNode(PageLastIcon$1, null, null)]) : null, props2.theme === "default" && props2.showJumper && Jumper]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$8 = {
    disabled: {
      type: [Boolean, Object]
    },
    layout: {
      type: String,
      "default": "horizontal",
      validator: function validator35(val) {
        if (!val)
          return true;
        return ["horizontal", "vertical"].includes(val);
      }
    },
    showCurrent: {
      type: Boolean,
      "default": true
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator36(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    tips: {
      type: Object
    },
    variant: {
      type: String,
      "default": "text",
      validator: function validator37(val) {
        if (!val)
          return true;
        return ["text", "outline"].includes(val);
      }
    },
    onChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$x(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$w(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$x(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _PaginationMini = vue.defineComponent({
    name: "TPaginationMini",
    props: _objectSpread$w({}, props$8),
    setup: function setup29(props2) {
      var COMPONENT_NAME = usePrefixClass("pagination-mini");
      var _useGlobalIcon = useGlobalIcon({
        ChevronLeftIcon,
        RoundIcon,
        ChevronRightIcon,
        ChevronUpIcon,
        ChevronDownIcon
      }), ChevronLeftIcon$1 = _useGlobalIcon.ChevronLeftIcon, RoundIcon$1 = _useGlobalIcon.RoundIcon, ChevronRightIcon$1 = _useGlobalIcon.ChevronRightIcon, ChevronUpIcon$1 = _useGlobalIcon.ChevronUpIcon, ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon;
      var titleConfig = vue.computed(function() {
        if (isObject_1(props2.tips))
          return props2.tips;
        if (props2.tips === true)
          return {
            prev: "上一页",
            current: "当前",
            next: "下一页"
          };
        return {};
      });
      var disabledConfig = vue.computed(function() {
        if (isObject_1(props2.disabled))
          return props2.disabled;
        if (props2.disabled === true)
          return {
            prev: true,
            current: true,
            next: true
          };
        return {
          prev: false,
          current: false,
          next: false
        };
      });
      return function() {
        var jumperClass = [COMPONENT_NAME.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--outline"), props2.variant === "outline")];
        return vue.createVNode("div", {
          "class": jumperClass
        }, [vue.createVNode(Button, {
          "title": titleConfig.value.prev,
          "variant": props2.variant,
          "size": props2.size,
          "shape": "square",
          "onClick": function onClick(e) {
            var _props2$onChange;
            return (_props2$onChange = props2.onChange) === null || _props2$onChange === void 0 ? void 0 : _props2$onChange.call(props2, {
              e,
              trigger: "prev"
            });
          },
          "icon": props2.layout === "horizontal" ? function() {
            return vue.createVNode(ChevronLeftIcon$1, null, null);
          } : function() {
            return vue.createVNode(ChevronUpIcon$1, null, null);
          },
          "class": "".concat(COMPONENT_NAME.value, "__prev"),
          "disabled": disabledConfig.value.prev
        }, null), props2.showCurrent && vue.createVNode(Button, {
          "title": titleConfig.value.current,
          "variant": props2.variant,
          "size": props2.size,
          "shape": "square",
          "onClick": function onClick(e) {
            var _props2$onChange2;
            return (_props2$onChange2 = props2.onChange) === null || _props2$onChange2 === void 0 ? void 0 : _props2$onChange2.call(props2, {
              e,
              trigger: "current"
            });
          },
          "icon": function icon() {
            return vue.createVNode(RoundIcon$1, null, null);
          },
          "class": "".concat(COMPONENT_NAME.value, "__current"),
          "disabled": disabledConfig.value.current
        }, null), vue.createVNode(Button, {
          "title": titleConfig.value.next,
          "variant": props2.variant,
          "size": props2.size,
          "shape": "square",
          "onClick": function onClick(e) {
            var _props2$onChange3;
            return (_props2$onChange3 = props2.onChange) === null || _props2$onChange3 === void 0 ? void 0 : _props2$onChange3.call(props2, {
              e,
              trigger: "next"
            });
          },
          "icon": props2.layout === "horizontal" ? function() {
            return vue.createVNode(ChevronRightIcon$1, null, null);
          } : function() {
            return vue.createVNode(ChevronDownIcon$1, null, null);
          },
          "class": "".concat(COMPONENT_NAME.value, "__next"),
          "disabled": disabledConfig.value.next
        }, null)]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Pagination = withInstall(_Pagination);
  withInstall(_PaginationMini);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function setToArray$2(set2) {
    var index2 = -1, result = Array(set2.size);
    set2.forEach(function(value) {
      result[++index2] = value;
    });
    return result;
  }
  var _setToArray = setToArray$2;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var SetCache$1 = _SetCache, arrayIncludes$1 = _arrayIncludes, arrayIncludesWith$1 = _arrayIncludesWith, arrayMap = _arrayMap, baseUnary = _baseUnary, cacheHas$1 = _cacheHas;
  var LARGE_ARRAY_SIZE$1 = 200;
  function baseDifference$1(array, values, iteratee, comparator) {
    var index2 = -1, includes = arrayIncludes$1, isCommon = true, length = array.length, result = [], valuesLength = values.length;
    if (!length) {
      return result;
    }
    if (iteratee) {
      values = arrayMap(values, baseUnary(iteratee));
    }
    if (comparator) {
      includes = arrayIncludesWith$1;
      isCommon = false;
    } else if (values.length >= LARGE_ARRAY_SIZE$1) {
      includes = cacheHas$1;
      isCommon = false;
      values = new SetCache$1(values);
    }
    outer:
      while (++index2 < length) {
        var value = array[index2], computed2 = iteratee == null ? value : iteratee(value);
        value = comparator || value !== 0 ? value : 0;
        if (isCommon && computed2 === computed2) {
          var valuesIndex = valuesLength;
          while (valuesIndex--) {
            if (values[valuesIndex] === computed2) {
              continue outer;
            }
          }
          result.push(value);
        } else if (!includes(values, computed2, comparator)) {
          result.push(value);
        }
      }
    return result;
  }
  var _baseDifference = baseDifference$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function isNil(value) {
    return value == null;
  }
  var isNil_1 = isNil;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseSet = _baseSet;
  function set(object, path, value) {
    return object == null ? object : baseSet(object, path, value);
  }
  var set_1 = set;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var isDate$1 = { exports: {} };
  var merge$1 = { exports: {} };
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = merge2;
    function merge2() {
      var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
      var defaults2 = arguments.length > 1 ? arguments[1] : void 0;
      for (var key2 in defaults2) {
        if (typeof obj[key2] === "undefined") {
          obj[key2] = defaults2[key2];
        }
      }
      return obj;
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(merge$1, merge$1.exports);
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = isDate2;
    var _merge = _interopRequireDefault(merge$1.exports);
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : {
        "default": obj
      };
    }
    function _slicedToArray2(arr, i) {
      return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2();
    }
    function _nonIterableRest2() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    function _iterableToArrayLimit2(arr, i) {
      if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr)))
        return;
      var _arr = [];
      var _n = true;
      var _d = false;
      var _e = void 0;
      try {
        for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
          _arr.push(_s.value);
          if (i && _arr.length === i)
            break;
        }
      } catch (err) {
        _d = true;
        _e = err;
      } finally {
        try {
          if (!_n && _i["return"] != null)
            _i["return"]();
        } finally {
          if (_d)
            throw _e;
        }
      }
      return _arr;
    }
    function _arrayWithHoles2(arr) {
      if (Array.isArray(arr))
        return arr;
    }
    function _createForOfIteratorHelper2(o, allowArrayLike) {
      var it;
      if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
        if (Array.isArray(o) || (it = _unsupportedIterableToArray2(o)) || allowArrayLike && o && typeof o.length === "number") {
          if (it)
            o = it;
          var i = 0;
          var F = function F2() {
          };
          return {
            s: F,
            n: function n() {
              if (i >= o.length)
                return {
                  done: true
                };
              return {
                done: false,
                value: o[i++]
              };
            },
            e: function e(_e2) {
              throw _e2;
            },
            f: F
          };
        }
        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
      }
      var normalCompletion = true, didErr = false, err;
      return {
        s: function s() {
          it = o[Symbol.iterator]();
        },
        n: function n() {
          var step = it.next();
          normalCompletion = step.done;
          return step;
        },
        e: function e(_e3) {
          didErr = true;
          err = _e3;
        },
        f: function f() {
          try {
            if (!normalCompletion && it["return"] != null)
              it["return"]();
          } finally {
            if (didErr)
              throw err;
          }
        }
      };
    }
    function _unsupportedIterableToArray2(o, minLen) {
      if (!o)
        return;
      if (typeof o === "string")
        return _arrayLikeToArray2(o, minLen);
      var n = Object.prototype.toString.call(o).slice(8, -1);
      if (n === "Object" && o.constructor)
        n = o.constructor.name;
      if (n === "Map" || n === "Set")
        return Array.from(o);
      if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
        return _arrayLikeToArray2(o, minLen);
    }
    function _arrayLikeToArray2(arr, len2) {
      if (len2 == null || len2 > arr.length)
        len2 = arr.length;
      for (var i = 0, arr2 = new Array(len2); i < len2; i++) {
        arr2[i] = arr[i];
      }
      return arr2;
    }
    var default_date_options = {
      format: "YYYY/MM/DD",
      delimiters: ["/", "-"],
      strictMode: false
    };
    function isValidFormat(format) {
      return /(^(y{4}|y{2})[.\/-](m{1,2})[.\/-](d{1,2})$)|(^(m{1,2})[.\/-](d{1,2})[.\/-]((y{4}|y{2})$))|(^(d{1,2})[.\/-](m{1,2})[.\/-]((y{4}|y{2})$))/gi.test(format);
    }
    function zip(date, format) {
      var zippedArr = [], len2 = Math.min(date.length, format.length);
      for (var i = 0; i < len2; i++) {
        zippedArr.push([date[i], format[i]]);
      }
      return zippedArr;
    }
    function isDate2(input, options) {
      if (typeof options === "string") {
        options = (0, _merge["default"])({
          format: options
        }, default_date_options);
      } else {
        options = (0, _merge["default"])(options, default_date_options);
      }
      if (typeof input === "string" && isValidFormat(options.format)) {
        var formatDelimiter = options.delimiters.find(function(delimiter) {
          return options.format.indexOf(delimiter) !== -1;
        });
        var dateDelimiter = options.strictMode ? formatDelimiter : options.delimiters.find(function(delimiter) {
          return input.indexOf(delimiter) !== -1;
        });
        var dateAndFormat = zip(input.split(dateDelimiter), options.format.toLowerCase().split(formatDelimiter));
        var dateObj = {};
        var _iterator = _createForOfIteratorHelper2(dateAndFormat), _step;
        try {
          for (_iterator.s(); !(_step = _iterator.n()).done; ) {
            var _step$value = _slicedToArray2(_step.value, 2), dateWord = _step$value[0], formatWord = _step$value[1];
            if (dateWord.length !== formatWord.length) {
              return false;
            }
            dateObj[formatWord.charAt(0)] = dateWord;
          }
        } catch (err) {
          _iterator.e(err);
        } finally {
          _iterator.f();
        }
        var fullYear = dateObj.y;
        if (dateObj.y.length === 2) {
          var parsedYear = parseInt(dateObj.y, 10);
          if (isNaN(parsedYear)) {
            return false;
          }
          var currentYearLastTwoDigits = (/* @__PURE__ */ new Date()).getFullYear() % 100;
          if (parsedYear < currentYearLastTwoDigits) {
            fullYear = "20".concat(dateObj.y);
          } else {
            fullYear = "19".concat(dateObj.y);
          }
        }
        return new Date("".concat(fullYear, "-").concat(dateObj.m, "-").concat(dateObj.d)).getDate() === +dateObj.d;
      }
      if (!options.strictMode) {
        return Object.prototype.toString.call(input) === "[object Date]" && isFinite(input);
      }
      return false;
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(isDate$1, isDate$1.exports);
  var isDate$2 = /* @__PURE__ */ getDefaultExportFromCjs$1(isDate$1.exports);
  var isEmail$1 = { exports: {} };
  var assertString$1 = { exports: {} };
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = assertString;
    function _typeof2(obj) {
      "@babel/helpers - typeof";
      if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
        _typeof2 = function _typeof3(obj2) {
          return typeof obj2;
        };
      } else {
        _typeof2 = function _typeof3(obj2) {
          return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
        };
      }
      return _typeof2(obj);
    }
    function assertString(input) {
      var isString2 = typeof input === "string" || input instanceof String;
      if (!isString2) {
        var invalidType = _typeof2(input);
        if (input === null)
          invalidType = "null";
        else if (invalidType === "object")
          invalidType = input.constructor.name;
        throw new TypeError("Expected a string but received a ".concat(invalidType));
      }
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(assertString$1, assertString$1.exports);
  var isByteLength$1 = { exports: {} };
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = isByteLength;
    var _assertString = _interopRequireDefault(assertString$1.exports);
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : {
        "default": obj
      };
    }
    function _typeof2(obj) {
      "@babel/helpers - typeof";
      if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
        _typeof2 = function _typeof3(obj2) {
          return typeof obj2;
        };
      } else {
        _typeof2 = function _typeof3(obj2) {
          return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
        };
      }
      return _typeof2(obj);
    }
    function isByteLength(str, options) {
      (0, _assertString["default"])(str);
      var min3;
      var max3;
      if (_typeof2(options) === "object") {
        min3 = options.min || 0;
        max3 = options.max;
      } else {
        min3 = arguments[1];
        max3 = arguments[2];
      }
      var len2 = encodeURI(str).split(/%..|./).length - 1;
      return len2 >= min3 && (typeof max3 === "undefined" || len2 <= max3);
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(isByteLength$1, isByteLength$1.exports);
  var isFQDN$1 = { exports: {} };
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = isFQDN;
    var _assertString = _interopRequireDefault(assertString$1.exports);
    var _merge = _interopRequireDefault(merge$1.exports);
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : {
        "default": obj
      };
    }
    var default_fqdn_options = {
      require_tld: true,
      allow_underscores: false,
      allow_trailing_dot: false,
      allow_numeric_tld: false,
      allow_wildcard: false,
      ignore_max_length: false
    };
    function isFQDN(str, options) {
      (0, _assertString["default"])(str);
      options = (0, _merge["default"])(options, default_fqdn_options);
      if (options.allow_trailing_dot && str[str.length - 1] === ".") {
        str = str.substring(0, str.length - 1);
      }
      if (options.allow_wildcard === true && str.indexOf("*.") === 0) {
        str = str.substring(2);
      }
      var parts = str.split(".");
      var tld = parts[parts.length - 1];
      if (options.require_tld) {
        if (parts.length < 2) {
          return false;
        }
        if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
          return false;
        }
        if (/\s/.test(tld)) {
          return false;
        }
      }
      if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
        return false;
      }
      return parts.every(function(part) {
        if (part.length > 63 && !options.ignore_max_length) {
          return false;
        }
        if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
          return false;
        }
        if (/[\uff01-\uff5e]/.test(part)) {
          return false;
        }
        if (/^-|-$/.test(part)) {
          return false;
        }
        if (!options.allow_underscores && /_/.test(part)) {
          return false;
        }
        return true;
      });
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(isFQDN$1, isFQDN$1.exports);
  var isIP$1 = { exports: {} };
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = isIP;
    var _assertString = _interopRequireDefault(assertString$1.exports);
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : {
        "default": obj
      };
    }
    var IPv4SegmentFormat = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";
    var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
    var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
    var IPv6SegmentFormat = "(?:[0-9a-fA-F]{1,4})";
    var IPv6AddressRegExp = new RegExp("^(" + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ")(%[0-9a-zA-Z-.:]{1,})?$");
    function isIP(str) {
      var version2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
      (0, _assertString["default"])(str);
      version2 = String(version2);
      if (!version2) {
        return isIP(str, 4) || isIP(str, 6);
      }
      if (version2 === "4") {
        return IPv4AddressRegExp.test(str);
      }
      if (version2 === "6") {
        return IPv6AddressRegExp.test(str);
      }
      return false;
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(isIP$1, isIP$1.exports);
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = isEmail2;
    var _assertString = _interopRequireDefault(assertString$1.exports);
    var _isByteLength = _interopRequireDefault(isByteLength$1.exports);
    var _isFQDN = _interopRequireDefault(isFQDN$1.exports);
    var _isIP = _interopRequireDefault(isIP$1.exports);
    var _merge = _interopRequireDefault(merge$1.exports);
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : {
        "default": obj
      };
    }
    var default_email_options = {
      allow_display_name: false,
      allow_underscores: false,
      require_display_name: false,
      allow_utf8_local_part: true,
      require_tld: true,
      blacklisted_chars: "",
      ignore_max_length: false,
      host_blacklist: [],
      host_whitelist: []
    };
    var splitNameAddress = /^([^\x00-\x1F\x7F-\x9F\cX]+)</i;
    var emailUserPart = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i;
    var gmailUserPart = /^[a-z\d]+$/;
    var quotedEmailUser = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i;
    var emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
    var quotedEmailUserUtf8 = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;
    var defaultMaxEmailLength = 254;
    function validateDisplayName(display_name) {
      var display_name_without_quotes = display_name.replace(/^"(.+)"$/, "$1");
      if (!display_name_without_quotes.trim()) {
        return false;
      }
      var contains_illegal = /[\.";<>]/.test(display_name_without_quotes);
      if (contains_illegal) {
        if (display_name_without_quotes === display_name) {
          return false;
        }
        var all_start_with_back_slash = display_name_without_quotes.split('"').length === display_name_without_quotes.split('\\"').length;
        if (!all_start_with_back_slash) {
          return false;
        }
      }
      return true;
    }
    function isEmail2(str, options) {
      (0, _assertString["default"])(str);
      options = (0, _merge["default"])(options, default_email_options);
      if (options.require_display_name || options.allow_display_name) {
        var display_email = str.match(splitNameAddress);
        if (display_email) {
          var display_name = display_email[1];
          str = str.replace(display_name, "").replace(/(^<|>$)/g, "");
          if (display_name.endsWith(" ")) {
            display_name = display_name.slice(0, -1);
          }
          if (!validateDisplayName(display_name)) {
            return false;
          }
        } else if (options.require_display_name) {
          return false;
        }
      }
      if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {
        return false;
      }
      var parts = str.split("@");
      var domain = parts.pop();
      var lower_domain = domain.toLowerCase();
      if (options.host_blacklist.includes(lower_domain)) {
        return false;
      }
      if (options.host_whitelist.length > 0 && !options.host_whitelist.includes(lower_domain)) {
        return false;
      }
      var user = parts.join("@");
      if (options.domain_specific_validation && (lower_domain === "gmail.com" || lower_domain === "googlemail.com")) {
        user = user.toLowerCase();
        var username = user.split("+")[0];
        if (!(0, _isByteLength["default"])(username.replace(/\./g, ""), {
          min: 6,
          max: 30
        })) {
          return false;
        }
        var _user_parts = username.split(".");
        for (var i = 0; i < _user_parts.length; i++) {
          if (!gmailUserPart.test(_user_parts[i])) {
            return false;
          }
        }
      }
      if (options.ignore_max_length === false && (!(0, _isByteLength["default"])(user, {
        max: 64
      }) || !(0, _isByteLength["default"])(domain, {
        max: 254
      }))) {
        return false;
      }
      if (!(0, _isFQDN["default"])(domain, {
        require_tld: options.require_tld,
        ignore_max_length: options.ignore_max_length,
        allow_underscores: options.allow_underscores
      })) {
        if (!options.allow_ip_domain) {
          return false;
        }
        if (!(0, _isIP["default"])(domain)) {
          if (!domain.startsWith("[") || !domain.endsWith("]")) {
            return false;
          }
          var noBracketdomain = domain.slice(1, -1);
          if (noBracketdomain.length === 0 || !(0, _isIP["default"])(noBracketdomain)) {
            return false;
          }
        }
      }
      if (user[0] === '"') {
        user = user.slice(1, user.length - 1);
        return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);
      }
      var pattern2 = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;
      var user_parts = user.split(".");
      for (var _i = 0; _i < user_parts.length; _i++) {
        if (!pattern2.test(user_parts[_i])) {
          return false;
        }
      }
      if (options.blacklisted_chars) {
        if (user.search(new RegExp("[".concat(options.blacklisted_chars, "]+"), "g")) !== -1)
          return false;
      }
      return true;
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(isEmail$1, isEmail$1.exports);
  var isEmail = /* @__PURE__ */ getDefaultExportFromCjs$1(isEmail$1.exports);
  var isURL$1 = { exports: {} };
  (function(module, exports) {
    Object.defineProperty(exports, "__esModule", {
      value: true
    });
    exports["default"] = isURL2;
    var _assertString = _interopRequireDefault(assertString$1.exports);
    var _isFQDN = _interopRequireDefault(isFQDN$1.exports);
    var _isIP = _interopRequireDefault(isIP$1.exports);
    var _merge = _interopRequireDefault(merge$1.exports);
    function _interopRequireDefault(obj) {
      return obj && obj.__esModule ? obj : {
        "default": obj
      };
    }
    function _slicedToArray2(arr, i) {
      return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2();
    }
    function _nonIterableRest2() {
      throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
    }
    function _unsupportedIterableToArray2(o, minLen) {
      if (!o)
        return;
      if (typeof o === "string")
        return _arrayLikeToArray2(o, minLen);
      var n = Object.prototype.toString.call(o).slice(8, -1);
      if (n === "Object" && o.constructor)
        n = o.constructor.name;
      if (n === "Map" || n === "Set")
        return Array.from(o);
      if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
        return _arrayLikeToArray2(o, minLen);
    }
    function _arrayLikeToArray2(arr, len2) {
      if (len2 == null || len2 > arr.length)
        len2 = arr.length;
      for (var i = 0, arr2 = new Array(len2); i < len2; i++) {
        arr2[i] = arr[i];
      }
      return arr2;
    }
    function _iterableToArrayLimit2(arr, i) {
      if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr)))
        return;
      var _arr = [];
      var _n = true;
      var _d = false;
      var _e = void 0;
      try {
        for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
          _arr.push(_s.value);
          if (i && _arr.length === i)
            break;
        }
      } catch (err) {
        _d = true;
        _e = err;
      } finally {
        try {
          if (!_n && _i["return"] != null)
            _i["return"]();
        } finally {
          if (_d)
            throw _e;
        }
      }
      return _arr;
    }
    function _arrayWithHoles2(arr) {
      if (Array.isArray(arr))
        return arr;
    }
    var default_url_options = {
      protocols: ["http", "https", "ftp"],
      require_tld: true,
      require_protocol: false,
      require_host: true,
      require_port: false,
      require_valid_protocol: true,
      allow_underscores: false,
      allow_trailing_dot: false,
      allow_protocol_relative_urls: false,
      allow_fragments: true,
      allow_query_components: true,
      validate_length: true
    };
    var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
    function isRegExp2(obj) {
      return Object.prototype.toString.call(obj) === "[object RegExp]";
    }
    function checkHost(host, matches2) {
      for (var i = 0; i < matches2.length; i++) {
        var match = matches2[i];
        if (host === match || isRegExp2(match) && match.test(host)) {
          return true;
        }
      }
      return false;
    }
    function isURL2(url, options) {
      (0, _assertString["default"])(url);
      if (!url || /[\s<>]/.test(url)) {
        return false;
      }
      if (url.indexOf("mailto:") === 0) {
        return false;
      }
      options = (0, _merge["default"])(options, default_url_options);
      if (options.validate_length && url.length >= 2083) {
        return false;
      }
      if (!options.allow_fragments && url.includes("#")) {
        return false;
      }
      if (!options.allow_query_components && (url.includes("?") || url.includes("&"))) {
        return false;
      }
      var protocol, auth, host, hostname, port, port_str, split, ipv6;
      split = url.split("#");
      url = split.shift();
      split = url.split("?");
      url = split.shift();
      split = url.split("://");
      if (split.length > 1) {
        protocol = split.shift().toLowerCase();
        if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
          return false;
        }
      } else if (options.require_protocol) {
        return false;
      } else if (url.slice(0, 2) === "//") {
        if (!options.allow_protocol_relative_urls) {
          return false;
        }
        split[0] = url.slice(2);
      }
      url = split.join("://");
      if (url === "") {
        return false;
      }
      split = url.split("/");
      url = split.shift();
      if (url === "" && !options.require_host) {
        return true;
      }
      split = url.split("@");
      if (split.length > 1) {
        if (options.disallow_auth) {
          return false;
        }
        if (split[0] === "") {
          return false;
        }
        auth = split.shift();
        if (auth.indexOf(":") >= 0 && auth.split(":").length > 2) {
          return false;
        }
        var _auth$split = auth.split(":"), _auth$split2 = _slicedToArray2(_auth$split, 2), user = _auth$split2[0], password = _auth$split2[1];
        if (user === "" && password === "") {
          return false;
        }
      }
      hostname = split.join("@");
      port_str = null;
      ipv6 = null;
      var ipv6_match = hostname.match(wrapped_ipv6);
      if (ipv6_match) {
        host = "";
        ipv6 = ipv6_match[1];
        port_str = ipv6_match[2] || null;
      } else {
        split = hostname.split(":");
        host = split.shift();
        if (split.length) {
          port_str = split.join(":");
        }
      }
      if (port_str !== null && port_str.length > 0) {
        port = parseInt(port_str, 10);
        if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
          return false;
        }
      } else if (options.require_port) {
        return false;
      }
      if (options.host_whitelist) {
        return checkHost(host, options.host_whitelist);
      }
      if (host === "" && !options.require_host) {
        return true;
      }
      if (!(0, _isIP["default"])(host) && !(0, _isFQDN["default"])(host, options) && (!ipv6 || !(0, _isIP["default"])(ipv6, 6))) {
        return false;
      }
      host = host || ipv6;
      if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
        return false;
      }
      return true;
    }
    module.exports = exports["default"];
    module.exports["default"] = exports["default"];
  })(isURL$1, isURL$1.exports);
  var isURL = /* @__PURE__ */ getDefaultExportFromCjs$1(isURL$1.exports);
  function ownKeys$w(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$v(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$w(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function isValueEmpty(val) {
    var type = Object.prototype.toString.call(val);
    var typeMap = {
      Date: "[object Date]"
    };
    if (type === typeMap.Date) {
      return false;
    }
    return isObject_1(val) ? isEmpty_1(val) : ["", void 0, null].includes(val);
  }
  var VALIDATE_MAP = {
    date: isDate$2,
    url: isURL,
    email: isEmail,
    required: function required(val) {
      return !isValueEmpty(val);
    },
    whitespace: function whitespace(val) {
      return !(/^\s+$/.test(val) || val === "");
    },
    "boolean": function boolean(val) {
      return isBoolean_1(val);
    },
    max: function max2(val, num) {
      return isNumber_1(val) ? val <= num : getCharacterLength(val) <= num;
    },
    min: function min2(val, num) {
      return isNumber_1(val) ? val >= num : getCharacterLength(val) >= num;
    },
    len: function len(val, num) {
      return getCharacterLength(val) === num;
    },
    number: function number(val) {
      return isNumber_1(val);
    },
    "enum": function _enum(val, strs) {
      return strs.includes(val);
    },
    idcard: function idcard(val) {
      return /^(\d{18,18}|\d{15,15}|\d{17,17}x)$/i.test(val);
    },
    telnumber: function telnumber(val) {
      return /^1[3-9]\d{9}$/.test(val);
    },
    pattern: function pattern(val, regexp) {
      return regexp.test(val);
    },
    validator: function validator38(val, validate2) {
      return validate2(val);
    }
  };
  function validateOneRule(_x, _x2) {
    return _validateOneRule.apply(this, arguments);
  }
  function _validateOneRule() {
    _validateOneRule = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee(value, rule) {
      var validateResult, keys2, vOptions, vValidateFun, i, key2, validateRule;
      return regenerator.wrap(function _callee$(_context) {
        while (1)
          switch (_context.prev = _context.next) {
            case 0:
              validateResult = {
                result: true
              };
              keys2 = Object.keys(rule);
              i = 0;
            case 3:
              if (!(i < keys2.length)) {
                _context.next = 15;
                break;
              }
              key2 = keys2[i];
              if (!(!rule.required && isValueEmpty(value) && !rule.validator)) {
                _context.next = 7;
                break;
              }
              return _context.abrupt("return", validateResult);
            case 7:
              validateRule = VALIDATE_MAP[key2];
              if (!(validateRule && (rule[key2] || rule[key2] === 0))) {
                _context.next = 12;
                break;
              }
              vOptions = rule[key2] === true ? void 0 : rule[key2];
              vValidateFun = validateRule;
              return _context.abrupt("break", 15);
            case 12:
              i++;
              _context.next = 3;
              break;
            case 15:
              if (!vValidateFun) {
                _context.next = 23;
                break;
              }
              _context.next = 18;
              return vValidateFun(value, vOptions);
            case 18:
              validateResult = _context.sent;
              if (!isBoolean_1(validateResult)) {
                _context.next = 21;
                break;
              }
              return _context.abrupt("return", _objectSpread$v(_objectSpread$v({}, rule), {}, {
                result: validateResult
              }));
            case 21:
              if (!isObject_1(validateResult)) {
                _context.next = 23;
                break;
              }
              return _context.abrupt("return", validateResult);
            case 23:
              return _context.abrupt("return", validateResult);
            case 24:
            case "end":
              return _context.stop();
          }
      }, _callee);
    }));
    return _validateOneRule.apply(this, arguments);
  }
  function validate(_x3, _x4) {
    return _validate.apply(this, arguments);
  }
  function _validate() {
    _validate = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee2(value, rules) {
      var all2, r;
      return regenerator.wrap(function _callee2$(_context2) {
        while (1)
          switch (_context2.prev = _context2.next) {
            case 0:
              all2 = rules.map(function(rule) {
                return validateOneRule(value, rule);
              });
              _context2.next = 3;
              return Promise.all(all2);
            case 3:
              r = _context2.sent;
              return _context2.abrupt("return", r);
            case 5:
            case "end":
              return _context2.stop();
          }
      }, _callee2);
    }));
    return _validate.apply(this, arguments);
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$7 = {
    allowUncheck: Boolean,
    checked: {
      type: Boolean,
      "default": void 0
    },
    modelValue: {
      type: Boolean,
      "default": void 0
    },
    defaultChecked: Boolean,
    "default": {
      type: [String, Function]
    },
    disabled: {
      type: Boolean,
      "default": void 0
    },
    label: {
      type: [String, Function]
    },
    name: {
      type: String,
      "default": ""
    },
    value: {
      type: [String, Number, Boolean],
      "default": void 0
    },
    onChange: Function,
    onClick: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var RadioGroupInjectionKey = Symbol("RadioGroupProvide");
  var RadioButtonInjectionKey = Symbol("RadioButtonProvide");
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$v(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$u(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$v(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function getValidAttrs$1(obj) {
    var newObj = {};
    Object.keys(obj).forEach(function(key2) {
      if (!isUndefined_1(obj[key2])) {
        newObj[key2] = obj[key2];
      }
    });
    return newObj;
  }
  var _Radio = vue.defineComponent({
    name: "TRadio",
    inheritAttrs: false,
    props: _objectSpread$u({}, props$7),
    setup: function setup30(props2, _ref) {
      var attrs = _ref.attrs;
      var inputRef = vue.ref();
      var _toRefs = vue.toRefs(props2), checked = _toRefs.checked, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(checked, modelValue, props2.defaultChecked, props2.onChange, "checked"), _useVModel2 = _slicedToArray(_useVModel, 2), innerChecked = _useVModel2[0], setInnerChecked = _useVModel2[1];
      var radioChecked = vue.computed(function() {
        return radioGroup ? props2.value === radioGroup.value : innerChecked.value;
      });
      var radioGroup = vue.inject(RadioGroupInjectionKey, void 0);
      var allowUncheck = vue.computed(function() {
        return Boolean(props2.allowUncheck || (radioGroup === null || radioGroup === void 0 ? void 0 : radioGroup.allowUncheck));
      });
      var handleClick = function handleClick2(e) {
        e.stopPropagation();
      };
      var onLabelClick = function onLabelClick2(e) {
        var _props2$onClick;
        if (disabled.value)
          return;
        (_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, {
          e
        });
        if (radioGroup) {
          var value = radioChecked.value && allowUncheck.value ? void 0 : props2.value;
          radioGroup.setValue(value, {
            e
          });
        } else {
          var _value = allowUncheck.value ? !radioChecked.value : true;
          setInnerChecked(_value, {
            e
          });
        }
      };
      var inputEvents = vue.computed(function() {
        return getValidAttrs$1({
          focus: attrs.onFocus,
          blur: attrs.onBlur,
          keydown: attrs.onKeydown,
          keyup: attrs.onKeyup,
          keypresss: attrs.onKeypresss
        });
      });
      var wrapperAttrs = vue.computed(function() {
        var events2 = [].concat(_toConsumableArray(Object.keys(inputEvents.value)), ["input", "change"]).map(function(str) {
          return "on".concat(str[0].toUpperCase()).concat(str.slice(1));
        });
        return omit(attrs, events2);
      });
      var groupDisabled = vue.computed(function() {
        return radioGroup === null || radioGroup === void 0 ? void 0 : radioGroup.disabled;
      });
      var disabled = useFormDisabled(groupDisabled);
      var inputProps = vue.computed(function() {
        return {
          name: radioGroup ? radioGroup.name : props2.name,
          checked: radioChecked.value,
          disabled: disabled.value,
          value: props2.value
        };
      });
      var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS;
      var radioButton = vue.inject(RadioButtonInjectionKey, void 0);
      var radioBtnName = usePrefixClass("radio-button");
      var COMPONENT_NAME = usePrefixClass("radio");
      var prefixCls = vue.computed(function() {
        return radioButton ? radioBtnName.value : COMPONENT_NAME.value;
      });
      var inputClass = vue.computed(function() {
        var _ref2;
        return ["".concat(prefixCls.value), (_ref2 = {}, _defineProperty$2(_ref2, STATUS.value.checked, inputProps.value.checked), _defineProperty$2(_ref2, STATUS.value.disabled, inputProps.value.disabled), _ref2)];
      });
      var renderContent3 = useContent();
      return function() {
        return vue.createVNode("label", vue.mergeProps({
          "ref": inputRef,
          "class": inputClass.value
        }, wrapperAttrs.value, {
          "tabindex": disabled.value ? void 0 : "0",
          "onClick": onLabelClick
        }), [vue.createVNode("input", vue.mergeProps({
          "type": "radio",
          "class": "".concat(prefixCls.value, "__former")
        }, inputEvents.value, inputProps.value, {
          "onClick": handleClick,
          "tabindex": "-1",
          "data-value": isString_1(props2.value) ? "'".concat(props2.value, "'") : props2.value,
          "data-allow-uncheck": allowUncheck.value || void 0
        }), null), vue.createVNode("span", {
          "class": "".concat(prefixCls.value, "__input")
        }, null), vue.createVNode("span", {
          "class": "".concat(prefixCls.value, "__label")
        }, [renderContent3("default", "label")])]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var debounce = debounce_1, isObject$1 = isObject_1;
  var FUNC_ERROR_TEXT = "Expected a function";
  function throttle$1(func, wait, options) {
    var leading = true, trailing = true;
    if (typeof func != "function") {
      throw new TypeError(FUNC_ERROR_TEXT);
    }
    if (isObject$1(options)) {
      leading = "leading" in options ? !!options.leading : leading;
      trailing = "trailing" in options ? !!options.trailing : trailing;
    }
    return debounce(func, wait, {
      "leading": leading,
      "maxWait": wait,
      "trailing": trailing
    });
  }
  var throttle_1 = throttle$1;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$6 = {
    allowUncheck: Boolean,
    disabled: Boolean,
    name: {
      type: String,
      "default": ""
    },
    options: {
      type: Array
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator39(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    value: {
      type: [String, Number, Boolean],
      "default": void 0
    },
    modelValue: {
      type: [String, Number, Boolean],
      "default": void 0
    },
    defaultValue: {
      type: [String, Number, Boolean]
    },
    variant: {
      type: String,
      "default": "outline",
      validator: function validator40(val) {
        if (!val)
          return true;
        return ["outline", "primary-filled", "default-filled"].includes(val);
      }
    },
    onChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useKeyboard(radioGroupRef, setInnerValue) {
    var checkRadioInGroup = function checkRadioInGroup2(e) {
      var isCheckedCode = CHECKED_CODE_REG.test(e.key) || CHECKED_CODE_REG.test(e.code);
      if (isCheckedCode) {
        e.preventDefault();
        var inputNode = e.target.querySelector("input");
        var data2 = inputNode.dataset;
        if (inputNode.checked && data2.allowUncheck) {
          setInnerValue(void 0, {
            e
          });
        } else {
          var value = !isNaN(Number(data2.value)) ? Number(data2.value) : data2.value;
          value = isString_1(value) && {
            "true": true,
            "false": false
          }[value] || value;
          value = isString_1(value) && value[0] === "'" ? value.replace(/'/g, "") : value;
          setInnerValue(value, {
            e
          });
        }
      }
    };
    vue.onMounted(function() {
      on$1(radioGroupRef.value, "keydown", checkRadioInGroup);
    });
    vue.onBeforeMount(function() {
      off$1(radioGroupRef.value, "keydown", checkRadioInGroup);
    });
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded$2 = ["window"];
  var defaultWindow = typeof window !== "undefined" ? window : void 0;
  function unrefElement(elRef) {
    var _plain$$el;
    var plain = vue.unref(elRef);
    return (_plain$$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _plain$$el !== void 0 ? _plain$$el : plain;
  }
  function tryOnScopeDispose(fn2) {
    if (vue.getCurrentScope()) {
      vue.onScopeDispose(fn2);
      return true;
    }
    return false;
  }
  function useMutationObserver(target, callback) {
    var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
    var _options$window = options.window, window2 = _options$window === void 0 ? defaultWindow : _options$window, mutationOptions = _objectWithoutProperties$1(options, _excluded$2);
    var observer;
    var isSupported = window2 && "MutationObserver" in window2;
    var cleanup = function cleanup2() {
      if (observer) {
        observer.disconnect();
        observer = void 0;
      }
    };
    var stopWatch = vue.watch(function() {
      return unrefElement(target);
    }, function(el) {
      cleanup();
      if (isSupported && window2 && el) {
        observer = new MutationObserver(callback);
        observer.observe(el, mutationOptions);
      }
    }, {
      immediate: true
    });
    var stop = function stop2() {
      cleanup();
      stopWatch();
    };
    tryOnScopeDispose(stop);
    return {
      isSupported,
      stop
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$u(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$t(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$u(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _Group = vue.defineComponent({
    name: "TRadioGroup",
    props: _objectSpread$t({}, props$6),
    setup: function setup31(props2) {
      var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
      var radioGroupRef = vue.ref();
      var radioBtnName = usePrefixClass("radio-button");
      var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
      useKeyboard(radioGroupRef, setInnerValue);
      var checkedClassName = vue.computed(function() {
        return ".".concat(radioBtnName.value, ".").concat(STATUS.value.checked);
      });
      var barStyle = vue.ref({
        width: "0px",
        height: "0px",
        left: "0px",
        top: "0px"
      });
      var calcDefaultBarStyle = function calcDefaultBarStyle2() {
        var div = document.createElement("div");
        div.setAttribute("style", "position: absolute; visibility: hidden;");
        div.appendChild(radioGroupRef.value.cloneNode(true));
        document.body.appendChild(div);
        var defaultCheckedRadio = div.querySelector(checkedClassName.value);
        var offsetWidth = defaultCheckedRadio.offsetWidth, offsetHeight = defaultCheckedRadio.offsetHeight, offsetLeft = defaultCheckedRadio.offsetLeft, offsetTop = defaultCheckedRadio.offsetTop;
        barStyle.value = {
          width: "".concat(offsetWidth, "px"),
          height: "".concat(offsetHeight, "px"),
          left: "".concat(offsetLeft, "px"),
          top: "".concat(offsetTop, "px")
        };
        document.body.removeChild(div);
      };
      var calcBarStyle = function calcBarStyle2() {
        if (props2.variant === "outline")
          return;
        var checkedRadio = radioGroupRef.value.querySelector(checkedClassName.value);
        if (!checkedRadio) {
          barStyle.value = {
            width: "0px",
            height: "9px",
            left: "0px",
            top: "0px"
          };
          return;
        }
        var offsetWidth = checkedRadio.offsetWidth, offsetHeight = checkedRadio.offsetHeight, offsetLeft = checkedRadio.offsetLeft, offsetTop = checkedRadio.offsetTop;
        if (!offsetWidth) {
          calcDefaultBarStyle();
        } else {
          barStyle.value = {
            width: "".concat(offsetWidth, "px"),
            height: "".concat(offsetHeight, "px"),
            left: "".concat(offsetLeft, "px"),
            top: "".concat(offsetTop, "px")
          };
        }
      };
      var observerReturn;
      vue.watch(innerValue, /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee() {
        return regenerator.wrap(function _callee$(_context) {
          while (1)
            switch (_context.prev = _context.next) {
              case 0:
                _context.next = 2;
                return vue.nextTick();
              case 2:
                calcBarStyle();
              case 3:
              case "end":
                return _context.stop();
            }
        }, _callee);
      })));
      vue.onMounted(function() {
        calcBarStyle();
        useResizeObserver(radioGroupRef, throttle_1(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee2() {
          return regenerator.wrap(function _callee2$(_context2) {
            while (1)
              switch (_context2.prev = _context2.next) {
                case 0:
                  _context2.next = 2;
                  return vue.nextTick();
                case 2:
                  calcBarStyle();
                case 3:
                case "end":
                  return _context2.stop();
              }
          }, _callee2);
        })), 300));
        var checkedRadioLabel = radioGroupRef.value.querySelector("".concat(checkedClassName.value, " .").concat(radioBtnName.value, "__label"));
        if (checkedRadioLabel) {
          observerReturn = useMutationObserver(checkedRadioLabel, function(mutations) {
            mutations.forEach(function(mutation) {
              if (mutation.type === "characterData") {
                calcBarStyle();
              }
            });
          }, {
            attributes: true,
            childList: true,
            characterData: true,
            subtree: true
          });
        }
      });
      vue.onUnmounted(function() {
        var _observerReturn;
        (_observerReturn = observerReturn) === null || _observerReturn === void 0 || _observerReturn.stop();
      });
      var _toRefs2 = vue.toRefs(props2), name = _toRefs2.name, disabled = _toRefs2.disabled;
      vue.provide(RadioGroupInjectionKey, vue.reactive({
        name,
        disabled,
        value: innerValue,
        allowUncheck: props2.allowUncheck,
        setValue: setInnerValue
      }));
      var radioGroupName = usePrefixClass("radio-group");
      var renderSlot = useTNodeDefault();
      var renderBlock = function renderBlock2() {
        if (props2.variant.includes("filled") && !isNil_1(innerValue.value))
          return vue.createVNode("div", {
            "style": barStyle.value,
            "class": "".concat(radioGroupName.value, "__bg-block")
          }, null);
      };
      var renderOptions = function renderOptions2() {
        var _props2$options;
        return (_props2$options = props2.options) === null || _props2$options === void 0 ? void 0 : _props2$options.map(function(option2) {
          var opt = option2;
          if (isNumber_1(option2) || isString_1(option2)) {
            opt = {
              value: option2,
              label: option2.toString()
            };
          }
          return vue.createVNode(_Radio, {
            "key": "radio-group-options-".concat(opt.value, "-").concat(Math.random()),
            "name": props2.name,
            "checked": innerValue.value === opt.value,
            "disabled": "disabled" in opt ? opt.disabled : props2.disabled,
            "value": opt.value
          }, {
            "default": function _default16() {
              return [isFunction_1(opt.label) ? opt.label(vue.h) : opt.label];
            }
          });
        });
      };
      var groupClass = vue.computed(function() {
        var _ref3;
        return ["".concat(radioGroupName.value), SIZE.value[props2.size], (_ref3 = {}, _defineProperty$2(_ref3, "".concat(radioGroupName.value, "__outline"), props2.variant === "outline"), _defineProperty$2(_ref3, "".concat(radioGroupName.value, "--filled"), props2.variant.includes("filled")), _defineProperty$2(_ref3, "".concat(radioGroupName.value, "--primary-filled"), props2.variant === "primary-filled"), _ref3)];
      });
      return function() {
        return vue.createVNode("div", {
          "ref": radioGroupRef,
          "class": groupClass.value
        }, [renderSlot("default") || renderOptions(), renderBlock()]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$t(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$s(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$t(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$7(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var _RadioButton = vue.defineComponent({
    name: "TRadioButton",
    inheritAttrs: false,
    props: _objectSpread$s({}, props$7),
    setup: function setup32(props2, _ref) {
      var attrs = _ref.attrs;
      vue.provide(RadioButtonInjectionKey, vue.reactive({}));
      var radioProps = vue.computed(function() {
        var res = _objectSpread$s(_objectSpread$s({}, props2), omit(attrs, Object.keys(attrs).filter(function(key2) {
          return key2.startsWith("on");
        })));
        return res;
      });
      var renderContent3 = useContent();
      return function() {
        var _slot;
        return vue.createVNode(_Radio, radioProps.value, _isSlot$7(_slot = renderContent3("default", "label")) ? _slot : {
          "default": function _default16() {
            return [_slot];
          }
        });
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Radio = withInstall(_Radio);
  var RadioGroup = withInstall(_Group);
  var RadioButton = withInstall(_RadioButton);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var hiddenTextarea;
  var HIDDEN_TEXTAREA_STYLE = "\n  min-height:0 !important;\n  max-height:none !important;\n  height:0 !important;\n  visibility:hidden !important;\n  overflow:hidden !important;\n  position:absolute !important;\n  z-index:-1000 !important;\n  top:0 !important;\n  right:0 !important\n";
  var SIZING_PROPS = ["letter-spacing", "line-height", "padding-top", "padding-bottom", "font-family", "font-weight", "font-size", "font-variant", "text-rendering", "text-transform", "width", "text-indent", "padding-left", "padding-right", "border-width", "box-sizing"];
  function calculateNodeStyling(targetElement) {
    if (typeof window === "undefined")
      return;
    var style2 = window.getComputedStyle(targetElement);
    var boxSizing = style2.getPropertyValue("box-sizing") || style2.getPropertyValue("-moz-box-sizing") || style2.getPropertyValue("-webkit-box-sizing");
    var paddingSize = parseFloat(style2.getPropertyValue("padding-bottom")) + parseFloat(style2.getPropertyValue("padding-top"));
    var borderSize = parseFloat(style2.getPropertyValue("border-bottom-width")) + parseFloat(style2.getPropertyValue("border-top-width"));
    var sizingStyle = SIZING_PROPS.map(function(name) {
      return "".concat(name, ":").concat(style2.getPropertyValue(name));
    }).join(";");
    return {
      sizingStyle,
      paddingSize,
      borderSize,
      boxSizing
    };
  }
  function calcTextareaHeight(targetElement) {
    var minRows = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
    var maxRows = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
    if (!hiddenTextarea) {
      hiddenTextarea = document.createElement("textarea");
      document.body.appendChild(hiddenTextarea);
    }
    var _calculateNodeStyling = calculateNodeStyling(targetElement), paddingSize = _calculateNodeStyling.paddingSize, borderSize = _calculateNodeStyling.borderSize, boxSizing = _calculateNodeStyling.boxSizing, sizingStyle = _calculateNodeStyling.sizingStyle;
    hiddenTextarea.setAttribute("style", "".concat(sizingStyle, ";").concat(HIDDEN_TEXTAREA_STYLE));
    hiddenTextarea.value = targetElement.value || targetElement.placeholder || "";
    var height = hiddenTextarea.scrollHeight;
    var result = {};
    if (boxSizing === "border-box") {
      height += borderSize;
    } else if (boxSizing === "content-box") {
      height -= paddingSize;
    }
    hiddenTextarea.value = "";
    var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
    if (minRows !== null) {
      var minHeight = singleRowHeight * minRows;
      if (boxSizing === "border-box") {
        minHeight = minHeight + paddingSize + borderSize;
      }
      height = Math.max(minHeight, height);
      result.minHeight = "".concat(minHeight, "px");
    }
    if (maxRows !== null) {
      var maxHeight = singleRowHeight * maxRows;
      if (boxSizing === "border-box") {
        maxHeight = maxHeight + paddingSize + borderSize;
      }
      height = Math.min(maxHeight, height);
    }
    result.height = "".concat(height, "px");
    hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);
    hiddenTextarea = null;
    return result;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$5 = {
    autofocus: Boolean,
    autosize: {
      type: [Boolean, Object],
      "default": false
    },
    disabled: Boolean,
    maxcharacter: {
      type: Number
    },
    maxlength: {
      type: [Number, String]
    },
    name: {
      type: String,
      "default": ""
    },
    placeholder: {
      type: String,
      "default": void 0
    },
    readonly: Boolean,
    status: {
      type: String,
      validator: function validator41(val) {
        return ["default", "success", "warning", "error"].includes(val);
      }
    },
    tips: {
      type: [String, Function]
    },
    value: {
      type: [String, Number]
    },
    modelValue: {
      type: [String, Number]
    },
    defaultValue: {
      type: [String, Number]
    },
    onBlur: Function,
    onChange: Function,
    onFocus: Function,
    onKeydown: Function,
    onKeypress: Function,
    onKeyup: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$s(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$r(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$s(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function getValidAttrs(obj) {
    var newObj = {};
    Object.keys(obj).forEach(function(key2) {
      if (!isUndefined_1(obj[key2])) {
        newObj[key2] = obj[key2];
      }
    });
    return newObj;
  }
  var _Textarea = vue.defineComponent({
    name: "TTextarea",
    inheritAttrs: false,
    props: _objectSpread$r({}, props$5),
    setup: function setup33(props2, _ref) {
      var attrs = _ref.attrs, expose = _ref.expose;
      var prefix = usePrefixClass();
      var name = usePrefixClass("textarea");
      var TEXTAREA_TIPS_CLASS = vue.computed(function() {
        return "".concat(name.value, "__tips");
      });
      var TEXTAREA_LIMIT = vue.computed(function() {
        return "".concat(name.value, "__limit");
      });
      var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
      var disabled = useFormDisabled();
      var textareaStyle = vue.ref({});
      var refTextareaElem = vue.ref();
      var focused = vue.ref(false);
      var isComposing = vue.ref(false);
      var focus = function focus2() {
        var _refTextareaElem$valu;
        return (_refTextareaElem$valu = refTextareaElem.value) === null || _refTextareaElem$valu === void 0 ? void 0 : _refTextareaElem$valu.focus();
      };
      var blur = function blur2() {
        var _refTextareaElem$valu2;
        return (_refTextareaElem$valu2 = refTextareaElem.value) === null || _refTextareaElem$valu2 === void 0 ? void 0 : _refTextareaElem$valu2.blur();
      };
      var adjustTextareaHeight = function adjustTextareaHeight2() {
        var _refTextareaElem$valu3;
        if (props2.autosize === true) {
          textareaStyle.value = calcTextareaHeight(refTextareaElem.value);
        } else if (props2.autosize && _typeof$2(props2.autosize) === "object") {
          var _props2$autosize = props2.autosize, minRows = _props2$autosize.minRows, maxRows = _props2$autosize.maxRows;
          textareaStyle.value = calcTextareaHeight(refTextareaElem.value, minRows, maxRows);
        } else if (attrs.rows) {
          textareaStyle.value = {
            height: "auto",
            minHeight: "auto"
          };
        } else if (attrs.style && (_refTextareaElem$valu3 = refTextareaElem.value) !== null && _refTextareaElem$valu3 !== void 0 && (_refTextareaElem$valu3 = _refTextareaElem$valu3.style) !== null && _refTextareaElem$valu3 !== void 0 && _refTextareaElem$valu3.height) {
          textareaStyle.value = {
            height: refTextareaElem.value.style.height
          };
        }
      };
      var setInputValue = function setInputValue2() {
        var v = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
        var textareaElem = refTextareaElem.value;
        var sV = String(v);
        if (!textareaElem) {
          return;
        }
        if (textareaElem.value !== sV) {
          textareaElem.value = sV;
          innerValue.value = sV;
        }
      };
      var inputValueChangeHandle = function inputValueChangeHandle2(e) {
        var target = e.target;
        var val = target.value;
        if (props2.maxcharacter && props2.maxcharacter >= 0) {
          var stringInfo = getCharacterLength(val, props2.maxcharacter);
          val = _typeof$2(stringInfo) === "object" && stringInfo.characters;
        }
        !isComposing.value && setInnerValue(val, {
          e
        });
        vue.nextTick(function() {
          return setInputValue(val);
        });
        adjustTextareaHeight();
      };
      var handleInput = function handleInput2(e) {
        inputValueChangeHandle(e);
      };
      var onCompositionstart = function onCompositionstart2() {
        isComposing.value = true;
      };
      var onCompositionend = function onCompositionend2(e) {
        isComposing.value = false;
        inputValueChangeHandle(e);
      };
      var eventDeal = function eventDeal2(name2, e) {
        var _props2$_name;
        if (disabled.value)
          return;
        var _name = "on".concat(name2[0].toUpperCase()).concat(name2.slice(1));
        (_props2$_name = props2[_name]) === null || _props2$_name === void 0 || _props2$_name.call(props2, innerValue.value, {
          e
        });
      };
      var emitKeyDown = function emitKeyDown2(e) {
        eventDeal("keydown", e);
      };
      var emitKeyUp = function emitKeyUp2(e) {
        eventDeal("keyup", e);
      };
      var emitKeypress = function emitKeypress2(e) {
        eventDeal("keypress", e);
      };
      var emitFocus = function emitFocus2(e) {
        var _props2$onFocus;
        adjustTextareaHeight();
        if (disabled.value)
          return;
        focused.value = true;
        (_props2$onFocus = props2.onFocus) === null || _props2$onFocus === void 0 || _props2$onFocus.call(props2, innerValue.value, {
          e
        });
      };
      var formItem = vue.inject(FormItemInjectionKey, void 0);
      var emitBlur = function emitBlur2(e) {
        var _props2$onBlur;
        adjustTextareaHeight();
        focused.value = false;
        (_props2$onBlur = props2.onBlur) === null || _props2$onBlur === void 0 || _props2$onBlur.call(props2, innerValue.value, {
          e
        });
        formItem === null || formItem === void 0 || formItem.handleBlur();
      };
      var textareaClasses = vue.computed(function() {
        var _ref2;
        return [name.value, (_ref2 = {}, _defineProperty$2(_ref2, "".concat(prefix.value, "-is-disabled"), disabled.value), _defineProperty$2(_ref2, "".concat(prefix.value, "-is-readonly"), props2.readonly), _ref2)];
      });
      var inputAttrs = vue.computed(function() {
        return getValidAttrs({
          autofocus: props2.autofocus,
          disabled: disabled.value,
          readonly: props2.readonly,
          placeholder: props2.placeholder,
          maxlength: props2.maxlength || void 0,
          name: props2.name || void 0
        });
      });
      var characterNumber = vue.computed(function() {
        var characterInfo = getCharacterLength(String(innerValue.value || ""));
        if (_typeof$2(characterInfo) === "object") {
          return characterInfo.length;
        }
        return characterInfo;
      });
      vue.watch(function() {
        return innerValue.value;
      }, function() {
        return adjustTextareaHeight();
      });
      vue.watch(refTextareaElem, function(el) {
        if (!el)
          return;
        adjustTextareaHeight();
      });
      vue.watch(function() {
        return props2.autofocus;
      }, function(val) {
        if (val) {
          refTextareaElem.value.focus();
        }
      });
      vue.watch(textareaStyle, function(val) {
        var style2 = attrs.style;
        setStyle$1(refTextareaElem.value, merge_1(style2, val));
      });
      vue.watch(innerValue, function() {
        vue.nextTick(function() {
          return adjustTextareaHeight();
        });
      });
      vue.watch(function() {
        return props2.autosize;
      }, adjustTextareaHeight, {
        deep: true
      });
      expose({
        focus,
        blur
      });
      vue.onMounted(function() {
        adjustTextareaHeight();
      });
      var renderTNodeJSX3 = useTNodeJSX();
      return function() {
        var _String;
        var inputEvents = getValidAttrs({
          onFocus: emitFocus,
          onBlur: emitBlur,
          onKeydown: emitKeyDown,
          onKeyup: emitKeyUp,
          onKeypress: emitKeypress
        });
        var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS;
        var classes = vue.computed(function() {
          var _ref3;
          return ["".concat(name.value, "__inner"), (_ref3 = {}, _defineProperty$2(_ref3, "".concat(prefix.value, "-is-").concat(props2.status), props2.status), _defineProperty$2(_ref3, STATUS.value.disabled, disabled.value), _defineProperty$2(_ref3, STATUS.value.focused, focused.value), _defineProperty$2(_ref3, "".concat(prefix.value, "-resize-none"), _typeof$2(props2.autosize) === "object"), _ref3), "narrow-scrollbar"];
        });
        var tips = renderTNodeJSX3("tips");
        var textTips = tips && vue.createVNode("div", {
          "class": "".concat(TEXTAREA_TIPS_CLASS.value, " ").concat(name.value, "__tips--").concat(props2.status || "normal")
        }, [tips]);
        var limitText = props2.maxcharacter && vue.createVNode("span", {
          "class": TEXTAREA_LIMIT.value
        }, ["".concat(characterNumber.value, "/").concat(props2.maxcharacter)]) || !props2.maxcharacter && props2.maxlength && vue.createVNode("span", {
          "class": TEXTAREA_LIMIT.value
        }, ["".concat(innerValue.value ? (_String = String(innerValue.value)) === null || _String === void 0 ? void 0 : _String.length : 0, "/").concat(props2.maxlength)]);
        return vue.createVNode("div", vue.mergeProps({
          "class": textareaClasses.value
        }, omit(attrs, ["style"])), [vue.createVNode("textarea", vue.mergeProps({
          "onInput": handleInput,
          "onCompositionstart": onCompositionstart,
          "onCompositionend": onCompositionend,
          "ref": refTextareaElem,
          "value": innerValue.value,
          "class": classes.value
        }, inputEvents, inputAttrs.value), null), textTips || limitText ? vue.createVNode("div", {
          "class": ["".concat(name.value, "__info_wrapper"), _defineProperty$2({}, "".concat(name.value, "__info_wrapper_align"), !textTips)]
        }, [textTips, limitText]) : null]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Textarea = withInstall(_Textarea);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$4 = {
    attach: {
      type: [String, Function]
    },
    body: {
      type: [String, Function]
    },
    cancelBtn: {
      type: [String, Object, Function]
    },
    closeBtn: {
      type: [String, Boolean, Function],
      "default": true
    },
    closeOnEscKeydown: {
      type: Boolean,
      "default": void 0
    },
    closeOnOverlayClick: {
      type: Boolean,
      "default": void 0
    },
    confirmBtn: {
      type: [String, Object, Function]
    },
    confirmLoading: {
      type: Boolean,
      "default": void 0
    },
    confirmOnEnter: Boolean,
    "default": {
      type: [String, Function]
    },
    destroyOnClose: Boolean,
    draggable: Boolean,
    footer: {
      type: [Boolean, Function],
      "default": true
    },
    header: {
      type: [String, Boolean, Function],
      "default": true
    },
    mode: {
      type: String,
      "default": "modal",
      validator: function validator42(val) {
        if (!val)
          return true;
        return ["modal", "modeless", "normal", "full-screen"].includes(val);
      }
    },
    placement: {
      type: String,
      "default": "top",
      validator: function validator43(val) {
        if (!val)
          return true;
        return ["top", "center"].includes(val);
      }
    },
    preventScrollThrough: {
      type: Boolean,
      "default": true
    },
    showInAttachedElement: Boolean,
    showOverlay: {
      type: Boolean,
      "default": true
    },
    theme: {
      type: String,
      "default": "default",
      validator: function validator44(val) {
        if (!val)
          return true;
        return ["default", "info", "warning", "danger", "success"].includes(val);
      }
    },
    top: {
      type: [String, Number]
    },
    visible: Boolean,
    width: {
      type: [String, Number]
    },
    zIndex: {
      type: Number
    },
    onCancel: Function,
    onClose: Function,
    onCloseBtnClick: Function,
    onClosed: Function,
    onConfirm: Function,
    onEscKeydown: Function,
    onOpened: Function,
    onOverlayClick: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$r(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$q(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$r(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useAction(action) {
    var instance = vue.getCurrentInstance();
    var renderTNodeJSX3 = useTNodeJSX();
    var getDefaultConfirmBtnProps = function getDefaultConfirmBtnProps2(options) {
      var _omit;
      var globalConfirm = options.globalConfirm, theme = options.theme, globalConfirmBtnTheme = options.globalConfirmBtnTheme;
      var defaultTheme = ((_omit = omit_1(globalConfirmBtnTheme, ["info"])) === null || _omit === void 0 ? void 0 : _omit[theme]) || "primary";
      var props2 = {
        theme: defaultTheme,
        size: options.size,
        onClick: function onClick(e) {
          action.confirmBtnAction(e);
        }
      };
      if (isString_1(globalConfirm)) {
        props2.content = globalConfirm;
      } else if (isObject_1(globalConfirm)) {
        props2 = _objectSpread$q(_objectSpread$q({}, props2), globalConfirm);
      }
      return props2;
    };
    var getDefaultCancelBtnProps = function getDefaultCancelBtnProps2(options) {
      var globalCancel = options.globalCancel;
      var props2 = {
        theme: "default",
        size: options.size,
        onClick: function onClick(e) {
          action.cancelBtnAction(e);
        }
      };
      if (isString_1(globalCancel)) {
        props2.content = globalCancel;
      } else if (isObject_1(globalCancel)) {
        props2 = _objectSpread$q(_objectSpread$q({}, props2), globalCancel);
      }
      return props2;
    };
    var getButtonByProps = function getButtonByProps2(button, params) {
      var defaultButtonProps = params.defaultButtonProps, className = params.className, confirmLoading = params.confirmLoading;
      var newOptions = defaultButtonProps;
      if (isString_1(button)) {
        newOptions.content = button;
      } else if (isObject_1(button)) {
        newOptions = _objectSpread$q(_objectSpread$q({}, newOptions), button);
      }
      if (confirmLoading !== void 0) {
        newOptions.loading = confirmLoading;
      }
      return vue.createVNode(Button, vue.mergeProps({
        "class": className
      }, newOptions), null);
    };
    var getConfirmBtn = function getConfirmBtn2(options) {
      var confirmBtn = options.confirmBtn, className = options.className, confirmLoading = options.confirmLoading;
      if (confirmBtn === null)
        return null;
      if (confirmBtn && instance.slots.confirmBtn) {
        console.warn("Both $props.confirmBtn and $scopedSlots.confirmBtn exist, $props.confirmBtn is preferred.");
      }
      var defaultButtonProps = getDefaultConfirmBtnProps(options);
      if (!confirmBtn && !instance.slots.confirmBtn) {
        return vue.createVNode(Button, vue.mergeProps({
          "class": className,
          "loading": confirmLoading
        }, defaultButtonProps), null);
      }
      if (confirmBtn && ["string", "object"].includes(_typeof$2(confirmBtn))) {
        return getButtonByProps(confirmBtn, {
          defaultButtonProps,
          className,
          confirmLoading
        });
      }
      return renderTNodeJSX3("confirmBtn");
    };
    var getCancelBtn = function getCancelBtn2(options) {
      var cancelBtn = options.cancelBtn, className = options.className;
      if (cancelBtn === null)
        return null;
      if (cancelBtn && instance.slots.cancelBtn) {
        console.warn("Both $props.cancelBtn and $scopedSlots.cancelBtn exist, $props.cancelBtn is preferred.");
      }
      var defaultButtonProps = getDefaultCancelBtnProps(options);
      if (!cancelBtn && !instance.slots.cancelBtn) {
        return vue.createVNode(Button, vue.mergeProps({
          "class": className
        }, defaultButtonProps), null);
      }
      if (cancelBtn && ["string", "object"].includes(_typeof$2(cancelBtn))) {
        return getButtonByProps(cancelBtn, {
          defaultButtonProps
        });
      }
      return renderTNodeJSX3("cancelBtn");
    };
    return {
      getConfirmBtn,
      getCancelBtn
    };
  }
  function useSameTarget(handleClick) {
    var MOUSEDOWN_TARGET = false;
    var MOUSEUP_TARGET = false;
    var onClick = function onClick2(e) {
      if (MOUSEDOWN_TARGET && MOUSEUP_TARGET) {
        handleClick(e);
      }
      MOUSEDOWN_TARGET = false;
      MOUSEUP_TARGET = false;
    };
    var onMousedown = function onMousedown2(e) {
      MOUSEDOWN_TARGET = e.target === e.currentTarget;
    };
    var onMouseup = function onMouseup2(e) {
      MOUSEUP_TARGET = e.target === e.currentTarget;
    };
    return {
      onClick,
      onMousedown,
      onMouseup
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var data = [];
  var push = function push2(value) {
    data.push(value);
  };
  var pop = function pop2() {
    data.pop();
  };
  var stack = {
    push,
    pop,
    get top() {
      return data[data.length - 1];
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function getScrollbarWidthWithCSS() {
    var defaultScrollbarWidth = 6;
    if (typeof navigator === "undefined" || !navigator)
      return defaultScrollbarWidth;
    if (/(Chrome|Safari)/i.test(navigator.userAgent))
      return defaultScrollbarWidth;
    var scrollDiv = document.createElement("div");
    scrollDiv.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;";
    document.body.appendChild(scrollDiv);
    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
    document.body.removeChild(scrollDiv);
    if (/Firefox/.test(navigator.userAgent)) {
      scrollbarWidth -= 4;
    }
    if (getIEVersion() <= 11) {
      scrollbarWidth = 12;
    }
    return scrollbarWidth;
  }
  function getScrollbarWidth() {
    var scrollDiv = document.createElement("div");
    scrollDiv.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;";
    document.body.appendChild(scrollDiv);
    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
    document.body.removeChild(scrollDiv);
    return scrollbarWidth;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function GetCSSValue(v) {
    return Number.isNaN(Number(v)) ? v : "".concat(Number(v), "px");
  }
  var mousePosition;
  var getClickPosition = function getClickPosition2(e) {
    mousePosition = {
      x: e.clientX,
      y: e.clientY
    };
    setTimeout(function() {
      mousePosition = null;
    }, 100);
  };
  if (typeof window !== "undefined" && window.document && window.document.documentElement) {
    document.documentElement.addEventListener("click", getClickPosition, true);
  }
  function InitDragEvent(dragBox) {
    var target = dragBox;
    var windowInnerWidth = window.innerWidth || document.documentElement.clientWidth;
    var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;
    target.addEventListener("mousedown", function(targetEvent) {
      var disX = targetEvent.clientX - target.offsetLeft;
      var disY = targetEvent.clientY - target.offsetTop;
      var dialogW = target.offsetWidth;
      var dialogH = target.offsetHeight;
      if (dialogW > windowInnerWidth || dialogH > windowInnerHeight)
        return;
      function mouseMoverHandler(documentEvent) {
        var left2 = documentEvent.clientX - disX;
        var top2 = documentEvent.clientY - disY;
        if (left2 < 0)
          left2 = 0;
        if (top2 < 0)
          top2 = 0;
        if (windowInnerWidth - target.offsetWidth - left2 < 0)
          left2 = windowInnerWidth - target.offsetWidth;
        if (windowInnerHeight - target.offsetHeight - top2 < 0)
          top2 = windowInnerHeight - target.offsetHeight;
        target.style.position = "absolute";
        target.style.left = "".concat(left2, "px");
        target.style.top = "".concat(top2, "px");
      }
      function mouseUpHandler() {
        document.removeEventListener("mousemove", mouseMoverHandler);
        document.removeEventListener("mouseup", mouseUpHandler);
      }
      document.addEventListener("mousemove", mouseMoverHandler);
      document.addEventListener("mouseup", mouseUpHandler);
      document.addEventListener("dragend", mouseUpHandler);
    });
  }
  var key$1 = 1;
  var _Dialog = vue.defineComponent({
    name: "TDialog",
    directives: {
      draggable: function draggable(el, binding) {
        if (el && binding && binding.value) {
          InitDragEvent(el);
        }
      }
    },
    inheritAttrs: false,
    props: props$4,
    emits: ["update:visible"],
    setup: function setup34(props2, context) {
      var _this = this;
      var COMPONENT_NAME = usePrefixClass("dialog");
      var classPrefix = usePrefixClass();
      var renderContent3 = useContent();
      var renderTNodeJSX3 = useTNodeJSX();
      var dialogEle = vue.ref(null);
      var _useConfig = useConfig("dialog"), globalConfig = _useConfig.globalConfig;
      var _useGlobalIcon = useGlobalIcon({
        CloseIcon,
        InfoCircleFilledIcon,
        CheckCircleFilledIcon,
        ErrorCircleFilledIcon
      }), CloseIcon$1 = _useGlobalIcon.CloseIcon, InfoCircleFilledIcon$1 = _useGlobalIcon.InfoCircleFilledIcon, CheckCircleFilledIcon$1 = _useGlobalIcon.CheckCircleFilledIcon, ErrorCircleFilledIcon$1 = _useGlobalIcon.ErrorCircleFilledIcon;
      var confirmBtnAction = function confirmBtnAction2(e) {
        var _props2$onConfirm;
        (_props2$onConfirm = props2.onConfirm) === null || _props2$onConfirm === void 0 || _props2$onConfirm.call(props2, {
          e
        });
      };
      var cancelBtnAction = function cancelBtnAction2(e) {
        var _props2$onCancel;
        (_props2$onCancel = props2.onCancel) === null || _props2$onCancel === void 0 || _props2$onCancel.call(props2, {
          e
        });
        emitCloseEvent({
          e,
          trigger: "cancel"
        });
      };
      var _useAction = useAction({
        confirmBtnAction,
        cancelBtnAction
      }), getConfirmBtn = _useAction.getConfirmBtn, getCancelBtn = _useAction.getCancelBtn;
      var teleportElement = useTeleport(function() {
        return props2.attach;
      });
      useDestroyOnClose();
      var timer = vue.ref();
      var styleEl = vue.ref();
      var isModal = vue.computed(function() {
        return props2.mode === "modal";
      });
      var isModeLess = vue.computed(function() {
        return props2.mode === "modeless";
      });
      var isNormal = vue.computed(function() {
        return props2.mode === "normal";
      });
      var isFullScreen = vue.computed(function() {
        return props2.mode === "full-screen";
      });
      var maskClass = vue.computed(function() {
        return ["".concat(COMPONENT_NAME.value, "__mask"), !props2.showOverlay && "".concat(classPrefix.value, "-is-hidden")];
      });
      var positionClass = vue.computed(function() {
        if (isNormal.value)
          return [];
        if (isFullScreen.value)
          return ["".concat(COMPONENT_NAME.value, "__position_fullscreen")];
        return ["".concat(COMPONENT_NAME.value, "__position"), !!props2.top && "".concat(COMPONENT_NAME.value, "--top"), "".concat(props2.placement && !props2.top ? "".concat(COMPONENT_NAME.value, "--").concat(props2.placement) : "")];
      });
      var wrapClass = vue.computed(function() {
        return [!isNormal.value && "".concat(COMPONENT_NAME.value, "__wrap")];
      });
      var positionStyle = vue.computed(function() {
        if (isFullScreen.value)
          return {};
        var top2 = props2.top;
        var topStyle = {};
        if (top2 !== void 0) {
          var topValue = GetCSSValue(top2);
          topStyle = {
            paddingTop: topValue
          };
        }
        return topStyle;
      });
      var dialogClass = vue.computed(function() {
        var dialogClass2 = ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "__modal-").concat(props2.theme), isModeLess.value && props2.draggable && "".concat(COMPONENT_NAME.value, "--draggable")];
        if (isFullScreen.value) {
          dialogClass2.push("".concat(COMPONENT_NAME.value, "__fullscreen"));
        } else {
          dialogClass2.push.apply(dialogClass2, ["".concat(COMPONENT_NAME.value, "--default"), "".concat(COMPONENT_NAME.value, "--").concat(props2.placement)]);
        }
        return dialogClass2;
      });
      var dialogStyle = vue.computed(function() {
        return !isFullScreen.value ? {
          width: GetCSSValue(props2.width)
        } : {};
      });
      vue.watch(function() {
        return props2.visible;
      }, function(value) {
        if (value) {
          var _document$activeEleme;
          if (isModal.value && !props2.showInAttachedElement || isFullScreen.value) {
            if (props2.preventScrollThrough) {
              document.head.appendChild(styleEl.value);
            }
            vue.nextTick(function() {
              if (mousePosition && dialogEle.value) {
                dialogEle.value.style.transformOrigin = "".concat(mousePosition.x - dialogEle.value.offsetLeft, "px ").concat(mousePosition.y - dialogEle.value.offsetTop, "px");
              }
            });
          }
          (_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || _document$activeEleme.blur();
        } else {
          clearStyleFunc();
        }
        storeUid(value);
        addKeyboardEvent(value);
      });
      function destroySelf() {
        var _styleEl$value$parent, _styleEl$value$parent2;
        (_styleEl$value$parent = styleEl.value.parentNode) === null || _styleEl$value$parent === void 0 || (_styleEl$value$parent2 = _styleEl$value$parent.removeChild) === null || _styleEl$value$parent2 === void 0 || _styleEl$value$parent2.call(_styleEl$value$parent, styleEl.value);
      }
      function clearStyleFunc() {
        clearTimeout(timer.value);
        timer.value = setTimeout(function() {
          destroySelf();
        }, 150);
      }
      var instance = vue.getCurrentInstance();
      var storeUid = function storeUid2(flag) {
        if (flag) {
          stack.push(instance.uid);
        } else {
          stack.pop();
        }
      };
      var addKeyboardEvent = function addKeyboardEvent2(status) {
        if (status) {
          document.addEventListener("keydown", keyboardEvent);
          props2.confirmOnEnter && document.addEventListener("keydown", keyboardEnterEvent);
        } else {
          document.removeEventListener("keydown", keyboardEvent);
          props2.confirmOnEnter && document.removeEventListener("keydown", keyboardEnterEvent);
        }
      };
      var keyboardEnterEvent = function keyboardEnterEvent2(e) {
        var eventSrc = e.target;
        if (eventSrc.tagName.toLowerCase() === "input")
          return;
        var code = e.code;
        if ((code === "Enter" || code === "NumpadEnter") && stack.top === instance.uid) {
          var _props2$onConfirm2;
          (_props2$onConfirm2 = props2.onConfirm) === null || _props2$onConfirm2 === void 0 || _props2$onConfirm2.call(props2, {
            e
          });
        }
      };
      var keyboardEvent = function keyboardEvent2(e) {
        if (e.code === "Escape" && stack.top === instance.uid) {
          var _props2$onEscKeydown, _props2$closeOnEscKey;
          (_props2$onEscKeydown = props2.onEscKeydown) === null || _props2$onEscKeydown === void 0 || _props2$onEscKeydown.call(props2, {
            e
          });
          if ((_props2$closeOnEscKey = props2.closeOnEscKeydown) !== null && _props2$closeOnEscKey !== void 0 ? _props2$closeOnEscKey : globalConfig.value.closeOnEscKeydown) {
            emitCloseEvent({
              e,
              trigger: "esc"
            });
          }
        }
      };
      var overlayAction = function overlayAction2(e) {
        var _props2$closeOnOverla;
        if (props2.showOverlay && ((_props2$closeOnOverla = props2.closeOnOverlayClick) !== null && _props2$closeOnOverla !== void 0 ? _props2$closeOnOverla : globalConfig.value.closeOnOverlayClick)) {
          var _props2$onOverlayClic;
          (_props2$onOverlayClic = props2.onOverlayClick) === null || _props2$onOverlayClic === void 0 || _props2$onOverlayClic.call(props2, {
            e
          });
          emitCloseEvent({
            e,
            trigger: "overlay"
          });
        }
      };
      var _useSameTarget = useSameTarget(overlayAction), onClick = _useSameTarget.onClick, onMousedown = _useSameTarget.onMousedown, onMouseup = _useSameTarget.onMouseup;
      var closeBtnAction = function closeBtnAction2(e) {
        var _props2$onCloseBtnCli;
        (_props2$onCloseBtnCli = props2.onCloseBtnClick) === null || _props2$onCloseBtnCli === void 0 || _props2$onCloseBtnCli.call(props2, {
          e
        });
        emitCloseEvent({
          trigger: "close-btn",
          e
        });
      };
      var afterEnter = function afterEnter2() {
        var _props2$onOpened;
        (_props2$onOpened = props2.onOpened) === null || _props2$onOpened === void 0 || _props2$onOpened.call(props2);
      };
      var afterLeave = function afterLeave2() {
        var _props2$onClosed;
        if (isModeLess.value && props2.draggable && dialogEle.value) {
          dialogEle.value.style.position = "relative";
          dialogEle.value.style.left = "unset";
          dialogEle.value.style.top = "unset";
        }
        (_props2$onClosed = props2.onClosed) === null || _props2$onClosed === void 0 || _props2$onClosed.call(props2);
      };
      var emitCloseEvent = function emitCloseEvent2(ctx) {
        var _props2$onClose;
        (_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, ctx);
        context.emit("update:visible", false);
      };
      var hasEventOn = function hasEventOn2(name) {
        var _this$_events;
        var eventFuncs = (_this$_events = _this["_events"]) === null || _this$_events === void 0 ? void 0 : _this$_events[name];
        return !!(eventFuncs !== null && eventFuncs !== void 0 && eventFuncs.length);
      };
      var getIcon = function getIcon2() {
        var icon = {
          info: vue.createVNode(InfoCircleFilledIcon$1, {
            "class": "".concat(classPrefix.value, "-is-info")
          }, null),
          warning: vue.createVNode(ErrorCircleFilledIcon$1, {
            "class": "".concat(classPrefix.value, "-is-warning")
          }, null),
          danger: vue.createVNode(ErrorCircleFilledIcon$1, {
            "class": "".concat(classPrefix.value, "-is-error")
          }, null),
          success: vue.createVNode(CheckCircleFilledIcon$1, {
            "class": "".concat(classPrefix.value, "-is-success")
          }, null)
        };
        return icon[props2.theme];
      };
      var renderDialog = function renderDialog2() {
        var defaultHeader = vue.createVNode("h5", {
          "class": "title"
        }, null);
        var defaultCloseBtn = vue.createVNode(CloseIcon$1, null, null);
        var body = renderContent3("default", "body");
        var defaultFooter = vue.createVNode("div", null, [getCancelBtn({
          cancelBtn: props2.cancelBtn,
          globalCancel: globalConfig.value.cancel,
          className: "".concat(COMPONENT_NAME.value, "__cancel")
        }), getConfirmBtn({
          theme: props2.theme,
          confirmBtn: props2.confirmBtn,
          globalConfirm: globalConfig.value.confirm,
          globalConfirmBtnTheme: globalConfig.value.confirmBtnTheme,
          className: "".concat(COMPONENT_NAME.value, "__confirm"),
          confirmLoading: props2.confirmLoading
        })]);
        var headerClassName = isFullScreen.value ? ["".concat(COMPONENT_NAME.value, "__header"), "".concat(COMPONENT_NAME.value, "__header--fullscreen")] : "".concat(COMPONENT_NAME.value, "__header");
        var closeClassName = isFullScreen.value ? ["".concat(COMPONENT_NAME.value, "__close"), "".concat(COMPONENT_NAME.value, "__close--fullscreen")] : "".concat(COMPONENT_NAME.value, "__close");
        var bodyClassName = props2.theme === "default" ? ["".concat(COMPONENT_NAME.value, "__body")] : ["".concat(COMPONENT_NAME.value, "__body__icon")];
        var footerContent = renderTNodeJSX3("footer", defaultFooter);
        if (isFullScreen.value && footerContent) {
          bodyClassName.push("".concat(COMPONENT_NAME.value, "__body--fullscreen"));
        } else if (isFullScreen.value) {
          bodyClassName.push("".concat(COMPONENT_NAME.value, "__body--fullscreen--without-footer"));
        }
        var footerClassName = isFullScreen.value ? ["".concat(COMPONENT_NAME.value, "__footer"), "".concat(COMPONENT_NAME.value, "__footer--fullscreen")] : "".concat(COMPONENT_NAME.value, "__footer");
        var onStopDown = function onStopDown2(e) {
          if (isModeLess.value && props2.draggable)
            e.stopPropagation();
        };
        return vue.createVNode("div", {
          "class": wrapClass.value
        }, [vue.createVNode("div", {
          "class": positionClass.value,
          "style": positionStyle.value,
          "onClick": onClick,
          "onMousedown": onMousedown,
          "onMouseup": onMouseup
        }, [vue.withDirectives(vue.createVNode("div", {
          "key": "dialog",
          "class": dialogClass.value,
          "style": dialogStyle.value,
          "ref": dialogEle
        }, [vue.createVNode("div", {
          "class": headerClassName,
          "onMousedown": onStopDown
        }, [vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__header-content")
        }, [getIcon(), renderTNodeJSX3("header", defaultHeader)]), props2.closeBtn ? vue.createVNode("span", {
          "class": closeClassName,
          "onClick": closeBtnAction
        }, [renderTNodeJSX3("closeBtn", defaultCloseBtn)]) : null]), vue.createVNode("div", {
          "class": bodyClassName,
          "onMousedown": onStopDown
        }, [body]), footerContent && vue.createVNode("div", {
          "class": footerClassName,
          "onMousedown": onStopDown
        }, [footerContent])]), [[vue.resolveDirective("draggable"), isModeLess.value && props2.draggable]])])]);
      };
      vue.onMounted(function() {
        var hasScrollBar = document.documentElement.scrollHeight > document.documentElement.clientHeight;
        var scrollWidth = hasScrollBar ? getScrollbarWidth() : 0;
        styleEl.value = document.createElement("style");
        styleEl.value.dataset.id = "td_dialog_".concat(+/* @__PURE__ */ new Date(), "_").concat(key$1 += 1);
        styleEl.value.innerHTML = "\n        html body {\n          overflow-y: hidden;\n          width: calc(100% - ".concat(scrollWidth, "px);\n        }\n      ");
      });
      vue.onBeforeUnmount(function() {
        addKeyboardEvent(false);
        destroySelf();
      });
      return {
        COMPONENT_NAME,
        isModal,
        isModeLess,
        isFullScreen,
        maskClass,
        dialogClass,
        dialogStyle,
        dialogEle,
        afterEnter,
        afterLeave,
        hasEventOn,
        renderDialog,
        teleportElement
      };
    },
    render: function render8() {
      var _ref, _this2 = this;
      var COMPONENT_NAME = this.COMPONENT_NAME;
      var maskView = (this.isModal || this.isFullScreen) && vue.createVNode("div", {
        "key": "mask",
        "class": this.maskClass
      }, null);
      var dialogView = this.renderDialog();
      var view = [maskView, dialogView];
      var ctxStyle = {
        zIndex: this.zIndex
      };
      var ctxClass = ["".concat(COMPONENT_NAME, "__ctx"), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME, "__ctx--fixed"), this.isModal || this.isFullScreen), _defineProperty$2(_ref, "".concat(COMPONENT_NAME, "__ctx--absolute"), this.isModal && this.showInAttachedElement), _defineProperty$2(_ref, "".concat(COMPONENT_NAME, "__ctx--modeless"), this.isModeLess), _ref)];
      return vue.createVNode(vue.Teleport, {
        "disabled": !this.attach || !this.teleportElement,
        "to": this.teleportElement
      }, {
        "default": function _default16() {
          return [vue.createVNode(vue.Transition, {
            "duration": 300,
            "name": "".concat(COMPONENT_NAME, "-zoom__vue"),
            "onAfterEnter": _this2.afterEnter,
            "onAfterLeave": _this2.afterLeave
          }, {
            "default": function _default17() {
              return [(!_this2.destroyOnClose || _this2.visible) && vue.withDirectives(vue.createVNode("div", vue.mergeProps({
                "class": ctxClass,
                "style": ctxStyle
              }, _this2.$attrs), [view]), [[vue.vShow, _this2.visible]])];
            }
          })];
        }
      });
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$q(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$p(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$q(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var createDialog = function createDialog2(props2) {
    var options = _objectSpread$p({}, props2);
    var wrapper = document.createElement("div");
    var visible = vue.ref(false);
    var className = options.className, style2 = options.style;
    var component = vue.defineComponent({
      setup: function setup51(props22, _ref) {
        var expose = _ref.expose;
        var dialogOptions = vue.ref(options);
        vue.onMounted(function() {
          visible.value = true;
          document.activeElement.blur();
        });
        var update = function update2(newOptions) {
          dialogOptions.value = _objectSpread$p(_objectSpread$p({}, options), newOptions);
        };
        expose({
          update
        });
        return function() {
          var onClose = options.onClose || function() {
            visible.value = false;
          };
          delete options.className;
          delete options.style;
          return vue.h(_Dialog, _objectSpread$p({
            onClose,
            visible: visible.value
          }, dialogOptions.value));
        };
      }
    });
    var dialogComponent = vue.createApp(component);
    var dialog = dialogComponent.mount(wrapper);
    var preClassName = className;
    var updateClassNameStyle = function updateClassNameStyle2(className2, style22) {
      if (className2) {
        if (preClassName !== className2) {
          var _wrapper$firstElement;
          (_wrapper$firstElement = wrapper.firstElementChild.classList).remove.apply(_wrapper$firstElement, _toConsumableArray(preClassName.split(" ").map(function(name) {
            return name.trim();
          })));
        }
        className2.split(" ").forEach(function(name) {
          wrapper.firstElementChild.classList.add(name.trim());
        });
      }
      if (style22) {
        wrapper.firstElementChild.style.cssText += style22;
      }
      preClassName = className2;
    };
    updateClassNameStyle(className, style2);
    var container = getAttach(options.attach);
    if (container) {
      container.appendChild(wrapper);
    } else {
      console.error("attach is not exist");
    }
    var dialogNode = {
      show: function show() {
        visible.value = true;
      },
      hide: function hide2() {
        visible.value = false;
      },
      update: function update(newOptions) {
        dialog.update(newOptions);
        updateClassNameStyle(newOptions.className, newOptions.style);
      },
      destroy: function destroy2() {
        visible.value = false;
        setTimeout(function() {
          dialogComponent.unmount();
          wrapper.remove();
        }, 300);
      },
      setConfirmLoading: function setConfirmLoading(val) {
        dialog.update({
          confirmLoading: val
        });
      }
    };
    return dialogNode;
  };
  var confirm = function confirm2(props2) {
    return createDialog(props2);
  };
  var alert = function alert2(props2) {
    var options = _objectSpread$p({}, props2);
    options.cancelBtn = null;
    return createDialog(options);
  };
  var extraApi = {
    confirm,
    alert
  };
  var DialogPlugin = createDialog;
  DialogPlugin.install = function(app) {
    app.config.globalProperties.$dialog = createDialog;
    Object.keys(extraApi).forEach(function(funcName) {
      app.config.globalProperties.$dialog[funcName] = extraApi[funcName];
    });
  };
  Object.keys(extraApi).forEach(function(funcName) {
    DialogPlugin[funcName] = extraApi[funcName];
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var useVirtualScroll2 = function useVirtualScroll3(container, params) {
    var _params$value$data, _params$value$scroll;
    var visibleData = vue.ref([]);
    var translateY = vue.ref((((_params$value$data = params.value.data) === null || _params$value$data === void 0 ? void 0 : _params$value$data.length) || 0) * (((_params$value$scroll = params.value.scroll) === null || _params$value$scroll === void 0 ? void 0 : _params$value$scroll.rowHeight) || 50));
    var scrollHeight = vue.ref(0);
    var trScrollTopHeightList = vue.ref([]);
    var trHeightList = vue.ref([]);
    var containerHeight = vue.ref(0);
    var containerWidth = vue.ref(0);
    var startAndEndIndex = vue.ref([0, 15]);
    var tScroll = vue.computed(function() {
      var _scroll$isFixedRowHei;
      var scroll = params.value.scroll;
      if (!scroll)
        return {};
      return {
        bufferSize: scroll.bufferSize || 10,
        isFixedRowHeight: (_scroll$isFixedRowHei = scroll.isFixedRowHeight) !== null && _scroll$isFixedRowHei !== void 0 ? _scroll$isFixedRowHei : false,
        rowHeight: scroll.rowHeight || 47,
        threshold: scroll.threshold || 100,
        type: scroll.type
      };
    });
    var isVirtualScroll = vue.computed(function() {
      var data2 = params.value.data;
      return tScroll.value.type === "virtual" && tScroll.value.threshold < data2.length;
    });
    var getTrScrollTopHeightList = function getTrScrollTopHeightList2(trHeightList2, containerHeight2) {
      var list = [];
      var data2 = params.value.data;
      for (var i = 0, len2 = data2.length; i < len2; i++) {
        list[i] = (list[i - 1] || containerHeight2) + (trHeightList2[i] || tScroll.value.rowHeight);
      }
      return list;
    };
    var tripleBufferSize = vue.computed(function() {
      return tScroll.value.bufferSize * 3;
    });
    var updateVisibleData = function updateVisibleData2(trScrollTopHeightList2, scrollTop) {
      var currentIndex = -1;
      for (var i = 0, len2 = trScrollTopHeightList2.length; i < len2; i++) {
        if (trScrollTopHeightList2[i] > scrollTop) {
          currentIndex = i;
          break;
        }
      }
      if (currentIndex < 0)
        return;
      var startIndex = Math.min(currentIndex, trScrollTopHeightList2.length - tripleBufferSize.value);
      var endIndex = startIndex + tripleBufferSize.value;
      if (startAndEndIndex.value.join() !== [startIndex, endIndex].join() && startIndex >= 0) {
        visibleData.value = params.value.data.slice(startIndex, endIndex);
        var lastScrollTop = trScrollTopHeightList2[startIndex - 1];
        var top2 = lastScrollTop > 0 ? lastScrollTop - containerHeight.value : 0;
        translateY.value = top2;
        startAndEndIndex.value = [startIndex, endIndex];
      }
    };
    var handleRowMounted = function handleRowMounted2(rowData) {
      var _rowData$ref$value;
      if (!isVirtualScroll.value || !rowData || tScroll.value.isFixedRowHeight || !container.value)
        return;
      var trHeight = (_rowData$ref$value = rowData.ref.value) === null || _rowData$ref$value === void 0 ? void 0 : _rowData$ref$value.getBoundingClientRect().height;
      var rowIndex = rowData.data.__VIRTUAL_SCROLL_INDEX;
      var newTrHeightList = trHeightList.value;
      if (newTrHeightList[rowIndex] !== trHeight) {
        newTrHeightList[rowIndex] = trHeight;
        var scrollTopHeightList = getTrScrollTopHeightList(newTrHeightList, containerHeight.value);
        trScrollTopHeightList.value = scrollTopHeightList;
        var lastIndex = scrollTopHeightList.length - 1;
        scrollHeight.value = scrollTopHeightList[lastIndex] - containerHeight.value;
        updateVisibleData(scrollTopHeightList, container.value.scrollTop);
      }
    };
    var handleScroll = function handleScroll2() {
      if (!isVirtualScroll.value)
        return;
      updateVisibleData(trScrollTopHeightList.value, container.value.scrollTop);
    };
    var refreshVirtualScroll = function refreshVirtualScroll2(_ref) {
      var _ref2 = _slicedToArray(_ref, 1), contentRect = _ref2[0].contentRect;
      var maxScrollbarWidth = 16;
      if (Math.abs(contentRect.width - containerWidth.value) > maxScrollbarWidth) {
        container.value.scrollTop = 0;
        translateY.value = 0;
      }
      containerWidth.value = contentRect.width;
      containerHeight.value = contentRect.height;
    };
    var addIndexToData = function addIndexToData2(data2) {
      data2.forEach(function(item, index2) {
        item["__VIRTUAL_SCROLL_INDEX"] = index2;
      });
    };
    var updateScrollTop = function updateScrollTop2(_ref3) {
      var index2 = _ref3.index, _ref3$top = _ref3.top, top2 = _ref3$top === void 0 ? 0 : _ref3$top, behavior = _ref3.behavior;
      var scrollTop = trScrollTopHeightList.value[index2] - containerHeight.value - top2;
      container.value.scrollTo({
        top: scrollTop,
        behavior: behavior || "auto"
      });
    };
    var scrollToElement = function scrollToElement2(p) {
      updateScrollTop(p);
      if (!tScroll.value.isFixedRowHeight) {
        var _p$time;
        var duration = (_p$time = p.time) !== null && _p$time !== void 0 ? _p$time : 60;
        var timer = setTimeout(function() {
          updateScrollTop(p);
          clearTimeout(timer);
        }, duration);
      }
    };
    useResizeObserver(isVirtualScroll.value ? container : void 0, refreshVirtualScroll);
    vue.watch(function() {
      return [[].concat(_toConsumableArray(params.value.data), [tScroll, isVirtualScroll, container])];
    }, function() {
      if (!isVirtualScroll.value)
        return;
      var data2 = params.value.data;
      addIndexToData(data2);
      var startIndex = startAndEndIndex.value[0];
      visibleData.value = data2.slice(startIndex, startIndex + tripleBufferSize.value);
      var timer = setTimeout(function() {
        if (container.value) {
          containerHeight.value = container.value.getBoundingClientRect().height;
          var scrollTopHeightList = getTrScrollTopHeightList(trHeightList.value || [], containerHeight.value);
          trScrollTopHeightList.value = scrollTopHeightList;
        }
        clearTimeout(timer);
      }, 0);
    }, {
      immediate: true
    });
    return {
      visibleData,
      translateY,
      scrollHeight,
      isVirtualScroll,
      handleScroll,
      handleRowMounted,
      scrollToElement
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var PRO_THEME = {
    LINE: "line",
    PLUMP: "plump",
    CIRCLE: "circle"
  };
  var CIRCLE_SIZE = {
    SMALL: "small",
    MEDIUM: "medium",
    LARGE: "large"
  };
  var CIRCLE_SIZE_PX = {
    SMALL: 72,
    MEDIUM: 112,
    LARGE: 160
  };
  var CIRCLE_FONT_SIZE_RATIO = {
    SMALL: 14 / CIRCLE_SIZE_PX.SMALL,
    MEDIUM: 20 / CIRCLE_SIZE_PX.MEDIUM,
    LARGE: 36 / CIRCLE_SIZE_PX.LARGE
  };
  var STATUS_ICON = ["success", "error", "warning"];
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$3 = {
    color: {
      type: [String, Object, Array],
      "default": ""
    },
    label: {
      type: [String, Boolean, Function],
      "default": true
    },
    percentage: {
      type: Number,
      "default": 0
    },
    size: {
      type: [String, Number],
      "default": "medium"
    },
    status: {
      type: String,
      validator: function validator45(val) {
        return ["success", "error", "warning", "active"].includes(val);
      }
    },
    strokeWidth: {
      type: [String, Number]
    },
    theme: {
      type: String,
      "default": "line",
      validator: function validator46(val) {
        return ["line", "plump", "circle"].includes(val);
      }
    },
    trackColor: {
      type: String,
      "default": ""
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _Progress = vue.defineComponent({
    name: "TProgress",
    props: props$3,
    setup: function setup35(props2) {
      var renderTNodeJSX3 = useTNodeJSX();
      var COMPONENT_NAME = usePrefixClass("progress");
      var _useGlobalIcon = useGlobalIcon({
        CloseCircleFilledIcon,
        CheckCircleFilledIcon,
        ErrorCircleFilledIcon,
        CloseIcon,
        CheckIcon,
        ErrorIcon
      }), CloseCircleFilledIcon$1 = _useGlobalIcon.CloseCircleFilledIcon, CheckCircleFilledIcon$1 = _useGlobalIcon.CheckCircleFilledIcon, ErrorCircleFilledIcon$1 = _useGlobalIcon.ErrorCircleFilledIcon, CloseIcon$1 = _useGlobalIcon.CloseIcon, CheckIcon$1 = _useGlobalIcon.CheckIcon, ErrorIcon$1 = _useGlobalIcon.ErrorIcon;
      var statusStyle = vue.computed(function() {
        if (props2.percentage >= 100) {
          return "success";
        }
        return props2.status || "default";
      });
      var trackBgStyle = vue.computed(function() {
        var style2 = {};
        if (props2.strokeWidth) {
          var height = isString_1(props2.strokeWidth) ? props2.strokeWidth : "".concat(props2.strokeWidth, "px");
          style2.height = height;
          style2.borderRadius = height;
        }
        if (props2.trackColor) {
          style2.backgroundColor = props2.trackColor;
        }
        return style2;
      });
      var barStyle = vue.computed(function() {
        return {
          width: "".concat(props2.percentage, "%"),
          background: props2.color && getBackgroundColor(props2.color)
        };
      });
      var circlePathStyle = vue.computed(function() {
        var strokeColor = isObject_1(props2.color) ? "" : props2.color;
        return {
          stroke: strokeColor
        };
      });
      var circleOuterStyle = vue.computed(function() {
        var strokeColor = isObject_1(props2.trackColor) ? "" : props2.trackColor;
        return {
          stroke: strokeColor
        };
      });
      var diameter = vue.computed(function() {
        var diameter2 = CIRCLE_SIZE_PX.MEDIUM;
        if (!props2.size) {
          return diameter2;
        }
        var SMALL = CIRCLE_SIZE.SMALL, LARGE = CIRCLE_SIZE.LARGE, MEDIUM = CIRCLE_SIZE.MEDIUM;
        switch (props2.size) {
          case SMALL:
            diameter2 = CIRCLE_SIZE_PX.SMALL;
            break;
          case MEDIUM:
            diameter2 = CIRCLE_SIZE_PX.MEDIUM;
            break;
          case LARGE:
            diameter2 = CIRCLE_SIZE_PX.LARGE;
            break;
          default:
            diameter2 = Number(props2.size);
            break;
        }
        return diameter2;
      });
      var rPoints = vue.computed(function() {
        return diameter.value / 2;
      });
      var radius = vue.computed(function() {
        return rPoints.value - circleStrokeWidth.value / 2;
      });
      var circleStyle = vue.computed(function() {
        if (props2.theme !== PRO_THEME.CIRCLE) {
          return {};
        }
        var fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.MEDIUM;
        if (diameter.value <= CIRCLE_SIZE_PX.SMALL) {
          fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.SMALL;
        } else if (diameter.value >= CIRCLE_SIZE_PX.LARGE) {
          fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.LARGE;
        }
        return {
          width: "".concat(diameter.value, "px"),
          height: "".concat(diameter.value, "px"),
          fontSize: "".concat(fontSize, "px")
        };
      });
      var circleStrokeWidth = vue.computed(function() {
        var defaultWidth = props2.size === CIRCLE_SIZE.SMALL ? 4 : 6;
        return props2.strokeWidth ? Number(props2.strokeWidth) : defaultWidth;
      });
      var strokeDashArr = vue.computed(function() {
        var radius2 = (diameter.value - circleStrokeWidth.value) / 2;
        var perimeter = Math.PI * 2 * radius2;
        var percent = props2.percentage / 100;
        return "".concat(perimeter * percent, "  ").concat(perimeter * (1 - percent));
      });
      var getIconMap = function getIconMap2() {
        var CIRCLE_ICONS = {
          success: CheckIcon$1,
          warning: ErrorIcon$1,
          error: CloseIcon$1
        };
        var NORMAL_ICONS = {
          success: CheckCircleFilledIcon$1,
          warning: ErrorCircleFilledIcon$1,
          error: CloseCircleFilledIcon$1
        };
        return props2.theme === PRO_THEME.CIRCLE ? CIRCLE_ICONS : NORMAL_ICONS;
      };
      var getLabelContent = function getLabelContent2() {
        var labelContent = "".concat(props2.percentage, "%");
        var status = props2.status || "";
        if (STATUS_ICON.includes(status) && props2.theme !== PRO_THEME.PLUMP) {
          var components = getIconMap();
          var component = components[status];
          if (component) {
            labelContent = vue.createVNode(component, {
              "class": ["".concat(COMPONENT_NAME.value, "__icon")]
            }, null);
          }
        }
        return labelContent;
      };
      return function() {
        var labelContent = vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__info")
        }, [renderTNodeJSX3("label", getLabelContent())]);
        var PLUMP_SEPARATE = 10;
        var separateClasses = props2.percentage > PLUMP_SEPARATE ? "".concat(COMPONENT_NAME.value, "--over-ten") : "".concat(COMPONENT_NAME.value, "--under-ten");
        return vue.createVNode("div", {
          "class": COMPONENT_NAME.value
        }, [props2.theme === PRO_THEME.LINE && vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "--thin ").concat(COMPONENT_NAME.value, "--status--").concat(statusStyle.value)
        }, [vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__bar"),
          "style": trackBgStyle.value
        }, [vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__inner"),
          "style": barStyle.value
        }, null)]), labelContent]), props2.theme === PRO_THEME.PLUMP && vue.createVNode("div", {
          "class": ["".concat(COMPONENT_NAME.value, "__bar ").concat(COMPONENT_NAME.value, "--plump ").concat(separateClasses), _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--status--").concat(statusStyle.value), statusStyle.value)],
          "style": trackBgStyle.value
        }, [vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "__inner"),
          "style": barStyle.value
        }, [props2.percentage > PLUMP_SEPARATE && labelContent]), props2.percentage <= PLUMP_SEPARATE && labelContent]), props2.theme === PRO_THEME.CIRCLE && vue.createVNode("div", {
          "class": "".concat(COMPONENT_NAME.value, "--circle ").concat(COMPONENT_NAME.value, "--status--").concat(statusStyle.value),
          "style": circleStyle.value
        }, [labelContent, vue.createVNode("svg", {
          "width": diameter.value,
          "height": diameter.value,
          "viewBox": "0 0 ".concat(diameter.value, " ").concat(diameter.value)
        }, [vue.createVNode("circle", {
          "cx": rPoints.value,
          "cy": rPoints.value,
          "r": radius.value,
          "stroke-width": circleStrokeWidth.value,
          "fill": "none",
          "class": ["".concat(COMPONENT_NAME.value, "__circle-outer")],
          "style": circleOuterStyle.value
        }, null), props2.percentage > 0 && vue.createVNode("circle", {
          "cx": rPoints.value,
          "cy": rPoints.value,
          "r": radius.value,
          "stroke-width": circleStrokeWidth.value,
          "fill": "none",
          "stroke-linecap": "round",
          "class": ["".concat(COMPONENT_NAME.value, "__circle-inner")],
          "transform": "matrix(0,-1,1,0,0,".concat(diameter.value, ")"),
          "stroke-dasharray": strokeDashArr.value,
          "style": circlePathStyle.value
        }, null)])])]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Progress = withInstall(_Progress);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var baseTableProps = {
    activeRowKeys: {
      type: Array,
      "default": void 0
    },
    defaultActiveRowKeys: {
      type: Array,
      "default": function _default6() {
        return [];
      }
    },
    activeRowType: {
      type: String,
      "default": ""
    },
    allowResizeColumnWidth: {
      type: Boolean,
      "default": void 0
    },
    attach: {
      type: [String, Function]
    },
    bordered: Boolean,
    bottomContent: {
      type: [String, Function]
    },
    cellEmptyContent: {
      type: [String, Function]
    },
    columns: {
      type: Array,
      "default": function _default7() {
        return [];
      }
    },
    data: {
      type: Array,
      "default": function _default8() {
        return [];
      }
    },
    disableDataPage: Boolean,
    disableSpaceInactiveRow: {
      type: Boolean,
      "default": void 0
    },
    empty: {
      type: [String, Function],
      "default": ""
    },
    firstFullRow: {
      type: [String, Function]
    },
    fixedRows: {
      type: Array
    },
    footData: {
      type: Array,
      "default": function _default9() {
        return [];
      }
    },
    footerAffixProps: {
      type: Object
    },
    footerAffixedBottom: {
      type: [Boolean, Object],
      "default": false
    },
    footerSummary: {
      type: [String, Function]
    },
    headerAffixProps: {
      type: Object
    },
    headerAffixedTop: {
      type: [Boolean, Object],
      "default": false
    },
    height: {
      type: [String, Number]
    },
    horizontalScrollAffixedBottom: {
      type: [Boolean, Object]
    },
    hover: Boolean,
    keyboardRowHover: {
      type: Boolean,
      "default": true
    },
    lastFullRow: {
      type: [String, Function]
    },
    lazyLoad: Boolean,
    loading: {
      type: [Boolean, Function],
      "default": void 0
    },
    loadingProps: {
      type: Object
    },
    locale: {
      type: Object
    },
    maxHeight: {
      type: [String, Number]
    },
    pagination: {
      type: Object
    },
    paginationAffixedBottom: {
      type: [Boolean, Object]
    },
    resizable: Boolean,
    rowAttributes: {
      type: [Object, Array, Function]
    },
    rowClassName: {
      type: [String, Object, Array, Function]
    },
    rowKey: {
      type: String,
      "default": "id",
      required: true
    },
    rowspanAndColspan: {
      type: Function
    },
    rowspanAndColspanInFooter: {
      type: Function
    },
    scroll: {
      type: Object
    },
    showHeader: {
      type: Boolean,
      "default": true
    },
    size: {
      type: String,
      "default": "medium",
      validator: function validator47(val) {
        if (!val)
          return true;
        return ["small", "medium", "large"].includes(val);
      }
    },
    stripe: Boolean,
    tableContentWidth: {
      type: String,
      "default": ""
    },
    tableLayout: {
      type: String,
      "default": "fixed",
      validator: function validator48(val) {
        if (!val)
          return true;
        return ["auto", "fixed"].includes(val);
      }
    },
    topContent: {
      type: [String, Function]
    },
    verticalAlign: {
      type: String,
      "default": "middle",
      validator: function validator49(val) {
        if (!val)
          return true;
        return ["top", "middle", "bottom"].includes(val);
      }
    },
    onActiveChange: Function,
    onActiveRowAction: Function,
    onCellClick: Function,
    onColumnResizeChange: Function,
    onPageChange: Function,
    onRowClick: Function,
    onRowDblclick: Function,
    onRowMousedown: Function,
    onRowMouseenter: Function,
    onRowMouseleave: Function,
    onRowMouseover: Function,
    onRowMouseup: Function,
    onScroll: Function,
    onScrollX: Function,
    onScrollY: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function getNodeDepth(columns, depthMap) {
    var depth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
    var maxDepth = depth;
    for (var i = 0, len2 = columns.length; i < len2; i++) {
      var _col$children;
      var col = columns[i];
      depthMap.set(col, depth);
      if (col !== null && col !== void 0 && (_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
        var deep = getNodeDepth(col.children, depthMap, depth + 1);
        if (deep > maxDepth) {
          maxDepth = deep;
        }
      }
    }
    return maxDepth;
  }
  function getChildrenNodeWidth(node) {
    var count = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
    var countNew = count;
    var childrenList = (node === null || node === void 0 ? void 0 : node.children) || [];
    for (var i = 0, len2 = childrenList.length; i < len2; i++) {
      var item = childrenList[i];
      if (item.children) {
        countNew = getChildrenNodeWidth(item, countNew);
      } else {
        countNew += 1;
      }
    }
    return countNew;
  }
  function getThRowspanAndColspan(columns) {
    var depthMap = /* @__PURE__ */ new Map();
    var columnsDepth = getNodeDepth(columns, depthMap);
    var rowspanAndColspanMap = /* @__PURE__ */ new Map();
    var loop = function loop2(nodes, leafColumns2) {
      for (var i = 0, len2 = nodes.length; i < len2; i++) {
        var _col$children2;
        var col = nodes[i];
        var rowspan = col.children ? 1 : columnsDepth - depthMap.get(col) + 1;
        var colspan = col.children ? getChildrenNodeWidth(col) : 1;
        var span = {};
        rowspan > 1 && (span.rowspan = rowspan);
        colspan > 1 && (span.colspan = colspan);
        rowspanAndColspanMap.set(col, span);
        if (col !== null && col !== void 0 && (_col$children2 = col.children) !== null && _col$children2 !== void 0 && _col$children2.length) {
          loop2(col.children, leafColumns2);
        } else {
          leafColumns2.push(col);
        }
      }
    };
    var leafColumns = [];
    loop(columns, leafColumns);
    return {
      rowspanAndColspanMap,
      leafColumns
    };
  }
  function getThList(columns) {
    var loop = function loop2(nodes, thRows) {
      var _children;
      var thRowData = [];
      var children = [];
      for (var i = 0, len2 = nodes.length; i < len2; i++) {
        var _node$children;
        var node = nodes[i];
        var thList = [node];
        thRowData = thRowData.concat(thList);
        if (node !== null && node !== void 0 && (_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length) {
          children = children.concat(node.children);
        }
      }
      if ((_children = children) !== null && _children !== void 0 && _children.length) {
        loop2(children, thRows);
      }
      thRows.push(thRowData);
      return thRowData;
    };
    var list = [];
    loop(columns, list);
    list = list.reverse();
    return list;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useClassName() {
    var classPrefix = usePrefixClass();
    var classNames = {
      classPrefix: classPrefix.value,
      tableBaseClass: {
        table: "".concat(classPrefix.value, "-table"),
        columnResizableTable: "".concat(classPrefix.value, "-table--column-resizable"),
        overflowVisible: "".concat(classPrefix.value, "-table--overflow-visible"),
        body: "".concat(classPrefix.value, "-table__body"),
        content: "".concat(classPrefix.value, "-table__content"),
        topContent: "".concat(classPrefix.value, "-table__top-content"),
        bottomContent: "".concat(classPrefix.value, "-table__bottom-content"),
        paginationWrap: "".concat(classPrefix.value, "-table__pagination-wrap"),
        tdLastRow: "".concat(classPrefix.value, "-table__td-last-row"),
        tdFirstCol: "".concat(classPrefix.value, "-table__td-first-col"),
        thCellInner: "".concat(classPrefix.value, "-table__th-cell-inner"),
        tableRowEdit: "".concat(classPrefix.value, "-table--row-edit"),
        cellEditable: "".concat(classPrefix.value, "-table__cell--editable"),
        cellEditWrap: "".concat(classPrefix.value, "-table__cell-wrap"),
        bordered: "".concat(classPrefix.value, "-table--bordered"),
        striped: "".concat(classPrefix.value, "-table--striped"),
        hover: "".concat(classPrefix.value, "-table--hoverable"),
        loading: "".concat(classPrefix.value, "-table--loading"),
        rowspanAndColspan: "".concat(classPrefix.value, "-table--rowspan-colspan"),
        empty: "".concat(classPrefix.value, "-table__empty"),
        emptyRow: "".concat(classPrefix.value, "-table__empty-row"),
        headerFixed: "".concat(classPrefix.value, "-table--header-fixed"),
        columnFixed: "".concat(classPrefix.value, "-table--column-fixed"),
        widthOverflow: "".concat(classPrefix.value, "-table--width-overflow"),
        multipleHeader: "".concat(classPrefix.value, "-table--multiple-header"),
        footerAffixed: "".concat(classPrefix.value, "-table--footer-affixed"),
        horizontalBarAffixed: "".concat(classPrefix.value, "-table--horizontal-bar-affixed"),
        affixedHeader: "".concat(classPrefix.value, "-table--affixed-header"),
        affixedHeaderElm: "".concat(classPrefix.value, "-table__affixed-header-elm"),
        affixedFooterElm: "".concat(classPrefix.value, "-table__affixed-footer-elm"),
        affixedFooterWrap: "".concat(classPrefix.value, "-table__affixed-footer-wrap"),
        scrollbarDivider: "".concat(classPrefix.value, "-table__scroll-bar-divider"),
        fullHeight: "".concat(classPrefix.value, "-table--full-height"),
        resizeLine: "".concat(classPrefix.value, "-table__resize-line"),
        obviousScrollbar: "".concat(classPrefix.value, "-table__scrollbar--obvious"),
        affixedHeaderWrap: "".concat(classPrefix.value, "-table__affixed-header-elm-wrap")
      },
      tdAlignClasses: {
        left: "".concat(classPrefix.value, "-align-left"),
        right: "".concat(classPrefix.value, "-align-right"),
        center: "".concat(classPrefix.value, "-align-center")
      },
      tableHeaderClasses: {
        header: "".concat(classPrefix.value, "-table__header"),
        thBordered: "".concat(classPrefix.value, "-table__header-th--bordered"),
        fixed: "".concat(classPrefix.value, "-table__header--fixed"),
        multipleHeader: "".concat(classPrefix.value, "-table__header--multiple")
      },
      tableFooterClasses: {
        footer: "".concat(classPrefix.value, "-table__footer"),
        fixed: "".concat(classPrefix.value, "-table__footer--fixed")
      },
      tableAlignClasses: {
        top: "".concat(classPrefix.value, "-vertical-align-top"),
        middle: "".concat(classPrefix.value, "-vertical-align-middle"),
        bottom: "".concat(classPrefix.value, "-vertical-align-bottom")
      },
      tableRowFixedClasses: {
        top: "".concat(classPrefix.value, "-table__row--fixed-top"),
        bottom: "".concat(classPrefix.value, "-table__row--fixed-bottom"),
        firstBottom: "".concat(classPrefix.value, "-table__row--fixed-bottom-first"),
        withoutBorderBottom: "".concat(classPrefix.value, "-table__row--without-border-bottom")
      },
      tableColFixedClasses: {
        left: "".concat(classPrefix.value, "-table__cell--fixed-left"),
        right: "".concat(classPrefix.value, "-table__cell--fixed-right"),
        lastLeft: "".concat(classPrefix.value, "-table__cell--fixed-left-last"),
        firstRight: "".concat(classPrefix.value, "-table__cell--fixed-right-first"),
        leftShadow: "".concat(classPrefix.value, "-table__content--scrollable-to-left"),
        rightShadow: "".concat(classPrefix.value, "-table__content--scrollable-to-right")
      },
      tableLayoutClasses: {
        auto: "".concat(classPrefix.value, "-table--layout-auto"),
        fixed: "".concat(classPrefix.value, "-table--layout-fixed")
      },
      tdEllipsisClass: "".concat(classPrefix.value, "-table-td--ellipsis"),
      tableFullRowClasses: {
        base: "".concat(classPrefix.value, "-table__row--full"),
        innerFullRow: "".concat(classPrefix.value, "-table__row-full-inner"),
        innerFullElement: "".concat(classPrefix.value, "-table__row-full-element"),
        firstFullRow: "".concat(classPrefix.value, "-table__first-full-row"),
        lastFullRow: "".concat(classPrefix.value, "-table__last-full-row")
      },
      tableExpandClasses: {
        iconBox: "".concat(classPrefix.value, "-table__expand-box"),
        iconCell: "".concat(classPrefix.value, "-table__expandable-icon-cell"),
        row: "".concat(classPrefix.value, "-table__expanded-row"),
        rowInner: "".concat(classPrefix.value, "-table__expanded-row-inner"),
        expanded: "".concat(classPrefix.value, "-table__row--expanded"),
        collapsed: "".concat(classPrefix.value, "-table__row--collapsed")
      },
      tableSortClasses: {
        sortable: "".concat(classPrefix.value, "-table__cell--sortable"),
        sortColumn: "".concat(classPrefix.value, "-table__sort-column"),
        title: "".concat(classPrefix.value, "-table__cell--title"),
        trigger: "".concat(classPrefix.value, "-table__cell--sort-trigger"),
        doubleIcon: "".concat(classPrefix.value, "-table__double-icons"),
        sortIcon: "".concat(classPrefix.value, "-table__sort-icon"),
        iconDirection: {
          asc: "".concat(classPrefix.value, "-table-sort-asc"),
          desc: "".concat(classPrefix.value, "-table-sort-desc")
        },
        iconActive: "".concat(classPrefix.value, "-table__sort-icon--active"),
        iconDefault: "".concat(classPrefix.value, "-icon-sort--default")
      },
      tableSelectedClasses: {
        selected: "".concat(classPrefix.value, "-table__row--selected"),
        disabled: "".concat(classPrefix.value, "-table__row--disabled"),
        checkCell: "".concat(classPrefix.value, "-table__cell-check")
      },
      tableFilterClasses: {
        filterable: "".concat(classPrefix.value, "-table__cell--filterable"),
        popup: "".concat(classPrefix.value, "-table__filter-pop"),
        icon: "".concat(classPrefix.value, "-table__filter-icon"),
        popupContent: "".concat(classPrefix.value, "-table__filter-pop-content"),
        result: "".concat(classPrefix.value, "-table__filter-result"),
        inner: "".concat(classPrefix.value, "-table__row-filter-inner"),
        bottomButtons: "".concat(classPrefix.value, "-table__filter--bottom-buttons"),
        contentInner: "".concat(classPrefix.value, "-table__filter-pop-content-inner"),
        iconWrap: "".concat(classPrefix.value, "-table__filter-icon-wrap")
      },
      asyncLoadingClass: "".concat(classPrefix.value, "-table__async-loading"),
      isFocusClass: "".concat(classPrefix.value, "-is-focus"),
      isLoadingClass: "".concat(classPrefix.value, "-is-loading"),
      isLoadMoreClass: "".concat(classPrefix.value, "-is-load-more"),
      tableTreeClasses: {
        col: "".concat(classPrefix.value, "-table__tree-col"),
        inlineCol: "".concat(classPrefix.value, "-table__tree-col--inline"),
        icon: "".concat(classPrefix.value, "-table__tree-op-icon"),
        leafNode: "".concat(classPrefix.value, "-table__tree-leaf-node")
      },
      tableDraggableClasses: {
        rowDraggable: "".concat(classPrefix.value, "-table--row-draggable"),
        rowHandlerDraggable: "".concat(classPrefix.value, "-table--row-handler-draggable"),
        colDraggable: "".concat(classPrefix.value, "-table--col-draggable"),
        handle: "".concat(classPrefix.value, "-table__handle-draggable"),
        ghost: "".concat(classPrefix.value, "-table__ele--draggable-ghost"),
        chosen: "".concat(classPrefix.value, "-table__ele--draggable-chosen"),
        dragging: "".concat(classPrefix.value, "-table__ele--draggable-dragging"),
        dragSortTh: "".concat(classPrefix.value, "-table__th--drag-sort")
      },
      virtualScrollClasses: {
        cursor: "".concat(classPrefix.value, "-table__virtual-scroll-cursor"),
        header: "".concat(classPrefix.value, "-table__virtual-scroll-header")
      },
      positiveRotate90: "".concat(classPrefix.value, "-positive-rotate-90"),
      negativeRotate180: "".concat(classPrefix.value, "-negative-rotate-180")
    };
    return classNames;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$p(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$o(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$p(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$6(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var TEllipsis = vue.defineComponent({
    name: "TEllipsis",
    props: {
      content: {
        type: [String, Function]
      },
      "default": {
        type: [String, Function]
      },
      tooltipContent: {
        type: [String, Number, Function]
      },
      placement: String,
      attach: [String, Function],
      tooltipProps: Object,
      zIndex: Number,
      overlayClassName: String,
      classPrefix: {
        type: String,
        "default": "t"
      }
    },
    setup: function setup36(props2) {
      var root2 = vue.ref();
      var isOverflow = vue.ref(false);
      var ellipsisClasses = vue.computed(function() {
        return ["".concat(props2.classPrefix, "-table__ellipsis"), "".concat(props2.classPrefix, "-text-ellipsis")];
      });
      var innerEllipsisClassName = vue.computed(function() {
        return ["".concat(props2.classPrefix, "-table__ellipsis-content"), props2.overlayClassName];
      });
      var onTriggerMouseenter = function onTriggerMouseenter2() {
        if (!root2.value)
          return;
        isOverflow.value = isNodeOverflow(root2.value);
      };
      var onTriggerMouseleave = function onTriggerMouseleave2() {
        if (!root2.value)
          return;
        isOverflow.value = isNodeOverflow(root2.value);
      };
      var onMouseAround = debounce_1(function(e) {
        e.type === "mouseleave" ? onTriggerMouseleave() : onTriggerMouseenter();
      }, 80);
      return {
        root: root2,
        isOverflow,
        ellipsisClasses,
        innerEllipsisClassName,
        onMouseAround
      };
    },
    render: function render9() {
      var cellNode = renderContent(this, "default", "content");
      var ellipsisContent = vue.createVNode("div", {
        "ref": "root",
        "class": this.ellipsisClasses,
        "onMouseenter": this.onMouseAround,
        "onMouseleave": this.onMouseAround
      }, [cellNode]);
      var content = null;
      var tooltipProps = this.tooltipProps;
      if (this.isOverflow) {
        var rProps = _objectSpread$o({
          content: this.tooltipContent || function() {
            return cellNode;
          },
          destroyOnClose: true,
          zIndex: this.zIndex,
          attach: this.attach,
          placement: this.placement,
          overlayClassName: tooltipProps !== null && tooltipProps !== void 0 && tooltipProps.overlayClassName ? this.innerEllipsisClassName.concat(tooltipProps.overlayClassName) : this.innerEllipsisClassName
        }, tooltipProps);
        content = vue.createVNode(Tooltip, rProps, _isSlot$6(ellipsisContent) ? ellipsisContent : {
          "default": function _default16() {
            return [ellipsisContent];
          }
        });
      } else {
        content = ellipsisContent;
      }
      return content;
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$o(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$n(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$o(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$5(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  function renderTitle(slots, col, index2) {
    var params = {
      col,
      colIndex: index2
    };
    if (isFunction_1(col.title)) {
      return col.title(vue.h, params);
    }
    if (isString_1(col.title) && slots[col.title]) {
      return slots[col.title](params);
    }
    if (isFunction_1(col.render)) {
      return col.render(vue.h, _objectSpread$n(_objectSpread$n({}, params), {}, {
        type: "title",
        row: {},
        rowIndex: -1
      })) || col.title;
    }
    return col.title;
  }
  function useTableHeader(props2) {
    var _useClassName = useClassName(), tableSortClasses = _useClassName.tableSortClasses, tableFilterClasses = _useClassName.tableFilterClasses;
    var spansAndLeafNodes = vue.computed(function() {
      return getThRowspanAndColspan(props2.columns);
    });
    var thList = vue.computed(function() {
      return getThList(props2.columns);
    });
    var isMultipleHeader = vue.computed(function() {
      return thList.value.length > 1;
    });
    var renderTitleWidthIcon = function renderTitleWidthIcon2(_ref, col, colIndex, ellipsisTitle, attach, extra) {
      var _classes;
      var _ref2 = _slicedToArray(_ref, 3), title = _ref2[0], sortIcon = _ref2[1], filterIcon = _ref2[2];
      var classes = (_classes = {}, _defineProperty$2(_classes, tableSortClasses.sortable, sortIcon), _defineProperty$2(_classes, tableFilterClasses.filterable, filterIcon), _classes);
      var content = isFunction_1(ellipsisTitle) ? ellipsisTitle(vue.h, {
        col,
        colIndex
      }) : void 0;
      var isEllipsis = ellipsisTitle !== void 0 ? Boolean(ellipsisTitle) : Boolean(col.ellipsis);
      return vue.createVNode("div", {
        "class": classes
      }, [vue.createVNode("div", {
        "class": tableSortClasses.title
      }, [isEllipsis ? vue.createVNode(TEllipsis, {
        "placement": "bottom",
        "attach": props2.attach || (attach ? function() {
          return attach;
        } : void 0),
        "tooltipContent": content && function() {
          return content;
        },
        "tooltipProps": _typeof$2(ellipsisTitle) === "object" ? ellipsisTitle : void 0,
        "classPrefix": extra === null || extra === void 0 ? void 0 : extra.classPrefix,
        "overlayClassName": extra === null || extra === void 0 ? void 0 : extra.ellipsisOverlayClassName
      }, _isSlot$5(title) ? title : {
        "default": function _default16() {
          return [title];
        }
      }) : vue.createVNode("div", null, [title]), Boolean(sortIcon || filterIcon) && vue.createVNode("div", {
        "class": tableFilterClasses.iconWrap
      }, [sortIcon, filterIcon])])]);
    };
    return {
      thList,
      isMultipleHeader,
      spansAndLeafNodes,
      renderTitleWidthIcon
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$n(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$m(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$n(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var DEFAULT_MIN_WIDTH = 80;
  var DEFAULT_MAX_WIDTH = 600;
  var distance = 8;
  function useColumnResize(params) {
    var isWidthOverflow = params.isWidthOverflow, tableContentRef = params.tableContentRef, showColumnShadow = params.showColumnShadow, getThWidthList = params.getThWidthList, updateThWidthList = params.updateThWidthList, setTableElmWidth = params.setTableElmWidth, updateTableAfterColumnResize = params.updateTableAfterColumnResize, onColumnResizeChange = params.onColumnResizeChange;
    var resizeLineRef = vue.ref();
    var effectColMap = vue.ref({});
    var leafColumns = vue.ref([]);
    var originalSelectStart;
    var originalDragStart;
    vue.onMounted(function() {
      var hasDocument = typeof document !== "undefined";
      originalSelectStart = hasDocument ? document.onselectstart : null;
      originalDragStart = hasDocument ? document.ondragstart : null;
    });
    var getSiblingResizableCol = function getSiblingResizableCol2(nodes, index2, type) {
      var i = index2;
      while (nodes[i] && nodes[i].resizable === false) {
        if (type === "next") {
          i += 1;
        } else {
          i -= 1;
        }
      }
      return nodes[i];
    };
    var setEffectColMap = function setEffectColMap2(nodes, parent2) {
      if (!nodes)
        return;
      leafColumns.value = nodes;
      nodes.forEach(function(n, index2) {
        var prevNode = getSiblingResizableCol(nodes, index2 - 1, "prev");
        var nextNode = getSiblingResizableCol(nodes, index2 + 1, "next");
        var parentPrevCol = parent2 ? effectColMap.value[parent2.colKey].prev : nextNode;
        var parentNextCol = parent2 ? effectColMap.value[parent2.colKey].next : prevNode;
        var prev = index2 === 0 ? parentPrevCol : prevNode;
        var next = index2 === nodes.length - 1 ? parentNextCol : nextNode;
        effectColMap.value[n.colKey] = {
          prev,
          next,
          current: {
            prevSibling: getSiblingResizableCol(nodes, index2 - 1, "prev"),
            nextSibling: getSiblingResizableCol(nodes, index2 + 1, "next")
          }
        };
        setEffectColMap2(n.children, n);
      });
    };
    var resizeLineParams = {
      isDragging: false,
      draggingCol: null,
      draggingStart: 0,
      effectCol: "next"
    };
    var resizeLineStyle = vue.reactive({
      display: "none",
      height: "10px",
      left: "10px",
      bottom: "0"
    });
    var isColRightFixActive = function isColRightFixActive2(col) {
      return col.fixed === "right" && showColumnShadow.right;
    };
    var onColumnMouseover = function onColumnMouseover2(e, col) {
      if (!resizeLineRef.value || resizeLineParams.isDragging || !e.target)
        return;
      var target = e.target.closest("th");
      var colKey = target.getAttribute("data-colkey");
      if (!leafColumns.value.find(function(t) {
        return t.colKey === colKey;
      }))
        return;
      var targetBoundRect = target.getBoundingClientRect();
      var thRightCursor = targetBoundRect.right - e.pageX <= distance;
      var thLeftCursor = e.pageX - targetBoundRect.left <= distance;
      var isFixedToRight = isColRightFixActive(col);
      if (thRightCursor || isFixedToRight) {
        var _col$resizable;
        var colResizable = (_col$resizable = col.resizable) !== null && _col$resizable !== void 0 ? _col$resizable : true;
        if (colResizable) {
          target.style.cursor = thRightCursor || isFixedToRight && thLeftCursor ? "col-resize" : "";
          var isCurrent = thRightCursor && !isFixedToRight || isFixedToRight && thLeftCursor;
          resizeLineParams.draggingCol = isCurrent ? target : target.nextElementSibling;
          resizeLineParams.effectCol = "next";
          return;
        }
      } else if (thLeftCursor) {
        var prevEl = target.previousElementSibling;
        if (prevEl) {
          var _effectColMap$value$c, _effectPrevCol$resiza;
          var effectPrevCol = (_effectColMap$value$c = effectColMap.value[col.colKey]) === null || _effectColMap$value$c === void 0 ? void 0 : _effectColMap$value$c.prev;
          var _colResizable = (_effectPrevCol$resiza = effectPrevCol === null || effectPrevCol === void 0 ? void 0 : effectPrevCol.resizable) !== null && _effectPrevCol$resiza !== void 0 ? _effectPrevCol$resiza : true;
          if (_colResizable) {
            target.style.cursor = "col-resize";
            resizeLineParams.draggingCol = prevEl;
            resizeLineParams.effectCol = "prev";
            return;
          }
        }
      }
      target.style.cursor = "";
      resizeLineParams.draggingCol = null;
      resizeLineParams.effectCol = null;
    };
    var getMinMaxColWidth = function getMinMaxColWidth2(targetCol) {
      var _targetCol$resize, _targetCol$resize2;
      var propMinWidth = isNumber_1(targetCol.minWidth) ? targetCol.minWidth : parseInt(targetCol.minWidth || "0", 10);
      return {
        minColWidth: Math.max(((_targetCol$resize = targetCol.resize) === null || _targetCol$resize === void 0 ? void 0 : _targetCol$resize.minWidth) || DEFAULT_MIN_WIDTH, propMinWidth),
        maxColWidth: ((_targetCol$resize2 = targetCol.resize) === null || _targetCol$resize2 === void 0 ? void 0 : _targetCol$resize2.maxWidth) || DEFAULT_MAX_WIDTH
      };
    };
    var getNormalResizeInfo = function getNormalResizeInfo2(col, effectPrevCol, targetBoundRect, tableBoundRect) {
      var resizeLinePos = targetBoundRect.right - tableBoundRect.left;
      var colLeft = targetBoundRect.left - tableBoundRect.left;
      var targetCol = resizeLineParams.effectCol === "next" ? col : effectPrevCol;
      var _getMinMaxColWidth = getMinMaxColWidth(targetCol), minColWidth = _getMinMaxColWidth.minColWidth, maxColWidth = _getMinMaxColWidth.maxColWidth;
      return {
        resizeLinePos,
        minResizeLineLeft: colLeft + minColWidth,
        maxResizeLineLeft: colLeft + maxColWidth
      };
    };
    var getFixedToRightResizeInfo = function getFixedToRightResizeInfo2(target, col, effectPrevCol, targetBoundRect, tableBoundRect) {
      var resizeLinePos = targetBoundRect.left - tableBoundRect.left;
      var targetCol = target.dataset.colkey === col.colKey ? col : effectPrevCol;
      var colLeft = targetBoundRect.left - tableBoundRect.left;
      var _getMinMaxColWidth2 = getMinMaxColWidth(targetCol), minColWidth = _getMinMaxColWidth2.minColWidth, maxColWidth = _getMinMaxColWidth2.maxColWidth;
      return {
        resizeLinePos,
        minResizeLineLeft: colLeft + (targetBoundRect.width - maxColWidth),
        maxResizeLineLeft: colLeft + (targetBoundRect.width - minColWidth)
      };
    };
    var getFixedToLeftResizeInfo = function getFixedToLeftResizeInfo2(targetBoundRect, tableBoundRect) {
      var resizeLinePos = targetBoundRect.left - tableBoundRect.left;
      var colLeft = targetBoundRect.left - tableBoundRect.left;
      return {
        resizeLinePos,
        minResizeLineLeft: colLeft,
        maxResizeLineLeft: colLeft
      };
    };
    var getTotalTableWidth = function getTotalTableWidth2(thWidthList) {
      var tableWidth = 0;
      leafColumns.value.forEach(function(col) {
        tableWidth += thWidthList[col.colKey];
      });
      return tableWidth;
    };
    var getSiblingColCanResizable = function getSiblingColCanResizable2(newThWidthList, effectNextCol, distance2, index2) {
      var isWidthAbnormal = true;
      if (effectNextCol) {
        var _getMinMaxColWidth3 = getMinMaxColWidth(effectNextCol), minColWidth = _getMinMaxColWidth3.minColWidth, maxColWidth = _getMinMaxColWidth3.maxColWidth;
        var targetNextColWidth = newThWidthList[effectNextCol.colKey] + distance2;
        isWidthAbnormal = targetNextColWidth < minColWidth || targetNextColWidth > maxColWidth;
      }
      return !(isWidthAbnormal || isWidthOverflow.value || index2 === leafColumns.value.length - 1);
    };
    var getOtherResizeInfo = function getOtherResizeInfo2(col, effectPrevCol, targetBoundRect, tableBoundRect) {
      return effectPrevCol ? getNormalResizeInfo(col, effectPrevCol, targetBoundRect, tableBoundRect) : getFixedToLeftResizeInfo(targetBoundRect, tableBoundRect);
    };
    var onColumnMousedown = function onColumnMousedown2(e, col, index2) {
      var _tableContentRef$valu, _effectColMap$value$c2, _effectColMap$value$c3;
      if (!resizeLineParams.draggingCol)
        return;
      var target = resizeLineParams.draggingCol;
      var targetBoundRect = target.getBoundingClientRect();
      var tableBoundRect = (_tableContentRef$valu = tableContentRef.value) === null || _tableContentRef$valu === void 0 ? void 0 : _tableContentRef$valu.getBoundingClientRect();
      var effectNextCol = (_effectColMap$value$c2 = effectColMap.value[col.colKey]) === null || _effectColMap$value$c2 === void 0 ? void 0 : _effectColMap$value$c2.next;
      var effectPrevCol = (_effectColMap$value$c3 = effectColMap.value[col.colKey]) === null || _effectColMap$value$c3 === void 0 ? void 0 : _effectColMap$value$c3.prev;
      var _ref = isColRightFixActive(col) ? getFixedToRightResizeInfo(target, col, effectNextCol, targetBoundRect, tableBoundRect) : getOtherResizeInfo(col, effectNextCol, targetBoundRect, tableBoundRect), resizeLinePos = _ref.resizeLinePos, minResizeLineLeft = _ref.minResizeLineLeft, maxResizeLineLeft = _ref.maxResizeLineLeft;
      resizeLineParams.isDragging = true;
      resizeLineParams.draggingStart = e.x;
      if (resizeLineRef !== null && resizeLineRef !== void 0 && resizeLineRef.value) {
        resizeLineStyle.display = "block";
        resizeLineStyle.height = "".concat(tableBoundRect.bottom - targetBoundRect.top, "px");
        resizeLineStyle.left = "".concat(resizeLinePos, "px");
        var parent2 = tableContentRef.value.parentElement.getBoundingClientRect();
        resizeLineStyle.bottom = "".concat(parent2.bottom - tableBoundRect.bottom, "px");
      }
      var onDragEnd = function onDragEnd2() {
        var _effectColMap$value$c4;
        if (!resizeLineParams.isDragging)
          return;
        var moveDistance = resizeLinePos - parseFloat(resizeLineStyle.left) || 0;
        var thWidthList = getThWidthList("calculate");
        var currentCol = (_effectColMap$value$c4 = effectColMap.value[col.colKey]) === null || _effectColMap$value$c4 === void 0 ? void 0 : _effectColMap$value$c4.current;
        var currentSibling = resizeLineParams.effectCol === "next" ? currentCol.nextSibling : currentCol.prevSibling;
        var newThWidthList = _objectSpread$m({}, thWidthList);
        var tmpCurrentCol = col.resizable !== false ? col : currentSibling;
        var rightCol = resizeLineParams.effectCol === "next" ? currentCol.nextSibling : col;
        var canResizeSiblingColWidth = getSiblingColCanResizable(newThWidthList, rightCol, moveDistance, index2);
        if (resizeLineParams.effectCol === "next") {
          if (isColRightFixActive(col)) {
            if (target.dataset.colkey !== col.colKey) {
              newThWidthList[effectNextCol.colKey] += moveDistance;
            } else {
              newThWidthList[tmpCurrentCol.colKey] += moveDistance;
            }
          } else {
            newThWidthList[tmpCurrentCol.colKey] -= moveDistance;
            if (canResizeSiblingColWidth) {
              newThWidthList[effectNextCol.colKey] += moveDistance;
            }
          }
        } else if (resizeLineParams.effectCol === "prev") {
          if (canResizeSiblingColWidth) {
            newThWidthList[tmpCurrentCol.colKey] += moveDistance;
          }
          effectPrevCol && (newThWidthList[effectPrevCol.colKey] -= moveDistance);
        }
        updateThWidthList(newThWidthList);
        var tableWidth = getTotalTableWidth(newThWidthList);
        setTableElmWidth(Math.round(tableWidth));
        updateTableAfterColumnResize();
        resizeLineParams.isDragging = false;
        resizeLineParams.draggingCol = null;
        resizeLineParams.effectCol = null;
        target.style.cursor = "";
        resizeLineStyle.display = "none";
        resizeLineStyle.left = "0";
        off$1(document, "mouseup", onDragEnd2);
        off$1(document, "mousemove", onDragOver);
        document.onselectstart = originalSelectStart;
        document.ondragstart = originalDragStart;
        onColumnResizeChange === null || onColumnResizeChange === void 0 || onColumnResizeChange({
          columnsWidth: newThWidthList
        });
      };
      var onDragOver = function onDragOver2(e2) {
        if (resizeLineParams.isDragging) {
          var left2 = resizeLinePos + e2.x - resizeLineParams.draggingStart;
          resizeLineStyle.left = "".concat(Math.min(Math.max(left2, minResizeLineLeft), maxResizeLineLeft), "px");
        }
      };
      on$1(document, "mouseup", onDragEnd);
      on$1(document, "mousemove", onDragOver);
      document.onselectstart = function() {
        return false;
      };
      document.ondragstart = function() {
        return false;
      };
    };
    return {
      resizeLineRef,
      resizeLineStyle,
      onColumnMouseover,
      onColumnMousedown,
      setEffectColMap
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function noop$1() {
  }
  var noop_1 = noop$1;
  var Set$1 = _Set, noop$2 = noop_1, setToArray$1 = _setToArray;
  var INFINITY = 1 / 0;
  var createSet$1 = !(Set$1 && 1 / setToArray$1(new Set$1([, -0]))[1] == INFINITY) ? noop$2 : function(values) {
    return new Set$1(values);
  };
  var _createSet = createSet$1;
  var SetCache = _SetCache, arrayIncludes = _arrayIncludes, arrayIncludesWith = _arrayIncludesWith, cacheHas = _cacheHas, createSet = _createSet, setToArray = _setToArray;
  var LARGE_ARRAY_SIZE = 200;
  function baseUniq$1(array, iteratee, comparator) {
    var index2 = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
    if (comparator) {
      isCommon = false;
      includes = arrayIncludesWith;
    } else if (length >= LARGE_ARRAY_SIZE) {
      var set2 = iteratee ? null : createSet(array);
      if (set2) {
        return setToArray(set2);
      }
      isCommon = false;
      includes = cacheHas;
      seen = new SetCache();
    } else {
      seen = iteratee ? [] : result;
    }
    outer:
      while (++index2 < length) {
        var value = array[index2], computed2 = iteratee ? iteratee(value) : value;
        value = comparator || value !== 0 ? value : 0;
        if (isCommon && computed2 === computed2) {
          var seenIndex = seen.length;
          while (seenIndex--) {
            if (seen[seenIndex] === computed2) {
              continue outer;
            }
          }
          if (iteratee) {
            seen.push(computed2);
          }
          result.push(value);
        } else if (!includes(seen, computed2, comparator)) {
          if (seen !== result) {
            seen.push(computed2);
          }
          result.push(value);
        }
      }
    return result;
  }
  var _baseUniq = baseUniq$1;
  var baseDifference = _baseDifference, baseFlatten = _baseFlatten, baseUniq = _baseUniq;
  function baseXor$1(arrays, iteratee, comparator) {
    var length = arrays.length;
    if (length < 2) {
      return length ? baseUniq(arrays[0]) : [];
    }
    var index2 = -1, result = Array(length);
    while (++index2 < length) {
      var array = arrays[index2], othIndex = -1;
      while (++othIndex < length) {
        if (othIndex != index2) {
          result[index2] = baseDifference(result[index2] || array, arrays[othIndex], iteratee, comparator);
        }
      }
    }
    return baseUniq(baseFlatten(result, 1), iteratee, comparator);
  }
  var _baseXor = baseXor$1;
  var arrayFilter = _arrayFilter, baseRest = _baseRest, baseXor = _baseXor, isArrayLikeObject = isArrayLikeObject_1, last = last_1;
  var xorWith = baseRest(function(arrays) {
    var comparator = last(arrays);
    comparator = typeof comparator == "function" ? comparator : void 0;
    return baseXor(arrayFilter(arrays, isArrayLikeObject), void 0, comparator);
  });
  var xorWith_1 = xorWith;
  function ownKeys$m(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$l(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$m(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$m(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function getColumnFixedStyles(col, index2, rowAndColFixedPosition, tableColFixedClasses) {
    var _thClasses;
    var fixedPos = rowAndColFixedPosition === null || rowAndColFixedPosition === void 0 ? void 0 : rowAndColFixedPosition.get(col.colKey || index2);
    if (!fixedPos)
      return {};
    var thClasses = (_thClasses = {}, _defineProperty$2(_thClasses, tableColFixedClasses.left, col.fixed === "left"), _defineProperty$2(_thClasses, tableColFixedClasses.right, col.fixed === "right"), _defineProperty$2(_thClasses, tableColFixedClasses.lastLeft, col.fixed === "left" && fixedPos.lastLeftFixedCol), _defineProperty$2(_thClasses, tableColFixedClasses.firstRight, col.fixed === "right" && fixedPos.firstRightFixedCol), _thClasses);
    var thStyles = {
      left: col.fixed === "left" ? "".concat(fixedPos.left, "px") : void 0,
      right: col.fixed === "right" ? "".concat(fixedPos.right, "px") : void 0
    };
    return {
      style: thStyles,
      classes: thClasses
    };
  }
  function getRowFixedStyles(rowId, rowIndex, rowLength, fixedRows, rowAndColFixedPosition, tableRowFixedClasses) {
    var _rowClasses;
    if (!fixedRows || !fixedRows.length)
      return {
        style: void 0,
        classes: void 0
      };
    var fixedTop = rowIndex < fixedRows[0];
    var fixedBottom = rowIndex > rowLength - 1 - fixedRows[1];
    var firstFixedBottomRow = rowLength - fixedRows[1];
    var fixedPos = (rowAndColFixedPosition === null || rowAndColFixedPosition === void 0 ? void 0 : rowAndColFixedPosition.get(rowId)) || {};
    var rowClasses = (_rowClasses = {}, _defineProperty$2(_rowClasses, tableRowFixedClasses.top, fixedTop), _defineProperty$2(_rowClasses, tableRowFixedClasses.bottom, fixedBottom), _defineProperty$2(_rowClasses, tableRowFixedClasses.firstBottom, rowIndex === firstFixedBottomRow), _defineProperty$2(_rowClasses, tableRowFixedClasses.withoutBorderBottom, rowIndex === firstFixedBottomRow - 1), _rowClasses);
    var rowStyles = {
      top: fixedTop ? "".concat(fixedPos.top, "px") : void 0,
      bottom: fixedBottom ? "".concat(fixedPos.bottom, "px") : void 0
    };
    return {
      style: rowStyles,
      classes: rowClasses
    };
  }
  function useFixed(props2, context, finalColumns, affixRef) {
    var _toRefs = vue.toRefs(props2), columns = _toRefs.columns, tableLayout = _toRefs.tableLayout, tableContentWidth = _toRefs.tableContentWidth, fixedRows = _toRefs.fixedRows, firstFullRow = _toRefs.firstFullRow, lastFullRow = _toRefs.lastFullRow, maxHeight = _toRefs.maxHeight, headerAffixedTop = _toRefs.headerAffixedTop, footerAffixedBottom = _toRefs.footerAffixedBottom, bordered = _toRefs.bordered, resizable = _toRefs.resizable, allowResizeColumnWidth = _toRefs.allowResizeColumnWidth;
    var data2 = vue.ref([]);
    var tableRef = vue.ref();
    var tableContentRef = vue.ref();
    var isFixedHeader = vue.ref(false);
    var isWidthOverflow = vue.ref(false);
    var tableElmRef = vue.ref();
    var scrollbarWidth = vue.ref(6);
    var rowAndColFixedPosition = vue.ref(/* @__PURE__ */ new Map());
    var showColumnShadow = vue.reactive({
      left: false,
      right: false
    });
    var virtualScrollHeaderPos = vue.ref({
      left: 0,
      top: 0
    });
    var tableWidth = vue.ref(0);
    var tableElmWidth = vue.ref(0);
    var thWidthList = vue.ref({});
    var isFixedColumn = vue.ref(false);
    var isFixedRightColumn = vue.ref(false);
    var isFixedLeftColumn = vue.ref(false);
    var columnResizable = vue.computed(function() {
      var _ref, _allowResizeColumnWid;
      return (_ref = (_allowResizeColumnWid = allowResizeColumnWidth.value) !== null && _allowResizeColumnWid !== void 0 ? _allowResizeColumnWid : resizable.value) !== null && _ref !== void 0 ? _ref : false;
    });
    var notNeedThWidthList = vue.computed(function() {
      var _props$scroll;
      return !(props2.headerAffixedTop || props2.footerAffixedBottom || props2.horizontalScrollAffixedBottom || ((_props$scroll = props2.scroll) === null || _props$scroll === void 0 ? void 0 : _props$scroll.type) === "virtual");
    });
    function setUseFixedTableElmRef(val) {
      tableElmRef.value = val;
    }
    function getColumnMap(columns2) {
      var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Map();
      var levelNodes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
      var level = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
      var parent2 = arguments.length > 4 ? arguments[4] : void 0;
      for (var i = 0, len2 = columns2.length; i < len2; i++) {
        var _col$children;
        var col = columns2[i];
        if (["left", "right"].includes(col.fixed)) {
          isFixedColumn.value = true;
        }
        if (col.fixed === "right") {
          isFixedRightColumn.value = true;
        }
        if (col.fixed === "left") {
          isFixedLeftColumn.value = true;
        }
        var key2 = col.colKey || i;
        var columnInfo = {
          col,
          parent: parent2,
          index: i
        };
        map.set(key2, columnInfo);
        if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
          getColumnMap(col.children, map, levelNodes, level + 1, columnInfo);
        }
        if (levelNodes[level]) {
          levelNodes[level].push(columnInfo);
        } else {
          levelNodes[level] = [columnInfo];
        }
      }
      return {
        newColumnsMap: map,
        levelNodes
      };
    }
    var setFixedLeftPos = function setFixedLeftPos2(columns2, initialColumnMap) {
      var parent2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      for (var i = 0, len2 = columns2.length; i < len2; i++) {
        var _col$children2;
        var col = columns2[i];
        if (col.fixed === "right")
          return;
        var colInfo = initialColumnMap.get(col.colKey || i);
        var lastColIndex = i - 1;
        while (lastColIndex >= 0 && columns2[lastColIndex].fixed !== "left") {
          lastColIndex -= 1;
        }
        var lastCol = columns2[lastColIndex];
        var defaultWidth = i === 0 ? (parent2 === null || parent2 === void 0 ? void 0 : parent2.left) || 0 : 0;
        var lastColInfo = initialColumnMap.get((lastCol === null || lastCol === void 0 ? void 0 : lastCol.colKey) || i - 1);
        if (colInfo) {
          colInfo.left = ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.left) || defaultWidth) + ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.width) || 0);
        }
        if ((_col$children2 = col.children) !== null && _col$children2 !== void 0 && _col$children2.length) {
          setFixedLeftPos2(col.children, initialColumnMap, colInfo);
        }
      }
    };
    var setFixedRightPos = function setFixedRightPos2(columns2, initialColumnMap) {
      var parent2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
      for (var i = columns2.length - 1; i >= 0; i--) {
        var _col$children3;
        var col = columns2[i];
        if (col.fixed === "left")
          return;
        var colInfo = initialColumnMap.get(col.colKey || i);
        var lastColIndex = i + 1;
        while (lastColIndex < columns2.length && columns2[lastColIndex].fixed !== "right") {
          lastColIndex += 1;
        }
        var lastCol = columns2[lastColIndex];
        var defaultWidth = i === columns2.length - 1 ? (parent2 === null || parent2 === void 0 ? void 0 : parent2.right) || 0 : 0;
        var lastColInfo = initialColumnMap.get((lastCol === null || lastCol === void 0 ? void 0 : lastCol.colKey) || i + 1);
        if (colInfo) {
          colInfo.right = ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.right) || defaultWidth) + ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.width) || 0);
        }
        if ((_col$children3 = col.children) !== null && _col$children3 !== void 0 && _col$children3.length) {
          setFixedRightPos2(col.children, initialColumnMap, colInfo);
        }
      }
    };
    var setFixedColPosition = function setFixedColPosition2(trList, initialColumnMap) {
      if (!trList)
        return;
      for (var i = 0, len2 = trList.length; i < len2; i++) {
        var thList = trList[i].children;
        for (var j = 0, thLen = thList.length; j < thLen; j++) {
          var _obj$col;
          var th = thList[j];
          var colKey = th.dataset.colkey;
          if (!colKey) {
            log.warn("TDesign Table", "".concat(th.innerText, " missing colKey. colKey is required for fixed column feature."));
          }
          var obj = initialColumnMap.get(colKey || j);
          if (obj !== null && obj !== void 0 && (_obj$col = obj.col) !== null && _obj$col !== void 0 && _obj$col.fixed) {
            initialColumnMap.set(colKey, _objectSpread$l(_objectSpread$l({}, obj), {}, {
              width: th.getBoundingClientRect().width
            }));
          }
        }
      }
      setFixedLeftPos(columns.value, initialColumnMap);
      setFixedRightPos(columns.value, initialColumnMap);
    };
    var setFixedRowPosition = function setFixedRowPosition2(trList, initialColumnMap, thead, tfoot) {
      var _ref2 = fixedRows.value || [], _ref3 = _slicedToArray(_ref2, 2), fixedTopRows = _ref3[0], fixedBottomRows = _ref3[1];
      var data22 = props2.data, _props$rowKey = props2.rowKey, rowKey = _props$rowKey === void 0 ? "id" : _props$rowKey;
      for (var i = 0; i < fixedTopRows; i++) {
        var tr = trList[i];
        var rowId = get_1(data22[i], rowKey);
        var thisRowInfo = initialColumnMap.get(rowId) || {};
        var lastRowId = get_1(data22[i - 1], rowKey);
        var lastRowInfo = initialColumnMap.get(lastRowId) || {};
        var defaultBottom = 0;
        if (i === 0) {
          defaultBottom = (thead === null || thead === void 0 ? void 0 : thead.getBoundingClientRect().height) || 0;
        }
        thisRowInfo.top = (lastRowInfo.top || defaultBottom) + (lastRowInfo.height || 0);
        initialColumnMap.set(rowId, _objectSpread$l(_objectSpread$l({}, thisRowInfo), {}, {
          height: (tr === null || tr === void 0 ? void 0 : tr.getBoundingClientRect().height) || 0
        }));
      }
      for (var _i = data22.length - 1; _i >= data22.length - fixedBottomRows; _i--) {
        var _tr = trList[_i];
        var _rowId = get_1(data22[_i], rowKey);
        var _thisRowInfo = initialColumnMap.get(_rowId) || {};
        var _lastRowId = get_1(data22[_i + 1], rowKey);
        var _lastRowInfo = initialColumnMap.get(_lastRowId) || {};
        var _defaultBottom = 0;
        if (_i === data22.length - 1) {
          _defaultBottom = (tfoot === null || tfoot === void 0 ? void 0 : tfoot.getBoundingClientRect().height) || 0;
        }
        _thisRowInfo.bottom = (_lastRowInfo.bottom || _defaultBottom) + (_lastRowInfo.height || 0);
        initialColumnMap.set(_rowId, _objectSpread$l(_objectSpread$l({}, _thisRowInfo), {}, {
          height: (_tr === null || _tr === void 0 ? void 0 : _tr.getBoundingClientRect().height) || 0
        }));
      }
    };
    var updateRowAndColFixedPosition = function updateRowAndColFixedPosition2(tableContentElm, initialColumnMap) {
      rowAndColFixedPosition.value.clear();
      if (!tableContentElm)
        return;
      var thead = tableContentElm.querySelector("thead");
      thead && setFixedColPosition(thead.children, initialColumnMap);
      var tbody = tableContentElm.querySelector("tbody");
      var tfoot = tableContentElm.querySelector("tfoot");
      tbody && setFixedRowPosition(tbody.children, initialColumnMap, thead, tfoot);
      rowAndColFixedPosition.value = initialColumnMap;
    };
    var shadowLastScrollLeft;
    var updateColumnFixedShadow = function updateColumnFixedShadow2(target, extra) {
      if (!isFixedColumn.value || !target)
        return;
      var scrollLeft = target.scrollLeft;
      if (shadowLastScrollLeft === scrollLeft && (!extra || !extra.skipScrollLimit))
        return;
      shadowLastScrollLeft = scrollLeft;
      var isShowRight = target.clientWidth + scrollLeft < target.scrollWidth;
      var isShowLeft = scrollLeft > 0;
      if (showColumnShadow.left === isShowLeft && showColumnShadow.right === isShowRight)
        return;
      showColumnShadow.left = isShowLeft && isFixedLeftColumn.value;
      showColumnShadow.right = isShowRight && isFixedRightColumn.value;
    };
    var setIsLastOrFirstFixedCol = function setIsLastOrFirstFixedCol2(levelNodes) {
      for (var t = 0; t < levelNodes.length; t++) {
        var nodes = levelNodes[t];
        for (var i = 0, len2 = nodes.length; i < len2; i++) {
          var colMapInfo = nodes[i];
          var nextColMapInfo = nodes[i + 1];
          var parent2 = colMapInfo.parent;
          var isParentLastLeftFixedCol = !parent2 || (parent2 === null || parent2 === void 0 ? void 0 : parent2.lastLeftFixedCol);
          if (isParentLastLeftFixedCol && colMapInfo.col.fixed === "left" && (nextColMapInfo === null || nextColMapInfo === void 0 ? void 0 : nextColMapInfo.col.fixed) !== "left") {
            colMapInfo.lastLeftFixedCol = true;
          }
          var lastColMapInfo = nodes[i - 1];
          var isParentFirstRightFixedCol = !parent2 || (parent2 === null || parent2 === void 0 ? void 0 : parent2.firstRightFixedCol);
          if (isParentFirstRightFixedCol && colMapInfo.col.fixed === "right" && (lastColMapInfo === null || lastColMapInfo === void 0 ? void 0 : lastColMapInfo.col.fixed) !== "right") {
            colMapInfo.firstRightFixedCol = true;
          }
        }
      }
    };
    var updateFixedStatus = function updateFixedStatus2() {
      var _getColumnMap = getColumnMap(columns.value), newColumnsMap = _getColumnMap.newColumnsMap, levelNodes = _getColumnMap.levelNodes;
      setIsLastOrFirstFixedCol(levelNodes);
      var timer = setTimeout(function() {
        var _fixedRows$value;
        if (isFixedColumn.value || (_fixedRows$value = fixedRows.value) !== null && _fixedRows$value !== void 0 && _fixedRows$value.length) {
          updateRowAndColFixedPosition(tableContentRef.value, newColumnsMap);
        }
        clearTimeout(timer);
      }, 0);
      return function() {
        clearTimeout(timer);
      };
    };
    var updateFixedHeader = function updateFixedHeader2() {
      var timer = setTimeout(function() {
        if (!tableContentRef.value)
          return;
        isFixedHeader.value = tableContentRef.value.scrollHeight > tableContentRef.value.clientHeight;
        isWidthOverflow.value = tableContentRef.value.scrollWidth > tableContentRef.value.clientWidth;
        var pos = tableContentRef.value.getBoundingClientRect();
        virtualScrollHeaderPos.value = {
          top: pos.top,
          left: pos.left
        };
        clearTimeout(timer);
      }, 0);
    };
    var setTableElmWidth = function setTableElmWidth2(width) {
      if (tableElmWidth.value === width)
        return;
      tableElmWidth.value = width;
    };
    var updateTableWidth = function updateTableWidth2() {
      var _tableContentRef$valu, _tableElmRef$value;
      var rect = (_tableContentRef$valu = tableContentRef.value) === null || _tableContentRef$valu === void 0 ? void 0 : _tableContentRef$valu.getBoundingClientRect();
      if (!rect)
        return;
      var reduceWidth = isFixedHeader.value ? scrollbarWidth.value : 0;
      tableWidth.value = Math.floor(rect.width - reduceWidth - (props2.bordered ? 1 : 0));
      var elmRect = tableElmRef === null || tableElmRef === void 0 || (_tableElmRef$value = tableElmRef.value) === null || _tableElmRef$value === void 0 ? void 0 : _tableElmRef$value.getBoundingClientRect();
      (elmRect === null || elmRect === void 0 ? void 0 : elmRect.width) && setTableElmWidth(elmRect.width);
    };
    var updateAffixPosition = function updateAffixPosition2() {
      var _affixRef$paginationA, _affixRef$paginationA2, _affixRef$horizontalS, _affixRef$horizontalS2, _affixRef$headerTopAf, _affixRef$headerTopAf2, _affixRef$footerBotto, _affixRef$footerBotto2;
      (_affixRef$paginationA = affixRef.paginationAffixRef.value) === null || _affixRef$paginationA === void 0 || (_affixRef$paginationA2 = _affixRef$paginationA.handleScroll) === null || _affixRef$paginationA2 === void 0 || _affixRef$paginationA2.call(_affixRef$paginationA);
      (_affixRef$horizontalS = affixRef.horizontalScrollAffixRef.value) === null || _affixRef$horizontalS === void 0 || (_affixRef$horizontalS2 = _affixRef$horizontalS.handleScroll) === null || _affixRef$horizontalS2 === void 0 || _affixRef$horizontalS2.call(_affixRef$horizontalS);
      (_affixRef$headerTopAf = affixRef.headerTopAffixRef.value) === null || _affixRef$headerTopAf === void 0 || (_affixRef$headerTopAf2 = _affixRef$headerTopAf.handleScroll) === null || _affixRef$headerTopAf2 === void 0 || _affixRef$headerTopAf2.call(_affixRef$headerTopAf);
      (_affixRef$footerBotto = affixRef.footerBottomAffixRef.value) === null || _affixRef$footerBotto === void 0 || (_affixRef$footerBotto2 = _affixRef$footerBotto.handleScroll) === null || _affixRef$footerBotto2 === void 0 || _affixRef$footerBotto2.call(_affixRef$footerBotto);
    };
    var calculateThWidthList = function calculateThWidthList2(trList) {
      var widthMap = {};
      for (var i = 0, len2 = trList.length; i < len2; i++) {
        var thList = trList[i].children;
        for (var j = 0, thLen = thList.length; j < thLen; j++) {
          var th = thList[j];
          var colKey = th.dataset.colkey;
          widthMap[colKey] = th.getBoundingClientRect().width;
        }
      }
      return widthMap;
    };
    var updateThWidthList = function updateThWidthList2(trList) {
      if (trList instanceof HTMLCollection) {
        if (columnResizable.value)
          return;
        thWidthList.value = calculateThWidthList(trList);
      } else {
        thWidthList.value = thWidthList.value || {};
        Object.entries(trList).forEach(function(_ref4) {
          var _ref5 = _slicedToArray(_ref4, 2), colKey = _ref5[0], width = _ref5[1];
          thWidthList.value[colKey] = width;
        });
      }
      return thWidthList.value;
    };
    var updateThWidthListHandler = function updateThWidthListHandler2() {
      var timer = setTimeout(function() {
        var _tableContentRef$valu2;
        updateTableWidth();
        if (notNeedThWidthList.value)
          return;
        var thead = (_tableContentRef$valu2 = tableContentRef.value) === null || _tableContentRef$valu2 === void 0 ? void 0 : _tableContentRef$valu2.querySelector("thead");
        if (!thead)
          return;
        updateThWidthList(thead.children);
        clearTimeout(timer);
      }, 0);
    };
    var resetThWidthList = function resetThWidthList2() {
      thWidthList.value = {};
    };
    var emitScrollEvent = function emitScrollEvent2(e) {
      var _props$onScrollX, _props$onScrollY, _props$onScroll;
      (_props$onScrollX = props2.onScrollX) === null || _props$onScrollX === void 0 || _props$onScrollX.call(props2, {
        e
      });
      (_props$onScrollY = props2.onScrollY) === null || _props$onScrollY === void 0 || _props$onScrollY.call(props2, {
        e
      });
      (_props$onScroll = props2.onScroll) === null || _props$onScroll === void 0 || _props$onScroll.call(props2, {
        e
      });
    };
    var getThWidthList = function getThWidthList2(type) {
      if (type === "calculate") {
        var _tableContentRef$valu3;
        var trList = (_tableContentRef$valu3 = tableContentRef.value) === null || _tableContentRef$valu3 === void 0 || (_tableContentRef$valu3 = _tableContentRef$valu3.querySelector("thead")) === null || _tableContentRef$valu3 === void 0 ? void 0 : _tableContentRef$valu3.children;
        return calculateThWidthList(trList);
      }
      return thWidthList.value || {};
    };
    vue.watch([data2, columns, bordered, tableLayout, tableContentWidth, isFixedHeader, isWidthOverflow, isFixedColumn, fixedRows, firstFullRow, lastFullRow], updateFixedStatus, {
      immediate: true
    });
    vue.watch([isFixedColumn, columns], function() {
      var timer = setTimeout(function() {
        if (isFixedColumn.value) {
          updateColumnFixedShadow(tableContentRef.value);
        }
        clearTimeout(timer);
      }, 0);
    }, {
      immediate: true
    });
    vue.watch([maxHeight, data2, columns, bordered], updateFixedHeader, {
      immediate: true
    });
    vue.watch(finalColumns, function() {
      resetThWidthList();
    });
    vue.watch([data2, bordered, tableLayout, fixedRows, isFixedHeader, headerAffixedTop, footerAffixedBottom, tableContentWidth], function() {
      var timer = setTimeout(function() {
        updateThWidthListHandler();
        updateAffixPosition();
        clearTimeout(timer);
      }, 60);
    }, {
      immediate: true
    });
    vue.watch([finalColumns], function(_ref6, _ref7) {
      var _ref8 = _slicedToArray(_ref6, 1), finalColumns2 = _ref8[0];
      var _ref9 = _slicedToArray(_ref7, 1), preFinalColumns = _ref9[0];
      var finalColKeys = finalColumns2.map(function(t) {
        return t.colKey;
      });
      var preColKeys = preFinalColumns.map(function(t) {
        return t.colKey;
      });
      if (finalColKeys.length < preColKeys.length) {
        var reduceKeys = xorWith_1(preColKeys, finalColKeys);
        var thWidthList2 = getThWidthList("calculate");
        var reduceWidth = 0;
        reduceKeys.forEach(function(key2) {
          reduceWidth += thWidthList2[key2];
        });
        var oldTotalWidth = Object.values(thWidthList2).reduce(function() {
          var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
          var n = arguments.length > 1 ? arguments[1] : void 0;
          return r + n;
        });
        setTableElmWidth(oldTotalWidth - reduceWidth);
      }
    });
    var refreshTable = function refreshTable2() {
      updateThWidthListHandler();
      updateFixedHeader();
      updateAffixPosition();
      if (isFixedColumn.value || isFixedHeader.value) {
        updateFixedStatus();
        updateColumnFixedShadow(tableContentRef.value, {
          skipScrollLimit: true
        });
      }
    };
    var onResize = debounce_1(function() {
      refreshTable();
    }, 30);
    var resizeObserver = null;
    function addTableResizeObserver(tableElement) {
      if (typeof window === "undefined")
        return;
      if (getIEVersion() < 11 || typeof window.ResizeObserver === "undefined")
        return;
      off$1(window, "resize", onResize);
      resizeObserver = new window.ResizeObserver(function() {
        var timer = setTimeout(function() {
          refreshTable();
          clearTimeout(timer);
        }, 60);
      });
      resizeObserver.observe(tableElement);
      tableRef.value = tableElement;
    }
    vue.onMounted(function() {
      var scrollWidth = getScrollbarWidthWithCSS();
      scrollbarWidth.value = scrollWidth;
      updateThWidthListHandler();
      var isWatchResize = isFixedColumn.value || isFixedHeader.value || !notNeedThWidthList.value || !data2.value.length;
      var hasWindow = typeof window !== "undefined";
      var hasResizeObserver = hasWindow && typeof window.ResizeObserver !== "undefined";
      if (isWatchResize && getIEVersion() < 11 || !hasResizeObserver) {
        on$1(window, "resize", onResize);
      }
    });
    vue.onBeforeUnmount(function() {
      var _resizeObserver, _resizeObserver2;
      if (typeof window !== "undefined") {
        off$1(window, "resize", onResize);
      }
      (_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.unobserve(tableRef.value);
      (_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 || _resizeObserver2.disconnect();
    });
    var setData = function setData2(dataSource) {
      data2.value = dataSource;
    };
    var updateTableAfterColumnResize = function updateTableAfterColumnResize2() {
      updateFixedStatus();
      updateFixedHeader();
    };
    return {
      tableWidth,
      tableElmWidth,
      thWidthList,
      isFixedHeader,
      isWidthOverflow,
      tableContentRef,
      isFixedColumn,
      showColumnShadow,
      rowAndColFixedPosition,
      virtualScrollHeaderPos,
      scrollbarWidth,
      setData,
      refreshTable,
      setTableElmWidth,
      emitScrollEvent,
      updateThWidthListHandler,
      updateColumnFixedShadow,
      setUseFixedTableElmRef,
      getThWidthList,
      updateThWidthList,
      addTableResizeObserver,
      updateTableAfterColumnResize
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$l(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$k(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$l(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function usePagination(props2, context) {
    var _toRefs = vue.toRefs(props2), pagination = _toRefs.pagination, data2 = _toRefs.data, disableDataPage = _toRefs.disableDataPage;
    var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix;
    var innerPagination = vue.ref(props2.pagination);
    var dataSource = vue.ref([]);
    var isPaginateData = vue.ref(false);
    var updateDataSourceAndPaginate = function updateDataSourceAndPaginate2() {
      var current = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1;
      var pageSize = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 10;
      var data22 = props2.data;
      var t = Boolean(!disableDataPage.value && data22.length > pageSize);
      isPaginateData.value = t;
      if (t) {
        var start2 = (current - 1) * pageSize;
        var end2 = current * pageSize;
        dataSource.value = data22.slice(start2, end2);
      } else {
        dataSource.value = data22;
      }
    };
    vue.watch(function() {
      var _pagination$value, _pagination$value2;
      return [(_pagination$value = pagination.value) === null || _pagination$value === void 0 ? void 0 : _pagination$value.current, (_pagination$value2 = pagination.value) === null || _pagination$value2 === void 0 ? void 0 : _pagination$value2.pageSize, data2.value.length, disableDataPage];
    }, function() {
      if (!pagination.value || !pagination.value.current)
        return;
      var _pagination$value3 = pagination.value, current = _pagination$value3.current, pageSize = _pagination$value3.pageSize;
      innerPagination.value = {
        current,
        pageSize
      };
      updateDataSourceAndPaginate(pagination.value.current, pagination.value.pageSize);
    }, {
      immediate: true
    });
    vue.watch([data2], function() {
      var _innerPagination$valu, _innerPagination$valu2;
      if (!pagination.value || !pagination.value.defaultCurrent)
        return;
      var isControlled = Boolean(pagination.value.current);
      if (isControlled)
        return;
      updateDataSourceAndPaginate((_innerPagination$valu = innerPagination.value.current) !== null && _innerPagination$valu !== void 0 ? _innerPagination$valu : pagination.value.defaultCurrent, (_innerPagination$valu2 = innerPagination.value.pageSize) !== null && _innerPagination$valu2 !== void 0 ? _innerPagination$valu2 : pagination.value.defaultPageSize);
    }, {
      immediate: true
    });
    var renderPagination = function renderPagination2() {
      if (!props2.pagination)
        return null;
      var paginationProps = _objectSpread$k({}, props2.pagination);
      delete paginationProps.onChange;
      return vue.createVNode("div", {
        "class": "".concat(classPrefix.value, "-table__pagination")
      }, [vue.createVNode(Pagination, vue.mergeProps(paginationProps, {
        "onChange": function onChange(pageInfo) {
          var _props$pagination, _props$pagination$onC, _props$onPageChange;
          (_props$pagination = props2.pagination) === null || _props$pagination === void 0 || (_props$pagination$onC = _props$pagination.onChange) === null || _props$pagination$onC === void 0 || _props$pagination$onC.call(_props$pagination, pageInfo);
          innerPagination.value = pageInfo;
          updateDataSourceAndPaginate(pageInfo.current, pageInfo.pageSize);
          (_props$onPageChange = props2.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props2, pageInfo, dataSource.value);
        }
      }), {
        totalContent: context.slots.totalContent
      })]);
    };
    return {
      isPaginateData,
      dataSource,
      innerPagination,
      renderPagination
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useAffix(props2) {
    var tableContentRef = vue.ref();
    var affixHeaderRef = vue.ref();
    var affixFooterRef = vue.ref();
    var horizontalScrollbarRef = vue.ref();
    var paginationRef = vue.ref();
    var showAffixHeader = vue.ref(true);
    var showAffixFooter = vue.ref(true);
    var showAffixPagination = vue.ref(true);
    var isVirtualScroll = vue.computed(function() {
      return props2.scroll && props2.scroll.type === "virtual" && (props2.scroll.threshold || 100) < props2.data.length;
    });
    var isAffixed = vue.computed(function() {
      return !!(props2.headerAffixedTop || props2.footerAffixedBottom || props2.horizontalScrollAffixedBottom);
    });
    var lastScrollLeft = 0;
    var onHorizontalScroll = function onHorizontalScroll2(scrollElement) {
      if (!isAffixed.value && !isVirtualScroll.value)
        return;
      var target = scrollElement;
      if (!target && tableContentRef.value) {
        lastScrollLeft = 0;
        target = tableContentRef.value;
      }
      if (!target)
        return;
      var left2 = target.scrollLeft;
      if (lastScrollLeft === left2)
        return;
      lastScrollLeft = left2;
      var toUpdateScrollElement = [tableContentRef.value, affixHeaderRef.value, affixFooterRef.value, horizontalScrollbarRef.value];
      for (var i = 0, len2 = toUpdateScrollElement.length; i < len2; i++) {
        if (toUpdateScrollElement[i] && scrollElement !== toUpdateScrollElement[i]) {
          toUpdateScrollElement[i].scrollLeft = left2;
        }
      }
    };
    var isAffixedBottomElementShow = function isAffixedBottomElementShow2(elementRect, tableRect, headerHeight) {
      return tableRect.top + headerHeight < elementRect.top && elementRect.top > elementRect.height;
    };
    var getOffsetTop = function getOffsetTop2(props22) {
      if (isBoolean_1(props22))
        return 0;
      return props22.offsetTop || 0;
    };
    var updateAffixHeaderOrFooter = function updateAffixHeaderOrFooter2() {
      var _tableContentRef$valu, _tableContentRef$valu2, _affixFooterRef$value;
      if (!isAffixed.value && !isVirtualScroll.value)
        return;
      var pos = (_tableContentRef$valu = tableContentRef.value) === null || _tableContentRef$valu === void 0 ? void 0 : _tableContentRef$valu.getBoundingClientRect();
      var headerRect = (_tableContentRef$valu2 = tableContentRef.value) === null || _tableContentRef$valu2 === void 0 || (_tableContentRef$valu2 = _tableContentRef$valu2.querySelector("thead")) === null || _tableContentRef$valu2 === void 0 ? void 0 : _tableContentRef$valu2.getBoundingClientRect();
      var headerHeight = (headerRect === null || headerRect === void 0 ? void 0 : headerRect.height) || 0;
      var footerRect = (_affixFooterRef$value = affixFooterRef.value) === null || _affixFooterRef$value === void 0 ? void 0 : _affixFooterRef$value.getBoundingClientRect();
      if ((props2.headerAffixedTop || isVirtualScroll.value) && affixHeaderRef.value) {
        var offsetTop = getOffsetTop(props2.headerAffixProps || props2.headerAffixedTop);
        var footerHeight = (footerRect === null || footerRect === void 0 ? void 0 : footerRect.height) || 0;
        var r = Math.abs(pos.top) < pos.height - headerHeight - offsetTop - footerHeight;
        if (isVirtualScroll.value) {
          r = pos.top > -1 * headerRect.height;
        }
        showAffixHeader.value = r;
      }
      if (props2.footerAffixedBottom && affixFooterRef !== null && affixFooterRef !== void 0 && affixFooterRef.value) {
        showAffixFooter.value = isAffixedBottomElementShow(footerRect, pos, headerHeight);
      } else if (props2.horizontalScrollAffixedBottom && horizontalScrollbarRef !== null && horizontalScrollbarRef !== void 0 && horizontalScrollbarRef.value) {
        var horizontalScrollbarRect = horizontalScrollbarRef.value.getBoundingClientRect();
        showAffixFooter.value = isAffixedBottomElementShow(horizontalScrollbarRect, pos, headerHeight);
      }
      if (props2.paginationAffixedBottom && paginationRef.value) {
        var pageRect = paginationRef.value.getBoundingClientRect();
        showAffixPagination.value = isAffixedBottomElementShow(pageRect, pos, headerHeight);
      }
    };
    var onDocumentScroll = function onDocumentScroll2() {
      updateAffixHeaderOrFooter();
    };
    var onFootScroll = function onFootScroll2() {
      onHorizontalScroll(affixFooterRef.value);
    };
    var onHeaderScroll = function onHeaderScroll2() {
      onHorizontalScroll(affixHeaderRef.value);
    };
    var horizontalScrollbarScroll = function horizontalScrollbarScroll2() {
      onHorizontalScroll(horizontalScrollbarRef.value);
    };
    var onTableContentScroll = function onTableContentScroll2() {
      onHorizontalScroll(tableContentRef.value);
    };
    var onFootMouseEnter = function onFootMouseEnter2() {
      on$1(affixFooterRef.value, "scroll", onFootScroll);
    };
    var onFootMouseLeave = function onFootMouseLeave2() {
      off$1(affixFooterRef.value, "scroll", onFootScroll);
    };
    var onHeaderMouseEnter = function onHeaderMouseEnter2() {
      on$1(affixHeaderRef.value, "scroll", onHeaderScroll);
    };
    var onHeaderMouseLeave = function onHeaderMouseLeave2() {
      off$1(affixHeaderRef.value, "scroll", onHeaderScroll);
    };
    var onScrollbarMouseEnter = function onScrollbarMouseEnter2() {
      on$1(horizontalScrollbarRef.value, "scroll", horizontalScrollbarScroll);
    };
    var onScrollbarMouseLeave = function onScrollbarMouseLeave2() {
      off$1(horizontalScrollbarRef.value, "scroll", horizontalScrollbarScroll);
    };
    var onTableContentMouseEnter = function onTableContentMouseEnter2() {
      on$1(tableContentRef.value, "scroll", onTableContentScroll);
    };
    var onTableContentMouseLeave = function onTableContentMouseLeave2() {
      off$1(tableContentRef.value, "scroll", onTableContentScroll);
    };
    var addHorizontalScrollListeners = function addHorizontalScrollListeners2() {
      if (affixHeaderRef.value) {
        on$1(affixHeaderRef.value, "mouseenter", onHeaderMouseEnter);
        on$1(affixHeaderRef.value, "mouseleave", onHeaderMouseLeave);
      }
      if (props2.footerAffixedBottom && affixFooterRef.value) {
        on$1(affixFooterRef.value, "mouseenter", onFootMouseEnter);
        on$1(affixFooterRef.value, "mouseleave", onFootMouseLeave);
      }
      if (props2.horizontalScrollAffixedBottom && horizontalScrollbarRef.value) {
        on$1(horizontalScrollbarRef.value, "mouseenter", onScrollbarMouseEnter);
        on$1(horizontalScrollbarRef.value, "mouseleave", onScrollbarMouseLeave);
      }
      if ((isAffixed.value || isVirtualScroll.value) && tableContentRef.value) {
        on$1(tableContentRef.value, "mouseenter", onTableContentMouseEnter);
        on$1(tableContentRef.value, "mouseleave", onTableContentMouseLeave);
      }
    };
    var removeHorizontalScrollListeners = function removeHorizontalScrollListeners2() {
      if (affixHeaderRef.value) {
        off$1(affixHeaderRef.value, "mouseenter", onHeaderMouseEnter);
        off$1(affixHeaderRef.value, "mouseleave", onHeaderMouseLeave);
      }
      if (affixFooterRef.value) {
        off$1(affixFooterRef.value, "mouseenter", onFootMouseEnter);
        off$1(affixFooterRef.value, "mouseleave", onFootMouseLeave);
      }
      if (tableContentRef.value) {
        off$1(tableContentRef.value, "mouseenter", onTableContentMouseEnter);
        off$1(tableContentRef.value, "mouseleave", onTableContentMouseLeave);
      }
      if (horizontalScrollbarRef.value) {
        off$1(horizontalScrollbarRef.value, "mouseenter", onScrollbarMouseEnter);
        off$1(horizontalScrollbarRef.value, "mouseleave", onScrollbarMouseLeave);
      }
    };
    var addVerticalScrollListener = function addVerticalScrollListener2() {
      if (!isAffixed.value && !props2.paginationAffixedBottom)
        return;
      var timer = setTimeout(function() {
        if (isAffixed.value || props2.paginationAffixedBottom) {
          on$1(document, "scroll", onDocumentScroll);
        } else {
          off$1(document, "scroll", onDocumentScroll);
        }
        clearTimeout(timer);
      });
    };
    vue.watch([affixHeaderRef, affixFooterRef, horizontalScrollbarRef, tableContentRef], function() {
      addHorizontalScrollListeners();
      onHorizontalScroll();
      updateAffixHeaderOrFooter();
    });
    vue.watch(isAffixed, addVerticalScrollListener);
    vue.watch(function() {
      return [props2.data, props2.columns, props2.headerAffixedTop, props2.footerAffixedBottom, props2.horizontalScrollAffixedBottom];
    }, function() {
      onHorizontalScroll();
    });
    vue.onBeforeUnmount(function() {
      off$1(document, "scroll", onDocumentScroll);
      removeHorizontalScrollListeners();
    });
    var setTableContentRef = function setTableContentRef2(tableContent) {
      tableContentRef.value = tableContent;
      addVerticalScrollListener();
    };
    return {
      showAffixHeader,
      showAffixFooter,
      showAffixPagination,
      affixHeaderRef,
      affixFooterRef,
      horizontalScrollbarRef,
      paginationRef,
      onHorizontalScroll,
      setTableContentRef,
      updateAffixHeaderOrFooter
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function formatRowAttributes(attributes, params) {
    if (!attributes)
      return void 0;
    var attrList = attributes instanceof Array ? attributes : [attributes];
    var result = {};
    for (var i = 0; i < attrList.length; i++) {
      var attrItem = attrList[i];
      if (!attrItem)
        continue;
      var attrProperty = isFunction_1(attrItem) ? attrItem(params) : attrItem;
      result = attrProperty instanceof Array ? formatRowAttributes(attrProperty, params) : Object.assign(result, attrProperty);
    }
    return result;
  }
  function formatRowClassNames(rowClassNames, params, rowKey) {
    var rowClassList = rowClassNames instanceof Array ? rowClassNames : [rowClassNames];
    var row = params.row, rowIndex = params.rowIndex;
    var customClasses = [];
    for (var i = 0, len2 = rowClassList.length; i < len2; i++) {
      var rName = rowClassList[i];
      var tClass = isFunction_1(rName) ? rName(params) : rName;
      if (isObject_1(tClass) && !(tClass instanceof Array)) {
        tClass[rowIndex] && (tClass = tClass[rowIndex]);
        var rowId = get_1(row, rowKey || "id");
        tClass[rowId] && (tClass = tClass[rowId]);
      } else if (tClass instanceof Array) {
        tClass = formatRowClassNames(tClass, params, rowKey);
      }
      customClasses = customClasses.concat(tClass);
    }
    return customClasses;
  }
  function formatClassNames(classNames, params) {
    var classes = classNames instanceof Array ? classNames : [classNames];
    var arr = [];
    for (var i = 0, len2 = classes.length; i < len2; i++) {
      var cls = classes[i];
      if (isFunction_1(cls)) {
        arr.push(cls(params));
      } else {
        arr.push(cls);
      }
    }
    return arr;
  }
  function getCurrentRowByKey(columns, key2) {
    if (!columns || !key2)
      return;
    var col = columns === null || columns === void 0 ? void 0 : columns.find(function(t) {
      return t.colKey === key2;
    });
    if (col)
      return col;
    for (var i = 0, len2 = columns.length; i < len2; i++) {
      var _columns$i;
      if ((_columns$i = columns[i]) !== null && _columns$i !== void 0 && (_columns$i = _columns$i.children) !== null && _columns$i !== void 0 && _columns$i.length) {
        var _columns$i2;
        return getCurrentRowByKey((_columns$i2 = columns[i]) === null || _columns$i2 === void 0 ? void 0 : _columns$i2.children, key2);
      }
    }
  }
  function getAffixProps(mainAffixProps, subAffixProps) {
    if (_typeof$2(mainAffixProps) === "object")
      return mainAffixProps;
    if (_typeof$2(subAffixProps) === "object")
      return subAffixProps;
    return {};
  }
  function getEditableKeysMap(keys2, list, rowKey) {
    var map = {};
    for (var i = 0, len2 = list.length; i < len2; i++) {
      var rowValue = get_1(list[i], rowKey);
      if (keys2.includes(rowValue)) {
        map[rowValue] = true;
      }
    }
    return map;
  }
  function getColumnDataByKey(columns, colKey) {
    for (var i = 0, len2 = columns.length; i < len2; i++) {
      var _columns$i$children;
      if (columns[i].colKey === colKey)
        return columns[i];
      if ((_columns$i$children = columns[i].children) !== null && _columns$i$children !== void 0 && _columns$i$children.length) {
        var t = getColumnDataByKey(columns[i].children, colKey);
        if (t)
          return t;
      }
    }
    return null;
  }
  function getColumnIndexByKey(columns, colKey) {
    for (var i = 0, len2 = columns.length; i < len2; i++) {
      var _columns$i$children2;
      if (columns[i].colKey === colKey) {
        return i;
      }
      if ((_columns$i$children2 = columns[i].children) !== null && _columns$i$children2 !== void 0 && _columns$i$children2.length) {
        var t = getColumnDataByKey(columns[i].children, colKey);
        if (t)
          return i;
      }
    }
    return -1;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useLazyLoad(containerRef, childRef, params) {
    var tRowHeight = vue.computed(function() {
      return Math.max(params.rowHeight || 48, 48);
    });
    var isInit = vue.ref(false);
    var hasLazyLoadHolder = vue.computed(function() {
      return (params === null || params === void 0 ? void 0 : params.type) === "lazy" && !isInit.value;
    });
    var requestAnimationFrame2 = !isServer && window.requestAnimationFrame || function(cb) {
      return setTimeout(cb, 16.6);
    };
    var init = function init2() {
      if (!isInit.value) {
        requestAnimationFrame2(function() {
          isInit.value = true;
        });
      }
    };
    vue.onMounted(function() {
      if ((params === null || params === void 0 ? void 0 : params.type) !== "lazy")
        return;
      vue.nextTick(function() {
        var bufferSize = Math.max(10, params.bufferSize || 10);
        var height = tRowHeight.value * bufferSize;
        observe(childRef.value, containerRef.value, init, height);
      });
    });
    return {
      hasLazyLoadHolder,
      tRowHeight
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function getCellKey(row, rowKey, colKey, colIndex) {
    var rowValue = get_1(row, rowKey);
    if (rowValue === void 0) {
      log.error("Table", "rowKey is wrong, can not get unique identifier of row.");
    }
    return [rowValue, colKey || colIndex].join("_");
  }
  function useRowspanAndColspan(data2, columns, rowKey, rowspanAndColspan) {
    var skipSpansMap = vue.ref(/* @__PURE__ */ new Map());
    var onTrRowspanOrColspan = function onTrRowspanOrColspan2(params, skipSpansValue) {
      var rowIndex = params.rowIndex, colIndex = params.colIndex;
      if (!skipSpansValue.rowspan && !skipSpansValue.colspan)
        return;
      var maxRowIndex = rowIndex + (skipSpansValue.rowspan || 1);
      var maxColIndex = colIndex + (skipSpansValue.colspan || 1);
      for (var i = rowIndex; i < maxRowIndex; i++) {
        for (var j = colIndex; j < maxColIndex; j++) {
          if (i !== rowIndex || j !== colIndex) {
            if (!data2.value[i] || !columns.value[j])
              return;
            var cellKey = getCellKey(data2.value[i], rowKey.value, columns.value[j].colKey, j);
            var state = skipSpansMap.value.get(cellKey) || {};
            state.skipped = true;
            skipSpansMap.value.set(cellKey, state);
          }
        }
      }
    };
    var updateSkipSpansMap = function updateSkipSpansMap2(data22, columns2, rowspanAndColspan2) {
      var _skipSpansMap$value;
      (_skipSpansMap$value = skipSpansMap.value) === null || _skipSpansMap$value === void 0 || _skipSpansMap$value.clear();
      if (!data22 || !rowspanAndColspan2)
        return;
      for (var i = 0, len2 = data22.length; i < len2; i++) {
        var row = data22[i];
        for (var j = 0, colLen = columns2.length; j < colLen; j++) {
          var col = columns2[j];
          var params = {
            row,
            col,
            rowIndex: i,
            colIndex: j
          };
          var cellKey = getCellKey(row, rowKey.value, col.colKey, j);
          var state = skipSpansMap.value.get(cellKey) || {};
          var o = rowspanAndColspan2(params) || {};
          if (o.rowspan || o.colspan || state.rowspan || state.colspan) {
            o.rowspan && (state.rowspan = o.rowspan);
            o.colspan && (state.colspan = o.colspan);
            skipSpansMap.value.set(cellKey, state);
          }
          onTrRowspanOrColspan === null || onTrRowspanOrColspan === void 0 || onTrRowspanOrColspan(params, state);
        }
      }
    };
    vue.watch(function() {
      return [data2.value, columns.value, rowspanAndColspan];
    }, function() {
      updateSkipSpansMap(data2.value, columns.value, rowspanAndColspan === null || rowspanAndColspan === void 0 ? void 0 : rowspanAndColspan.value);
    }, {
      immediate: true
    });
    return {
      skipSpansMap
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$k(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$j(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$k(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$4(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var TABLE_PROPS = ["rowKey", "rowClassName", "columns", "fixedRows", "footData", "rowAttributes", "rowspanAndColspan", "scroll", "cellEmptyContent", "pagination", "attach", "onCellClick", "onRowClick", "onRowDblclick", "onRowMouseover", "onRowMousedown", "onRowMouseenter", "onRowMouseleave", "onRowMouseup"];
  var ROW_LISTENERS = ["click", "dblclick", "mouseover", "mousedown", "mouseenter", "mouseleave", "mouseup"];
  function renderCell(params, slots, extra) {
    var col = params.col, row = params.row, rowIndex = params.rowIndex;
    if (col.colKey === "serial-number") {
      var _ref = (extra === null || extra === void 0 ? void 0 : extra.pagination) || {}, current = _ref.current, pageSize = _ref.pageSize, defaultCurrent = _ref.defaultCurrent, defaultPageSize = _ref.defaultPageSize;
      var tCurrent = current || defaultCurrent;
      var tPageSize = pageSize || defaultPageSize;
      if (tPageSize && tCurrent) {
        return tPageSize * (tCurrent - 1) + rowIndex + 1;
      }
      return rowIndex + 1;
    }
    if (isFunction_1(col.cell)) {
      return col.cell(vue.h, params);
    }
    if (slots[col.colKey]) {
      return slots[col.colKey](params);
    }
    if (isString_1(col.cell) && slots[col.cell]) {
      return slots[col.cell](params);
    }
    if (isFunction_1(col.render)) {
      return col.render(vue.h, _objectSpread$j(_objectSpread$j({}, params), {}, {
        type: "cell"
      }));
    }
    var r = get_1(row, col.colKey);
    if (![void 0, "", null].includes(r))
      return r;
    if (extra !== null && extra !== void 0 && extra.cellEmptyContent) {
      return isFunction_1(extra.cellEmptyContent) ? extra.cellEmptyContent(vue.h, params) : extra.cellEmptyContent;
    }
    if (slots.cellEmptyContent)
      return slots.cellEmptyContent(params);
    if (slots["cell-empty-content"])
      return slots["cell-empty-content"](params);
    return r;
  }
  var TrElement = vue.defineComponent({
    name: "TR",
    props: _objectSpread$j(_objectSpread$j({
      row: Object,
      rowIndex: Number,
      dataLength: Number,
      ellipsisOverlayClassName: String,
      classPrefix: String,
      rowAndColFixedPosition: Map,
      skipSpansMap: Map,
      virtualConfig: Object,
      active: Boolean,
      isHover: Boolean
    }, pick_1(baseTableProps, TABLE_PROPS)), {}, {
      tableElm: {},
      tableContentElm: {}
    }),
    emits: ["row-mounted"],
    setup: function setup37(props2, context) {
      var _toRefs = vue.toRefs(props2), tableContentElm = _toRefs.tableContentElm, active = _toRefs.active, isHover = _toRefs.isHover;
      var trRef = vue.ref(null);
      var _useClassName = useClassName(), tdEllipsisClass = _useClassName.tdEllipsisClass, tableBaseClass = _useClassName.tableBaseClass, tableColFixedClasses = _useClassName.tableColFixedClasses, tableRowFixedClasses = _useClassName.tableRowFixedClasses, tdAlignClasses = _useClassName.tdAlignClasses, tableDraggableClasses = _useClassName.tableDraggableClasses;
      var trStyles = vue.computed(function() {
        return getRowFixedStyles(get_1(props2.row, props2.rowKey || "id"), props2.rowIndex, props2.dataLength, props2.fixedRows, props2.rowAndColFixedPosition, tableRowFixedClasses);
      });
      var trAttributes = vue.computed(function() {
        return formatRowAttributes(props2.rowAttributes, {
          row: props2.row,
          rowIndex: props2.rowIndex,
          type: "body"
        }) || {};
      });
      var classes = vue.computed(function() {
        var _trStyles$value, _ref2;
        var customClasses = formatRowClassNames(props2.rowClassName, {
          row: props2.row,
          rowIndex: props2.rowIndex,
          type: "body"
        }, props2.rowKey || "id");
        return [(_trStyles$value = trStyles.value) === null || _trStyles$value === void 0 ? void 0 : _trStyles$value.classes, customClasses, (_ref2 = {}, _defineProperty$2(_ref2, "".concat(props2.classPrefix, "-table__row--active"), active.value), _defineProperty$2(_ref2, "".concat(props2.classPrefix, "-table__row--hover"), isHover.value), _ref2)].filter(function(v) {
          return v;
        });
      });
      var _useLazyLoad = useLazyLoad(tableContentElm, trRef, vue.reactive(_objectSpread$j(_objectSpread$j({}, props2.scroll), {}, {
        rowIndex: props2.rowIndex
      }))), hasLazyLoadHolder = _useLazyLoad.hasLazyLoadHolder, tRowHeight = _useLazyLoad.tRowHeight;
      var getTrListeners = function getTrListeners2(row, rowIndex) {
        var trListeners = {};
        ROW_LISTENERS.forEach(function(eventName) {
          trListeners["on".concat(upperFirst_1(eventName))] = function(e) {
            var _props;
            var p = {
              e,
              row,
              index: rowIndex
            };
            (_props = props2["onRow".concat(upperFirst_1(eventName))]) === null || _props === void 0 || _props.call(props2, p);
          };
        });
        return trListeners;
      };
      vue.watch([trRef], function() {
        var _props$virtualConfig;
        if ((_props$virtualConfig = props2.virtualConfig) !== null && _props$virtualConfig !== void 0 && _props$virtualConfig.isVirtualScroll.value) {
          context.emit("row-mounted", {
            ref: trRef,
            data: props2.row
          });
        }
      });
      function renderEllipsisCell(cellParams, params) {
        var cellNode = params.cellNode;
        var col = cellParams.col, colIndex = cellParams.colIndex;
        var content;
        if (isFunction_1(col.ellipsis)) {
          content = col.ellipsis(vue.h, cellParams);
        } else if (_typeof$2(col.ellipsis) === "object" && isFunction_1(col.ellipsis.content)) {
          content = col.ellipsis.content(vue.h, cellParams);
        } else if (context.slots["ellipsis-".concat(col.colKey)]) {
          content = context.slots["ellipsis-".concat(col.colKey)](cellParams);
        } else if (context.slots.ellipsis) {
          content = context.slots.ellipsis(cellParams);
        }
        var tooltipProps = {};
        if (_typeof$2(col.ellipsis) === "object") {
          tooltipProps = "props" in col.ellipsis ? col.ellipsis.props : col.ellipsis || void 0;
        }
        var tableElement = props2.tableElm;
        var placement = colIndex === 0 ? "top-left" : "top";
        placement = colIndex === props2.columns.length - 1 ? "top-right" : placement;
        return vue.createVNode(TEllipsis, {
          "placement": placement,
          "attach": tableElement ? function() {
            return tableElement;
          } : void 0,
          "tooltipContent": content && function() {
            return content;
          },
          "tooltipProps": tooltipProps,
          "overlayClassName": props2.ellipsisOverlayClassName,
          "classPrefix": props2.classPrefix
        }, _isSlot$4(cellNode) ? cellNode : {
          "default": function _default16() {
            return [cellNode];
          }
        });
      }
      function renderTd(params, extra) {
        var _ref3;
        var col = params.col, colIndex = params.colIndex, rowIndex = params.rowIndex;
        var cellSpans = extra.cellSpans, dataLength = extra.dataLength, rowAndColFixedPosition = extra.rowAndColFixedPosition;
        var cellNode = renderCell(params, context.slots, {
          cellEmptyContent: extra.cellEmptyContent,
          pagination: props2.pagination
        });
        var tdStyles = getColumnFixedStyles(col, colIndex, rowAndColFixedPosition, tableColFixedClasses);
        var customClasses = formatClassNames(col.className, _objectSpread$j(_objectSpread$j({}, params), {}, {
          type: "td"
        }));
        var classes2 = [tdStyles.classes, customClasses, (_ref3 = {}, _defineProperty$2(_ref3, tdEllipsisClass, col.ellipsis), _defineProperty$2(_ref3, tableBaseClass.tdLastRow, rowIndex + cellSpans.rowspan === dataLength), _defineProperty$2(_ref3, tableBaseClass.tdFirstCol, colIndex === 0 && props2.rowspanAndColspan), _defineProperty$2(_ref3, tdAlignClasses[col.align], col.align && col.align !== "left"), _defineProperty$2(_ref3, tableDraggableClasses.handle, col.colKey === "drag"), _ref3)];
        var onClick = function onClick2(e) {
          var _props$onCellClick;
          var p = _objectSpread$j(_objectSpread$j({}, params), {}, {
            e
          });
          if (col.stopPropagation) {
            e.stopPropagation();
          }
          (_props$onCellClick = props2.onCellClick) === null || _props$onCellClick === void 0 || _props$onCellClick.call(props2, p);
        };
        var normalAttrs = isFunction_1(col.attrs) ? col.attrs(_objectSpread$j(_objectSpread$j({}, params), {}, {
          type: "td"
        })) : col.attrs;
        var attrs = _objectSpread$j(_objectSpread$j({}, normalAttrs), cellSpans);
        return vue.createVNode("td", vue.mergeProps({
          "key": col.colKey || colIndex,
          "class": classes2,
          "style": tdStyles.style
        }, attrs, {
          "onClick": onClick
        }), [col.ellipsis ? renderEllipsisCell(params, {
          cellNode
        }) : cellNode]);
      }
      return function() {
        var _trStyles$value2;
        var columns = props2.columns, skipSpansMap = props2.skipSpansMap, row = props2.row, dataLength = props2.dataLength, rowAndColFixedPosition = props2.rowAndColFixedPosition;
        var columVNodeList = columns === null || columns === void 0 ? void 0 : columns.map(function(col, colIndex) {
          var cellSpans = {};
          var params = {
            row,
            col,
            rowIndex: props2.rowIndex,
            colIndex
          };
          var spanState = null;
          if (props2.skipSpansMap.size) {
            var _spanState, _spanState2;
            var cellKey = getCellKey(row, props2.rowKey, col.colKey, colIndex);
            spanState = skipSpansMap.get(cellKey) || {};
            ((_spanState = spanState) === null || _spanState === void 0 ? void 0 : _spanState.rowspan) > 1 && (cellSpans.rowspan = spanState.rowspan);
            ((_spanState2 = spanState) === null || _spanState2 === void 0 ? void 0 : _spanState2.colspan) > 1 && (cellSpans.colspan = spanState.colspan);
            if (spanState.skipped)
              return null;
          }
          return renderTd(params, {
            dataLength,
            rowAndColFixedPosition,
            columnLength: columns.length,
            cellSpans,
            cellEmptyContent: props2.cellEmptyContent
          });
        });
        return vue.createVNode("tr", vue.mergeProps({
          "ref": trRef
        }, trAttributes.value, {
          "style": (_trStyles$value2 = trStyles.value) === null || _trStyles$value2 === void 0 ? void 0 : _trStyles$value2.style,
          "class": classes.value
        }, getTrListeners(row, props2.rowIndex)), [hasLazyLoadHolder.value ? [vue.createVNode("td", {
          "style": {
            height: "".concat(tRowHeight.value, "px"),
            border: "none"
          }
        }, null)] : columVNodeList]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$j(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$i(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$j(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var extendTableProps = ["bordered", "rowKey", "rowClassName", "rowAttributes", "loading", "empty", "fixedRows", "firstFullRow", "lastFullRow", "rowspanAndColspan", "scroll", "cellEmptyContent", "pagination", "attach", "onCellClick", "onPageChange", "onRowClick", "onRowDblclick", "onRowMouseover", "onRowMousedown", "onRowMouseenter", "onRowMouseleave", "onRowMouseup", "onScroll", "onScrollX", "onScrollY"];
  var TBody = vue.defineComponent({
    name: "TBody",
    props: _objectSpread$i({
      classPrefix: String,
      data: Array,
      columns: Array,
      ellipsisOverlayClassName: String,
      rowAndColFixedPosition: Map,
      showColumnShadow: Object,
      tableElm: {},
      tableWidth: Number,
      isWidthOverflow: Boolean,
      virtualConfig: Object,
      tableContentElm: {},
      handleRowMounted: Function,
      renderExpandedRow: Function,
      firstFullRow: [String, Function],
      lastFullRow: [String, Function],
      activeRow: [Array],
      hoverRow: [String, Number]
    }, pick_1(baseTableProps, extendTableProps)),
    setup: function setup38(props2) {
      var renderTNode = useTNodeJSX();
      var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, columns = _toRefs.columns, rowKey = _toRefs.rowKey, rowspanAndColspan = _toRefs.rowspanAndColspan;
      var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
      var _useClassName = useClassName(), tableFullRowClasses = _useClassName.tableFullRowClasses, tableBaseClass = _useClassName.tableBaseClass;
      var _useRowspanAndColspan = useRowspanAndColspan(data2, columns, rowKey, rowspanAndColspan), skipSpansMap = _useRowspanAndColspan.skipSpansMap;
      var tbodyClasses = vue.computed(function() {
        return [tableBaseClass.body];
      });
      return {
        t,
        globalConfig,
        renderTNode,
        tableFullRowClasses,
        tbodyClasses,
        tableBaseClass,
        skipSpansMap
      };
    },
    render: function render10() {
      var _this = this, _this$data, _this$data2, _this$virtualConfig, _this$virtualConfig2;
      var renderEmpty = function renderEmpty2(columns) {
        var tableWidth = _this.bordered ? _this.tableWidth - 2 : _this.tableWidth;
        return vue.createVNode("tr", {
          "class": [_this.tableBaseClass.emptyRow, _defineProperty$2({}, _this.tableFullRowClasses.base, _this.isWidthOverflow)]
        }, [vue.createVNode("td", {
          "colspan": columns.length
        }, [vue.createVNode("div", {
          "class": [_this.tableBaseClass.empty, _defineProperty$2({}, _this.tableFullRowClasses.innerFullRow, _this.isWidthOverflow)],
          "style": _this.isWidthOverflow ? {
            width: "".concat(tableWidth, "px")
          } : {}
        }, [_this.renderTNode("empty") || _this.t(_this.globalConfig.empty)])])]);
      };
      var getFullRow = function getFullRow2(columnLength2, type) {
        var tType = camelCase_1(type);
        var fullRowNode = _this.renderTNode(tType);
        if (["", null, void 0, false].includes(fullRowNode))
          return null;
        var isFixedToLeft = _this.isWidthOverflow && _this.columns.find(function(col) {
          return col.fixed === "left";
        });
        var classes = [_this.tableFullRowClasses.base, _this.tableFullRowClasses[tType]];
        var tableWidth = _this.bordered ? _this.tableWidth - 2 : _this.tableWidth;
        return vue.createVNode("tr", {
          "class": classes,
          "key": "key-full-row-".concat(type)
        }, [vue.createVNode("td", {
          "colspan": columnLength2
        }, [vue.createVNode("div", {
          "class": _defineProperty$2({}, _this.tableFullRowClasses.innerFullRow, isFixedToLeft),
          "style": isFixedToLeft ? {
            width: "".concat(tableWidth, "px")
          } : {}
        }, [vue.createVNode("div", {
          "class": _this.tableFullRowClasses.innerFullElement
        }, [fullRowNode])])])]);
      };
      var columnLength = this.columns.length;
      var dataLength = this.data.length;
      var trNodeList = [];
      var properties = ["classPrefix", "ellipsisOverlayClassName", "rowAndColFixedPosition", "scroll", "tableElm", "tableContentElm", "pagination", "attach"];
      (_this$data = this.data) === null || _this$data === void 0 || _this$data.forEach(function(row, rowIndex) {
        var _this$activeRow;
        var rowKey = _this.rowKey || "id";
        var rowValue = get_1(row, rowKey);
        var trProps = _objectSpread$i(_objectSpread$i({}, pick_1(_this.$props, TABLE_PROPS)), {}, {
          rowKey,
          row,
          columns: _this.columns,
          rowIndex: row.__VIRTUAL_SCROLL_INDEX || rowIndex,
          dataLength,
          skipSpansMap: _this.skipSpansMap,
          virtualConfig: _this.virtualConfig,
          active: (_this$activeRow = _this.activeRow) === null || _this$activeRow === void 0 ? void 0 : _this$activeRow.includes(rowValue),
          isHover: _this.hoverRow === rowValue
        }, pick_1(_this.$props, properties));
        if (_this.onCellClick) {
          trProps.onCellClick = _this.onCellClick;
        }
        var trNode = vue.createVNode(TrElement, vue.mergeProps({
          "key": get_1(row, _this.rowKey || "id") || rowIndex
        }, trProps, {
          "onRowMounted": _this.handleRowMounted
        }), _this.$slots);
        trNodeList.push(trNode);
        if (_this.renderExpandedRow) {
          var p = {
            row,
            index: rowIndex,
            columns: _this.columns,
            tableWidth: _this.tableWidth,
            isWidthOverflow: _this.isWidthOverflow
          };
          var expandedContent = _this.renderExpandedRow(p);
          expandedContent && trNodeList.push(expandedContent);
        }
      });
      var list = [getFullRow(columnLength, "first-full-row")].concat(trNodeList, [getFullRow(columnLength, "last-full-row")]);
      var isEmpty2 = !((_this$data2 = this.data) !== null && _this$data2 !== void 0 && _this$data2.length) && !this.loading && !this.firstFullRow && !this.lastFullRow;
      var translate = "translateY(".concat((_this$virtualConfig = this.virtualConfig) === null || _this$virtualConfig === void 0 ? void 0 : _this$virtualConfig.translateY.value, "px)");
      var posStyle = (_this$virtualConfig2 = this.virtualConfig) !== null && _this$virtualConfig2 !== void 0 && _this$virtualConfig2.isVirtualScroll.value ? {
        transform: translate,
        "-ms-transform": translate,
        "-moz-transform": translate,
        "-webkit-transform": translate
      } : void 0;
      return vue.createVNode("tbody", {
        "class": this.tbodyClasses,
        "style": _objectSpread$i({}, posStyle)
      }, [isEmpty2 ? renderEmpty(this.columns) : list]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function formatCSSUnit(unit) {
    if (!unit)
      return unit;
    return isNaN(Number(unit)) ? unit : "".concat(unit, "px");
  }
  function useStyle(props2) {
    var _toRefs = vue.toRefs(props2), size = _toRefs.size, bordered = _toRefs.bordered, stripe = _toRefs.stripe, hover = _toRefs.hover, verticalAlign = _toRefs.verticalAlign, height = _toRefs.height, maxHeight = _toRefs.maxHeight, tableContentWidth = _toRefs.tableContentWidth;
    var _useClassName = useClassName(), tableBaseClass = _useClassName.tableBaseClass, tableAlignClasses = _useClassName.tableAlignClasses;
    var _useCommonClassName = useCommonClassName(), sizeClassNames = _useCommonClassName.sizeClassNames;
    var tableClasses = vue.computed(function() {
      var _ref;
      return [tableBaseClass.table, (_ref = {}, _defineProperty$2(_ref, sizeClassNames[size.value], size.value !== "medium"), _defineProperty$2(_ref, tableBaseClass.bordered, bordered.value), _defineProperty$2(_ref, tableBaseClass.striped, stripe.value), _defineProperty$2(_ref, tableBaseClass.hover, hover.value), _defineProperty$2(_ref, tableBaseClass.loading, props2.loading), _defineProperty$2(_ref, tableBaseClass.affixedHeader, props2.headerAffixedTop), _defineProperty$2(_ref, tableBaseClass.rowspanAndColspan, props2.rowspanAndColspan), _defineProperty$2(_ref, tableAlignClasses[verticalAlign.value], verticalAlign.value !== "middle"), _ref)];
    });
    var tableContentStyles = vue.computed(function() {
      return {
        height: formatCSSUnit(height.value),
        maxHeight: formatCSSUnit(maxHeight.value)
      };
    });
    var tableElementStyles = vue.computed(function() {
      return {
        width: formatCSSUnit(tableContentWidth.value)
      };
    });
    return {
      tableClasses,
      sizeClassNames,
      tableElementStyles,
      tableContentStyles
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$i(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$h(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$i(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$3(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var THead = vue.defineComponent({
    name: "THead",
    props: {
      classPrefix: String,
      ellipsisOverlayClassName: String,
      isFixedHeader: Boolean,
      thDraggable: Boolean,
      maxHeight: [String, Number],
      height: [String, Number],
      rowAndColFixedPosition: Map,
      thWidthList: Object,
      bordered: Boolean,
      isMultipleHeader: Boolean,
      resizable: Boolean,
      attach: [String, Function],
      spansAndLeafNodes: Object,
      thList: Array,
      columnResizeParams: Object,
      showColumnShadow: Object
    },
    setup: function setup39(props2, _ref) {
      var slots = _ref.slots;
      var theadRef = vue.ref();
      var classnames = useClassName();
      var tableHeaderClasses = classnames.tableHeaderClasses, tableBaseClass = classnames.tableBaseClass;
      var theadClasses = vue.computed(function() {
        var _ref2;
        return [tableHeaderClasses.header, (_ref2 = {}, _defineProperty$2(_ref2, tableHeaderClasses.fixed, Boolean(props2.maxHeight || props2.height)), _defineProperty$2(_ref2, tableBaseClass.bordered, props2.bordered && props2.isMultipleHeader), _defineProperty$2(_ref2, tableHeaderClasses.multipleHeader, props2.isMultipleHeader), _ref2)];
      });
      var colspanSkipMap = vue.computed(function() {
        var map = {};
        var list = props2.thList[0];
        for (var i = 0, len2 = list.length; i < len2; i++) {
          var item = list[i];
          if (item.colspan > 1) {
            for (var j = i + 1; j < i + item.colspan; j++) {
              if (list[j]) {
                map[list[j].colKey] = true;
              }
            }
          }
        }
        return map;
      });
      var getTableNode = function getTableNode2(thead) {
        var parent2 = thead;
        while (parent2) {
          var _parent2;
          parent2 = parent2.parentNode;
          if ((_parent2 = parent2) !== null && _parent2 !== void 0 && (_parent2 = _parent2.classList) !== null && _parent2 !== void 0 && _parent2.contains("".concat(props2.classPrefix, "-table"))) {
            break;
          }
        }
        return parent2;
      };
      return _objectSpread$h(_objectSpread$h({}, classnames), {}, {
        colspanSkipMap,
        theadClasses,
        theadRef,
        slots,
        getTableNode
      });
    },
    render: function render11() {
      var _this = this;
      var renderThNodeList = function renderThNodeList2(rowAndColFixedPosition, thWidthList) {
        var thBorderMap = /* @__PURE__ */ new Map();
        var thRowspanAndColspan = _this.spansAndLeafNodes.rowspanAndColspanMap;
        return _this.thList.map(function(row, rowIndex) {
          var thRow = row.map(function(col, index2) {
            var _ref3, _col$children;
            if (_this.colspanSkipMap[col.colKey])
              return null;
            var rowspanAndColspan = thRowspanAndColspan.get(col);
            if (index2 === 0 && rowspanAndColspan.rowspan > 1) {
              for (var j = rowIndex + 1; j < rowIndex + rowspanAndColspan.rowspan; j++) {
                thBorderMap.set(_this.thList[j][0], true);
              }
            }
            var thStyles = getColumnFixedStyles(col, index2, rowAndColFixedPosition, _this.tableColFixedClasses);
            var colParams = {
              col,
              colIndex: index2,
              row: {},
              rowIndex: -1
            };
            var customClasses = formatClassNames(col.className, _objectSpread$h(_objectSpread$h({}, colParams), {}, {
              type: "th"
            }));
            var isLeftFixedActive = _this.showColumnShadow.left && col.fixed === "left";
            var isRightFixedActive = _this.showColumnShadow.right && col.fixed === "right";
            var canDragSort = _this.thDraggable && !(isLeftFixedActive || isRightFixedActive);
            var thClasses = [thStyles.classes, customClasses, (_ref3 = {}, _defineProperty$2(_ref3, _this.tableHeaderClasses.thBordered, thBorderMap.get(col)), _defineProperty$2(_ref3, "".concat(_this.classPrefix, "-table__th-").concat(col.colKey), col.colKey), _defineProperty$2(_ref3, _this.tdAlignClasses[col.align], col.align && col.align !== "left"), _defineProperty$2(_ref3, _this.tableDraggableClasses.dragSortTh, canDragSort), _ref3)];
            var withoutChildren = !((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length);
            var width = withoutChildren && thWidthList !== null && thWidthList !== void 0 && thWidthList[col.colKey] ? "".concat(thWidthList === null || thWidthList === void 0 ? void 0 : thWidthList[col.colKey], "px") : void 0;
            var styles = _objectSpread$h(_objectSpread$h({}, thStyles.style || {}), {}, {
              width
            });
            var innerTh = renderTitle(_this.slots, col, index2);
            var resizeColumnListener = _this.resizable || !canDragSort ? {
              onMousedown: function onMousedown(e) {
                if (_this.resizable) {
                  var _this$columnResizePar, _this$columnResizePar2;
                  (_this$columnResizePar = _this.columnResizeParams) === null || _this$columnResizePar === void 0 || (_this$columnResizePar2 = _this$columnResizePar.onColumnMousedown) === null || _this$columnResizePar2 === void 0 || _this$columnResizePar2.call(_this$columnResizePar, e, col, index2);
                }
                if (!canDragSort) {
                  var timer = setTimeout(function() {
                    var _thList$index;
                    var thList = _this.theadRef.querySelectorAll("th");
                    (_thList$index = thList[index2]) === null || _thList$index === void 0 || _thList$index.removeAttribute("draggable");
                    clearTimeout(timer);
                  }, 10);
                }
              },
              onMousemove: function onMousemove(e) {
                var _this$columnResizePar3, _this$columnResizePar4;
                _this.resizable && ((_this$columnResizePar3 = _this.columnResizeParams) === null || _this$columnResizePar3 === void 0 || (_this$columnResizePar4 = _this$columnResizePar3.onColumnMouseover) === null || _this$columnResizePar4 === void 0 ? void 0 : _this$columnResizePar4.call(_this$columnResizePar3, e, col));
              }
            } : {};
            var content = isFunction_1(col.ellipsisTitle) ? col.ellipsisTitle(vue.h, {
              col,
              colIndex: index2
            }) : void 0;
            var isEllipsis = col.ellipsisTitle !== void 0 ? Boolean(col.ellipsisTitle) : Boolean(col.ellipsis);
            var attrs = (isFunction_1(col.attrs) ? col.attrs(_objectSpread$h(_objectSpread$h({}, colParams), {}, {
              type: "th"
            })) : col.attrs) || {};
            if (col.colspan > 1) {
              attrs.colspan = col.colspan;
            }
            return vue.createVNode("th", vue.mergeProps({
              "key": col.colKey,
              "data-colkey": col.colKey,
              "class": thClasses,
              "style": styles
            }, attrs, rowspanAndColspan, resizeColumnListener), [vue.createVNode("div", {
              "class": _this.tableBaseClass.thCellInner
            }, [isEllipsis ? vue.createVNode(TEllipsis, {
              "placement": "bottom",
              "attach": _this.attach || (_this.theadRef ? function() {
                return _this.getTableNode(_this.theadRef);
              } : void 0),
              "tooltipContent": content && function() {
                return content;
              },
              "tooltipProps": _typeof$2(col.ellipsisTitle) === "object" ? col.ellipsisTitle : void 0,
              "overlayClassName": _this.ellipsisOverlayClassName,
              "classPrefix": _this.classPrefix
            }, _isSlot$3(innerTh) ? innerTh : {
              "default": function _default16() {
                return [innerTh];
              }
            }) : innerTh])]);
          });
          return vue.createVNode("tr", {
            "key": rowIndex
          }, [thRow]);
        });
      };
      return vue.createVNode("thead", {
        "ref": "theadRef",
        "class": this.theadClasses
      }, [renderThNodeList(this.rowAndColFixedPosition, this.thWidthList)]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$h(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$g(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$h(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var TFoot = vue.defineComponent({
    name: "TFoot",
    props: {
      rowKey: String,
      isFixedHeader: Boolean,
      rowAndColFixedPosition: Map,
      footData: Array,
      columns: Array,
      rowAttributes: [Array, Object, Function],
      rowClassName: [Array, String, Object, Function],
      thWidthList: [Object],
      footerSummary: [String, Function],
      rowspanAndColspanInFooter: Function
    },
    setup: function setup40(props2, context) {
      var renderTNode = useTNodeJSX();
      var classnames = useClassName();
      var _toRefs = vue.toRefs(props2), footData = _toRefs.footData, columns = _toRefs.columns, rowKey = _toRefs.rowKey, rowspanAndColspanInFooter = _toRefs.rowspanAndColspanInFooter;
      var _useRowspanAndColspan = useRowspanAndColspan(footData, columns, rowKey, rowspanAndColspanInFooter), skipSpansMap = _useRowspanAndColspan.skipSpansMap;
      var renderTFootCell = function renderTFootCell2(p) {
        var col = p.col, row = p.row;
        if (isFunction_1(col.foot)) {
          return col.foot(vue.h, p);
        }
        if (isString_1(col.foot) && context.slots[col.foot]) {
          return context.slots[col.foot](p) || col.foot;
        }
        return col.foot || get_1(row, col.colKey);
      };
      return _objectSpread$g(_objectSpread$g({
        skipSpansMap
      }, classnames), {}, {
        renderTFootCell,
        renderTNode
      });
    },
    render: function render12() {
      var _this$footData, _this = this;
      if (!this.columns)
        return null;
      var theadClasses = [this.tableFooterClasses.footer, _defineProperty$2({}, this.tableFooterClasses.fixed, this.isFixedHeader)];
      var footerDomList = (_this$footData = this.footData) === null || _this$footData === void 0 ? void 0 : _this$footData.map(function(row, rowIndex) {
        var trAttributes = formatRowAttributes(_this.rowAttributes, {
          row,
          rowIndex,
          type: "foot"
        });
        var customClasses = formatRowClassNames(_this.rowClassName, {
          row,
          rowIndex,
          type: "foot"
        }, _this.rowKey || "id");
        return vue.createVNode("tr", vue.mergeProps(trAttributes, {
          "key": rowIndex,
          "class": customClasses
        }), [_this.columns.map(function(col, colIndex) {
          var _this$thWidthList;
          var cellSpans = {};
          var spanState = null;
          if (_this.skipSpansMap.size) {
            var _spanState, _spanState2;
            var cellKey = getCellKey(row, _this.rowKey, col.colKey, colIndex);
            spanState = _this.skipSpansMap.get(cellKey) || {};
            ((_spanState = spanState) === null || _spanState === void 0 ? void 0 : _spanState.rowspan) > 1 && (cellSpans.rowspan = spanState.rowspan);
            ((_spanState2 = spanState) === null || _spanState2 === void 0 ? void 0 : _spanState2.colspan) > 1 && (cellSpans.colspan = spanState.colspan);
            if (spanState.skipped)
              return null;
          }
          var tdStyles = getColumnFixedStyles(col, colIndex, _this.rowAndColFixedPosition, _this.tableColFixedClasses);
          var style2 = _objectSpread$g({}, tdStyles.style);
          if ((_this$thWidthList = _this.thWidthList) !== null && _this$thWidthList !== void 0 && _this$thWidthList[col.colKey]) {
            style2.width = "".concat(_this.thWidthList[col.colKey], "px");
          }
          return vue.createVNode("td", vue.mergeProps(_objectSpread$g({
            key: col.colKey
          }, cellSpans), {
            "class": tdStyles.classes,
            "style": style2
          }), [_this.renderTFootCell({
            row,
            rowIndex,
            col,
            colIndex
          })]);
        })]);
      });
      var footerSummary = this.renderTNode("footerSummary");
      if (!footerSummary && (!this.footData || !this.footData.length))
        return null;
      return vue.createVNode("tfoot", {
        "ref": "tFooterRef",
        "class": theadClasses
      }, [footerSummary && vue.createVNode("tr", {
        "class": this.tableFullRowClasses.base
      }, [vue.createVNode("td", {
        "colspan": this.columns.length
      }, [vue.createVNode("div", {
        "class": this.tableFullRowClasses.innerFullElement
      }, [footerSummary])])]), footerDomList]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var ARROW_DOWN_REG = /ArrowDown/i;
  var ARROW_UP_REG = /ArrowUp/i;
  var ESCAPE_REG = /Escape/i;
  var SPACE_REG = /Space/i;
  var SHIFT_REG = /Shift/i;
  var CLEAR_REG = /KeyC/i;
  var ALL_REG = /(KeyA|KeyL)/i;
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useRowHighlight(props2, tableRef) {
    var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, activeRowType = _toRefs.activeRowType, activeRowKeys = _toRefs.activeRowKeys, defaultActiveRowKeys = _toRefs.defaultActiveRowKeys, disableSpaceInactiveRow = _toRefs.disableSpaceInactiveRow;
    var currentOperationRowIndex = vue.ref(-1);
    var isShiftPressed = vue.ref(false);
    var shiftSelectionState = vue.ref(false);
    var areaSelectionStartIndex = vue.ref(-1);
    var _useDefaultValue = useDefaultValue(activeRowKeys, defaultActiveRowKeys.value, props2.onActiveChange, "active-row-keys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tActiveRow = _useDefaultValue2[0], setTActiveRow = _useDefaultValue2[1];
    var handleInactive = function handleInactive2(ctx) {
      var row = ctx.row;
      var rowValue = get_1(row, props2.rowKey);
      if (activeRowType.value === "single") {
        setTActiveRow([], {
          type: "inactive",
          activeRowList: [],
          currentRowData: row
        });
      } else if (activeRowType.value === "multiple") {
        var newActiveRowKeys = tActiveRow.value.filter(function(t) {
          return t !== rowValue;
        });
        setTActiveRow(newActiveRowKeys, {
          type: "inactive",
          activeRowList: [],
          currentRowData: row
        });
      }
    };
    var handleActive = function handleActive2(ctx) {
      var row = ctx.row;
      var rowValue = get_1(row, props2.rowKey);
      if (activeRowType.value === "single") {
        setTActiveRow([rowValue], {
          activeRowList: [{
            row,
            rowIndex: ctx.index
          }],
          currentRowData: row,
          type: "active"
        });
      } else {
        var newActiveRowKeys = tActiveRow.value.concat(rowValue);
        var activeRowList = [];
        for (var i = 0, len2 = data2.value.length; i < len2; i++) {
          var row2 = data2.value[i];
          if (newActiveRowKeys.includes(get_1(row2, props2.rowKey))) {
            activeRowList.push({
              row: row2,
              rowIndex: i
            });
          }
        }
        setTActiveRow(newActiveRowKeys, {
          activeRowList,
          currentRowData: row,
          type: "active"
        });
      }
    };
    var handleShiftActive = function handleShiftActive2(ctx) {
      document.getSelection().removeAllRanges();
      var row = ctx.row;
      var currentIndex = currentOperationRowIndex.value;
      var startIndex = Math.min(areaSelectionStartIndex.value, currentIndex);
      var endIndex = Math.max(areaSelectionStartIndex.value, currentIndex);
      var newActiveRowData = [];
      for (var i = startIndex; i <= endIndex; i++) {
        newActiveRowData.push({
          row: data2.value[i],
          rowIndex: i
        });
      }
      var newActiveRowKeys = newActiveRowData.map(function(item) {
        return get_1(item.row, props2.rowKey);
      });
      setTActiveRow(newActiveRowKeys, {
        activeRowList: newActiveRowData,
        type: "active",
        currentRowData: row
      });
    };
    var getActiveRowList = function getActiveRowList2() {
      var list = [];
      for (var i = 0, len2 = data2.value.length; i < len2; i++) {
        var row = data2.value[i];
        var rowValue = get_1(row, props2.rowKey);
        if (tActiveRow.value.includes(rowValue)) {
          list.push({
            row,
            rowIndex: i
          });
        }
      }
      return list;
    };
    var onHighlightRow = function onHighlightRow2(ctx, extra) {
      if (!activeRowType.value)
        return;
      var row = ctx.row, index2 = ctx.index;
      var rowValue = get_1(row, props2.rowKey);
      if (isShiftPressed.value) {
        currentOperationRowIndex.value = index2;
        handleShiftActive(ctx);
        shiftSelectionState.value = true;
      } else if (tActiveRow.value.includes(rowValue) && (extra === null || extra === void 0 ? void 0 : extra.action) !== "active") {
        handleInactive(ctx);
        currentOperationRowIndex.value = index2;
      } else {
        handleActive(ctx);
        currentOperationRowIndex.value = index2;
      }
    };
    var clearActive = function clearActive2() {
      var _props$onActiveRowAct;
      setTActiveRow([], {
        activeRowList: [],
        currentRowData: void 0,
        type: "inactive"
      });
      (_props$onActiveRowAct = props2.onActiveRowAction) === null || _props$onActiveRowAct === void 0 || _props$onActiveRowAct.call(props2, {
        action: "clear",
        activeRowList: []
      });
      currentOperationRowIndex.value = -1;
    };
    var setAllActive = function setAllActive2() {
      var _props$onActiveRowAct2;
      var activeKeys = data2.value.map(function(item) {
        return get_1(item, props2.rowKey);
      });
      var activeRowList = data2.value.map(function(row, rowIndex) {
        return {
          row,
          rowIndex
        };
      });
      setTActiveRow(activeKeys, {
        activeRowList,
        currentRowData: void 0,
        type: "active"
      });
      (_props$onActiveRowAct2 = props2.onActiveRowAction) === null || _props$onActiveRowAct2 === void 0 || _props$onActiveRowAct2.call(props2, {
        action: "select-all",
        activeRowList
      });
      currentOperationRowIndex.value = -1;
    };
    var clearShiftAreaSelection = function clearShiftAreaSelection2() {
      shiftSelectionState.value = false;
    };
    var keyboardDownListener = function keyboardDownListener2(e) {
      var _e$key;
      var code = e.code || ((_e$key = e.key) === null || _e$key === void 0 ? void 0 : _e$key.trim());
      if (ARROW_DOWN_REG.test(code)) {
        e.preventDefault();
        var index2 = Math.min(data2.value.length - 1, currentOperationRowIndex.value + 1);
        if (activeRowType.value === "single") {
          onHighlightRow({
            row: data2.value[index2],
            index: index2,
            e
          }, {
            action: "active"
          });
        } else {
          currentOperationRowIndex.value = index2;
        }
      } else if (ARROW_UP_REG.test(code)) {
        e.preventDefault();
        var _index = Math.max(0, currentOperationRowIndex.value - 1);
        if (activeRowType.value === "single") {
          onHighlightRow({
            row: data2.value[_index],
            index: _index,
            e
          }, {
            action: "active"
          });
        } else {
          currentOperationRowIndex.value = _index;
        }
      } else if (SPACE_REG.test(code)) {
        e.preventDefault();
        var _index2 = currentOperationRowIndex.value;
        if (shiftSelectionState.value) {
          var _props$onActiveRowAct3;
          (_props$onActiveRowAct3 = props2.onActiveRowAction) === null || _props$onActiveRowAct3 === void 0 || _props$onActiveRowAct3.call(props2, {
            action: "shift-area-selection",
            activeRowList: getActiveRowList()
          });
        } else if (!disableSpaceInactiveRow.value) {
          onHighlightRow({
            row: data2.value[_index2],
            index: _index2,
            e
          });
        } else {
          var _props$onActiveRowAct4;
          (_props$onActiveRowAct4 = props2.onActiveRowAction) === null || _props$onActiveRowAct4 === void 0 || _props$onActiveRowAct4.call(props2, {
            action: "space-one-selection",
            activeRowList: getActiveRowList()
          });
        }
      } else if (SHIFT_REG.test(code)) {
        isShiftPressed.value = true;
        areaSelectionStartIndex.value = currentOperationRowIndex.value;
      } else if (ESCAPE_REG.test(code) || CLEAR_REG.test(code)) {
        clearActive();
        clearShiftAreaSelection();
      } else if (ALL_REG.test(code)) {
        setAllActive();
      }
      if (!SPACE_REG.test(code)) {
        clearShiftAreaSelection();
      }
    };
    var keyboardUpListener = function keyboardUpListener2(e) {
      var _e$key2;
      var code = ((_e$key2 = e.key) === null || _e$key2 === void 0 ? void 0 : _e$key2.trim()) || e.code;
      if (SHIFT_REG.test(code)) {
        isShiftPressed.value = false;
      }
    };
    var addHighlightKeyboardListener = function addHighlightKeyboardListener2() {
      on$1(tableRef.value, "keydown", keyboardDownListener);
      on$1(tableRef.value, "keyup", keyboardUpListener);
    };
    var removeHighlightKeyboardListener = function removeHighlightKeyboardListener2() {
      off$1(tableRef.value, "keydown", keyboardDownListener);
      off$1(tableRef.value, "keyup", keyboardUpListener);
    };
    return {
      tActiveRow,
      onHighlightRow,
      addHighlightKeyboardListener,
      removeHighlightKeyboardListener
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useHoverKeyboardEvent(props2, tableRef) {
    var _toRefs = vue.toRefs(props2), hover = _toRefs.hover, data2 = _toRefs.data, activeRowType = _toRefs.activeRowType, keyboardRowHover = _toRefs.keyboardRowHover;
    var hoverRow = vue.ref();
    var currentHoverRowIndex = vue.ref(-1);
    var needKeyboardRowHover = vue.computed(function() {
      if (activeRowType.value === "single")
        return false;
      if (activeRowType.value === "multiple")
        return true;
      return hover.value || keyboardRowHover.value;
    });
    var onHoverRow = function onHoverRow2(ctx, extra) {
      var rowValue = get_1(ctx.row, props2.rowKey);
      if (hoverRow.value === rowValue && (extra === null || extra === void 0 ? void 0 : extra.action) !== "hover") {
        hoverRow.value = void 0;
      } else {
        hoverRow.value = rowValue;
      }
      currentHoverRowIndex.value = ctx.index;
    };
    var clearHoverRow = function clearHoverRow2() {
      hoverRow.value = void 0;
      currentHoverRowIndex.value = -1;
    };
    var keyboardDownListener = function keyboardDownListener2(e) {
      var _e$key;
      if (!needKeyboardRowHover.value)
        return;
      var code = ((_e$key = e.key) === null || _e$key === void 0 ? void 0 : _e$key.trim()) || e.code;
      if (ARROW_DOWN_REG.test(code)) {
        e.preventDefault();
        var index2 = Math.min(data2.value.length - 1, currentHoverRowIndex.value + 1);
        onHoverRow({
          row: data2.value[index2],
          index: index2,
          e
        }, {
          action: "hover"
        });
      } else if (ARROW_UP_REG.test(code)) {
        e.preventDefault();
        var _index = Math.max(0, currentHoverRowIndex.value - 1);
        onHoverRow({
          row: data2.value[_index],
          index: _index,
          e
        }, {
          action: "hover"
        });
      } else if (SPACE_REG.test(code) && props2.activeRowType !== "multiple") {
        var _index2 = currentHoverRowIndex.value;
        onHoverRow({
          row: data2.value[_index2],
          index: _index2,
          e
        });
      }
    };
    var addRowHoverKeyboardListener = function addRowHoverKeyboardListener2() {
      on$1(tableRef.value, "keydown", keyboardDownListener);
    };
    var removeRowHoverKeyboardListener = function removeRowHoverKeyboardListener2() {
      off$1(tableRef.value, "keydown", keyboardDownListener);
    };
    return {
      hoverRow,
      needKeyboardRowHover,
      clearHoverRow,
      addRowHoverKeyboardListener,
      removeRowHoverKeyboardListener
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$g(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$f(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$g(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function _isSlot$2(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var _BaseTable = vue.defineComponent({
    name: "TBaseTable",
    props: _objectSpread$f(_objectSpread$f({}, baseTableProps), {}, {
      renderExpandedRow: Function,
      onLeafColumnsChange: Function,
      thDraggable: Boolean
    }),
    setup: function setup41(props2, context) {
      var renderTNode = useTNodeJSX();
      var tableRef = vue.ref();
      var tableElmRef = vue.ref();
      var tableBodyRef = vue.ref();
      var bottomContentRef = vue.ref();
      var tableFootHeight = vue.ref(0);
      var _useClassName = useClassName(), classPrefix = _useClassName.classPrefix, virtualScrollClasses = _useClassName.virtualScrollClasses, tableLayoutClasses = _useClassName.tableLayoutClasses, tableBaseClass = _useClassName.tableBaseClass, tableColFixedClasses = _useClassName.tableColFixedClasses;
      var _useStyle = useStyle(props2), tableClasses = _useStyle.tableClasses, sizeClassNames = _useStyle.sizeClassNames, tableContentStyles = _useStyle.tableContentStyles, tableElementStyles = _useStyle.tableElementStyles;
      var _useConfig = useConfig("table", props2.locale), globalConfig = _useConfig.globalConfig;
      var _useTableHeader = useTableHeader(props2), isMultipleHeader = _useTableHeader.isMultipleHeader, spansAndLeafNodes = _useTableHeader.spansAndLeafNodes, thList = _useTableHeader.thList;
      var finalColumns = vue.computed(function() {
        var _spansAndLeafNodes$va;
        return ((_spansAndLeafNodes$va = spansAndLeafNodes.value) === null || _spansAndLeafNodes$va === void 0 ? void 0 : _spansAndLeafNodes$va.leafColumns) || props2.columns;
      });
      var paginationAffixRef = vue.ref();
      var horizontalScrollAffixRef = vue.ref();
      var headerTopAffixRef = vue.ref();
      var footerBottomAffixRef = vue.ref();
      var _useFixed = useFixed(props2, context, finalColumns, {
        paginationAffixRef,
        horizontalScrollAffixRef,
        headerTopAffixRef,
        footerBottomAffixRef
      }), scrollbarWidth = _useFixed.scrollbarWidth, virtualScrollHeaderPos = _useFixed.virtualScrollHeaderPos, tableWidth = _useFixed.tableWidth, tableElmWidth = _useFixed.tableElmWidth, tableContentRef = _useFixed.tableContentRef, isFixedHeader = _useFixed.isFixedHeader, isWidthOverflow = _useFixed.isWidthOverflow, isFixedColumn = _useFixed.isFixedColumn, thWidthList = _useFixed.thWidthList, showColumnShadow = _useFixed.showColumnShadow, rowAndColFixedPosition = _useFixed.rowAndColFixedPosition, setData = _useFixed.setData, refreshTable = _useFixed.refreshTable, setTableElmWidth = _useFixed.setTableElmWidth, emitScrollEvent = _useFixed.emitScrollEvent, setUseFixedTableElmRef = _useFixed.setUseFixedTableElmRef, updateColumnFixedShadow = _useFixed.updateColumnFixedShadow, getThWidthList = _useFixed.getThWidthList, updateThWidthList = _useFixed.updateThWidthList, addTableResizeObserver = _useFixed.addTableResizeObserver, updateTableAfterColumnResize = _useFixed.updateTableAfterColumnResize;
      var _useAffix = useAffix(props2), affixHeaderRef = _useAffix.affixHeaderRef, affixFooterRef = _useAffix.affixFooterRef, horizontalScrollbarRef = _useAffix.horizontalScrollbarRef, paginationRef = _useAffix.paginationRef, showAffixHeader = _useAffix.showAffixHeader, showAffixFooter = _useAffix.showAffixFooter, showAffixPagination = _useAffix.showAffixPagination, onHorizontalScroll = _useAffix.onHorizontalScroll, setTableContentRef = _useAffix.setTableContentRef, updateAffixHeaderOrFooter = _useAffix.updateAffixHeaderOrFooter;
      var _usePagination = usePagination(props2, context), dataSource = _usePagination.dataSource, innerPagination = _usePagination.innerPagination, isPaginateData = _usePagination.isPaginateData, renderPagination = _usePagination.renderPagination;
      var columnResizeParams = useColumnResize({
        isWidthOverflow,
        tableContentRef,
        showColumnShadow,
        getThWidthList,
        updateThWidthList,
        setTableElmWidth,
        updateTableAfterColumnResize,
        onColumnResizeChange: props2.onColumnResizeChange
      });
      var resizeLineRef = columnResizeParams.resizeLineRef, resizeLineStyle = columnResizeParams.resizeLineStyle, setEffectColMap = columnResizeParams.setEffectColMap;
      var dynamicBaseTableClasses = vue.computed(function() {
        var _ref;
        return [tableClasses.value, (_ref = {}, _defineProperty$2(_ref, tableBaseClass.headerFixed, isFixedHeader.value), _defineProperty$2(_ref, tableBaseClass.columnFixed, isFixedColumn.value), _defineProperty$2(_ref, tableBaseClass.widthOverflow, isWidthOverflow.value), _defineProperty$2(_ref, tableBaseClass.multipleHeader, isMultipleHeader.value), _defineProperty$2(_ref, tableColFixedClasses.leftShadow, showColumnShadow.left), _defineProperty$2(_ref, tableColFixedClasses.rightShadow, showColumnShadow.right), _defineProperty$2(_ref, tableBaseClass.columnResizableTable, props2.resizable), _defineProperty$2(_ref, "".concat(classPrefix, "-table__row--active-").concat(props2.activeRowType), props2.activeRowType), _ref)];
      });
      var tableElmClasses = vue.computed(function() {
        return [[tableLayoutClasses[props2.tableLayout]]];
      });
      var showRightDivider = vue.computed(function() {
        return props2.bordered && isFixedHeader.value && (isMultipleHeader.value && isWidthOverflow.value || !isMultipleHeader.value);
      });
      var dividerBottom = vue.computed(function() {
        var _bottomContentRef$val, _paginationRef$value;
        if (!props2.bordered)
          return 0;
        var bottomRect = (_bottomContentRef$val = bottomContentRef.value) === null || _bottomContentRef$val === void 0 ? void 0 : _bottomContentRef$val.getBoundingClientRect();
        var paginationRect = (_paginationRef$value = paginationRef.value) === null || _paginationRef$value === void 0 ? void 0 : _paginationRef$value.getBoundingClientRect();
        return ((bottomRect === null || bottomRect === void 0 ? void 0 : bottomRect.height) || 0) + ((paginationRect === null || paginationRect === void 0 ? void 0 : paginationRect.height) || 0);
      });
      var _useRowHighlight = useRowHighlight(props2, tableRef), tActiveRow = _useRowHighlight.tActiveRow, onHighlightRow = _useRowHighlight.onHighlightRow, addHighlightKeyboardListener = _useRowHighlight.addHighlightKeyboardListener, removeHighlightKeyboardListener = _useRowHighlight.removeHighlightKeyboardListener;
      var _useHoverKeyboardEven = useHoverKeyboardEvent(props2, tableRef), hoverRow = _useHoverKeyboardEven.hoverRow, needKeyboardRowHover = _useHoverKeyboardEven.needKeyboardRowHover, clearHoverRow = _useHoverKeyboardEven.clearHoverRow, addRowHoverKeyboardListener = _useHoverKeyboardEven.addRowHoverKeyboardListener, removeRowHoverKeyboardListener = _useHoverKeyboardEven.removeRowHoverKeyboardListener;
      vue.watch(tableElmRef, function() {
        setUseFixedTableElmRef(tableElmRef.value);
      });
      vue.watch(function() {
        return [props2.data, dataSource];
      }, function() {
        setData(isPaginateData.value ? dataSource.value : props2.data);
      });
      vue.watch(spansAndLeafNodes, function() {
        var _props2$onLeafColumns;
        (_props2$onLeafColumns = props2.onLeafColumnsChange) === null || _props2$onLeafColumns === void 0 || _props2$onLeafColumns.call(props2, spansAndLeafNodes.value.leafColumns);
        setEffectColMap(spansAndLeafNodes.value.leafColumns, null);
      }, {
        immediate: true
      });
      var onFixedChange = function onFixedChange2() {
        vue.nextTick(function() {
          onHorizontalScroll();
          updateAffixHeaderOrFooter();
        });
      };
      var virtualScrollParams = vue.computed(function() {
        return {
          data: props2.data,
          scroll: props2.scroll
        };
      });
      var virtualConfig = useVirtualScroll2(tableContentRef, virtualScrollParams);
      var lastScrollY = -1;
      var onInnerVirtualScroll = function onInnerVirtualScroll2(e) {
        var target = e.target || e.srcElement;
        var top2 = target.scrollTop;
        if (lastScrollY !== top2) {
          virtualConfig.isVirtualScroll.value && virtualConfig.handleScroll();
        } else {
          lastScrollY = -1;
          updateColumnFixedShadow(target);
        }
        lastScrollY = top2;
        emitScrollEvent(e);
      };
      var getTFootHeight = function getTFootHeight2() {
        var _tableElmRef$value$qu;
        if (!tableElmRef.value)
          return;
        tableFootHeight.value = (_tableElmRef$value$qu = tableElmRef.value.querySelector("tfoot")) === null || _tableElmRef$value$qu === void 0 ? void 0 : _tableElmRef$value$qu.getBoundingClientRect().height;
      };
      var scrollColumnIntoView = function scrollColumnIntoView2(colKey) {
        if (!tableContentRef.value)
          return;
        var thDom = tableContentRef.value.querySelector('th[data-colkey="'.concat(colKey, '"]'));
        var fixedThDom = tableContentRef.value.querySelectorAll("th.t-table__cell--fixed-left");
        var totalWidth = 0;
        for (var i = 0, len2 = fixedThDom.length; i < len2; i++) {
          totalWidth += fixedThDom[i].getBoundingClientRect().width;
        }
        var domRect = thDom.getBoundingClientRect();
        var contentRect = tableContentRef.value.getBoundingClientRect();
        var distance2 = domRect.left - contentRect.left - totalWidth;
        tableContentRef.value.scrollTo({
          left: distance2,
          behavior: "smooth"
        });
      };
      vue.watch(tableContentRef, function() {
        setTableContentRef(tableContentRef.value);
      });
      vue.watch(tableElmRef, getTFootHeight);
      vue.watch(tableRef, function(tableRef2) {
        addTableResizeObserver(tableRef2);
      });
      vue.onMounted(function() {
        getTFootHeight();
        setTableContentRef(tableContentRef.value);
        addTableResizeObserver(tableRef.value);
      });
      var onTableFocus = function onTableFocus2() {
        props2.activeRowType && addHighlightKeyboardListener();
        needKeyboardRowHover.value && addRowHoverKeyboardListener();
      };
      var onTableBlur = function onTableBlur2() {
        props2.activeRowType && removeHighlightKeyboardListener();
        needKeyboardRowHover.value && removeRowHoverKeyboardListener();
      };
      var onInnerRowClick = function onInnerRowClick2(ctx) {
        var _props2$onRowClick;
        (_props2$onRowClick = props2.onRowClick) === null || _props2$onRowClick === void 0 || _props2$onRowClick.call(props2, ctx);
        props2.activeRowType && onHighlightRow(ctx);
        needKeyboardRowHover.value && clearHoverRow();
      };
      return {
        thList,
        classPrefix,
        innerPagination,
        globalConfig,
        tableFootHeight,
        virtualScrollHeaderPos,
        tableWidth,
        tableElmWidth,
        tableRef,
        tableElmRef,
        sizeClassNames,
        tableBaseClass,
        spansAndLeafNodes,
        dynamicBaseTableClasses,
        tableContentStyles,
        tableElementStyles,
        dividerBottom,
        virtualScrollClasses,
        tableLayoutClasses,
        tableElmClasses,
        tableContentRef,
        isFixedHeader,
        isWidthOverflow,
        isFixedColumn,
        rowAndColFixedPosition,
        showColumnShadow,
        thWidthList,
        isPaginateData,
        dataSource,
        affixHeaderRef,
        affixFooterRef,
        bottomContentRef,
        paginationRef,
        showAffixHeader,
        showAffixFooter,
        scrollbarWidth,
        isMultipleHeader,
        showRightDivider,
        resizeLineRef,
        resizeLineStyle,
        columnResizeParams,
        horizontalScrollbarRef,
        tableBodyRef,
        virtualConfig,
        showAffixPagination,
        tActiveRow,
        hoverRow,
        scrollToElement: virtualConfig.scrollToElement,
        renderPagination,
        renderTNode,
        onFixedChange,
        onHorizontalScroll,
        updateAffixHeaderOrFooter,
        onInnerVirtualScroll,
        refreshTable,
        scrollColumnIntoView,
        onTableFocus,
        onTableBlur,
        onInnerRowClick,
        paginationAffixRef,
        horizontalScrollAffixRef,
        headerTopAffixRef,
        footerBottomAffixRef
      };
    },
    render: function render13() {
      var _this$spansAndLeafNod, _this$allowResizeColu, _this = this, _this$affixHeaderRef, _this$footData, _this$tableContentRef;
      var rowAndColFixedPosition = this.rowAndColFixedPosition, tableLayout = this.tableLayout;
      var data2 = this.isPaginateData ? this.dataSource : this.data;
      var columns = ((_this$spansAndLeafNod = this.spansAndLeafNodes) === null || _this$spansAndLeafNod === void 0 ? void 0 : _this$spansAndLeafNod.leafColumns) || this.columns;
      var columnResizable = (_this$allowResizeColu = this.allowResizeColumnWidth) !== null && _this$allowResizeColu !== void 0 ? _this$allowResizeColu : this.resizable;
      if (columnResizable && tableLayout === "auto") {
        log.warn("Table", "table-layout can not be `auto`, cause you are using column resizable, set `table-layout: fixed` please.");
      }
      var defaultColWidth = tableLayout === "fixed" && this.isWidthOverflow ? "100px" : void 0;
      var renderColGroup = function renderColGroup2() {
        var isAffixHeader = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
        return vue.createVNode("colgroup", null, [columns.map(function(col) {
          var style2 = {
            width: formatCSSUnit((isAffixHeader || columnResizable ? _this.thWidthList[col.colKey] : void 0) || col.width) || defaultColWidth
          };
          if (col.minWidth) {
            style2.minWidth = formatCSSUnit(col.minWidth);
          }
          if (!style2.width && !col.minWidth && _this.tableLayout === "fixed") {
            style2.minWidth = "80px";
          }
          return vue.createVNode("col", {
            "key": col.colKey,
            "style": style2
          }, null);
        })]);
      };
      var renderAffixedHeader = function renderAffixedHeader2() {
        if (_this.showHeader === false)
          return null;
        return !!(_this.virtualConfig.isVirtualScroll.value || _this.headerAffixedTop) && (_this.headerAffixedTop ? vue.createVNode(Affix, vue.mergeProps({
          "offsetTop": 0
        }, getAffixProps(_this.headerAffixedTop), {
          "onFixedChange": _this.onFixedChange,
          "ref": "headerTopAffixRef"
        }), _isSlot$2(affixHeaderWithWrap) ? affixHeaderWithWrap : {
          "default": function _default16() {
            return [affixHeaderWithWrap];
          }
        }) : _this.isFixedHeader && affixHeaderWithWrap);
      };
      var renderAffixedHorizontalScrollbar = function renderAffixedHorizontalScrollbar2() {
        return vue.createVNode(Affix, vue.mergeProps({
          "offsetBottom": 0
        }, getAffixProps(_this.horizontalScrollAffixedBottom), {
          "style": {
            marginTop: "-".concat(_this.scrollbarWidth * 2, "px")
          },
          "horizontalScrollAffixedBottom": true,
          "ref": "horizontalScrollAffixRef"
        }), {
          "default": function _default16() {
            return [vue.createVNode("div", {
              "ref": "horizontalScrollbarRef",
              "class": ["scrollbar", _this.tableBaseClass.obviousScrollbar],
              "style": {
                width: "".concat(_this.tableWidth, "px"),
                overflow: "auto",
                opacity: Number(_this.showAffixFooter)
              }
            }, [vue.createVNode("div", {
              "style": {
                width: "".concat(_this.tableElmWidth, "px"),
                height: "5px"
              }
            }, null)])];
          }
        });
      };
      var headProps = {
        isFixedHeader: this.isFixedHeader,
        rowAndColFixedPosition: this.rowAndColFixedPosition,
        isMultipleHeader: this.isMultipleHeader,
        bordered: this.bordered,
        maxHeight: this.maxHeight,
        height: this.height,
        spansAndLeafNodes: this.spansAndLeafNodes,
        thList: this.thList,
        thWidthList: this.thWidthList,
        resizable: this.resizable,
        columnResizeParams: this.columnResizeParams,
        classPrefix: this.classPrefix,
        ellipsisOverlayClassName: this.size !== "medium" ? this.sizeClassNames[this.size] : "",
        attach: this.attach,
        showColumnShadow: this.showColumnShadow,
        thDraggable: this.thDraggable
      };
      var IEHeaderWrap = getIEVersion() <= 11 ? 4 : 0;
      var barWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;
      var affixHeaderHeight = (((_this$affixHeaderRef = this.affixHeaderRef) === null || _this$affixHeaderRef === void 0 ? void 0 : _this$affixHeaderRef.getBoundingClientRect().height) || 0) - IEHeaderWrap;
      var affixHeaderWrapHeight = affixHeaderHeight - barWidth;
      var headerOpacity = baseTableProps.headerAffixedTop ? Number(this.showAffixHeader) : 1;
      var affixHeaderWrapHeightStyle = {
        width: "".concat(this.tableWidth, "px"),
        height: "".concat(affixHeaderWrapHeight, "px"),
        opacity: headerOpacity
      };
      var affixedLeftBorder = this.bordered ? 1 : 0;
      var affixedHeader = Boolean((this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value) && this.tableWidth) && vue.createVNode("div", {
        "ref": "affixHeaderRef",
        "style": {
          width: "".concat(this.tableWidth - affixedLeftBorder, "px"),
          opacity: Number(this.showAffixHeader)
        },
        "class": ["scrollbar", _defineProperty$2({}, this.tableBaseClass.affixedHeaderElm, this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value)]
      }, [vue.createVNode("table", {
        "class": this.tableElmClasses,
        "style": _objectSpread$f(_objectSpread$f({}, this.tableElementStyles), {}, {
          width: "".concat(this.tableElmWidth, "px")
        })
      }, [renderColGroup(true), vue.createVNode(THead, headProps, this.$slots)])]);
      var affixHeaderWithWrap = vue.createVNode("div", {
        "class": this.tableBaseClass.affixedHeaderWrap,
        "style": affixHeaderWrapHeightStyle
      }, [affixedHeader]);
      var marginScrollbarWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;
      if (this.bordered) {
        marginScrollbarWidth += 1;
      }
      var affixedFooter = Boolean(this.footerAffixedBottom && ((_this$footData = this.footData) === null || _this$footData === void 0 ? void 0 : _this$footData.length) && this.tableWidth) && vue.createVNode(Affix, vue.mergeProps({
        "class": this.tableBaseClass.affixedFooterWrap,
        "onFixedChange": this.onFixedChange,
        "offsetBottom": marginScrollbarWidth || 0
      }, getAffixProps(this.footerAffixedBottom), {
        "style": {
          marginTop: "".concat(-1 * (this.tableFootHeight + marginScrollbarWidth), "px")
        },
        "ref": "footerBottomAffixRef"
      }), {
        "default": function _default16() {
          return [vue.createVNode("div", {
            "ref": "affixFooterRef",
            "style": {
              width: "".concat(_this.tableWidth - affixedLeftBorder, "px"),
              opacity: Number(_this.showAffixFooter)
            },
            "class": ["scrollbar", _defineProperty$2({}, _this.tableBaseClass.affixedFooterElm, _this.footerAffixedBottom || _this.isVirtual)]
          }, [vue.createVNode("table", {
            "class": _this.tableElmClasses,
            "style": _objectSpread$f(_objectSpread$f({}, _this.tableElementStyles), {}, {
              width: "".concat(_this.tableElmWidth, "px")
            })
          }, [renderColGroup(true), vue.createVNode(TFoot, {
            "rowKey": _this.rowKey,
            "isFixedHeader": _this.isFixedHeader,
            "rowAndColFixedPosition": rowAndColFixedPosition,
            "footData": _this.footData,
            "columns": columns,
            "rowAttributes": _this.rowAttributes,
            "rowClassName": _this.rowClassName,
            "thWidthList": _this.thWidthList,
            "footerSummary": _this.footerSummary,
            "rowspanAndColspanInFooter": _this.rowspanAndColspanInFooter
          }, _this.$slots)])])];
        }
      });
      var translate = "translate(0, ".concat(this.virtualConfig.scrollHeight.value, "px)");
      var virtualStyle = {
        transform: translate,
        "-ms-transform": translate,
        "-moz-transform": translate,
        "-webkit-transform": translate
      };
      var virtualConfig = this.virtualConfig;
      var tableBodyProps = _objectSpread$f(_objectSpread$f({
        classPrefix: this.classPrefix,
        ellipsisOverlayClassName: this.size !== "medium" ? this.sizeClassNames[this.size] : "",
        rowAndColFixedPosition,
        showColumnShadow: this.showColumnShadow,
        data: virtualConfig.isVirtualScroll.value ? virtualConfig.visibleData.value : data2,
        virtualConfig: this.virtualConfig,
        columns: this.spansAndLeafNodes.leafColumns,
        tableElm: this.tableRef,
        tableWidth: this.tableWidth,
        isWidthOverflow: this.isWidthOverflow,
        scroll: this.scroll,
        cellEmptyContent: this.cellEmptyContent,
        tableContentElm: this.tableContentRef,
        handleRowMounted: this.virtualConfig.handleRowMounted,
        renderExpandedRow: this.renderExpandedRow
      }, pick_1(this.$props, extendTableProps)), {}, {
        pagination: this.innerPagination,
        attach: this.attach,
        hoverRow: this.hoverRow,
        activeRow: this.tActiveRow,
        onRowClick: this.onInnerRowClick
      });
      var tableContent = vue.createVNode("div", {
        "ref": "tableContentRef",
        "class": this.tableBaseClass.content,
        "style": this.tableContentStyles,
        "onScroll": this.onInnerVirtualScroll
      }, [this.virtualConfig.isVirtualScroll.value && vue.createVNode("div", {
        "class": this.virtualScrollClasses.cursor,
        "style": virtualStyle
      }, null), vue.createVNode("table", {
        "ref": "tableElmRef",
        "class": this.tableElmClasses,
        "style": _objectSpread$f(_objectSpread$f({}, this.tableElementStyles), {}, {
          width: this.resizable && this.isWidthOverflow && this.tableElmWidth ? "".concat(this.tableElmWidth, "px") : this.tableElementStyles.width
        })
      }, [renderColGroup(false), this.showHeader && vue.createVNode(THead, _objectSpread$f(_objectSpread$f({}, headProps), {}, {
        thWidthList: columnResizable ? this.thWidthList : {}
      }), this.$slots), vue.createVNode(TBody, tableBodyProps, this.$slots), vue.createVNode(TFoot, {
        "rowKey": this.rowKey,
        "isFixedHeader": this.isFixedHeader,
        "rowAndColFixedPosition": rowAndColFixedPosition,
        "footData": this.footData,
        "columns": columns,
        "rowAttributes": this.rowAttributes,
        "rowClassName": this.rowClassName,
        "footerSummary": this.footerSummary,
        "rowspanAndColspanInFooter": this.rowspanAndColspanInFooter
      }, this.$slots)])]);
      var customLoadingText = this.renderTNode("loading");
      var loadingContent = this.loading !== void 0 && vue.createVNode(Loading, vue.mergeProps({
        "loading": !!this.loading,
        "text": customLoadingText ? function() {
          return customLoadingText;
        } : void 0,
        "attach": this.tableRef ? function() {
          return _this.tableRef;
        } : void 0,
        "showOverlay": true,
        "size": "small"
      }, this.loadingProps), null);
      var topContent = this.renderTNode("topContent");
      var bottomContent = this.renderTNode("bottomContent");
      var pagination = vue.createVNode("div", {
        "ref": "paginationRef",
        "class": this.tableBaseClass.paginationWrap,
        "style": {
          opacity: Number(this.showAffixPagination)
        }
      }, [this.renderPagination()]);
      var bottom2 = !!bottomContent && vue.createVNode("div", {
        "ref": "bottomContentRef",
        "class": this.tableBaseClass.bottomContent
      }, [bottomContent]);
      return vue.createVNode("div", {
        "ref": "tableRef",
        "tabindex": "0",
        "class": this.dynamicBaseTableClasses,
        "onFocus": this.onTableFocus,
        "onBlur": this.onTableBlur
      }, [!!topContent && vue.createVNode("div", {
        "class": this.tableBaseClass.topContent
      }, [topContent]), renderAffixedHeader(), tableContent, affixedFooter, loadingContent, bottom2, this.showRightDivider && vue.createVNode("div", {
        "class": this.tableBaseClass.scrollbarDivider,
        "style": {
          right: "".concat(this.scrollbarWidth, "px"),
          bottom: this.dividerBottom ? "".concat(this.dividerBottom, "px") : void 0,
          height: "".concat((_this$tableContentRef = this.tableContentRef) === null || _this$tableContentRef === void 0 ? void 0 : _this$tableContentRef.getBoundingClientRect().height, "px")
        }
      }, null), this.horizontalScrollAffixedBottom && renderAffixedHorizontalScrollbar(), this.paginationAffixedBottom ? vue.createVNode(Affix, vue.mergeProps({
        "offsetBottom": 0
      }, getAffixProps(this.paginationAffixedBottom), {
        "ref": "paginationAffixRef"
      }), _isSlot$2(pagination) ? pagination : {
        "default": function _default16() {
          return [pagination];
        }
      }) : pagination, vue.createVNode("div", {
        "ref": "resizeLineRef",
        "class": this.tableBaseClass.resizeLine,
        "style": this.resizeLineStyle
      }, null)]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var primaryTableProps = {
    asyncLoading: {
      type: [String, Function]
    },
    columnController: {
      type: Object
    },
    columnControllerVisible: {
      type: Boolean,
      "default": void 0
    },
    defaultColumnControllerVisible: {
      type: Boolean,
      "default": void 0
    },
    columns: {
      type: Array,
      "default": function _default10() {
        return [];
      }
    },
    displayColumns: {
      type: Array,
      "default": void 0
    },
    defaultDisplayColumns: {
      type: Array
    },
    dragSort: {
      type: String,
      validator: function validator50(val) {
        if (!val)
          return true;
        return ["row", "row-handler", "col", "row-handler-col", "drag-col"].includes(val);
      }
    },
    dragSortOptions: {
      type: Object
    },
    editableCellState: {
      type: Function
    },
    editableRowKeys: {
      type: Array
    },
    expandIcon: {
      type: [Boolean, Function],
      "default": true
    },
    expandOnRowClick: Boolean,
    expandedRow: {
      type: [String, Function]
    },
    expandedRowKeys: {
      type: Array,
      "default": void 0
    },
    defaultExpandedRowKeys: {
      type: Array,
      "default": function _default11() {
        return [];
      }
    },
    filterIcon: {
      type: Function
    },
    filterRow: {
      type: [String, Function]
    },
    filterValue: {
      type: Object,
      "default": void 0
    },
    defaultFilterValue: {
      type: Object
    },
    hideSortTips: Boolean,
    indeterminateSelectedRowKeys: {
      type: Array
    },
    multipleSort: Boolean,
    reserveSelectedRowOnPaginate: {
      type: Boolean,
      "default": true
    },
    selectOnRowClick: Boolean,
    selectedRowKeys: {
      type: Array,
      "default": void 0
    },
    defaultSelectedRowKeys: {
      type: Array,
      "default": function _default12() {
        return [];
      }
    },
    showSortColumnBgColor: Boolean,
    sort: {
      type: [Object, Array],
      "default": void 0
    },
    defaultSort: {
      type: [Object, Array]
    },
    sortIcon: {
      type: Function
    },
    sortOnRowDraggable: Boolean,
    onAsyncLoadingClick: Function,
    onCellClick: Function,
    onChange: Function,
    onColumnChange: Function,
    onColumnControllerVisibleChange: Function,
    onDataChange: Function,
    onDisplayColumnsChange: Function,
    onDragSort: Function,
    onExpandChange: Function,
    onFilterChange: Function,
    onRowEdit: Function,
    onRowValidate: Function,
    onSelectChange: Function,
    onSortChange: Function,
    onValidate: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$f(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$e(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$f(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var ColumnCheckboxGroup = vue.defineComponent({
    name: "ColumnCheckboxGroup",
    props: {
      checkboxProps: Object,
      options: {
        type: Array,
        "default": function _default13() {
          return [];
        }
      },
      label: String,
      uniqueKey: String,
      value: Array,
      onChange: Function
    },
    setup: function setup42(props2) {
      var _toRefs = vue.toRefs(props2), checkboxProps = _toRefs.checkboxProps, value = _toRefs.value, options = _toRefs.options;
      var classPrefix = usePrefixClass();
      var allCheckedColumnKeys = vue.computed(function() {
        var allCheckedKeys = [];
        options.value.forEach(function(option2) {
          if (_typeof$2(option2) === "object") {
            if (option2.disabled)
              return;
            if (option2.value) {
              allCheckedKeys.push(option2.value);
            } else if (typeof option2.label === "string") {
              allCheckedKeys.push(option2.label);
            }
          } else {
            allCheckedKeys.push(option2);
          }
        });
        return allCheckedKeys;
      });
      var intersectionKeys = vue.computed(function() {
        return intersection_1(allCheckedColumnKeys.value, value.value);
      });
      var isCheckedAll = vue.computed(function() {
        var len2 = intersectionKeys.value.length;
        return Boolean(len2 && allCheckedColumnKeys.value.length === len2);
      });
      var isIndeterminate = vue.computed(function() {
        var len2 = intersectionKeys.value.length;
        return Boolean(len2 < allCheckedColumnKeys.value.length && len2);
      });
      var onCheckAllColumnsChange = function onCheckAllColumnsChange2(checkAll, ctx) {
        var changeParams = {
          e: ctx.e,
          type: "check",
          current: void 0,
          option: void 0
        };
        if (checkAll) {
          var _props$onChange;
          var newKeys = _toConsumableArray(new Set(value.value.concat(allCheckedColumnKeys.value)));
          (_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, newKeys, changeParams);
        } else {
          var _props$onChange2;
          var _newKeys = value.value.filter(function(val) {
            return !allCheckedColumnKeys.value.includes(val);
          });
          (_props$onChange2 = props2.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props2, _newKeys, _objectSpread$e(_objectSpread$e({}, changeParams), {}, {
            type: "uncheck"
          }));
        }
      };
      var handleCheckChange = function handleCheckChange2(val, ctx) {
        var _props$onChange3;
        (_props$onChange3 = props2.onChange) === null || _props$onChange3 === void 0 || _props$onChange3.call(props2, val, ctx);
      };
      var classes = vue.computed(function() {
        return ["".concat(classPrefix.value, "-table__column-controller-item"), _defineProperty$2({}, "".concat(classPrefix.value, "-table__").concat(props2.uniqueKey), props2.uniqueKey)];
      });
      return function() {
        return vue.createVNode("div", {
          "class": classes.value
        }, [vue.createVNode("div", {
          "class": "".concat(classPrefix.value, "-table__column-controller-block")
        }, [vue.createVNode(Checkbox, {
          "indeterminate": isIndeterminate.value,
          "checked": isCheckedAll.value,
          "onChange": onCheckAllColumnsChange,
          "disabled": !allCheckedColumnKeys.value.length
        }, {
          "default": function _default16() {
            return [props2.label];
          }
        })]), vue.createVNode("div", {
          "class": "".concat(classPrefix.value, "-table__column-controller-block")
        }, [vue.createVNode(CheckboxGroup, vue.mergeProps({
          "options": options.value
        }, checkboxProps.value, {
          "modelValue": value.value,
          "onChange": handleCheckChange
        }), null)])]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$e(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$d(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$e(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function getColumnKeys(columns) {
    var keys2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();
    for (var i = 0, len2 = columns.length; i < len2; i++) {
      var _col$children;
      var col = columns[i];
      col.colKey && keys2.add(col.colKey);
      if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
        getColumnKeys(col.children, keys2);
      }
    }
    return keys2;
  }
  function useColumnController(props2, context) {
    var _useConfig = useConfig("table", props2.locale), classPrefix = _useConfig.classPrefix, globalConfig = _useConfig.globalConfig;
    var _useGlobalIcon = useGlobalIcon({
      SettingIcon
    }), SettingIcon$1 = _useGlobalIcon.SettingIcon;
    var _toRefs = vue.toRefs(props2), columns = _toRefs.columns, columnController = _toRefs.columnController, displayColumns = _toRefs.displayColumns, columnControllerVisible = _toRefs.columnControllerVisible;
    var dialogInstance = vue.ref(null);
    var renderTNodeJSX3 = useTNodeJSX();
    var enabledColKeys = vue.computed(function() {
      var _columnController$val;
      var arr = (((_columnController$val = columnController.value) === null || _columnController$val === void 0 ? void 0 : _columnController$val.fields) || _toConsumableArray(getColumnKeys(columns.value))).filter(function(v) {
        return v;
      });
      return new Set(arr);
    });
    var keys2 = _toConsumableArray(getColumnKeys(columns.value));
    var _useDefaultValue = useDefaultValue(displayColumns, props2.defaultDisplayColumns || keys2, props2.onDisplayColumnsChange, "displayColumns"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tDisplayColumns = _useDefaultValue2[0], setTDisplayColumns = _useDefaultValue2[1];
    var columnCheckboxKeys = vue.ref(displayColumns.value || props2.defaultDisplayColumns || keys2);
    var checkboxGroupList = vue.computed(function() {
      var _columnController$val2;
      if ((_columnController$val2 = columnController.value) !== null && _columnController$val2 !== void 0 && (_columnController$val2 = _columnController$val2.groupColumns) !== null && _columnController$val2 !== void 0 && _columnController$val2.length) {
        return getCheckboxGroupOptions(columns.value);
      }
      var oneItem = {
        label: globalConfig.value.selectAllText,
        options: getCheckboxOptions(columns.value)
      };
      return [oneItem];
    });
    vue.watch([displayColumns], function(_ref) {
      var _ref2 = _slicedToArray(_ref, 1), val = _ref2[0];
      columnCheckboxKeys.value = val || props2.defaultDisplayColumns || keys2;
    });
    function getOneColumnItem(column, i) {
      return {
        label: function label() {
          return renderTitle(context.slots, column, i);
        },
        value: column.colKey,
        disabled: !enabledColKeys.value.has(column.colKey)
      };
    }
    function getCheckboxGroupOptions(columns2) {
      var _columnController$val3;
      var groupColumns = (_columnController$val3 = columnController.value) === null || _columnController$val3 === void 0 ? void 0 : _columnController$val3.groupColumns;
      if (!(groupColumns !== null && groupColumns !== void 0 && groupColumns.length))
        return [];
      var groupList = [];
      var loop = function loop2(columns3) {
        for (var i = 0, len2 = columns3.length; i < len2; i++) {
          var _column$children;
          var column = columns3[i];
          var oneItem = getOneColumnItem(column, i);
          for (var j = 0, len1 = groupColumns.length; j < len1; j++) {
            var _groupList$j;
            var groupInfo = groupColumns[j];
            if (!groupInfo.columns.includes(column.colKey))
              continue;
            if ((_groupList$j = groupList[j]) !== null && _groupList$j !== void 0 && (_groupList$j = _groupList$j.options) !== null && _groupList$j !== void 0 && _groupList$j.length) {
              groupList[j].options.push(oneItem);
            } else {
              groupList[j] = _objectSpread$d(_objectSpread$d({}, groupColumns[j]), {}, {
                options: [oneItem]
              });
            }
          }
          if ((_column$children = column.children) !== null && _column$children !== void 0 && _column$children.length) {
            loop2(column.children);
          }
        }
      };
      loop(columns2);
      return groupList;
    }
    function getCheckboxOptions(columns2) {
      var _columnController$val4;
      var arr = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
      if ((_columnController$val4 = columnController.value) !== null && _columnController$val4 !== void 0 && (_columnController$val4 = _columnController$val4.groupColumns) !== null && _columnController$val4 !== void 0 && _columnController$val4.length)
        return [];
      for (var i = 0, len2 = columns2.length; i < len2; i++) {
        var _item$children;
        var item = columns2[i];
        if (item.colKey) {
          arr.push(getOneColumnItem(item, i));
        }
        if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
          getCheckboxOptions(item.children, arr);
        }
      }
      return arr;
    }
    var handleCheckChange = function handleCheckChange2(val, ctx) {
      var _props$onColumnChange;
      columnCheckboxKeys.value = val;
      var params = {
        columns: val,
        type: ctx.type,
        currentColumn: getCurrentRowByKey(columns.value, String(ctx.current)),
        e: ctx.e
      };
      (_props$onColumnChange = props2.onColumnChange) === null || _props$onColumnChange === void 0 || _props$onColumnChange.call(props2, params);
    };
    var handleToggleColumnController = function handleToggleColumnController2() {
      var _columnController$val8;
      if (dialogInstance.value) {
        dialogInstance.value.show();
        return;
      }
      dialogInstance.value = DialogPlugin.confirm(_objectSpread$d({
        header: globalConfig.value.columnConfigTitleText,
        body: function body() {
          var _columnController$val5;
          var widthMode = ((_columnController$val5 = columnController.value) === null || _columnController$val5 === void 0 ? void 0 : _columnController$val5.displayType) === "fixed-width" ? "fixed" : "auto";
          var _ref3 = columnController.value || {}, columnControllerTopContent = _ref3.columnControllerTopContent, columnControllerBottomContent = _ref3.columnControllerBottomContent;
          var defaultNode = vue.createVNode("div", {
            "class": ["".concat(classPrefix.value, "-table__column-controller"), "".concat(classPrefix.value, "-table__column-controller--").concat(widthMode)]
          }, [vue.createVNode("div", {
            "class": "".concat(classPrefix.value, "-table__column-controller-body")
          }, [isFunction_1(columnControllerTopContent) ? columnControllerTopContent(vue.h) : renderTNodeJSX3("columnControllerTopContent"), globalConfig.value.columnConfigDescriptionText && vue.createVNode("p", {
            "class": "".concat(classPrefix.value, "-table__column-controller-desc")
          }, [globalConfig.value.columnConfigDescriptionText]), checkboxGroupList.value.map(function(group, index2) {
            var _columnController$val6, _columnController$val7;
            var uniqueKey = (_columnController$val6 = columnController.value) !== null && _columnController$val6 !== void 0 && (_columnController$val6 = _columnController$val6.groupColumns) !== null && _columnController$val6 !== void 0 && _columnController$val6.length ? String(group.value || index2) : void 0;
            return vue.createVNode(ColumnCheckboxGroup, {
              "key": group.value || index2,
              "uniqueKey": uniqueKey,
              "value": columnCheckboxKeys.value,
              "label": group.label,
              "options": group.options,
              "onChange": handleCheckChange,
              "checkboxProps": (_columnController$val7 = columnController.value) === null || _columnController$val7 === void 0 ? void 0 : _columnController$val7.checkboxProps
            }, null);
          }), isFunction_1(columnControllerBottomContent) ? columnControllerBottomContent(vue.h) : renderTNodeJSX3("columnControllerBottomContent")])]);
          return defaultNode;
        },
        confirmBtn: globalConfig.value.confirmText,
        cancelBtn: globalConfig.value.cancelText,
        width: 612,
        onConfirm: function onConfirm() {
          setTDisplayColumns(_toConsumableArray(columnCheckboxKeys.value));
          if (columnControllerVisible.value === void 0) {
            dialogInstance.value.hide();
          } else {
            var _props$onColumnContro;
            (_props$onColumnContro = props2.onColumnControllerVisibleChange) === null || _props$onColumnContro === void 0 || _props$onColumnContro.call(props2, false, {
              trigger: "cancel"
            });
            context.emit("update:columnControllerVisible", false);
          }
        },
        onClose: function onClose() {
          if (columnControllerVisible.value === void 0) {
            dialogInstance.value.hide();
          } else {
            var _props$onColumnContro2;
            (_props$onColumnContro2 = props2.onColumnControllerVisibleChange) === null || _props$onColumnContro2 === void 0 || _props$onColumnContro2.call(props2, false, {
              trigger: "confirm"
            });
            context.emit("update:columnControllerVisible", false);
          }
        }
      }, ((_columnController$val8 = columnController.value) === null || _columnController$val8 === void 0 ? void 0 : _columnController$val8.dialogProps) || {}));
    };
    vue.watch([columnControllerVisible], function(_ref4) {
      var _ref5 = _slicedToArray(_ref4, 1), visible = _ref5[0];
      if (visible === void 0)
        return;
      if (dialogInstance.value) {
        visible ? dialogInstance.value.show() : dialogInstance.value.hide();
      } else {
        visible && handleToggleColumnController();
      }
    }, {
      immediate: true
    });
    var renderColumnController = function renderColumnController2() {
      var _props$columnControll;
      var isColumnController = !!(columnController.value && Object.keys(columnController.value).length);
      var placement = isColumnController ? columnController.value.placement || "top-right" : "";
      if (isColumnController && columnController.value.hideTriggerButton)
        return null;
      var classes = ["".concat(classPrefix.value, "-table__column-controller-trigger"), _defineProperty$2({}, "".concat(classPrefix.value, "-align-").concat(placement), !!placement)];
      return vue.createVNode("div", {
        "class": classes
      }, [vue.createVNode(Button, vue.mergeProps({
        "theme": "default",
        "variant": "outline",
        "onClick": handleToggleColumnController,
        "content": globalConfig.value.columnConfigButtonText
      }, (_props$columnControll = props2.columnController) === null || _props$columnControll === void 0 ? void 0 : _props$columnControll.buttonProps), {
        icon: function icon() {
          return vue.createVNode(SettingIcon$1, null, null);
        }
      })]);
    };
    return {
      tDisplayColumns,
      columnCheckboxKeys,
      renderColumnController
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useRowExpand(props2, context) {
    var _toRefs = vue.toRefs(props2), expandedRowKeys = _toRefs.expandedRowKeys;
    var renderTNode = useTNodeJSX();
    var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
    var _useGlobalIcon = useGlobalIcon({
      ChevronRightCircleIcon
    }), ChevronRightCircleIcon$1 = _useGlobalIcon.ChevronRightCircleIcon;
    var _useClassName = useClassName(), tableExpandClasses = _useClassName.tableExpandClasses, positiveRotate90 = _useClassName.positiveRotate90, tableFullRowClasses = _useClassName.tableFullRowClasses;
    var _useDefaultValue = useDefaultValue(expandedRowKeys, props2.defaultExpandedRowKeys || [], props2.onExpandChange, "expandedRowKeys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tExpandedRowKeys = _useDefaultValue2[0], setTExpandedRowKeys = _useDefaultValue2[1];
    var showExpandedRow = vue.computed(function() {
      return Boolean(props2.expandedRow || context.slots.expandedRow || context.slots["expanded-row"]);
    });
    var showExpandIconColumn = vue.computed(function() {
      return props2.expandIcon !== false && showExpandedRow.value;
    });
    var isFirstColumnFixed = vue.computed(function() {
      var _props$columns;
      return ((_props$columns = props2.columns) === null || _props$columns === void 0 || (_props$columns = _props$columns[0]) === null || _props$columns === void 0 ? void 0 : _props$columns.fixed) === "left";
    });
    var onToggleExpand = function onToggleExpand2(e, row) {
      props2.expandOnRowClick && e.stopPropagation();
      var currentId = get_1(row, props2.rowKey || "id");
      var index2 = tExpandedRowKeys.value.indexOf(currentId);
      var newKeys = _toConsumableArray(tExpandedRowKeys.value);
      index2 !== -1 ? newKeys.splice(index2, 1) : newKeys.push(currentId);
      setTExpandedRowKeys(newKeys, {
        expandedRowData: props2.data.filter(function(t2) {
          return newKeys.includes(get_1(t2, props2.rowKey || "id"));
        }),
        currentRowData: row
      });
    };
    var renderExpandIcon = function renderExpandIcon2(_, p) {
      var row = p.row, rowIndex = p.rowIndex;
      var currentId = get_1(row, props2.rowKey || "id");
      var expanded = tExpandedRowKeys.value.includes(currentId);
      var icon = renderTNode("expandIcon", {
        defaultNode: t(globalConfig.value.expandIcon) || vue.createVNode(ChevronRightCircleIcon$1, null, null),
        params: {
          row,
          index: rowIndex
        }
      });
      if (!icon)
        return null;
      var classes = [tableExpandClasses.iconBox, tableExpandClasses[expanded ? "expanded" : "collapsed"], _defineProperty$2({}, positiveRotate90, expanded)];
      return vue.createVNode("span", {
        "class": classes,
        "onClick": function onClick(e) {
          return onToggleExpand(e, row);
        }
      }, [icon]);
    };
    var getExpandColumn = function getExpandColumn2() {
      var expandCol = {
        colKey: "__EXPAND_ROW_ICON_COLUMN__",
        width: 46,
        className: tableExpandClasses.iconCell,
        fixed: isFirstColumnFixed.value ? "left" : void 0,
        cell: renderExpandIcon,
        stopPropagation: true
      };
      return expandCol;
    };
    var renderExpandedRow = function renderExpandedRow2(p) {
      var rowId = get_1(p.row, props2.rowKey || "id");
      if (!tExpandedRowKeys.value || !tExpandedRowKeys.value.includes(rowId))
        return null;
      var isFixedLeft = p.isWidthOverflow && props2.columns.find(function(item) {
        return item.fixed === "left";
      });
      return vue.createVNode("tr", {
        "key": "expand_".concat(rowId),
        "class": [tableExpandClasses.row, _defineProperty$2({}, tableFullRowClasses.base, isFixedLeft)]
      }, [vue.createVNode("td", {
        "colspan": p.columns.length
      }, [vue.createVNode("div", {
        "class": [tableExpandClasses.rowInner, _defineProperty$2({}, tableFullRowClasses.innerFullRow, isFixedLeft)],
        "style": isFixedLeft ? {
          width: "".concat(p.tableWidth, "px")
        } : {}
      }, [vue.createVNode("div", {
        "class": tableFullRowClasses.innerFullElement
      }, [renderTNode("expandedRow", {
        params: p
      })])])])]);
    };
    var onInnerExpandRowClick = function onInnerExpandRowClick2(p) {
      onToggleExpand(p.e, p.row);
    };
    return {
      showExpandedRow,
      showExpandIconColumn,
      getExpandColumn,
      renderExpandedRow,
      onInnerExpandRowClick
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function isRowSelectedDisabled(selectColumn, row, rowIndex) {
    if (!selectColumn)
      return false;
    var disabled = isFunction_1(selectColumn.disabled) ? selectColumn.disabled({
      row,
      rowIndex
    }) : selectColumn.disabled;
    if (selectColumn.checkProps) {
      if (isFunction_1(selectColumn.checkProps)) {
        disabled = disabled || selectColumn.checkProps({
          row,
          rowIndex
        }).disabled;
      } else if (selectColumn.checkProps === "object") {
        disabled = disabled || selectColumn.checkProps.disabled;
      }
    }
    return !!disabled;
  }
  function getColumnsResetValue(columns) {
    var resetValue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
    for (var i = 0, len2 = columns.length; i < len2; i++) {
      var _col$children;
      var col = columns[i];
      if (col.filter && "resetValue" in col.filter) {
        resetValue[col.colKey] = col.filter.resetValue;
      }
      if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
        getColumnsResetValue(col.children, resetValue);
      }
    }
    return resetValue;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$d(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$c(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$d(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useRowSelect(props2, tableSelectedClasses) {
    var _toRefs = vue.toRefs(props2), selectedRowKeys = _toRefs.selectedRowKeys, columns = _toRefs.columns, rowKey = _toRefs.rowKey, data2 = _toRefs.data, pagination = _toRefs.pagination, reserveSelectedRowOnPaginate = _toRefs.reserveSelectedRowOnPaginate;
    var currentPaginateData = vue.ref(data2.value);
    var selectedRowClassNames = vue.ref();
    var _useDefaultValue = useDefaultValue(selectedRowKeys, props2.defaultSelectedRowKeys || [], props2.onSelectChange, "selectedRowKeys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tSelectedRowKeys = _useDefaultValue2[0], setTSelectedRowKeys = _useDefaultValue2[1];
    var selectedRowDataMap = vue.ref(/* @__PURE__ */ new Map());
    var selectColumn = vue.computed(function() {
      return props2.columns.find(function(_ref) {
        var type = _ref.type;
        return ["multiple", "single"].includes(type);
      });
    });
    var canSelectedRows = vue.computed(function() {
      var currentData = reserveSelectedRowOnPaginate.value ? data2.value : currentPaginateData.value;
      return currentData.filter(function(row, rowIndex) {
        return !isDisabled(row, rowIndex);
      });
    });
    var intersectionKeys = vue.computed(function() {
      return intersection_1(tSelectedRowKeys.value, canSelectedRows.value.map(function(t) {
        return get_1(t, props2.rowKey || "id");
      }));
    });
    var allowUncheck = vue.computed(function() {
      var singleSelectCol = columns.value.find(function(col) {
        return col.type === "single";
      });
      if (!singleSelectCol || !singleSelectCol.checkProps || !("allowUncheck" in singleSelectCol.checkProps))
        return false;
      return singleSelectCol.checkProps.allowUncheck;
    });
    vue.watch([data2, pagination, reserveSelectedRowOnPaginate], function() {
      if (reserveSelectedRowOnPaginate.value)
        return;
      var _pagination$value = pagination.value, pageSize = _pagination$value.pageSize, current = _pagination$value.current, defaultPageSize = _pagination$value.defaultPageSize, defaultCurrent = _pagination$value.defaultCurrent;
      var tPageSize = pageSize || defaultPageSize;
      var tCurrent = current || defaultCurrent;
      currentPaginateData.value = data2.value.slice(tPageSize * (tCurrent - 1), tPageSize * tCurrent);
    }, {
      immediate: true
    });
    vue.watch([data2, columns, tSelectedRowKeys, selectColumn, rowKey], function() {
      var _selectColumn$value;
      var disabledRowFunc = function disabledRowFunc2(p) {
        return selectColumn.value.disabled(p) ? tableSelectedClasses.disabled : "";
      };
      var disabledRowClass = (_selectColumn$value = selectColumn.value) !== null && _selectColumn$value !== void 0 && _selectColumn$value.disabled ? disabledRowFunc : void 0;
      var selected = new Set(tSelectedRowKeys.value);
      var selectedRowClassFunc = function selectedRowClassFunc2(_ref2) {
        var row = _ref2.row;
        var rowId = get_1(row, props2.rowKey || "id");
        return selected.has(rowId) ? tableSelectedClasses.selected : "";
      };
      var selectedRowClass = selected.size ? selectedRowClassFunc : void 0;
      selectedRowClassNames.value = [disabledRowClass, selectedRowClass];
    }, {
      immediate: true
    });
    function isDisabled(row, rowIndex) {
      return isRowSelectedDisabled(selectColumn.value, row, rowIndex);
    }
    function getSelectedHeader() {
      return function() {
        var isIndeterminate = intersectionKeys.value.length > 0 && intersectionKeys.value.length < canSelectedRows.value.length;
        var isChecked = intersectionKeys.value.length !== 0 && canSelectedRows.value.length !== 0 && intersectionKeys.value.length === canSelectedRows.value.length;
        return vue.createVNode(Checkbox, {
          "checked": isChecked,
          "indeterminate": isIndeterminate,
          "disabled": !canSelectedRows.value.length,
          "onChange": handleSelectAll
        }, null);
      };
    }
    function getRowSelectDisabledData(p) {
      var col = p.col, row = p.row, rowIndex = p.rowIndex;
      var disabled = isFunction_1(col.disabled) ? col.disabled({
        row,
        rowIndex
      }) : col.disabled;
      var checkProps = isFunction_1(col.checkProps) ? col.checkProps({
        row,
        rowIndex
      }) : col.checkProps;
      return {
        disabled: disabled || (checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled),
        checkProps
      };
    }
    function renderSelectCell(p) {
      var column = p.col, _p$row = p.row, row = _p$row === void 0 ? {} : _p$row;
      var checked = tSelectedRowKeys.value.includes(get_1(row, props2.rowKey || "id"));
      var _getRowSelectDisabled = getRowSelectDisabledData(p), disabled = _getRowSelectDisabled.disabled, checkProps = _getRowSelectDisabled.checkProps;
      var selectBoxProps = _objectSpread$c(_objectSpread$c({
        checked,
        disabled
      }, checkProps), {}, {
        onClick: function onClick(e) {
          if (_typeof$2(e) === "object" && "e" in e) {
            var _e$e;
            (_e$e = e.e) === null || _e$e === void 0 || _e$e.stopPropagation();
          } else {
            e === null || e === void 0 || e.stopPropagation();
          }
        },
        onChange: function onChange() {
          return handleSelectChange(row);
        }
      });
      if (column.type === "single")
        return vue.createVNode(Radio, selectBoxProps, null);
      if (column.type === "multiple") {
        var _props$indeterminateS;
        var isIndeterminate = (_props$indeterminateS = props2.indeterminateSelectedRowKeys) !== null && _props$indeterminateS !== void 0 && _props$indeterminateS.length ? props2.indeterminateSelectedRowKeys.includes(get_1(row, props2.rowKey)) : false;
        return vue.createVNode(Checkbox, vue.mergeProps({
          "indeterminate": isIndeterminate
        }, selectBoxProps), null);
      }
      return null;
    }
    function handleSelectChange() {
      var row = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
      var selectedRowKeys2 = _toConsumableArray(tSelectedRowKeys.value);
      var reRowKey = props2.rowKey || "id";
      var id = get_1(row, reRowKey);
      var selectedRowIndex = selectedRowKeys2.indexOf(id);
      var isExisted = selectedRowIndex !== -1;
      if (selectColumn.value.type === "multiple") {
        isExisted ? selectedRowKeys2.splice(selectedRowIndex, 1) : selectedRowKeys2.push(id);
      } else if (selectColumn.value.type === "single") {
        selectedRowKeys2 = isExisted && allowUncheck.value ? [] : [id];
      } else {
        log.warn("Table", "`column.type` must be one of `multiple` and `single`");
        return;
      }
      setTSelectedRowKeys(selectedRowKeys2, {
        selectedRowData: selectedRowKeys2.map(function(t) {
          return selectedRowDataMap.value.get(t);
        }),
        currentRowKey: id,
        currentRowData: row,
        type: isExisted ? "uncheck" : "check"
      });
    }
    function handleSelectAll(checked) {
      var _selectedRowKeys$valu;
      var reRowKey = props2.rowKey || "id";
      var canSelectedRowKeys = canSelectedRows.value.map(function(record) {
        return get_1(record, reRowKey);
      });
      var disabledSelectedRowKeys = ((_selectedRowKeys$valu = selectedRowKeys.value) === null || _selectedRowKeys$valu === void 0 ? void 0 : _selectedRowKeys$valu.filter(function(id) {
        return !canSelectedRowKeys.includes(id);
      })) || [];
      var allIds = checked ? [].concat(_toConsumableArray(disabledSelectedRowKeys), _toConsumableArray(canSelectedRowKeys)) : _toConsumableArray(disabledSelectedRowKeys);
      setTSelectedRowKeys(allIds, {
        selectedRowData: checked ? allIds.map(function(t) {
          return selectedRowDataMap.value.get(t);
        }) : [],
        type: checked ? "check" : "uncheck",
        currentRowKey: "CHECK_ALL_BOX"
      });
    }
    function formatToRowSelectColumn(col) {
      var isSelection = ["multiple", "single"].includes(col.type);
      if (!isSelection)
        return col;
      return _objectSpread$c(_objectSpread$c({}, col), {}, {
        width: col.width || 64,
        className: [tableSelectedClasses.checkCell, col.className],
        cell: function cell(_, p) {
          return renderSelectCell(p);
        },
        title: col.type === "multiple" ? getSelectedHeader() : col.title
      });
    }
    var onInnerSelectRowClick = function onInnerSelectRowClick2(_ref3) {
      var row = _ref3.row, index2 = _ref3.index;
      var selectedColIndex = props2.columns.findIndex(function(item) {
        return item.colKey === "row-select";
      });
      if (selectedColIndex === -1)
        return;
      var _getRowSelectDisabled2 = getRowSelectDisabledData({
        row,
        rowIndex: index2,
        col: props2.columns[selectedColIndex],
        colIndex: selectedColIndex
      }), disabled = _getRowSelectDisabled2.disabled;
      if (disabled)
        return;
      handleSelectChange(row);
    };
    vue.watch([data2, rowKey], function() {
      for (var i = 0, len2 = data2.value.length; i < len2; i++) {
        selectedRowDataMap.value.set(get_1(data2.value[i], rowKey.value || "id"), data2.value[i]);
      }
    }, {
      immediate: true
    });
    var showRowSelect = vue.computed(function() {
      return !!selectColumn.value;
    });
    var clearAllSelectedRowKeys = function clearAllSelectedRowKeys2() {
      setTSelectedRowKeys([], {
        selectedRowData: [],
        currentRowKey: void 0,
        currentRowData: void 0,
        type: "uncheck"
      });
    };
    var handleRowSelectWithAreaSelection = function handleRowSelectWithAreaSelection2(_ref4) {
      var _selectColumn$value2;
      var activeRowList = _ref4.activeRowList, action = _ref4.action;
      if (!showRowSelect.value)
        return;
      if (action === "clear") {
        clearAllSelectedRowKeys();
        return;
      }
      if (((_selectColumn$value2 = selectColumn.value) === null || _selectColumn$value2 === void 0 ? void 0 : _selectColumn$value2.type) === "single") {
        if (action === "space-one-selection") {
          handleSelectChange(activeRowList[0].row);
        }
        return;
      }
      var validAreaSelection = activeRowList.filter(function(_ref5) {
        var row = _ref5.row, rowIndex = _ref5.rowIndex;
        return !getRowSelectDisabledData({
          row,
          rowIndex,
          col: selectColumn.value,
          colIndex: void 0
        }).disabled;
      });
      if (!validAreaSelection.length)
        return;
      var areaSelectionKeys = validAreaSelection.map(function(_ref6) {
        var row = _ref6.row;
        return get_1(row, props2.rowKey);
      });
      var intersectionKeys2 = intersection_1(tSelectedRowKeys.value, areaSelectionKeys);
      var toCheck = intersectionKeys2.length !== areaSelectionKeys.length;
      var clearedKeys = tSelectedRowKeys.value.filter(function(key2) {
        return !areaSelectionKeys.includes(key2);
      });
      var newSelectedRowKeys = toCheck ? _toConsumableArray(new Set(tSelectedRowKeys.value.concat(areaSelectionKeys))) : clearedKeys;
      var currentRowData = action === "space-one-selection" ? activeRowList[0].row : void 0;
      setTSelectedRowKeys(newSelectedRowKeys, {
        selectedRowData: activeRowList,
        currentRowKey: get_1(currentRowData, props2.rowKey),
        currentRowData,
        type: toCheck ? "check" : "uncheck"
      });
    };
    return {
      selectColumn,
      showRowSelect,
      selectedRowClassNames,
      currentPaginateData,
      setTSelectedRowKeys,
      formatToRowSelectColumn,
      onInnerSelectRowClick,
      handleRowSelectWithAreaSelection
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _isSlot$1(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var SorterButton = vue.defineComponent({
    name: "TSorterButton",
    props: {
      sortType: {
        type: String,
        "default": "all"
      },
      sortOrder: {
        type: String,
        "default": function _default14() {
          return "";
        }
      },
      locale: Object,
      sortIcon: Function,
      tooltipProps: Object,
      hideSortTips: Boolean
    },
    emits: ["sort-icon-click"],
    setup: function setup43(props2, context) {
      var _useClassName = useClassName(), tableSortClasses = _useClassName.tableSortClasses, negativeRotate180 = _useClassName.negativeRotate180;
      var renderTNode = useTNodeDefault();
      var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
      var _useGlobalIcon = useGlobalIcon({
        ChevronDownIcon
      }), ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon;
      var allowSortTypes = vue.computed(function() {
        return props2.sortType === "all" ? ["asc", "desc"] : [props2.sortType];
      });
      var onSortIconClick = function onSortIconClick2(e, direction) {
        context.emit("sort-icon-click", e, {
          descending: direction === "desc"
        });
      };
      var getSortIcon = function getSortIcon2(direction, activeClass) {
        var defaultIcon = t(globalConfig.value.sortIcon) || vue.createVNode(ChevronDownIcon$1, null, null);
        var icon = renderTNode("sortIcon", defaultIcon);
        var sortClassName = [activeClass, tableSortClasses.sortIcon, tableSortClasses.iconDirection[direction], _defineProperty$2({}, negativeRotate180, direction === "asc")];
        return vue.createVNode("span", {
          "class": sortClassName,
          "onClick": function onClick(e) {
            return onSortIconClick(e, direction);
          }
        }, [icon]);
      };
      return {
        t,
        globalConfig,
        tableSortClasses,
        negativeRotate180,
        allowSortTypes,
        getSortIcon
      };
    },
    render: function render14() {
      var _this = this;
      var tableSortClasses = this.tableSortClasses;
      var classes = [tableSortClasses.trigger, _defineProperty$2({}, tableSortClasses.doubleIcon, this.allowSortTypes.length > 1)];
      var tooltips = {
        asc: this.globalConfig.sortAscendingOperationText,
        desc: this.globalConfig.sortDescendingOperationText
      };
      var sortButton = this.allowSortTypes.map(function(direction) {
        var _slot;
        var _this$hideSortTips;
        var activeClass = direction === _this.sortOrder ? tableSortClasses.iconActive : tableSortClasses.iconDefault;
        var cancelTips = _this.globalConfig.sortCancelOperationText;
        var tips = direction === _this.sortOrder ? cancelTips : tooltips[direction];
        if ((_this$hideSortTips = _this.hideSortTips) !== null && _this$hideSortTips !== void 0 ? _this$hideSortTips : _this.globalConfig.hideSortTips)
          return _this.getSortIcon(direction, activeClass);
        return vue.createVNode(Tooltip, vue.mergeProps({
          "content": tips,
          "placement": "right",
          "showArrow": false,
          "class": _this.tableSortClasses.iconDirection[direction]
        }, _this.tooltipProps), _isSlot$1(_slot = _this.getSortIcon(direction, activeClass)) ? _slot : {
          "default": function _default16() {
            return [_slot];
          }
        });
      });
      return vue.createVNode("div", {
        "class": classes
      }, [sortButton]);
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$c(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$b(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$c(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useSorter(props2, _ref) {
    var slots = _ref.slots;
    var _toRefs = vue.toRefs(props2), sort2 = _toRefs.sort, data2 = _toRefs.data;
    var originalData = vue.ref();
    var _useDefaultValue = useDefaultValue(sort2, props2.defaultSort, props2.onSortChange, "sort"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tSortInfo = _useDefaultValue2[0], setTSortInfo = _useDefaultValue2[1];
    var _useDefaultValue3 = useDefaultValue(data2, [], props2.onDataChange, "data"), _useDefaultValue4 = _slicedToArray(_useDefaultValue3, 2), tData = _useDefaultValue4[0], setTData = _useDefaultValue4[1];
    var sorterFuncMap = vue.computed(function() {
      return getSorterFuncMap(props2.columns);
    });
    var innerSort = vue.ref();
    var sortArray = vue.computed(function() {
      var sort22 = tSortInfo.value;
      if (!sort22)
        return [];
      return isArray_1(sort22) ? sort22 : [sort22];
    });
    var sortMap = vue.computed(function() {
      var sortMap2 = {};
      sortArray.value.forEach(function(info3, index2) {
        var sortBy = info3.sortBy;
        sortMap2[sortBy] = _objectSpread$b({
          index: index2
        }, info3);
      });
      return sortMap2;
    });
    function getSorterFuncMap(columns) {
      var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
      for (var i = 0, len2 = columns.length; i < len2; i++) {
        var _col$children;
        var col = columns[i];
        if (isFunction_1(col.sorter)) {
          map[col.colKey] = col.sorter;
        }
        if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
          getSorterFuncMap(col.children, map);
        }
      }
      return map;
    }
    function handleDataSort(sortInfo) {
      var sort22 = sortInfo;
      if (!Object.keys(sorterFuncMap.value).length)
        return;
      if (!originalData.value) {
        originalData.value = tData.value;
      }
      var isEmptyArraySort = !sort22 || sort22 instanceof Array && !sort22.length;
      var isEmptyObjectSort = !(sort22 instanceof Array) && !(sort22 !== null && sort22 !== void 0 && sort22.sortBy);
      if (isEmptyArraySort || isEmptyObjectSort) {
        setTData(originalData.value, {
          trigger: "sort"
        });
        return originalData.value;
      }
      var formatedSort = sort22 instanceof Array ? sort22 : [sort22];
      var newData = tData.value.slice().sort(function(a, b) {
        var sortResult = 0;
        for (var i = 0, len2 = formatedSort.length; i < len2; i++) {
          var item = formatedSort[i];
          var sortFunc = sorterFuncMap.value[item.sortBy];
          if (sortResult === 0 && sortFunc) {
            sortResult = item.descending ? sortFunc(b, a) : sortFunc(a, b);
          } else {
            break;
          }
        }
        return sortResult;
      });
      if (JSON.stringify(newData) === JSON.stringify(tData.value))
        return;
      setTData(newData, {
        trigger: "sort"
      });
      return newData;
    }
    function handleSortHeaderClick(col, p) {
      var _props$onChange;
      var sortInfo;
      if (props2.multipleSort) {
        sortInfo = getMultipleNextSort(col, p);
      } else {
        var sort22 = tSortInfo.value instanceof Array ? tSortInfo.value[0] : tSortInfo.value;
        sortInfo = getSingleNextSort(col, sort22, p);
      }
      var newData = handleDataSort(sortInfo);
      var currentData = newData || tData.value;
      var currentDataSource = currentData;
      setTSortInfo(sortInfo, {
        currentDataSource,
        col
      });
      (_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, {
        sorter: sortInfo
      }, {
        currentData,
        trigger: "sorter"
      });
      innerSort.value = sortInfo;
    }
    function getSortOrder(descending) {
      if (descending === void 0)
        return;
      return descending ? "desc" : "asc";
    }
    function getSingleNextSort(col, sortInfo, p) {
      if (sortInfo && sortInfo.sortBy === col.colKey && sortInfo.descending === p.descending) {
        return void 0;
      }
      return {
        sortBy: col.colKey,
        descending: p.descending
      };
    }
    function getMultipleNextSort(col, p) {
      if (!Array.isArray(tSortInfo.value)) {
        tSortInfo.value = tSortInfo.value ? [tSortInfo.value] : [];
      }
      var sort22 = tSortInfo.value;
      var colKey = col.colKey;
      var result = _toConsumableArray(sort22);
      for (var i = 0, len2 = sort22.length; i < len2; i++) {
        if (sort22[i].sortBy === colKey) {
          var next = getSingleNextSort(col, sort22[i], p);
          next ? result[i] = next : result.splice(i, 1);
          return result;
        }
      }
      result.push({
        sortBy: colKey,
        descending: p.descending
      });
      return result;
    }
    function renderSortIcon(_ref2) {
      var _sortMap$value$col$co;
      var col = _ref2.col;
      if (!col.sorter)
        return null;
      var sorterButtonsProps = {
        sortType: col.sortType,
        sortOrder: getSortOrder((_sortMap$value$col$co = sortMap.value[col.colKey]) === null || _sortMap$value$col$co === void 0 ? void 0 : _sortMap$value$col$co.descending),
        sortIcon: props2.sortIcon,
        hideSortTips: props2.hideSortTips,
        locale: props2.locale
      };
      return vue.createVNode(SorterButton, vue.mergeProps(sorterButtonsProps, {
        "onSortIconClick": function onSortIconClick(_, p) {
          return handleSortHeaderClick(col, p);
        }
      }), {
        sortIcon: slots.sortIcon
      });
    }
    var isSortInfoSame = function isSortInfoSame2(a, b) {
      var tmpSortInfo = isArray_1(a) ? a : [a];
      var tmpInnerSortInfo = isArray_1(b) ? b : [b];
      if (tmpSortInfo.length && !b)
        return false;
      var _loop = function _loop2() {
        var item = tmpSortInfo[i];
        var result = tmpInnerSortInfo.find(function(t) {
          return t.sortBy === item.sortBy;
        });
        if (!result)
          return {
            v: false
          };
        return {
          v: item.descending === result.descending
        };
      }, _ret;
      for (var i = 0, len2 = tmpSortInfo.length; i < len2; i++) {
        _ret = _loop();
        if (_ret)
          return _ret.v;
      }
    };
    vue.watch(function() {
      return [tSortInfo, props2.data];
    }, function() {
      if (!tSortInfo.value || !Object.keys(tSortInfo.value).length || !tData.value.length)
        return;
      if (!isSortInfoSame(tSortInfo.value, innerSort.value)) {
        handleDataSort(tSortInfo.value);
      }
    }, {
      immediate: true
    });
    return {
      renderSortIcon
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$b(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$a(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$b(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var TableFilterController = vue.defineComponent({
    name: "TableFilterController",
    props: {
      locale: Object,
      column: Object,
      colIndex: Number,
      tFilterValue: Object,
      innerFilterValue: Object,
      tableFilterClasses: Object,
      isFocusClass: String,
      primaryTableElement: {},
      popupProps: Object,
      attach: [String, Function],
      onVisibleChange: Function
    },
    emits: ["inner-filter-change", "reset", "confirm"],
    setup: function setup44(props2, context) {
      var triggerElementRef = vue.ref(null);
      var renderTNode = useTNodeDefault();
      var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
      var _useGlobalIcon = useGlobalIcon({
        FilterIcon
      }), FilterIcon$1 = _useGlobalIcon.FilterIcon;
      var filterPopupVisible = vue.ref(false);
      var onFilterPopupVisibleChange = function onFilterPopupVisibleChange2(visible) {
        var _props$onVisibleChang;
        filterPopupVisible.value = visible;
        (_props$onVisibleChang = props2.onVisibleChange) === null || _props$onVisibleChang === void 0 || _props$onVisibleChang.call(props2, visible);
      };
      var renderComponent = function renderComponent2(column, filterComponentProps, component) {
        if (!component)
          return null;
        var isVueComponent = !!component.setup;
        if (isFunction_1(column.filter.component) && !isVueComponent) {
          return column.filter.component(function(v, b) {
            var tProps = _typeof$2(b) === "object" && "attrs" in b ? b.attrs : {};
            return vue.h(v, {
              props: _objectSpread$a(_objectSpread$a({}, filterComponentProps), tProps)
            });
          });
        }
        var filter3 = column.filter || {};
        return vue.createVNode(component, vue.mergeProps({
          "class": filter3.classNames,
          "style": filter3.style
        }, filter3.attrs, filterComponentProps), null);
      };
      var getFilterContent = function getFilterContent2(column) {
        var _column$filter, _column$filter2;
        var types = ["single", "multiple", "input"];
        if (column.type && !types.includes(column.filter.type)) {
          console.error("TDesign Table Error: column.filter.type must be the following: ".concat(JSON.stringify(types)));
          return;
        }
        var _props$innerFilterVal = props2.innerFilterValue, innerFilterValue = _props$innerFilterVal === void 0 ? {} : _props$innerFilterVal;
        var component = {
          single: RadioGroup,
          multiple: CheckboxGroup,
          input: Input
        }[column.filter.type] || column.filter.component;
        if (!component && !column.filter.component)
          return;
        var filterComponentProps = _objectSpread$a(_objectSpread$a({
          options: ["single", "multiple"].includes(column.filter.type) ? (_column$filter = column.filter) === null || _column$filter === void 0 ? void 0 : _column$filter.list : void 0
        }, ((_column$filter2 = column.filter) === null || _column$filter2 === void 0 ? void 0 : _column$filter2.props) || {}), {}, {
          onChange: function onChange(val, ctx) {
            var _column$filter$props;
            context.emit("inner-filter-change", val, column);
            if ((_column$filter$props = column.filter.props) !== null && _column$filter$props !== void 0 && _column$filter$props.onChange) {
              var _column$filter$props$, _column$filter$props2;
              (_column$filter$props$ = (_column$filter$props2 = column.filter.props).onChange) === null || _column$filter$props$ === void 0 || _column$filter$props$.call(_column$filter$props2, val, ctx);
            }
          }
        });
        if (column.colKey && innerFilterValue && column.colKey in innerFilterValue) {
          filterComponentProps.value = innerFilterValue === null || innerFilterValue === void 0 ? void 0 : innerFilterValue[column.colKey];
        }
        if (column.filter.confirmEvents) {
          column.filter.confirmEvents.forEach(function(event) {
            filterComponentProps[event] = function() {
              context.emit("confirm", column);
              filterPopupVisible.value = false;
            };
          });
        }
        return vue.createVNode("div", {
          "class": props2.tableFilterClasses.contentInner
        }, [renderComponent(column, filterComponentProps, component)]);
      };
      var getBottomButtons = function getBottomButtons2(column) {
        if (!column.filter.showConfirmAndReset)
          return;
        return vue.createVNode("div", {
          "class": props2.tableFilterClasses.bottomButtons
        }, [vue.createVNode(Button, {
          "theme": "default",
          "size": "small",
          "onClick": function onClick() {
            context.emit("reset", column);
            filterPopupVisible.value = false;
          }
        }, {
          "default": function _default16() {
            return [globalConfig.value.resetText];
          }
        }), vue.createVNode(Button, {
          "theme": "primary",
          "size": "small",
          "onClick": function onClick() {
            context.emit("confirm", column);
            filterPopupVisible.value = false;
          }
        }, {
          "default": function _default16() {
            return [globalConfig.value.confirmText];
          }
        })]);
      };
      var getContent = function getContent2() {
        return vue.createVNode("div", {
          "class": props2.tableFilterClasses.popupContent
        }, [getFilterContent(props2.column), getBottomButtons(props2.column)]);
      };
      return {
        t,
        globalConfig,
        FilterIcon: FilterIcon$1,
        filterPopupVisible,
        triggerElementRef,
        renderTNode,
        getContent,
        onFilterPopupVisibleChange
      };
    },
    render: function render15() {
      var _this$tFilterValue, _this = this;
      var column = this.column, popupProps2 = this.popupProps, FilterIcon2 = this.FilterIcon;
      if (!column.filter || column.filter && !Object.keys(column.filter).length)
        return null;
      var defaultFilterIcon = this.t(this.globalConfig.filterIcon) || vue.createVNode(FilterIcon2, null, null);
      var filterValue = (_this$tFilterValue = this.tFilterValue) === null || _this$tFilterValue === void 0 ? void 0 : _this$tFilterValue[column.colKey];
      var isObjectTrue = _typeof$2(filterValue) === "object" && !isEmpty_1(filterValue);
      var isValueExist = (filterValue || filterValue === false) && _typeof$2(filterValue) !== "object";
      return vue.createVNode(Popup, vue.mergeProps({
        "attach": this.attach || (this.primaryTableElement ? function() {
          return _this.primaryTableElement;
        } : void 0),
        "visible": this.filterPopupVisible,
        "destroyOnClose": true,
        "trigger": "click",
        "placement": "bottom-right",
        "showArrow": true,
        "overlayClassName": this.tableFilterClasses.popup,
        "onVisibleChange": function onVisibleChange(val) {
          return _this.onFilterPopupVisibleChange(val);
        },
        "class": [this.tableFilterClasses.icon, _defineProperty$2({}, this.isFocusClass, isObjectTrue || isValueExist)],
        "content": this.getContent
      }, popupProps2), {
        "default": function _default16() {
          return [vue.createVNode("div", {
            "ref": "triggerElementRef"
          }, [_this.renderTNode("filterIcon", {
            defaultNode: defaultFilterIcon,
            params: {
              col: column,
              colIndex: _this.colIndex
            }
          })])];
        }
      });
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$a(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$9(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$a(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function isFilterValueExist(value) {
    var isArrayTrue = value instanceof Array && value.length;
    var isObject2 = _typeof$2(value) === "object" && !(value instanceof Array);
    var isObjectTrue = isObject2 && Object.keys(value).length;
    return isArrayTrue || isObjectTrue || !["null", "", "undefined"].includes(String(value));
  }
  function filterEmptyData(data2) {
    var newFilterValue = {};
    Object.keys(data2).forEach(function(key2) {
      var item = data2[key2];
      if (isFilterValueExist(item)) {
        newFilterValue[key2] = item;
      }
    });
    return newFilterValue;
  }
  function useFilter(props2, context) {
    var primaryTableRef = vue.ref(null);
    var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
    var renderTNode = useTNodeDefault();
    var _toRefs = vue.toRefs(props2), filterValue = _toRefs.filterValue, columns = _toRefs.columns;
    var _useClassName = useClassName(), tableFilterClasses = _useClassName.tableFilterClasses, isFocusClass = _useClassName.isFocusClass;
    var isTableOverflowHidden = vue.ref();
    var _useDefaultValue = useDefaultValue(filterValue, props2.defaultFilterValue, props2.onFilterChange, "filterValue"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tFilterValue = _useDefaultValue2[0], setTFilterValue = _useDefaultValue2[1];
    var innerFilterValue = vue.ref(tFilterValue.value);
    var hasEmptyCondition = vue.computed(function() {
      var filterEmpty2 = filterEmptyData(tFilterValue.value || {});
      return !tFilterValue.value || !Object.keys(filterEmpty2).length;
    });
    vue.watch([tFilterValue], function(_ref) {
      var _ref2 = _slicedToArray(_ref, 1), val = _ref2[0];
      innerFilterValue.value = val;
    });
    function renderFirstFilterRow() {
      var _props$pagination, _props$data;
      if (hasEmptyCondition.value)
        return null;
      var defaultNode = vue.createVNode("div", {
        "class": tableFilterClasses.result
      }, [vue.createVNode("span", null, [t(globalConfig.value.searchResultText, {
        result: getFilterResultContent(),
        count: ((_props$pagination = props2.pagination) === null || _props$pagination === void 0 ? void 0 : _props$pagination.total) || ((_props$data = props2.data) === null || _props$data === void 0 ? void 0 : _props$data.length)
      })]), vue.createVNode(Button, {
        "theme": "primary",
        "variant": "text",
        "onClick": onResetAll
      }, {
        "default": function _default16() {
          return [globalConfig.value.clearFilterResultButtonText];
        }
      })]);
      var filterContent = renderTNode("filterRow");
      if (props2.filterRow && !filterContent || props2.filterRow === null)
        return null;
      return vue.createVNode("div", {
        "class": tableFilterClasses.inner
      }, [filterContent || defaultNode]);
    }
    function getFilterResultContent() {
      var arr = [];
      var columns2 = [];
      getAllColumns(props2.columns, columns2);
      columns2.filter(function(col) {
        return col.filter;
      }).forEach(function(col, index2) {
        var value = tFilterValue.value[col.colKey];
        if (col.filter.list && !["null"].includes(String(value))) {
          var formattedValue = value instanceof Array ? value : [value];
          var label = [];
          col.filter.list.forEach(function(option2) {
            if (formattedValue.includes(option2.value)) {
              label.push(option2.label);
            }
          });
          value = label.join();
        }
        if (isFilterValueExist(value)) {
          var _col$filter, _col$filter2;
          var _label = isFunction_1((_col$filter = col.filter) === null || _col$filter === void 0 ? void 0 : _col$filter.label) ? col.filter.label(vue.h) : (_col$filter2 = col.filter) === null || _col$filter2 === void 0 ? void 0 : _col$filter2.label;
          var title = renderTitle(context.slots, col, index2);
          arr.push("".concat(_label || title, ":").concat(value));
        }
      });
      return arr.join(";");
    }
    function getAllColumns(col, columns2) {
      col.forEach(function(column) {
        if (column.children) {
          getAllColumns(column.children, columns2);
        }
        columns2.push(column);
      });
    }
    function onInnerFilterChange(val, column) {
      var filterValue2 = _objectSpread$9(_objectSpread$9({}, innerFilterValue.value), {}, _defineProperty$2({}, column.colKey, val));
      innerFilterValue.value = filterValue2;
      if (!column.filter.showConfirmAndReset) {
        emitFilterChange(filterValue2, "filter-change", column);
      }
    }
    function emitFilterChange(filterValue2, trigger, column) {
      var _props$onChange;
      setTFilterValue(filterValue2, {
        col: column,
        trigger
      });
      (_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, {
        filter: filterValue2
      }, {
        trigger: "filter"
      });
    }
    function onReset(column) {
      var _ref3, _column$filter$resetV;
      var filterValue2 = _objectSpread$9(_objectSpread$9({}, tFilterValue.value), {}, _defineProperty$2({}, column.colKey, (_ref3 = (_column$filter$resetV = column.filter.resetValue) !== null && _column$filter$resetV !== void 0 ? _column$filter$resetV : {
        single: "",
        multiple: [],
        input: ""
      }[column.filter.type]) !== null && _ref3 !== void 0 ? _ref3 : ""));
      emitFilterChange(filterValue2, "reset", column);
    }
    function onResetAll() {
      var resetValue = getColumnsResetValue(columns.value);
      emitFilterChange(resetValue, "clear", void 0);
    }
    function onConfirm(column) {
      emitFilterChange(innerFilterValue.value, "confirm", column);
    }
    function renderFilterIcon(_ref4) {
      var _primaryTableRef$valu;
      var col = _ref4.col, colIndex = _ref4.colIndex;
      return vue.createVNode(TableFilterController, {
        "column": col,
        "colIndex": colIndex,
        "filterIcon": props2.filterIcon,
        "tFilterValue": tFilterValue.value,
        "innerFilterValue": innerFilterValue.value,
        "tableFilterClasses": tableFilterClasses,
        "isFocusClass": isFocusClass,
        "popupProps": col.filter.popupProps,
        "attach": props2.attach,
        "locale": props2.locale,
        "onReset": onReset,
        "onConfirm": onConfirm,
        "onInnerFilterChange": onInnerFilterChange,
        "primaryTableElement": (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.$el,
        "onVisibleChange": onPopupVisibleChange
      }, {
        filterIcon: context.slots.filterIcon
      });
    }
    function setFilterPrimaryTableRef(primaryTableElement) {
      primaryTableRef.value = primaryTableElement;
    }
    function onPopupVisibleChange(visible) {
      if (visible && !isTableOverflowHidden.value) {
        isTableOverflowHidden.value = !visible;
      }
    }
    return {
      hasEmptyCondition,
      isTableOverflowHidden,
      renderFilterIcon,
      renderFirstFilterRow,
      setFilterPrimaryTableRef
    };
  }
  /**!
   * Sortable 1.15.0
   * @author	RubaXa   <[email protected]>
   * @author	owenm    <[email protected]>
   * @license MIT
   */
  function ownKeys$9(object, enumerableOnly) {
    var keys2 = Object.keys(object);
    if (Object.getOwnPropertySymbols) {
      var symbols = Object.getOwnPropertySymbols(object);
      if (enumerableOnly) {
        symbols = symbols.filter(function(sym) {
          return Object.getOwnPropertyDescriptor(object, sym).enumerable;
        });
      }
      keys2.push.apply(keys2, symbols);
    }
    return keys2;
  }
  function _objectSpread2(target) {
    for (var i = 1; i < arguments.length; i++) {
      var source = arguments[i] != null ? arguments[i] : {};
      if (i % 2) {
        ownKeys$9(Object(source), true).forEach(function(key2) {
          _defineProperty(target, key2, source[key2]);
        });
      } else if (Object.getOwnPropertyDescriptors) {
        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
      } else {
        ownKeys$9(Object(source)).forEach(function(key2) {
          Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
        });
      }
    }
    return target;
  }
  function _typeof(obj) {
    "@babel/helpers - typeof";
    if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
      _typeof = function(obj2) {
        return typeof obj2;
      };
    } else {
      _typeof = function(obj2) {
        return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
      };
    }
    return _typeof(obj);
  }
  function _defineProperty(obj, key2, value) {
    if (key2 in obj) {
      Object.defineProperty(obj, key2, {
        value,
        enumerable: true,
        configurable: true,
        writable: true
      });
    } else {
      obj[key2] = value;
    }
    return obj;
  }
  function _extends() {
    _extends = Object.assign || function(target) {
      for (var i = 1; i < arguments.length; i++) {
        var source = arguments[i];
        for (var key2 in source) {
          if (Object.prototype.hasOwnProperty.call(source, key2)) {
            target[key2] = source[key2];
          }
        }
      }
      return target;
    };
    return _extends.apply(this, arguments);
  }
  function _objectWithoutPropertiesLoose(source, excluded) {
    if (source == null)
      return {};
    var target = {};
    var sourceKeys = Object.keys(source);
    var key2, i;
    for (i = 0; i < sourceKeys.length; i++) {
      key2 = sourceKeys[i];
      if (excluded.indexOf(key2) >= 0)
        continue;
      target[key2] = source[key2];
    }
    return target;
  }
  function _objectWithoutProperties(source, excluded) {
    if (source == null)
      return {};
    var target = _objectWithoutPropertiesLoose(source, excluded);
    var key2, i;
    if (Object.getOwnPropertySymbols) {
      var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
      for (i = 0; i < sourceSymbolKeys.length; i++) {
        key2 = sourceSymbolKeys[i];
        if (excluded.indexOf(key2) >= 0)
          continue;
        if (!Object.prototype.propertyIsEnumerable.call(source, key2))
          continue;
        target[key2] = source[key2];
      }
    }
    return target;
  }
  var version = "1.15.0";
  function userAgent(pattern2) {
    if (typeof window !== "undefined" && window.navigator) {
      return !!/* @__PURE__ */ navigator.userAgent.match(pattern2);
    }
  }
  var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
  var Edge = userAgent(/Edge/i);
  var FireFox = userAgent(/firefox/i);
  var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
  var IOS = userAgent(/iP(ad|od|hone)/i);
  var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
  var captureMode = {
    capture: false,
    passive: false
  };
  function on(el, event, fn2) {
    el.addEventListener(event, fn2, !IE11OrLess && captureMode);
  }
  function off(el, event, fn2) {
    el.removeEventListener(event, fn2, !IE11OrLess && captureMode);
  }
  function matches(el, selector) {
    if (!selector)
      return;
    selector[0] === ">" && (selector = selector.substring(1));
    if (el) {
      try {
        if (el.matches) {
          return el.matches(selector);
        } else if (el.msMatchesSelector) {
          return el.msMatchesSelector(selector);
        } else if (el.webkitMatchesSelector) {
          return el.webkitMatchesSelector(selector);
        }
      } catch (_) {
        return false;
      }
    }
    return false;
  }
  function getParentOrHost(el) {
    return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
  }
  function closest(el, selector, ctx, includeCTX) {
    if (el) {
      ctx = ctx || document;
      do {
        if (selector != null && (selector[0] === ">" ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
          return el;
        }
        if (el === ctx)
          break;
      } while (el = getParentOrHost(el));
    }
    return null;
  }
  var R_SPACE = /\s+/g;
  function toggleClass(el, name, state) {
    if (el && name) {
      if (el.classList) {
        el.classList[state ? "add" : "remove"](name);
      } else {
        var className = (" " + el.className + " ").replace(R_SPACE, " ").replace(" " + name + " ", " ");
        el.className = (className + (state ? " " + name : "")).replace(R_SPACE, " ");
      }
    }
  }
  function css(el, prop, val) {
    var style2 = el && el.style;
    if (style2) {
      if (val === void 0) {
        if (document.defaultView && document.defaultView.getComputedStyle) {
          val = document.defaultView.getComputedStyle(el, "");
        } else if (el.currentStyle) {
          val = el.currentStyle;
        }
        return prop === void 0 ? val : val[prop];
      } else {
        if (!(prop in style2) && prop.indexOf("webkit") === -1) {
          prop = "-webkit-" + prop;
        }
        style2[prop] = val + (typeof val === "string" ? "" : "px");
      }
    }
  }
  function matrix(el, selfOnly) {
    var appliedTransforms = "";
    if (typeof el === "string") {
      appliedTransforms = el;
    } else {
      do {
        var transform = css(el, "transform");
        if (transform && transform !== "none") {
          appliedTransforms = transform + " " + appliedTransforms;
        }
      } while (!selfOnly && (el = el.parentNode));
    }
    var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
    return matrixFn && new matrixFn(appliedTransforms);
  }
  function find(ctx, tagName, iterator) {
    if (ctx) {
      var list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;
      if (iterator) {
        for (; i < n; i++) {
          iterator(list[i], i);
        }
      }
      return list;
    }
    return [];
  }
  function getWindowScrollingElement() {
    var scrollingElement = document.scrollingElement;
    if (scrollingElement) {
      return scrollingElement;
    } else {
      return document.documentElement;
    }
  }
  function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
    if (!el.getBoundingClientRect && el !== window)
      return;
    var elRect, top2, left2, bottom2, right2, height, width;
    if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {
      elRect = el.getBoundingClientRect();
      top2 = elRect.top;
      left2 = elRect.left;
      bottom2 = elRect.bottom;
      right2 = elRect.right;
      height = elRect.height;
      width = elRect.width;
    } else {
      top2 = 0;
      left2 = 0;
      bottom2 = window.innerHeight;
      right2 = window.innerWidth;
      height = window.innerHeight;
      width = window.innerWidth;
    }
    if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
      container = container || el.parentNode;
      if (!IE11OrLess) {
        do {
          if (container && container.getBoundingClientRect && (css(container, "transform") !== "none" || relativeToNonStaticParent && css(container, "position") !== "static")) {
            var containerRect = container.getBoundingClientRect();
            top2 -= containerRect.top + parseInt(css(container, "border-top-width"));
            left2 -= containerRect.left + parseInt(css(container, "border-left-width"));
            bottom2 = top2 + elRect.height;
            right2 = left2 + elRect.width;
            break;
          }
        } while (container = container.parentNode);
      }
    }
    if (undoScale && el !== window) {
      var elMatrix = matrix(container || el), scaleX = elMatrix && elMatrix.a, scaleY = elMatrix && elMatrix.d;
      if (elMatrix) {
        top2 /= scaleY;
        left2 /= scaleX;
        width /= scaleX;
        height /= scaleY;
        bottom2 = top2 + height;
        right2 = left2 + width;
      }
    }
    return {
      top: top2,
      left: left2,
      bottom: bottom2,
      right: right2,
      width,
      height
    };
  }
  function isScrolledPast(el, elSide, parentSide) {
    var parent2 = getParentAutoScrollElement(el, true), elSideVal = getRect(el)[elSide];
    while (parent2) {
      var parentSideVal = getRect(parent2)[parentSide], visible = void 0;
      if (parentSide === "top" || parentSide === "left") {
        visible = elSideVal >= parentSideVal;
      } else {
        visible = elSideVal <= parentSideVal;
      }
      if (!visible)
        return parent2;
      if (parent2 === getWindowScrollingElement())
        break;
      parent2 = getParentAutoScrollElement(parent2, false);
    }
    return false;
  }
  function getChild(el, childNum, options, includeDragEl) {
    var currentChild = 0, i = 0, children = el.children;
    while (i < children.length) {
      if (children[i].style.display !== "none" && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {
        if (currentChild === childNum) {
          return children[i];
        }
        currentChild++;
      }
      i++;
    }
    return null;
  }
  function lastChild(el, selector) {
    var last2 = el.lastElementChild;
    while (last2 && (last2 === Sortable.ghost || css(last2, "display") === "none" || selector && !matches(last2, selector))) {
      last2 = last2.previousElementSibling;
    }
    return last2 || null;
  }
  function index$2(el, selector) {
    var index2 = 0;
    if (!el || !el.parentNode) {
      return -1;
    }
    while (el = el.previousElementSibling) {
      if (el.nodeName.toUpperCase() !== "TEMPLATE" && el !== Sortable.clone && (!selector || matches(el, selector))) {
        index2++;
      }
    }
    return index2;
  }
  function getRelativeScrollOffset(el) {
    var offsetLeft = 0, offsetTop = 0, winScroller = getWindowScrollingElement();
    if (el) {
      do {
        var elMatrix = matrix(el), scaleX = elMatrix.a, scaleY = elMatrix.d;
        offsetLeft += el.scrollLeft * scaleX;
        offsetTop += el.scrollTop * scaleY;
      } while (el !== winScroller && (el = el.parentNode));
    }
    return [offsetLeft, offsetTop];
  }
  function indexOfObject(arr, obj) {
    for (var i in arr) {
      if (!arr.hasOwnProperty(i))
        continue;
      for (var key2 in obj) {
        if (obj.hasOwnProperty(key2) && obj[key2] === arr[i][key2])
          return Number(i);
      }
    }
    return -1;
  }
  function getParentAutoScrollElement(el, includeSelf) {
    if (!el || !el.getBoundingClientRect)
      return getWindowScrollingElement();
    var elem = el;
    var gotSelf = false;
    do {
      if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
        var elemCSS = css(elem);
        if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == "auto" || elemCSS.overflowX == "scroll") || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == "auto" || elemCSS.overflowY == "scroll")) {
          if (!elem.getBoundingClientRect || elem === document.body)
            return getWindowScrollingElement();
          if (gotSelf || includeSelf)
            return elem;
          gotSelf = true;
        }
      }
    } while (elem = elem.parentNode);
    return getWindowScrollingElement();
  }
  function extend$1(dst, src) {
    if (dst && src) {
      for (var key2 in src) {
        if (src.hasOwnProperty(key2)) {
          dst[key2] = src[key2];
        }
      }
    }
    return dst;
  }
  function isRectEqual(rect1, rect2) {
    return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
  }
  var _throttleTimeout;
  function throttle(callback, ms) {
    return function() {
      if (!_throttleTimeout) {
        var args = arguments, _this = this;
        if (args.length === 1) {
          callback.call(_this, args[0]);
        } else {
          callback.apply(_this, args);
        }
        _throttleTimeout = setTimeout(function() {
          _throttleTimeout = void 0;
        }, ms);
      }
    };
  }
  function cancelThrottle() {
    clearTimeout(_throttleTimeout);
    _throttleTimeout = void 0;
  }
  function scrollBy(el, x, y) {
    el.scrollLeft += x;
    el.scrollTop += y;
  }
  function clone(el) {
    var Polymer = window.Polymer;
    var $ = window.jQuery || window.Zepto;
    if (Polymer && Polymer.dom) {
      return Polymer.dom(el).cloneNode(true);
    } else if ($) {
      return $(el).clone(true)[0];
    } else {
      return el.cloneNode(true);
    }
  }
  var expando = "Sortable" + (/* @__PURE__ */ new Date()).getTime();
  function AnimationStateManager() {
    var animationStates = [], animationCallbackId;
    return {
      captureAnimationState: function captureAnimationState() {
        animationStates = [];
        if (!this.options.animation)
          return;
        var children = [].slice.call(this.el.children);
        children.forEach(function(child) {
          if (css(child, "display") === "none" || child === Sortable.ghost)
            return;
          animationStates.push({
            target: child,
            rect: getRect(child)
          });
          var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);
          if (child.thisAnimationDuration) {
            var childMatrix = matrix(child, true);
            if (childMatrix) {
              fromRect.top -= childMatrix.f;
              fromRect.left -= childMatrix.e;
            }
          }
          child.fromRect = fromRect;
        });
      },
      addAnimationState: function addAnimationState(state) {
        animationStates.push(state);
      },
      removeAnimationState: function removeAnimationState(target) {
        animationStates.splice(indexOfObject(animationStates, {
          target
        }), 1);
      },
      animateAll: function animateAll(callback) {
        var _this = this;
        if (!this.options.animation) {
          clearTimeout(animationCallbackId);
          if (typeof callback === "function")
            callback();
          return;
        }
        var animating = false, animationTime = 0;
        animationStates.forEach(function(state) {
          var time = 0, target = state.target, fromRect = target.fromRect, toRect = getRect(target), prevFromRect = target.prevFromRect, prevToRect = target.prevToRect, animatingRect = state.rect, targetMatrix = matrix(target, true);
          if (targetMatrix) {
            toRect.top -= targetMatrix.f;
            toRect.left -= targetMatrix.e;
          }
          target.toRect = toRect;
          if (target.thisAnimationDuration) {
            if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect
            (animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
              time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
            }
          }
          if (!isRectEqual(toRect, fromRect)) {
            target.prevFromRect = fromRect;
            target.prevToRect = toRect;
            if (!time) {
              time = _this.options.animation;
            }
            _this.animate(target, animatingRect, toRect, time);
          }
          if (time) {
            animating = true;
            animationTime = Math.max(animationTime, time);
            clearTimeout(target.animationResetTimer);
            target.animationResetTimer = setTimeout(function() {
              target.animationTime = 0;
              target.prevFromRect = null;
              target.fromRect = null;
              target.prevToRect = null;
              target.thisAnimationDuration = null;
            }, time);
            target.thisAnimationDuration = time;
          }
        });
        clearTimeout(animationCallbackId);
        if (!animating) {
          if (typeof callback === "function")
            callback();
        } else {
          animationCallbackId = setTimeout(function() {
            if (typeof callback === "function")
              callback();
          }, animationTime);
        }
        animationStates = [];
      },
      animate: function animate(target, currentRect, toRect, duration) {
        if (duration) {
          css(target, "transition", "");
          css(target, "transform", "");
          var elMatrix = matrix(this.el), scaleX = elMatrix && elMatrix.a, scaleY = elMatrix && elMatrix.d, translateX = (currentRect.left - toRect.left) / (scaleX || 1), translateY = (currentRect.top - toRect.top) / (scaleY || 1);
          target.animatingX = !!translateX;
          target.animatingY = !!translateY;
          css(target, "transform", "translate3d(" + translateX + "px," + translateY + "px,0)");
          this.forRepaintDummy = repaint(target);
          css(target, "transition", "transform " + duration + "ms" + (this.options.easing ? " " + this.options.easing : ""));
          css(target, "transform", "translate3d(0,0,0)");
          typeof target.animated === "number" && clearTimeout(target.animated);
          target.animated = setTimeout(function() {
            css(target, "transition", "");
            css(target, "transform", "");
            target.animated = false;
            target.animatingX = false;
            target.animatingY = false;
          }, duration);
        }
      }
    };
  }
  function repaint(target) {
    return target.offsetWidth;
  }
  function calculateRealTime(animatingRect, fromRect, toRect, options) {
    return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
  }
  var plugins = [];
  var defaults$2 = {
    initializeByDefault: true
  };
  var PluginManager = {
    mount: function mount(plugin) {
      for (var option2 in defaults$2) {
        if (defaults$2.hasOwnProperty(option2) && !(option2 in plugin)) {
          plugin[option2] = defaults$2[option2];
        }
      }
      plugins.forEach(function(p) {
        if (p.pluginName === plugin.pluginName) {
          throw "Sortable: Cannot mount plugin ".concat(plugin.pluginName, " more than once");
        }
      });
      plugins.push(plugin);
    },
    pluginEvent: function pluginEvent(eventName, sortable, evt) {
      var _this = this;
      this.eventCanceled = false;
      evt.cancel = function() {
        _this.eventCanceled = true;
      };
      var eventNameGlobal = eventName + "Global";
      plugins.forEach(function(plugin) {
        if (!sortable[plugin.pluginName])
          return;
        if (sortable[plugin.pluginName][eventNameGlobal]) {
          sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({
            sortable
          }, evt));
        }
        if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
          sortable[plugin.pluginName][eventName](_objectSpread2({
            sortable
          }, evt));
        }
      });
    },
    initializePlugins: function initializePlugins(sortable, el, defaults2, options) {
      plugins.forEach(function(plugin) {
        var pluginName = plugin.pluginName;
        if (!sortable.options[pluginName] && !plugin.initializeByDefault)
          return;
        var initialized = new plugin(sortable, el, sortable.options);
        initialized.sortable = sortable;
        initialized.options = sortable.options;
        sortable[pluginName] = initialized;
        _extends(defaults2, initialized.defaults);
      });
      for (var option2 in sortable.options) {
        if (!sortable.options.hasOwnProperty(option2))
          continue;
        var modified = this.modifyOption(sortable, option2, sortable.options[option2]);
        if (typeof modified !== "undefined") {
          sortable.options[option2] = modified;
        }
      }
    },
    getEventProperties: function getEventProperties(name, sortable) {
      var eventProperties = {};
      plugins.forEach(function(plugin) {
        if (typeof plugin.eventProperties !== "function")
          return;
        _extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));
      });
      return eventProperties;
    },
    modifyOption: function modifyOption(sortable, name, value) {
      var modifiedValue;
      plugins.forEach(function(plugin) {
        if (!sortable[plugin.pluginName])
          return;
        if (plugin.optionListeners && typeof plugin.optionListeners[name] === "function") {
          modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);
        }
      });
      return modifiedValue;
    }
  };
  function dispatchEvent(_ref) {
    var sortable = _ref.sortable, rootEl2 = _ref.rootEl, name = _ref.name, targetEl = _ref.targetEl, cloneEl2 = _ref.cloneEl, toEl = _ref.toEl, fromEl = _ref.fromEl, oldIndex2 = _ref.oldIndex, newIndex2 = _ref.newIndex, oldDraggableIndex2 = _ref.oldDraggableIndex, newDraggableIndex2 = _ref.newDraggableIndex, originalEvent = _ref.originalEvent, putSortable2 = _ref.putSortable, extraEventProperties = _ref.extraEventProperties;
    sortable = sortable || rootEl2 && rootEl2[expando];
    if (!sortable)
      return;
    var evt, options = sortable.options, onName = "on" + name.charAt(0).toUpperCase() + name.substr(1);
    if (window.CustomEvent && !IE11OrLess && !Edge) {
      evt = new CustomEvent(name, {
        bubbles: true,
        cancelable: true
      });
    } else {
      evt = document.createEvent("Event");
      evt.initEvent(name, true, true);
    }
    evt.to = toEl || rootEl2;
    evt.from = fromEl || rootEl2;
    evt.item = targetEl || rootEl2;
    evt.clone = cloneEl2;
    evt.oldIndex = oldIndex2;
    evt.newIndex = newIndex2;
    evt.oldDraggableIndex = oldDraggableIndex2;
    evt.newDraggableIndex = newDraggableIndex2;
    evt.originalEvent = originalEvent;
    evt.pullMode = putSortable2 ? putSortable2.lastPutMode : void 0;
    var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));
    for (var option2 in allEventProperties) {
      evt[option2] = allEventProperties[option2];
    }
    if (rootEl2) {
      rootEl2.dispatchEvent(evt);
    }
    if (options[onName]) {
      options[onName].call(sortable, evt);
    }
  }
  var _excluded$1 = ["evt"];
  var pluginEvent2 = function pluginEvent3(eventName, sortable) {
    var _ref = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, originalEvent = _ref.evt, data2 = _objectWithoutProperties(_ref, _excluded$1);
    PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({
      dragEl,
      parentEl,
      ghostEl,
      rootEl,
      nextEl,
      lastDownEl,
      cloneEl,
      cloneHidden,
      dragStarted: moved,
      putSortable,
      activeSortable: Sortable.active,
      originalEvent,
      oldIndex,
      oldDraggableIndex,
      newIndex,
      newDraggableIndex,
      hideGhostForTarget: _hideGhostForTarget,
      unhideGhostForTarget: _unhideGhostForTarget,
      cloneNowHidden: function cloneNowHidden() {
        cloneHidden = true;
      },
      cloneNowShown: function cloneNowShown() {
        cloneHidden = false;
      },
      dispatchSortableEvent: function dispatchSortableEvent(name) {
        _dispatchEvent({
          sortable,
          name,
          originalEvent
        });
      }
    }, data2));
  };
  function _dispatchEvent(info3) {
    dispatchEvent(_objectSpread2({
      putSortable,
      cloneEl,
      targetEl: dragEl,
      rootEl,
      oldIndex,
      oldDraggableIndex,
      newIndex,
      newDraggableIndex
    }, info3));
  }
  var dragEl, parentEl, ghostEl, rootEl, nextEl, lastDownEl, cloneEl, cloneHidden, oldIndex, newIndex, oldDraggableIndex, newDraggableIndex, activeGroup, putSortable, awaitingDragStarted = false, ignoreNextClick = false, sortables = [], tapEvt, touchEvt, lastDx, lastDy, tapDistanceLeft, tapDistanceTop, moved, lastTarget, lastDirection, pastFirstInvertThresh = false, isCircumstantialInvert = false, targetMoveDistance, ghostRelativeParent, ghostRelativeParentInitialScroll = [], _silent = false, savedInputChecked = [];
  var documentExists = typeof document !== "undefined", PositionGhostAbsolutely = IOS, CSSFloatProperty = Edge || IE11OrLess ? "cssFloat" : "float", supportDraggable = documentExists && !ChromeForAndroid && !IOS && "draggable" in document.createElement("div"), supportCssPointerEvents = function() {
    if (!documentExists)
      return;
    if (IE11OrLess) {
      return false;
    }
    var el = document.createElement("x");
    el.style.cssText = "pointer-events:auto";
    return el.style.pointerEvents === "auto";
  }(), _detectDirection = function _detectDirection2(el, options) {
    var elCSS = css(el), elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), child1 = getChild(el, 0, options), child2 = getChild(el, 1, options), firstChildCSS = child1 && css(child1), secondChildCSS = child2 && css(child2), firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
    if (elCSS.display === "flex") {
      return elCSS.flexDirection === "column" || elCSS.flexDirection === "column-reverse" ? "vertical" : "horizontal";
    }
    if (elCSS.display === "grid") {
      return elCSS.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
    }
    if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== "none") {
      var touchingSideChild2 = firstChildCSS["float"] === "left" ? "left" : "right";
      return child2 && (secondChildCSS.clear === "both" || secondChildCSS.clear === touchingSideChild2) ? "vertical" : "horizontal";
    }
    return child1 && (firstChildCSS.display === "block" || firstChildCSS.display === "flex" || firstChildCSS.display === "table" || firstChildCSS.display === "grid" || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === "none" || child2 && elCSS[CSSFloatProperty] === "none" && firstChildWidth + secondChildWidth > elWidth) ? "vertical" : "horizontal";
  }, _dragElInRowColumn = function _dragElInRowColumn2(dragRect, targetRect, vertical) {
    var dragElS1Opp = vertical ? dragRect.left : dragRect.top, dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, dragElOppLength = vertical ? dragRect.width : dragRect.height, targetS1Opp = vertical ? targetRect.left : targetRect.top, targetS2Opp = vertical ? targetRect.right : targetRect.bottom, targetOppLength = vertical ? targetRect.width : targetRect.height;
    return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
  }, _detectNearestEmptySortable = function _detectNearestEmptySortable2(x, y) {
    var ret;
    sortables.some(function(sortable) {
      var threshold = sortable[expando].options.emptyInsertThreshold;
      if (!threshold || lastChild(sortable))
        return;
      var rect = getRect(sortable), insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
      if (insideHorizontally && insideVertically) {
        return ret = sortable;
      }
    });
    return ret;
  }, _prepareGroup = function _prepareGroup2(options) {
    function toFn(value, pull) {
      return function(to, from, dragEl2, evt) {
        var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
        if (value == null && (pull || sameGroup)) {
          return true;
        } else if (value == null || value === false) {
          return false;
        } else if (pull && value === "clone") {
          return value;
        } else if (typeof value === "function") {
          return toFn(value(to, from, dragEl2, evt), pull)(to, from, dragEl2, evt);
        } else {
          var otherGroup = (pull ? to : from).options.group.name;
          return value === true || typeof value === "string" && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
        }
      };
    }
    var group = {};
    var originalGroup = options.group;
    if (!originalGroup || _typeof(originalGroup) != "object") {
      originalGroup = {
        name: originalGroup
      };
    }
    group.name = originalGroup.name;
    group.checkPull = toFn(originalGroup.pull, true);
    group.checkPut = toFn(originalGroup.put);
    group.revertClone = originalGroup.revertClone;
    options.group = group;
  }, _hideGhostForTarget = function _hideGhostForTarget2() {
    if (!supportCssPointerEvents && ghostEl) {
      css(ghostEl, "display", "none");
    }
  }, _unhideGhostForTarget = function _unhideGhostForTarget2() {
    if (!supportCssPointerEvents && ghostEl) {
      css(ghostEl, "display", "");
    }
  };
  if (documentExists && !ChromeForAndroid) {
    document.addEventListener("click", function(evt) {
      if (ignoreNextClick) {
        evt.preventDefault();
        evt.stopPropagation && evt.stopPropagation();
        evt.stopImmediatePropagation && evt.stopImmediatePropagation();
        ignoreNextClick = false;
        return false;
      }
    }, true);
  }
  var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent2(evt) {
    if (dragEl) {
      evt = evt.touches ? evt.touches[0] : evt;
      var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
      if (nearest) {
        var event = {};
        for (var i in evt) {
          if (evt.hasOwnProperty(i)) {
            event[i] = evt[i];
          }
        }
        event.target = event.rootEl = nearest;
        event.preventDefault = void 0;
        event.stopPropagation = void 0;
        nearest[expando]._onDragOver(event);
      }
    }
  };
  var _checkOutsideTargetEl = function _checkOutsideTargetEl2(evt) {
    if (dragEl) {
      dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
    }
  };
  function Sortable(el, options) {
    if (!(el && el.nodeType && el.nodeType === 1)) {
      throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
    }
    this.el = el;
    this.options = options = _extends({}, options);
    el[expando] = this;
    var defaults2 = {
      group: null,
      sort: true,
      disabled: false,
      store: null,
      handle: null,
      draggable: /^[uo]l$/i.test(el.nodeName) ? ">li" : ">*",
      swapThreshold: 1,
      // percentage; 0 <= x <= 1
      invertSwap: false,
      // invert always
      invertedSwapThreshold: null,
      // will be set to same as swapThreshold if default
      removeCloneOnHide: true,
      direction: function direction() {
        return _detectDirection(el, this.options);
      },
      ghostClass: "sortable-ghost",
      chosenClass: "sortable-chosen",
      dragClass: "sortable-drag",
      ignore: "a, img",
      filter: null,
      preventOnFilter: true,
      animation: 0,
      easing: null,
      setData: function setData(dataTransfer, dragEl2) {
        dataTransfer.setData("Text", dragEl2.textContent);
      },
      dropBubble: false,
      dragoverBubble: false,
      dataIdAttr: "data-id",
      delay: 0,
      delayOnTouchOnly: false,
      touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
      forceFallback: false,
      fallbackClass: "sortable-fallback",
      fallbackOnBody: false,
      fallbackTolerance: 0,
      fallbackOffset: {
        x: 0,
        y: 0
      },
      supportPointer: Sortable.supportPointer !== false && "PointerEvent" in window && !Safari,
      emptyInsertThreshold: 5
    };
    PluginManager.initializePlugins(this, el, defaults2);
    for (var name in defaults2) {
      !(name in options) && (options[name] = defaults2[name]);
    }
    _prepareGroup(options);
    for (var fn2 in this) {
      if (fn2.charAt(0) === "_" && typeof this[fn2] === "function") {
        this[fn2] = this[fn2].bind(this);
      }
    }
    this.nativeDraggable = options.forceFallback ? false : supportDraggable;
    if (this.nativeDraggable) {
      this.options.touchStartThreshold = 1;
    }
    if (options.supportPointer) {
      on(el, "pointerdown", this._onTapStart);
    } else {
      on(el, "mousedown", this._onTapStart);
      on(el, "touchstart", this._onTapStart);
    }
    if (this.nativeDraggable) {
      on(el, "dragover", this);
      on(el, "dragenter", this);
    }
    sortables.push(this.el);
    options.store && options.store.get && this.sort(options.store.get(this) || []);
    _extends(this, AnimationStateManager());
  }
  Sortable.prototype = /** @lends Sortable.prototype */
  {
    constructor: Sortable,
    _isOutsideThisEl: function _isOutsideThisEl(target) {
      if (!this.el.contains(target) && target !== this.el) {
        lastTarget = null;
      }
    },
    _getDirection: function _getDirection(evt, target) {
      return typeof this.options.direction === "function" ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
    },
    _onTapStart: function _onTapStart(evt) {
      if (!evt.cancelable)
        return;
      var _this = this, el = this.el, options = this.options, preventOnFilter = options.preventOnFilter, type = evt.type, touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === "touch" && evt, target = (touch || evt).target, originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, filter3 = options.filter;
      _saveInputCheckedState(el);
      if (dragEl) {
        return;
      }
      if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {
        return;
      }
      if (originalTarget.isContentEditable) {
        return;
      }
      if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === "SELECT") {
        return;
      }
      target = closest(target, options.draggable, el, false);
      if (target && target.animated) {
        return;
      }
      if (lastDownEl === target) {
        return;
      }
      oldIndex = index$2(target);
      oldDraggableIndex = index$2(target, options.draggable);
      if (typeof filter3 === "function") {
        if (filter3.call(this, evt, target, this)) {
          _dispatchEvent({
            sortable: _this,
            rootEl: originalTarget,
            name: "filter",
            targetEl: target,
            toEl: el,
            fromEl: el
          });
          pluginEvent2("filter", _this, {
            evt
          });
          preventOnFilter && evt.cancelable && evt.preventDefault();
          return;
        }
      } else if (filter3) {
        filter3 = filter3.split(",").some(function(criteria) {
          criteria = closest(originalTarget, criteria.trim(), el, false);
          if (criteria) {
            _dispatchEvent({
              sortable: _this,
              rootEl: criteria,
              name: "filter",
              targetEl: target,
              fromEl: el,
              toEl: el
            });
            pluginEvent2("filter", _this, {
              evt
            });
            return true;
          }
        });
        if (filter3) {
          preventOnFilter && evt.cancelable && evt.preventDefault();
          return;
        }
      }
      if (options.handle && !closest(originalTarget, options.handle, el, false)) {
        return;
      }
      this._prepareDragStart(evt, touch, target);
    },
    _prepareDragStart: function _prepareDragStart(evt, touch, target) {
      var _this = this, el = _this.el, options = _this.options, ownerDocument = el.ownerDocument, dragStartFn;
      if (target && !dragEl && target.parentNode === el) {
        var dragRect = getRect(target);
        rootEl = el;
        dragEl = target;
        parentEl = dragEl.parentNode;
        nextEl = dragEl.nextSibling;
        lastDownEl = target;
        activeGroup = options.group;
        Sortable.dragged = dragEl;
        tapEvt = {
          target: dragEl,
          clientX: (touch || evt).clientX,
          clientY: (touch || evt).clientY
        };
        tapDistanceLeft = tapEvt.clientX - dragRect.left;
        tapDistanceTop = tapEvt.clientY - dragRect.top;
        this._lastX = (touch || evt).clientX;
        this._lastY = (touch || evt).clientY;
        dragEl.style["will-change"] = "all";
        dragStartFn = function dragStartFn2() {
          pluginEvent2("delayEnded", _this, {
            evt
          });
          if (Sortable.eventCanceled) {
            _this._onDrop();
            return;
          }
          _this._disableDelayedDragEvents();
          if (!FireFox && _this.nativeDraggable) {
            dragEl.draggable = true;
          }
          _this._triggerDragStart(evt, touch);
          _dispatchEvent({
            sortable: _this,
            name: "choose",
            originalEvent: evt
          });
          toggleClass(dragEl, options.chosenClass, true);
        };
        options.ignore.split(",").forEach(function(criteria) {
          find(dragEl, criteria.trim(), _disableDraggable);
        });
        on(ownerDocument, "dragover", nearestEmptyInsertDetectEvent);
        on(ownerDocument, "mousemove", nearestEmptyInsertDetectEvent);
        on(ownerDocument, "touchmove", nearestEmptyInsertDetectEvent);
        on(ownerDocument, "mouseup", _this._onDrop);
        on(ownerDocument, "touchend", _this._onDrop);
        on(ownerDocument, "touchcancel", _this._onDrop);
        if (FireFox && this.nativeDraggable) {
          this.options.touchStartThreshold = 4;
          dragEl.draggable = true;
        }
        pluginEvent2("delayStart", this, {
          evt
        });
        if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
          if (Sortable.eventCanceled) {
            this._onDrop();
            return;
          }
          on(ownerDocument, "mouseup", _this._disableDelayedDrag);
          on(ownerDocument, "touchend", _this._disableDelayedDrag);
          on(ownerDocument, "touchcancel", _this._disableDelayedDrag);
          on(ownerDocument, "mousemove", _this._delayedDragTouchMoveHandler);
          on(ownerDocument, "touchmove", _this._delayedDragTouchMoveHandler);
          options.supportPointer && on(ownerDocument, "pointermove", _this._delayedDragTouchMoveHandler);
          _this._dragStartTimer = setTimeout(dragStartFn, options.delay);
        } else {
          dragStartFn();
        }
      }
    },
    _delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(e) {
      var touch = e.touches ? e.touches[0] : e;
      if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
        this._disableDelayedDrag();
      }
    },
    _disableDelayedDrag: function _disableDelayedDrag() {
      dragEl && _disableDraggable(dragEl);
      clearTimeout(this._dragStartTimer);
      this._disableDelayedDragEvents();
    },
    _disableDelayedDragEvents: function _disableDelayedDragEvents() {
      var ownerDocument = this.el.ownerDocument;
      off(ownerDocument, "mouseup", this._disableDelayedDrag);
      off(ownerDocument, "touchend", this._disableDelayedDrag);
      off(ownerDocument, "touchcancel", this._disableDelayedDrag);
      off(ownerDocument, "mousemove", this._delayedDragTouchMoveHandler);
      off(ownerDocument, "touchmove", this._delayedDragTouchMoveHandler);
      off(ownerDocument, "pointermove", this._delayedDragTouchMoveHandler);
    },
    _triggerDragStart: function _triggerDragStart(evt, touch) {
      touch = touch || evt.pointerType == "touch" && evt;
      if (!this.nativeDraggable || touch) {
        if (this.options.supportPointer) {
          on(document, "pointermove", this._onTouchMove);
        } else if (touch) {
          on(document, "touchmove", this._onTouchMove);
        } else {
          on(document, "mousemove", this._onTouchMove);
        }
      } else {
        on(dragEl, "dragend", this);
        on(rootEl, "dragstart", this._onDragStart);
      }
      try {
        if (document.selection) {
          _nextTick(function() {
            document.selection.empty();
          });
        } else {
          window.getSelection().removeAllRanges();
        }
      } catch (err) {
      }
    },
    _dragStarted: function _dragStarted(fallback, evt) {
      awaitingDragStarted = false;
      if (rootEl && dragEl) {
        pluginEvent2("dragStarted", this, {
          evt
        });
        if (this.nativeDraggable) {
          on(document, "dragover", _checkOutsideTargetEl);
        }
        var options = this.options;
        !fallback && toggleClass(dragEl, options.dragClass, false);
        toggleClass(dragEl, options.ghostClass, true);
        Sortable.active = this;
        fallback && this._appendGhost();
        _dispatchEvent({
          sortable: this,
          name: "start",
          originalEvent: evt
        });
      } else {
        this._nulling();
      }
    },
    _emulateDragOver: function _emulateDragOver() {
      if (touchEvt) {
        this._lastX = touchEvt.clientX;
        this._lastY = touchEvt.clientY;
        _hideGhostForTarget();
        var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
        var parent2 = target;
        while (target && target.shadowRoot) {
          target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
          if (target === parent2)
            break;
          parent2 = target;
        }
        dragEl.parentNode[expando]._isOutsideThisEl(target);
        if (parent2) {
          do {
            if (parent2[expando]) {
              var inserted = void 0;
              inserted = parent2[expando]._onDragOver({
                clientX: touchEvt.clientX,
                clientY: touchEvt.clientY,
                target,
                rootEl: parent2
              });
              if (inserted && !this.options.dragoverBubble) {
                break;
              }
            }
            target = parent2;
          } while (parent2 = parent2.parentNode);
        }
        _unhideGhostForTarget();
      }
    },
    _onTouchMove: function _onTouchMove(evt) {
      if (tapEvt) {
        var options = this.options, fallbackTolerance = options.fallbackTolerance, fallbackOffset = options.fallbackOffset, touch = evt.touches ? evt.touches[0] : evt, ghostMatrix = ghostEl && matrix(ghostEl, true), scaleX = ghostEl && ghostMatrix && ghostMatrix.a, scaleY = ghostEl && ghostMatrix && ghostMatrix.d, relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);
        if (!Sortable.active && !awaitingDragStarted) {
          if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
            return;
          }
          this._onDragStart(evt, true);
        }
        if (ghostEl) {
          if (ghostMatrix) {
            ghostMatrix.e += dx - (lastDx || 0);
            ghostMatrix.f += dy - (lastDy || 0);
          } else {
            ghostMatrix = {
              a: 1,
              b: 0,
              c: 0,
              d: 1,
              e: dx,
              f: dy
            };
          }
          var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
          css(ghostEl, "webkitTransform", cssMatrix);
          css(ghostEl, "mozTransform", cssMatrix);
          css(ghostEl, "msTransform", cssMatrix);
          css(ghostEl, "transform", cssMatrix);
          lastDx = dx;
          lastDy = dy;
          touchEvt = touch;
        }
        evt.cancelable && evt.preventDefault();
      }
    },
    _appendGhost: function _appendGhost() {
      if (!ghostEl) {
        var container = this.options.fallbackOnBody ? document.body : rootEl, rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), options = this.options;
        if (PositionGhostAbsolutely) {
          ghostRelativeParent = container;
          while (css(ghostRelativeParent, "position") === "static" && css(ghostRelativeParent, "transform") === "none" && ghostRelativeParent !== document) {
            ghostRelativeParent = ghostRelativeParent.parentNode;
          }
          if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
            if (ghostRelativeParent === document)
              ghostRelativeParent = getWindowScrollingElement();
            rect.top += ghostRelativeParent.scrollTop;
            rect.left += ghostRelativeParent.scrollLeft;
          } else {
            ghostRelativeParent = getWindowScrollingElement();
          }
          ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
        }
        ghostEl = dragEl.cloneNode(true);
        toggleClass(ghostEl, options.ghostClass, false);
        toggleClass(ghostEl, options.fallbackClass, true);
        toggleClass(ghostEl, options.dragClass, true);
        css(ghostEl, "transition", "");
        css(ghostEl, "transform", "");
        css(ghostEl, "box-sizing", "border-box");
        css(ghostEl, "margin", 0);
        css(ghostEl, "top", rect.top);
        css(ghostEl, "left", rect.left);
        css(ghostEl, "width", rect.width);
        css(ghostEl, "height", rect.height);
        css(ghostEl, "opacity", "0.8");
        css(ghostEl, "position", PositionGhostAbsolutely ? "absolute" : "fixed");
        css(ghostEl, "zIndex", "100000");
        css(ghostEl, "pointerEvents", "none");
        Sortable.ghost = ghostEl;
        container.appendChild(ghostEl);
        css(ghostEl, "transform-origin", tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + "% " + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + "%");
      }
    },
    _onDragStart: function _onDragStart(evt, fallback) {
      var _this = this;
      var dataTransfer = evt.dataTransfer;
      var options = _this.options;
      pluginEvent2("dragStart", this, {
        evt
      });
      if (Sortable.eventCanceled) {
        this._onDrop();
        return;
      }
      pluginEvent2("setupClone", this);
      if (!Sortable.eventCanceled) {
        cloneEl = clone(dragEl);
        cloneEl.removeAttribute("id");
        cloneEl.draggable = false;
        cloneEl.style["will-change"] = "";
        this._hideClone();
        toggleClass(cloneEl, this.options.chosenClass, false);
        Sortable.clone = cloneEl;
      }
      _this.cloneId = _nextTick(function() {
        pluginEvent2("clone", _this);
        if (Sortable.eventCanceled)
          return;
        if (!_this.options.removeCloneOnHide) {
          rootEl.insertBefore(cloneEl, dragEl);
        }
        _this._hideClone();
        _dispatchEvent({
          sortable: _this,
          name: "clone"
        });
      });
      !fallback && toggleClass(dragEl, options.dragClass, true);
      if (fallback) {
        ignoreNextClick = true;
        _this._loopId = setInterval(_this._emulateDragOver, 50);
      } else {
        off(document, "mouseup", _this._onDrop);
        off(document, "touchend", _this._onDrop);
        off(document, "touchcancel", _this._onDrop);
        if (dataTransfer) {
          dataTransfer.effectAllowed = "move";
          options.setData && options.setData.call(_this, dataTransfer, dragEl);
        }
        on(document, "drop", _this);
        css(dragEl, "transform", "translateZ(0)");
      }
      awaitingDragStarted = true;
      _this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
      on(document, "selectstart", _this);
      moved = true;
      if (Safari) {
        css(document.body, "user-select", "none");
      }
    },
    // Returns true - if no further action is needed (either inserted or another condition)
    _onDragOver: function _onDragOver(evt) {
      var el = this.el, target = evt.target, dragRect, targetRect, revert, options = this.options, group = options.group, activeSortable = Sortable.active, isOwner = activeGroup === group, canSort = options.sort, fromSortable = putSortable || activeSortable, vertical, _this = this, completedFired = false;
      if (_silent)
        return;
      function dragOverEvent(name, extra) {
        pluginEvent2(name, _this, _objectSpread2({
          evt,
          isOwner,
          axis: vertical ? "vertical" : "horizontal",
          revert,
          dragRect,
          targetRect,
          canSort,
          fromSortable,
          target,
          completed,
          onMove: function onMove(target2, after2) {
            return _onMove(rootEl, el, dragEl, dragRect, target2, getRect(target2), evt, after2);
          },
          changed
        }, extra));
      }
      function capture() {
        dragOverEvent("dragOverAnimationCapture");
        _this.captureAnimationState();
        if (_this !== fromSortable) {
          fromSortable.captureAnimationState();
        }
      }
      function completed(insertion) {
        dragOverEvent("dragOverCompleted", {
          insertion
        });
        if (insertion) {
          if (isOwner) {
            activeSortable._hideClone();
          } else {
            activeSortable._showClone(_this);
          }
          if (_this !== fromSortable) {
            toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
            toggleClass(dragEl, options.ghostClass, true);
          }
          if (putSortable !== _this && _this !== Sortable.active) {
            putSortable = _this;
          } else if (_this === Sortable.active && putSortable) {
            putSortable = null;
          }
          if (fromSortable === _this) {
            _this._ignoreWhileAnimating = target;
          }
          _this.animateAll(function() {
            dragOverEvent("dragOverAnimationComplete");
            _this._ignoreWhileAnimating = null;
          });
          if (_this !== fromSortable) {
            fromSortable.animateAll();
            fromSortable._ignoreWhileAnimating = null;
          }
        }
        if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
          lastTarget = null;
        }
        if (!options.dragoverBubble && !evt.rootEl && target !== document) {
          dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
          !insertion && nearestEmptyInsertDetectEvent(evt);
        }
        !options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
        return completedFired = true;
      }
      function changed() {
        newIndex = index$2(dragEl);
        newDraggableIndex = index$2(dragEl, options.draggable);
        _dispatchEvent({
          sortable: _this,
          name: "change",
          toEl: el,
          newIndex,
          newDraggableIndex,
          originalEvent: evt
        });
      }
      if (evt.preventDefault !== void 0) {
        evt.cancelable && evt.preventDefault();
      }
      target = closest(target, options.draggable, el, true);
      dragOverEvent("dragOver");
      if (Sortable.eventCanceled)
        return completedFired;
      if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
        return completed(false);
      }
      ignoreNextClick = false;
      if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
        vertical = this._getDirection(evt, target) === "vertical";
        dragRect = getRect(dragEl);
        dragOverEvent("dragOverValid");
        if (Sortable.eventCanceled)
          return completedFired;
        if (revert) {
          parentEl = rootEl;
          capture();
          this._hideClone();
          dragOverEvent("revert");
          if (!Sortable.eventCanceled) {
            if (nextEl) {
              rootEl.insertBefore(dragEl, nextEl);
            } else {
              rootEl.appendChild(dragEl);
            }
          }
          return completed(true);
        }
        var elLastChild = lastChild(el, options.draggable);
        if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
          if (elLastChild === dragEl) {
            return completed(false);
          }
          if (elLastChild && el === evt.target) {
            target = elLastChild;
          }
          if (target) {
            targetRect = getRect(target);
          }
          if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
            capture();
            if (elLastChild && elLastChild.nextSibling) {
              el.insertBefore(dragEl, elLastChild.nextSibling);
            } else {
              el.appendChild(dragEl);
            }
            parentEl = el;
            changed();
            return completed(true);
          }
        } else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {
          var firstChild = getChild(el, 0, options, true);
          if (firstChild === dragEl) {
            return completed(false);
          }
          target = firstChild;
          targetRect = getRect(target);
          if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
            capture();
            el.insertBefore(dragEl, firstChild);
            parentEl = el;
            changed();
            return completed(true);
          }
        } else if (target.parentNode === el) {
          targetRect = getRect(target);
          var direction = 0, targetBeforeFirstSwap, differentLevel = dragEl.parentNode !== el, differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), side1 = vertical ? "top" : "left", scrolledPastTop = isScrolledPast(target, "top", "top") || isScrolledPast(dragEl, "top", "top"), scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
          if (lastTarget !== target) {
            targetBeforeFirstSwap = targetRect[side1];
            pastFirstInvertThresh = false;
            isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
          }
          direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
          var sibling;
          if (direction !== 0) {
            var dragIndex = index$2(dragEl);
            do {
              dragIndex -= direction;
              sibling = parentEl.children[dragIndex];
            } while (sibling && (css(sibling, "display") === "none" || sibling === ghostEl));
          }
          if (direction === 0 || sibling === target) {
            return completed(false);
          }
          lastTarget = target;
          lastDirection = direction;
          var nextSibling = target.nextElementSibling, after = false;
          after = direction === 1;
          var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
          if (moveVector !== false) {
            if (moveVector === 1 || moveVector === -1) {
              after = moveVector === 1;
            }
            _silent = true;
            setTimeout(_unsilent, 30);
            capture();
            if (after && !nextSibling) {
              el.appendChild(dragEl);
            } else {
              target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
            }
            if (scrolledPastTop) {
              scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
            }
            parentEl = dragEl.parentNode;
            if (targetBeforeFirstSwap !== void 0 && !isCircumstantialInvert) {
              targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
            }
            changed();
            return completed(true);
          }
        }
        if (el.contains(dragEl)) {
          return completed(false);
        }
      }
      return false;
    },
    _ignoreWhileAnimating: null,
    _offMoveEvents: function _offMoveEvents() {
      off(document, "mousemove", this._onTouchMove);
      off(document, "touchmove", this._onTouchMove);
      off(document, "pointermove", this._onTouchMove);
      off(document, "dragover", nearestEmptyInsertDetectEvent);
      off(document, "mousemove", nearestEmptyInsertDetectEvent);
      off(document, "touchmove", nearestEmptyInsertDetectEvent);
    },
    _offUpEvents: function _offUpEvents() {
      var ownerDocument = this.el.ownerDocument;
      off(ownerDocument, "mouseup", this._onDrop);
      off(ownerDocument, "touchend", this._onDrop);
      off(ownerDocument, "pointerup", this._onDrop);
      off(ownerDocument, "touchcancel", this._onDrop);
      off(document, "selectstart", this);
    },
    _onDrop: function _onDrop(evt) {
      var el = this.el, options = this.options;
      newIndex = index$2(dragEl);
      newDraggableIndex = index$2(dragEl, options.draggable);
      pluginEvent2("drop", this, {
        evt
      });
      parentEl = dragEl && dragEl.parentNode;
      newIndex = index$2(dragEl);
      newDraggableIndex = index$2(dragEl, options.draggable);
      if (Sortable.eventCanceled) {
        this._nulling();
        return;
      }
      awaitingDragStarted = false;
      isCircumstantialInvert = false;
      pastFirstInvertThresh = false;
      clearInterval(this._loopId);
      clearTimeout(this._dragStartTimer);
      _cancelNextTick(this.cloneId);
      _cancelNextTick(this._dragStartId);
      if (this.nativeDraggable) {
        off(document, "drop", this);
        off(el, "dragstart", this._onDragStart);
      }
      this._offMoveEvents();
      this._offUpEvents();
      if (Safari) {
        css(document.body, "user-select", "");
      }
      css(dragEl, "transform", "");
      if (evt) {
        if (moved) {
          evt.cancelable && evt.preventDefault();
          !options.dropBubble && evt.stopPropagation();
        }
        ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
        if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== "clone") {
          cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
        }
        if (dragEl) {
          if (this.nativeDraggable) {
            off(dragEl, "dragend", this);
          }
          _disableDraggable(dragEl);
          dragEl.style["will-change"] = "";
          if (moved && !awaitingDragStarted) {
            toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
          }
          toggleClass(dragEl, this.options.chosenClass, false);
          _dispatchEvent({
            sortable: this,
            name: "unchoose",
            toEl: parentEl,
            newIndex: null,
            newDraggableIndex: null,
            originalEvent: evt
          });
          if (rootEl !== parentEl) {
            if (newIndex >= 0) {
              _dispatchEvent({
                rootEl: parentEl,
                name: "add",
                toEl: parentEl,
                fromEl: rootEl,
                originalEvent: evt
              });
              _dispatchEvent({
                sortable: this,
                name: "remove",
                toEl: parentEl,
                originalEvent: evt
              });
              _dispatchEvent({
                rootEl: parentEl,
                name: "sort",
                toEl: parentEl,
                fromEl: rootEl,
                originalEvent: evt
              });
              _dispatchEvent({
                sortable: this,
                name: "sort",
                toEl: parentEl,
                originalEvent: evt
              });
            }
            putSortable && putSortable.save();
          } else {
            if (newIndex !== oldIndex) {
              if (newIndex >= 0) {
                _dispatchEvent({
                  sortable: this,
                  name: "update",
                  toEl: parentEl,
                  originalEvent: evt
                });
                _dispatchEvent({
                  sortable: this,
                  name: "sort",
                  toEl: parentEl,
                  originalEvent: evt
                });
              }
            }
          }
          if (Sortable.active) {
            if (newIndex == null || newIndex === -1) {
              newIndex = oldIndex;
              newDraggableIndex = oldDraggableIndex;
            }
            _dispatchEvent({
              sortable: this,
              name: "end",
              toEl: parentEl,
              originalEvent: evt
            });
            this.save();
          }
        }
      }
      this._nulling();
    },
    _nulling: function _nulling() {
      pluginEvent2("nulling", this);
      rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
      savedInputChecked.forEach(function(el) {
        el.checked = true;
      });
      savedInputChecked.length = lastDx = lastDy = 0;
    },
    handleEvent: function handleEvent(evt) {
      switch (evt.type) {
        case "drop":
        case "dragend":
          this._onDrop(evt);
          break;
        case "dragenter":
        case "dragover":
          if (dragEl) {
            this._onDragOver(evt);
            _globalDragOver(evt);
          }
          break;
        case "selectstart":
          evt.preventDefault();
          break;
      }
    },
    /**
     * Serializes the item into an array of string.
     * @returns {String[]}
     */
    toArray: function toArray() {
      var order2 = [], el, children = this.el.children, i = 0, n = children.length, options = this.options;
      for (; i < n; i++) {
        el = children[i];
        if (closest(el, options.draggable, this.el, false)) {
          order2.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
        }
      }
      return order2;
    },
    /**
     * Sorts the elements according to the array.
     * @param  {String[]}  order  order of the items
     */
    sort: function sort(order2, useAnimation) {
      var items = {}, rootEl2 = this.el;
      this.toArray().forEach(function(id, i) {
        var el = rootEl2.children[i];
        if (closest(el, this.options.draggable, rootEl2, false)) {
          items[id] = el;
        }
      }, this);
      useAnimation && this.captureAnimationState();
      order2.forEach(function(id) {
        if (items[id]) {
          rootEl2.removeChild(items[id]);
          rootEl2.appendChild(items[id]);
        }
      });
      useAnimation && this.animateAll();
    },
    /**
     * Save the current sorting
     */
    save: function save() {
      var store2 = this.options.store;
      store2 && store2.set && store2.set(this);
    },
    /**
     * For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
     * @param   {HTMLElement}  el
     * @param   {String}       [selector]  default: `options.draggable`
     * @returns {HTMLElement|null}
     */
    closest: function closest$1(el, selector) {
      return closest(el, selector || this.options.draggable, this.el, false);
    },
    /**
     * Set/get option
     * @param   {string} name
     * @param   {*}      [value]
     * @returns {*}
     */
    option: function option(name, value) {
      var options = this.options;
      if (value === void 0) {
        return options[name];
      } else {
        var modifiedValue = PluginManager.modifyOption(this, name, value);
        if (typeof modifiedValue !== "undefined") {
          options[name] = modifiedValue;
        } else {
          options[name] = value;
        }
        if (name === "group") {
          _prepareGroup(options);
        }
      }
    },
    /**
     * Destroy
     */
    destroy: function destroy() {
      pluginEvent2("destroy", this);
      var el = this.el;
      el[expando] = null;
      off(el, "mousedown", this._onTapStart);
      off(el, "touchstart", this._onTapStart);
      off(el, "pointerdown", this._onTapStart);
      if (this.nativeDraggable) {
        off(el, "dragover", this);
        off(el, "dragenter", this);
      }
      Array.prototype.forEach.call(el.querySelectorAll("[draggable]"), function(el2) {
        el2.removeAttribute("draggable");
      });
      this._onDrop();
      this._disableDelayedDragEvents();
      sortables.splice(sortables.indexOf(this.el), 1);
      this.el = el = null;
    },
    _hideClone: function _hideClone() {
      if (!cloneHidden) {
        pluginEvent2("hideClone", this);
        if (Sortable.eventCanceled)
          return;
        css(cloneEl, "display", "none");
        if (this.options.removeCloneOnHide && cloneEl.parentNode) {
          cloneEl.parentNode.removeChild(cloneEl);
        }
        cloneHidden = true;
      }
    },
    _showClone: function _showClone(putSortable2) {
      if (putSortable2.lastPutMode !== "clone") {
        this._hideClone();
        return;
      }
      if (cloneHidden) {
        pluginEvent2("showClone", this);
        if (Sortable.eventCanceled)
          return;
        if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {
          rootEl.insertBefore(cloneEl, dragEl);
        } else if (nextEl) {
          rootEl.insertBefore(cloneEl, nextEl);
        } else {
          rootEl.appendChild(cloneEl);
        }
        if (this.options.group.revertClone) {
          this.animate(dragEl, cloneEl);
        }
        css(cloneEl, "display", "");
        cloneHidden = false;
      }
    }
  };
  function _globalDragOver(evt) {
    if (evt.dataTransfer) {
      evt.dataTransfer.dropEffect = "move";
    }
    evt.cancelable && evt.preventDefault();
  }
  function _onMove(fromEl, toEl, dragEl2, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
    var evt, sortable = fromEl[expando], onMoveFn = sortable.options.onMove, retVal;
    if (window.CustomEvent && !IE11OrLess && !Edge) {
      evt = new CustomEvent("move", {
        bubbles: true,
        cancelable: true
      });
    } else {
      evt = document.createEvent("Event");
      evt.initEvent("move", true, true);
    }
    evt.to = toEl;
    evt.from = fromEl;
    evt.dragged = dragEl2;
    evt.draggedRect = dragRect;
    evt.related = targetEl || toEl;
    evt.relatedRect = targetRect || getRect(toEl);
    evt.willInsertAfter = willInsertAfter;
    evt.originalEvent = originalEvent;
    fromEl.dispatchEvent(evt);
    if (onMoveFn) {
      retVal = onMoveFn.call(sortable, evt, originalEvent);
    }
    return retVal;
  }
  function _disableDraggable(el) {
    el.draggable = false;
  }
  function _unsilent() {
    _silent = false;
  }
  function _ghostIsFirst(evt, vertical, sortable) {
    var rect = getRect(getChild(sortable.el, 0, sortable.options, true));
    var spacer = 10;
    return vertical ? evt.clientX < rect.left - spacer || evt.clientY < rect.top && evt.clientX < rect.right : evt.clientY < rect.top - spacer || evt.clientY < rect.bottom && evt.clientX < rect.left;
  }
  function _ghostIsLast(evt, vertical, sortable) {
    var rect = getRect(lastChild(sortable.el, sortable.options.draggable));
    var spacer = 10;
    return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;
  }
  function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
    var mouseOnAxis = vertical ? evt.clientY : evt.clientX, targetLength = vertical ? targetRect.height : targetRect.width, targetS1 = vertical ? targetRect.top : targetRect.left, targetS2 = vertical ? targetRect.bottom : targetRect.right, invert = false;
    if (!invertSwap) {
      if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
        if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
          pastFirstInvertThresh = true;
        }
        if (!pastFirstInvertThresh) {
          if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance : mouseOnAxis > targetS2 - targetMoveDistance) {
            return -lastDirection;
          }
        } else {
          invert = true;
        }
      } else {
        if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
          return _getInsertDirection(target);
        }
      }
    }
    invert = invert || invertSwap;
    if (invert) {
      if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
        return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
      }
    }
    return 0;
  }
  function _getInsertDirection(target) {
    if (index$2(dragEl) < index$2(target)) {
      return 1;
    } else {
      return -1;
    }
  }
  function _generateId(el) {
    var str = el.tagName + el.className + el.src + el.href + el.textContent, i = str.length, sum = 0;
    while (i--) {
      sum += str.charCodeAt(i);
    }
    return sum.toString(36);
  }
  function _saveInputCheckedState(root2) {
    savedInputChecked.length = 0;
    var inputs = root2.getElementsByTagName("input");
    var idx = inputs.length;
    while (idx--) {
      var el = inputs[idx];
      el.checked && savedInputChecked.push(el);
    }
  }
  function _nextTick(fn2) {
    return setTimeout(fn2, 0);
  }
  function _cancelNextTick(id) {
    return clearTimeout(id);
  }
  if (documentExists) {
    on(document, "touchmove", function(evt) {
      if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
        evt.preventDefault();
      }
    });
  }
  Sortable.utils = {
    on,
    off,
    css,
    find,
    is: function is(el, selector) {
      return !!closest(el, selector, el, false);
    },
    extend: extend$1,
    throttle,
    closest,
    toggleClass,
    clone,
    index: index$2,
    nextTick: _nextTick,
    cancelNextTick: _cancelNextTick,
    detectDirection: _detectDirection,
    getChild
  };
  Sortable.get = function(element2) {
    return element2[expando];
  };
  Sortable.mount = function() {
    for (var _len = arguments.length, plugins2 = new Array(_len), _key = 0; _key < _len; _key++) {
      plugins2[_key] = arguments[_key];
    }
    if (plugins2[0].constructor === Array)
      plugins2 = plugins2[0];
    plugins2.forEach(function(plugin) {
      if (!plugin.prototype || !plugin.prototype.constructor) {
        throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
      }
      if (plugin.utils)
        Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);
      PluginManager.mount(plugin);
    });
  };
  Sortable.create = function(el, options) {
    return new Sortable(el, options);
  };
  Sortable.version = version;
  var autoScrolls = [], scrollEl, scrollRootEl, scrolling = false, lastAutoScrollX, lastAutoScrollY, touchEvt$1, pointerElemChangedInterval;
  function AutoScrollPlugin() {
    function AutoScroll() {
      this.defaults = {
        scroll: true,
        forceAutoScrollFallback: false,
        scrollSensitivity: 30,
        scrollSpeed: 10,
        bubbleScroll: true
      };
      for (var fn2 in this) {
        if (fn2.charAt(0) === "_" && typeof this[fn2] === "function") {
          this[fn2] = this[fn2].bind(this);
        }
      }
    }
    AutoScroll.prototype = {
      dragStarted: function dragStarted(_ref) {
        var originalEvent = _ref.originalEvent;
        if (this.sortable.nativeDraggable) {
          on(document, "dragover", this._handleAutoScroll);
        } else {
          if (this.options.supportPointer) {
            on(document, "pointermove", this._handleFallbackAutoScroll);
          } else if (originalEvent.touches) {
            on(document, "touchmove", this._handleFallbackAutoScroll);
          } else {
            on(document, "mousemove", this._handleFallbackAutoScroll);
          }
        }
      },
      dragOverCompleted: function dragOverCompleted(_ref2) {
        var originalEvent = _ref2.originalEvent;
        if (!this.options.dragOverBubble && !originalEvent.rootEl) {
          this._handleAutoScroll(originalEvent);
        }
      },
      drop: function drop3() {
        if (this.sortable.nativeDraggable) {
          off(document, "dragover", this._handleAutoScroll);
        } else {
          off(document, "pointermove", this._handleFallbackAutoScroll);
          off(document, "touchmove", this._handleFallbackAutoScroll);
          off(document, "mousemove", this._handleFallbackAutoScroll);
        }
        clearPointerElemChangedInterval();
        clearAutoScrolls();
        cancelThrottle();
      },
      nulling: function nulling() {
        touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
        autoScrolls.length = 0;
      },
      _handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
        this._handleAutoScroll(evt, true);
      },
      _handleAutoScroll: function _handleAutoScroll(evt, fallback) {
        var _this = this;
        var x = (evt.touches ? evt.touches[0] : evt).clientX, y = (evt.touches ? evt.touches[0] : evt).clientY, elem = document.elementFromPoint(x, y);
        touchEvt$1 = evt;
        if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {
          autoScroll(evt, this.options, elem, fallback);
          var ogElemScroller = getParentAutoScrollElement(elem, true);
          if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
            pointerElemChangedInterval && clearPointerElemChangedInterval();
            pointerElemChangedInterval = setInterval(function() {
              var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
              if (newElem !== ogElemScroller) {
                ogElemScroller = newElem;
                clearAutoScrolls();
              }
              autoScroll(evt, _this.options, newElem, fallback);
            }, 10);
            lastAutoScrollX = x;
            lastAutoScrollY = y;
          }
        } else {
          if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
            clearAutoScrolls();
            return;
          }
          autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
        }
      }
    };
    return _extends(AutoScroll, {
      pluginName: "scroll",
      initializeByDefault: true
    });
  }
  function clearAutoScrolls() {
    autoScrolls.forEach(function(autoScroll2) {
      clearInterval(autoScroll2.pid);
    });
    autoScrolls = [];
  }
  function clearPointerElemChangedInterval() {
    clearInterval(pointerElemChangedInterval);
  }
  var autoScroll = throttle(function(evt, options, rootEl2, isFallback) {
    if (!options.scroll)
      return;
    var x = (evt.touches ? evt.touches[0] : evt).clientX, y = (evt.touches ? evt.touches[0] : evt).clientY, sens = options.scrollSensitivity, speed = options.scrollSpeed, winScroller = getWindowScrollingElement();
    var scrollThisInstance = false, scrollCustomFn;
    if (scrollRootEl !== rootEl2) {
      scrollRootEl = rootEl2;
      clearAutoScrolls();
      scrollEl = options.scroll;
      scrollCustomFn = options.scrollFn;
      if (scrollEl === true) {
        scrollEl = getParentAutoScrollElement(rootEl2, true);
      }
    }
    var layersOut = 0;
    var currentParent = scrollEl;
    do {
      var el = currentParent, rect = getRect(el), top2 = rect.top, bottom2 = rect.bottom, left2 = rect.left, right2 = rect.right, width = rect.width, height = rect.height, canScrollX = void 0, canScrollY = void 0, scrollWidth = el.scrollWidth, scrollHeight = el.scrollHeight, elCSS = css(el), scrollPosX = el.scrollLeft, scrollPosY = el.scrollTop;
      if (el === winScroller) {
        canScrollX = width < scrollWidth && (elCSS.overflowX === "auto" || elCSS.overflowX === "scroll" || elCSS.overflowX === "visible");
        canScrollY = height < scrollHeight && (elCSS.overflowY === "auto" || elCSS.overflowY === "scroll" || elCSS.overflowY === "visible");
      } else {
        canScrollX = width < scrollWidth && (elCSS.overflowX === "auto" || elCSS.overflowX === "scroll");
        canScrollY = height < scrollHeight && (elCSS.overflowY === "auto" || elCSS.overflowY === "scroll");
      }
      var vx = canScrollX && (Math.abs(right2 - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left2 - x) <= sens && !!scrollPosX);
      var vy = canScrollY && (Math.abs(bottom2 - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top2 - y) <= sens && !!scrollPosY);
      if (!autoScrolls[layersOut]) {
        for (var i = 0; i <= layersOut; i++) {
          if (!autoScrolls[i]) {
            autoScrolls[i] = {};
          }
        }
      }
      if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
        autoScrolls[layersOut].el = el;
        autoScrolls[layersOut].vx = vx;
        autoScrolls[layersOut].vy = vy;
        clearInterval(autoScrolls[layersOut].pid);
        if (vx != 0 || vy != 0) {
          scrollThisInstance = true;
          autoScrolls[layersOut].pid = setInterval((function() {
            if (isFallback && this.layer === 0) {
              Sortable.active._onTouchMove(touchEvt$1);
            }
            var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
            var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
            if (typeof scrollCustomFn === "function") {
              if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== "continue") {
                return;
              }
            }
            scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
          }).bind({
            layer: layersOut
          }), 24);
        }
      }
      layersOut++;
    } while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
    scrolling = scrollThisInstance;
  }, 30);
  var drop = function drop2(_ref) {
    var originalEvent = _ref.originalEvent, putSortable2 = _ref.putSortable, dragEl2 = _ref.dragEl, activeSortable = _ref.activeSortable, dispatchSortableEvent = _ref.dispatchSortableEvent, hideGhostForTarget = _ref.hideGhostForTarget, unhideGhostForTarget = _ref.unhideGhostForTarget;
    if (!originalEvent)
      return;
    var toSortable = putSortable2 || activeSortable;
    hideGhostForTarget();
    var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
    var target = document.elementFromPoint(touch.clientX, touch.clientY);
    unhideGhostForTarget();
    if (toSortable && !toSortable.el.contains(target)) {
      dispatchSortableEvent("spill");
      this.onSpill({
        dragEl: dragEl2,
        putSortable: putSortable2
      });
    }
  };
  function Revert() {
  }
  Revert.prototype = {
    startIndex: null,
    dragStart: function dragStart(_ref2) {
      var oldDraggableIndex2 = _ref2.oldDraggableIndex;
      this.startIndex = oldDraggableIndex2;
    },
    onSpill: function onSpill(_ref3) {
      var dragEl2 = _ref3.dragEl, putSortable2 = _ref3.putSortable;
      this.sortable.captureAnimationState();
      if (putSortable2) {
        putSortable2.captureAnimationState();
      }
      var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
      if (nextSibling) {
        this.sortable.el.insertBefore(dragEl2, nextSibling);
      } else {
        this.sortable.el.appendChild(dragEl2);
      }
      this.sortable.animateAll();
      if (putSortable2) {
        putSortable2.animateAll();
      }
    },
    drop
  };
  _extends(Revert, {
    pluginName: "revertOnSpill"
  });
  function Remove() {
  }
  Remove.prototype = {
    onSpill: function onSpill2(_ref4) {
      var dragEl2 = _ref4.dragEl, putSortable2 = _ref4.putSortable;
      var parentSortable = putSortable2 || this.sortable;
      parentSortable.captureAnimationState();
      dragEl2.parentNode && dragEl2.parentNode.removeChild(dragEl2);
      parentSortable.animateAll();
    },
    drop
  };
  _extends(Remove, {
    pluginName: "removeOnSpill"
  });
  Sortable.mount(new AutoScrollPlugin());
  Sortable.mount(Remove, Revert);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function swapDragArrayElement(data2, currentIndex, targetIndex) {
    var newData = _toConsumableArray(data2);
    if (targetIndex - currentIndex > 0) {
      newData.splice(targetIndex + 1, 0, newData[currentIndex]);
      newData.splice(currentIndex, 1);
    } else {
      newData.splice(targetIndex, 0, newData[currentIndex]);
      newData.splice(currentIndex + 1, 1);
    }
    return newData;
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$8(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$8(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$8(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useDragSort(props2, context) {
    var _toRefs = vue.toRefs(props2), sortOnRowDraggable = _toRefs.sortOnRowDraggable, dragSort = _toRefs.dragSort, data2 = _toRefs.data, rowKey = _toRefs.rowKey;
    var innerPagination = vue.ref(props2.pagination);
    var _useClassName = useClassName(), tableDraggableClasses = _useClassName.tableDraggableClasses, tableBaseClass = _useClassName.tableBaseClass, tableFullRowClasses = _useClassName.tableFullRowClasses;
    var primaryTableRef = vue.ref(null);
    var columns = vue.ref(props2.columns || []);
    var dragCol = vue.computed(function() {
      return columns.value.find(function(item) {
        return item.colKey === "drag";
      });
    });
    var isRowDraggable = vue.computed(function() {
      return sortOnRowDraggable.value || ["row", "row-handler-col"].includes(dragSort.value);
    });
    var isRowHandlerDraggable = vue.computed(function() {
      return ["row-handler", "row-handler-col"].includes(dragSort.value) && !!dragCol.value;
    });
    var isColDraggable = vue.computed(function() {
      return ["col", "row-handler-col"].includes(dragSort.value);
    });
    var lastRowList = vue.ref([]);
    var lastColList = vue.ref([]);
    var dragRowInstanceTmp = null;
    var dragColInstanceTmp = null;
    if (props2.sortOnRowDraggable) {
      log.error("Table", "`sortOnRowDraggable` is going to be deprecated, use dragSort='row' instead.");
    }
    vue.watch([data2], function(_ref) {
      var _ref2 = _slicedToArray(_ref, 1), data22 = _ref2[0];
      lastRowList.value = (data22 === null || data22 === void 0 ? void 0 : data22.map(function(item) {
        return get_1(item, rowKey.value);
      })) || [];
      var timer = setTimeout(function() {
        if (data22.length) {
          var _dragRowInstanceTmp;
          (_dragRowInstanceTmp = dragRowInstanceTmp) === null || _dragRowInstanceTmp === void 0 || _dragRowInstanceTmp.sort(lastRowList.value);
        } else {
          var _primaryTableRef$valu;
          var trList = (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.$el.querySelectorAll("tr[data-id]");
          trList === null || trList === void 0 || trList.forEach(function(node) {
            return node.remove();
          });
        }
        clearTimeout(timer);
      }, 0);
    }, {
      immediate: true
    });
    vue.watch(columns, function(columns2) {
      lastColList.value = columns2 ? columns2.map(function(t) {
        return t.colKey;
      }) : [];
      var timer = setTimeout(function() {
        var _dragColInstanceTmp;
        if (!dragColInstanceTmp || !dragColInstanceTmp.el)
          return;
        (_dragColInstanceTmp = dragColInstanceTmp) === null || _dragColInstanceTmp === void 0 || _dragColInstanceTmp.sort(lastColList.value);
        clearTimeout(timer);
      }, 0);
    });
    function getDataPageIndex(index2, pagination) {
      var _pagination$current, _pagination$pageSize;
      var current = (_pagination$current = pagination.current) !== null && _pagination$current !== void 0 ? _pagination$current : pagination.defaultCurrent;
      var pageSize = (_pagination$pageSize = pagination.pageSize) !== null && _pagination$pageSize !== void 0 ? _pagination$pageSize : pagination.defaultPageSize;
      if (!props2.disableDataPage && pagination && data2.value.length > pageSize) {
        return pageSize * (current - 1) + index2;
      }
      return index2;
    }
    var registerRowDragEvent = function registerRowDragEvent2(element2) {
      if (!isRowHandlerDraggable.value && !isRowDraggable.value)
        return;
      var dragContainer = element2 === null || element2 === void 0 ? void 0 : element2.querySelector("tbody");
      if (!dragContainer) {
        console.error("tbody does not exist.");
        return null;
      }
      var baseOptions = _objectSpread$8({
        animation: 150,
        ghostClass: tableDraggableClasses.ghost,
        chosenClass: tableDraggableClasses.chosen,
        dragClass: tableDraggableClasses.dragging,
        filter: ".".concat(tableFullRowClasses.base),
        onMove: function onMove(evt) {
          return !hasClass(evt.related, tableFullRowClasses.base);
        },
        onEnd: function onEnd(evt) {
          var _dragRowInstanceTmp2, _props$onDragSort;
          if (evt.newIndex === evt.oldIndex)
            return;
          (_dragRowInstanceTmp2 = dragRowInstanceTmp) === null || _dragRowInstanceTmp2 === void 0 || _dragRowInstanceTmp2.sort(lastRowList.value);
          var currentIndex = evt.oldIndex, targetIndex = evt.newIndex;
          if (isFunction_1(props2.firstFullRow) && props2.firstFullRow(vue.h) || context.slots.firstFullRow) {
            currentIndex -= 1;
            targetIndex -= 1;
          }
          if (innerPagination.value) {
            currentIndex = getDataPageIndex(currentIndex, innerPagination.value);
            targetIndex = getDataPageIndex(targetIndex, innerPagination.value);
          }
          var params = {
            data: data2.value,
            currentIndex,
            current: data2.value[currentIndex],
            targetIndex,
            target: data2.value[targetIndex],
            newData: swapDragArrayElement(_toConsumableArray(props2.data), currentIndex, targetIndex),
            e: evt,
            sort: "row"
          };
          params.currentData = params.newData;
          (_props$onDragSort = props2.onDragSort) === null || _props$onDragSort === void 0 || _props$onDragSort.call(props2, params);
        }
      }, props2.dragSortOptions);
      if (!dragContainer)
        return;
      if (isRowDraggable.value) {
        dragRowInstanceTmp = new Sortable(dragContainer, _objectSpread$8({}, baseOptions));
      } else {
        dragRowInstanceTmp = new Sortable(dragContainer, _objectSpread$8(_objectSpread$8({}, baseOptions), {}, {
          handle: ".".concat(tableDraggableClasses.handle)
        }));
      }
      lastRowList.value = dragRowInstanceTmp.toArray();
    };
    var registerOneLevelColDragEvent = function registerOneLevelColDragEvent2(container, recover) {
      var options = _objectSpread$8({
        animation: 150,
        dataIdAttr: "data-colkey",
        direction: "vertical",
        ghostClass: tableDraggableClasses.ghost,
        chosenClass: tableDraggableClasses.chosen,
        dragClass: tableDraggableClasses.dragging,
        handle: ".".concat(tableBaseClass.thCellInner),
        onEnd: function onEnd(evt) {
          var _props$onDragSort2;
          if (evt.newIndex === evt.oldIndex)
            return;
          if (recover) {
            var _dragColInstanceTmp2;
            (_dragColInstanceTmp2 = dragColInstanceTmp) === null || _dragColInstanceTmp2 === void 0 || _dragColInstanceTmp2.sort(_toConsumableArray(lastColList.value));
          }
          var oldIndex2 = evt.oldIndex, newIndex2 = evt.newIndex, targetElement = evt.target;
          var currentIndex = recover ? oldIndex2 : newIndex2;
          var targetIndex = recover ? newIndex2 : oldIndex2;
          var oldElement = targetElement.children[currentIndex];
          var newElement = targetElement.children[targetIndex];
          var current = getColumnDataByKey(columns.value, oldElement.dataset.colkey);
          var target = getColumnDataByKey(columns.value, newElement.dataset.colkey);
          if (!current || !current.colKey) {
            log.error("Table", "colKey is missing in ".concat(JSON.stringify(current)));
          }
          if (!target || !target.colKey) {
            log.error("Table", "colKey is missing in ".concat(JSON.stringify(target)));
          }
          currentIndex = getColumnIndexByKey(props2.columns, current.colKey);
          targetIndex = getColumnIndexByKey(props2.columns, target.colKey);
          var params = {
            data: columns.value,
            currentIndex,
            current,
            targetIndex,
            target,
            newData: swapDragArrayElement(_toConsumableArray(props2.columns), currentIndex, targetIndex),
            e: evt,
            sort: "col"
          };
          params.currentData = params.newData;
          (_props$onDragSort2 = props2.onDragSort) === null || _props$onDragSort2 === void 0 || _props$onDragSort2.call(props2, params);
        }
      }, props2.dragSortOptions);
      if (!container)
        return;
      dragColInstanceTmp = new Sortable(container, options);
      return dragColInstanceTmp;
    };
    var registerColDragEvent = function registerColDragEvent2(tableElement) {
      if (!isColDraggable.value || !tableElement)
        return;
      var trList = tableElement.querySelectorAll("thead > tr");
      if (trList.length <= 1) {
        var _trList = _slicedToArray(trList, 1), container = _trList[0];
        var dragInstanceTmp = registerOneLevelColDragEvent(container, true);
        lastColList.value = dragInstanceTmp === null || dragInstanceTmp === void 0 ? void 0 : dragInstanceTmp.toArray();
      } else {
        trList === null || trList === void 0 || trList.forEach(function(container2) {
          registerOneLevelColDragEvent(container2, false);
        });
      }
    };
    function setDragSortPrimaryTableRef(primaryTableElement) {
      primaryTableRef.value = primaryTableElement;
    }
    function setDragSortColumns(val) {
      columns.value = val;
    }
    vue.watch([primaryTableRef, columns, dragSort], function(_ref3) {
      var _ref4 = _slicedToArray(_ref3, 1), val = _ref4[0];
      if (!val || !val.$el)
        return;
      var timerA = setTimeout(function() {
        registerRowDragEvent(val.$el);
        registerColDragEvent(val.$el);
        var timer = setTimeout(function() {
          if (val.$refs.affixHeaderRef) {
            registerColDragEvent(val.$refs.affixHeaderRef);
          }
          clearTimeout(timer);
        });
        clearTimeout(timerA);
      }, 0);
    });
    return {
      innerPagination,
      isRowDraggable,
      isRowHandlerDraggable,
      isColDraggable,
      setDragSortPrimaryTableRef,
      setDragSortColumns
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function useAsyncLoading(props2) {
    var renderTNode = useTNodeJSX();
    var _useConfig = useConfig("table", props2.locale), globalConfig = _useConfig.globalConfig;
    var _useClassName = useClassName(), isLoadingClass = _useClassName.isLoadingClass, isLoadMoreClass = _useClassName.isLoadMoreClass, asyncLoadingClass = _useClassName.asyncLoadingClass;
    var classes = vue.computed(function() {
      var _ref;
      return [asyncLoadingClass, (_ref = {}, _defineProperty$2(_ref, isLoadingClass, props2.asyncLoading === "loading"), _defineProperty$2(_ref, isLoadMoreClass, props2.asyncLoading === "load-more"), _ref)];
    });
    function onLoadClick() {
      var _props$onAsyncLoading;
      if (!isString_1(props2.asyncLoading))
        return;
      (_props$onAsyncLoading = props2.onAsyncLoadingClick) === null || _props$onAsyncLoading === void 0 || _props$onAsyncLoading.call(props2, {
        status: props2.asyncLoading
      });
    }
    function renderAsyncLoading() {
      var asyncLoadingNode = renderTNode("asyncLoading");
      if (isString_1(asyncLoadingNode)) {
        var asyncLoading = props2.asyncLoading;
        var loadingText = {
          "load-more": globalConfig.value.loadingMoreText,
          loading: globalConfig.value.loadingText
        }[String(asyncLoading)];
        return vue.createVNode("div", {
          "class": classes.value,
          "onClick": onLoadClick
        }, [vue.createVNode(Loading, {
          "indicator": asyncLoading === "loading",
          "loading": !!asyncLoading,
          "size": "small",
          "text": loadingText
        }, null)]);
      }
      if (![null, false, void 0].includes(asyncLoadingNode)) {
        return vue.createVNode("div", {
          "class": classes.value,
          "onClick": onLoadClick
        }, [asyncLoadingNode]);
      }
      return null;
    }
    return {
      renderAsyncLoading
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _toArray(arr) {
    return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$3(arr) || _nonIterableRest();
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$7(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$7(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$7(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var EditableCell = vue.defineComponent({
    name: "TableEditableCell",
    props: {
      row: Object,
      rowIndex: Number,
      col: Object,
      colIndex: Number,
      oldCell: [Function, String],
      tableBaseClass: Object,
      cellEmptyContent: [Function, String],
      editable: {
        type: Boolean,
        "default": void 0
      },
      readonly: {
        type: Boolean
      },
      errors: {
        type: Array,
        "default": void 0
      },
      onChange: Function,
      onValidate: Function,
      onRuleChange: Function,
      onEditableChange: Function
    },
    setup: function setup45(props2, context) {
      var _props$col$edit;
      var _toRefs = vue.toRefs(props2), row = _toRefs.row, col = _toRefs.col;
      vue.ref(null);
      var isKeepEditMode = vue.computed(function() {
        var _col$value$edit;
        return (_col$value$edit = col.value.edit) === null || _col$value$edit === void 0 ? void 0 : _col$value$edit.keepEditMode;
      });
      var isEdit = vue.ref(isKeepEditMode.value || ((_props$col$edit = props2.col.edit) === null || _props$col$edit === void 0 ? void 0 : _props$col$edit.defaultEditable) || false);
      var editValue = vue.ref();
      var errorList = vue.ref();
      var classPrefix = usePrefixClass();
      var _useGlobalIcon = useGlobalIcon({
        Edit1Icon
      }), Edit1Icon$1 = _useGlobalIcon.Edit1Icon;
      var updateEditedCellValue = function updateEditedCellValue2(val) {
        editValue.value = val;
      };
      vue.watch([isKeepEditMode], function(val) {
        if (val) {
          isEdit.value = true;
        }
      });
      var editOnListeners = vue.computed(function() {
        var _col$value$edit2, _col$value$edit2$on;
        return ((_col$value$edit2 = col.value.edit) === null || _col$value$edit2 === void 0 || (_col$value$edit2$on = _col$value$edit2.on) === null || _col$value$edit2$on === void 0 ? void 0 : _col$value$edit2$on.call(_col$value$edit2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
          editedRow: currentRow.value,
          updateEditedCellValue
        }))) || {};
      });
      var cellParams = vue.computed(function() {
        return {
          rowIndex: props2.rowIndex,
          colIndex: props2.colIndex,
          col: props2.col,
          row: props2.row
        };
      });
      var currentRow = vue.computed(function() {
        var colKey = col.value.colKey;
        var _ref = colKey.split(".") || [], _ref2 = _toArray(_ref), firstKey = _ref2[0], restKeys = _ref2.slice(1);
        var newRow = _objectSpread$7({}, row.value);
        if (restKeys.length) {
          newRow[firstKey] = cloneDeep_1(row.value[firstKey]);
          set_1(newRow[firstKey], restKeys.join("."), editValue.value);
        } else {
          set_1(newRow, colKey, editValue.value);
        }
        return newRow;
      });
      var cellNode = vue.computed(function() {
        var node = renderCell({
          row: currentRow.value,
          col: _objectSpread$7(_objectSpread$7({}, col.value), {}, {
            cell: props2.oldCell
          }),
          rowIndex: props2.rowIndex,
          colIndex: props2.colIndex
        }, context.slots, {
          cellEmptyContent: props2.cellEmptyContent
        });
        return node;
      });
      var editProps = vue.computed(function() {
        var edit = col.value.edit;
        return isFunction_1(edit.props) ? edit.props(_objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
          editedRow: currentRow.value,
          updateEditedCellValue
        })) : _objectSpread$7({}, edit.props);
      });
      var componentProps = vue.computed(function() {
        var _edit$abortEditOnEven;
        var edit = col.value.edit;
        if (!edit)
          return {};
        var tmpProps = _objectSpread$7({}, editProps.value);
        delete tmpProps.onChange;
        delete tmpProps.value;
        (_edit$abortEditOnEven = edit.abortEditOnEvent) === null || _edit$abortEditOnEven === void 0 || _edit$abortEditOnEven.forEach(function(item) {
          delete tmpProps[item];
        });
        return tmpProps;
      });
      var isAbortEditOnChange = vue.computed(function() {
        var _edit$abortEditOnEven2;
        var edit = col.value.edit;
        if (!edit)
          return false;
        return Boolean((_edit$abortEditOnEven2 = edit.abortEditOnEvent) === null || _edit$abortEditOnEven2 === void 0 ? void 0 : _edit$abortEditOnEven2.includes("onChange"));
      });
      var validateEdit = function validateEdit2(trigger) {
        return new Promise(function(resolve2) {
          var params = {
            result: [_objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
              errorList: [],
              value: editValue.value
            })],
            trigger
          };
          var rules = isFunction_1(col.value.edit.rules) ? col.value.edit.rules(cellParams.value) : col.value.edit.rules;
          if (!col.value.edit || !rules || !rules.length) {
            var _props$onValidate;
            (_props$onValidate = props2.onValidate) === null || _props$onValidate === void 0 || _props$onValidate.call(props2, params);
            resolve2(true);
            return;
          }
          validate(editValue.value, rules).then(function(result) {
            var _props$onValidate2;
            var list = result === null || result === void 0 ? void 0 : result.filter(function(t) {
              return !t.result;
            });
            params.result[0].errorList = list;
            (_props$onValidate2 = props2.onValidate) === null || _props$onValidate2 === void 0 || _props$onValidate2.call(props2, params);
            if (!list || !list.length) {
              errorList.value = [];
              resolve2(true);
            } else {
              errorList.value = list;
              resolve2(list);
            }
          });
        });
      };
      var isSame = function isSame2(a, b) {
        if (isObject_1(a) && isObject_1(b)) {
          return JSON.stringify(a) === JSON.stringify(b);
        }
        return a === b;
      };
      var updateAndSaveAbort = function updateAndSaveAbort2(outsideAbortEvent, eventName) {
        for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
          args[_key - 2] = arguments[_key];
        }
        validateEdit("self").then(function(result) {
          var _editOnListeners$valu, _editOnListeners$valu2;
          if (result !== true)
            return;
          var oldValue = get_1(row.value, col.value.colKey);
          if (!isSame(editValue.value, oldValue)) {
            editValue.value = oldValue;
            outsideAbortEvent === null || outsideAbortEvent === void 0 || outsideAbortEvent.apply(void 0, args);
          }
          (_editOnListeners$valu = (_editOnListeners$valu2 = editOnListeners.value)[eventName]) === null || _editOnListeners$valu === void 0 || _editOnListeners$valu.call(_editOnListeners$valu2, args[2]);
          var timer = setTimeout(function() {
            var _props$onEditableChan;
            if (!isKeepEditMode.value) {
              isEdit.value = false;
            }
            errorList.value = [];
            (_props$onEditableChan = props2.onEditableChange) === null || _props$onEditableChan === void 0 || _props$onEditableChan.call(props2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
              value: editValue.value,
              editedRow: _objectSpread$7(_objectSpread$7({}, props2.row), {}, _defineProperty$2({}, props2.col.colKey, editValue.value)),
              validateEdit,
              isEdit: false
            }));
            clearTimeout(timer);
          }, 0);
        });
      };
      var listeners = vue.computed(function() {
        var _edit$abortEditOnEven3;
        var edit = col.value.edit;
        var isCellEditable = props2.editable === void 0;
        if (!isEdit.value || !isCellEditable)
          return;
        if (!(edit !== null && edit !== void 0 && (_edit$abortEditOnEven3 = edit.abortEditOnEvent) !== null && _edit$abortEditOnEven3 !== void 0 && _edit$abortEditOnEven3.length))
          return {};
        var tListeners = {};
        var outsideAbortEvent = edit === null || edit === void 0 ? void 0 : edit.onEdited;
        edit.abortEditOnEvent.forEach(function(itemEvent) {
          if (itemEvent === "onChange")
            return;
          tListeners[itemEvent] = function() {
            for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
              args[_key2] = arguments[_key2];
            }
            updateAndSaveAbort.apply(void 0, [outsideAbortEvent, itemEvent, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
              trigger: itemEvent,
              newRowData: currentRow.value
            })].concat(args));
          };
        });
        return tListeners;
      });
      var onEditChange = function onEditChange2(val) {
        var _editProps$value, _editProps$value$onCh, _props$onChange, _props$onRuleChange, _editOnListeners$valu3, _editOnListeners$valu4, _col$value$edit4;
        editValue.value = val;
        var params = _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
          value: val,
          editedRow: _objectSpread$7(_objectSpread$7({}, props2.row), {}, _defineProperty$2({}, props2.col.colKey, val))
        });
        for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
          args[_key3 - 1] = arguments[_key3];
        }
        (_editProps$value = editProps.value) === null || _editProps$value === void 0 || (_editProps$value$onCh = _editProps$value.onChange) === null || _editProps$value$onCh === void 0 || _editProps$value$onCh.call.apply(_editProps$value$onCh, [_editProps$value, val].concat(args));
        (_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, params);
        (_props$onRuleChange = props2.onRuleChange) === null || _props$onRuleChange === void 0 || _props$onRuleChange.call(props2, params);
        (_editOnListeners$valu3 = editOnListeners.value) === null || _editOnListeners$valu3 === void 0 || (_editOnListeners$valu4 = _editOnListeners$valu3.onChange) === null || _editOnListeners$valu4 === void 0 || _editOnListeners$valu4.call(_editOnListeners$valu3, params);
        var isCellEditable = props2.editable === void 0;
        if (isCellEditable && isAbortEditOnChange.value) {
          var _col$value$edit3;
          var outsideAbortEvent = (_col$value$edit3 = col.value.edit) === null || _col$value$edit3 === void 0 ? void 0 : _col$value$edit3.onEdited;
          updateAndSaveAbort.apply(void 0, [outsideAbortEvent, "change", _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
            trigger: "onChange",
            newRowData: currentRow.value
          })].concat(args));
        }
        if (((_col$value$edit4 = col.value.edit) === null || _col$value$edit4 === void 0 ? void 0 : _col$value$edit4.validateTrigger) === "change") {
          validateEdit("self");
        }
      };
      var documentClickHandler = function documentClickHandler2(e) {
        var _e$composedPath;
        if (!col.value.edit || !col.value.edit.component)
          return;
        if (!isEdit.value)
          return;
        var path = ((_e$composedPath = e.composedPath) === null || _e$composedPath === void 0 ? void 0 : _e$composedPath.call(e)) || e.path || [];
        var node = path.find(function(node2) {
          var _node2$classList;
          return (_node2$classList = node2.classList) === null || _node2$classList === void 0 ? void 0 : _node2$classList.contains("".concat(classPrefix.value, "-popup__content"));
        });
        if (node)
          return;
        var outsideAbortEvent = col.value.edit.onEdited;
        updateAndSaveAbort(outsideAbortEvent, "", _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
          trigger: "document",
          newRowData: currentRow.value
        }));
      };
      var enterEdit = function enterEdit2() {
        var _props$onEditableChan2;
        (_props$onEditableChan2 = props2.onEditableChange) === null || _props$onEditableChan2 === void 0 || _props$onEditableChan2.call(props2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
          value: editValue.value,
          editedRow: props2.row,
          isEdit: true,
          validateEdit
        }));
      };
      var onCellClick = function onCellClick2(e) {
        isEdit.value = true;
        enterEdit();
        e.stopPropagation();
      };
      vue.onMounted(function() {
        var _props$col$edit2;
        if ((_props$col$edit2 = props2.col.edit) !== null && _props$col$edit2 !== void 0 && _props$col$edit2.defaultEditable) {
          enterEdit();
        }
      });
      var cellValue = vue.computed(function() {
        return get_1(row.value, col.value.colKey);
      });
      vue.watch(cellValue, function(cellValue2) {
        editValue.value = cellValue2;
      }, {
        immediate: true
      });
      vue.watch(isEdit, function(isEdit2) {
        var isCellEditable = props2.editable === void 0;
        if (!col.value.edit || !col.value.edit.component || !isCellEditable)
          return;
        if (isEdit2) {
          on$1(document, "click", documentClickHandler);
        } else {
          off$1(document, "click", documentClickHandler);
        }
      }, {
        immediate: true
      });
      vue.watch(function() {
        return [props2.editable, props2.row, props2.col, props2.rowIndex, props2.colIndex];
      }, function(_ref3) {
        var _ref4 = _slicedToArray(_ref3, 1), editable = _ref4[0];
        if (editable === false) {
          editValue.value = cellValue.value;
        } else if (editable === true) {
          var _props$onRuleChange2;
          (_props$onRuleChange2 = props2.onRuleChange) === null || _props$onRuleChange2 === void 0 || _props$onRuleChange2.call(props2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
            value: cellValue.value,
            editedRow: row.value
          }));
        }
      }, {
        immediate: true
      });
      vue.watch(function() {
        return props2.errors;
      }, function(errors) {
        errorList.value = errors;
      });
      return function() {
        var _col$value$edit6, _errorList$value, _col$value$edit7, _errorList$value2;
        if (props2.readonly) {
          return cellNode.value;
        }
        if (props2.editable === void 0 && !isEdit.value || props2.editable === false) {
          var _col$value$edit5;
          return vue.createVNode("div", {
            "class": props2.tableBaseClass.cellEditable,
            "onClick": onCellClick
          }, [cellNode.value, ((_col$value$edit5 = col.value.edit) === null || _col$value$edit5 === void 0 ? void 0 : _col$value$edit5.showEditIcon) !== false && vue.createVNode(Edit1Icon$1, null, null)]);
        }
        var Component = (_col$value$edit6 = col.value.edit) === null || _col$value$edit6 === void 0 ? void 0 : _col$value$edit6.component;
        if (!Component) {
          log.error("Table", "edit.component is required.");
          return null;
        }
        var errorMessage = (_errorList$value = errorList.value) === null || _errorList$value === void 0 || (_errorList$value = _errorList$value[0]) === null || _errorList$value === void 0 ? void 0 : _errorList$value.message;
        var tmpEditOnListeners = _objectSpread$7({}, editOnListeners.value);
        delete tmpEditOnListeners.onChange;
        if ((_col$value$edit7 = col.value.edit) !== null && _col$value$edit7 !== void 0 && (_col$value$edit7 = _col$value$edit7.abortEditOnEvent) !== null && _col$value$edit7 !== void 0 && _col$value$edit7.length) {
          col.value.edit.abortEditOnEvent.forEach(function(onEventName) {
            if (tmpEditOnListeners[onEventName]) {
              delete tmpEditOnListeners[onEventName];
            }
          });
        }
        return vue.createVNode("div", {
          "class": props2.tableBaseClass.cellEditWrap,
          "onClick": function onClick(e) {
            e.stopPropagation();
          },
          "ref": "tableEditableCellRef"
        }, [vue.createVNode(Component, vue.mergeProps({
          "status": errorMessage ? ((_errorList$value2 = errorList.value) === null || _errorList$value2 === void 0 || (_errorList$value2 = _errorList$value2[0]) === null || _errorList$value2 === void 0 ? void 0 : _errorList$value2.type) || "error" : void 0,
          "tips": errorMessage
        }, componentProps.value, listeners.value, tmpEditOnListeners, {
          "value": editValue.value,
          "onChange": onEditChange
        }), null)]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$6(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$6(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$6(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useRowEdit(props2) {
    var cellRuleMap = /* @__PURE__ */ new Map();
    var errorListMap = vue.ref({});
    var editableKeysMap = vue.computed(function() {
      return getEditableKeysMap(props2.editableRowKeys, props2.data, props2.rowKey || "id");
    });
    var editingCells = vue.ref({});
    var getErrorListMapByErrors = function getErrorListMapByErrors2(errors) {
      var errorMap = {};
      errors.forEach(function(_ref) {
        var row = _ref.row, col = _ref.col, errorList = _ref.errorList;
        var rowValue = get_1(row, props2.rowKey || "id");
        var key2 = [rowValue, col.colKey].join("__");
        if (errorList !== null && errorList !== void 0 && errorList.length) {
          errorMap[key2] = errorList;
        } else {
          delete errorMap[key2];
        }
      });
      return errorMap;
    };
    var validateOneRowData = function validateOneRowData2(rowValue) {
      var rowRules = cellRuleMap.get(rowValue);
      if (!rowRules)
        return;
      var list = rowRules.map(function(item) {
        return new Promise(function(resolve2) {
          var editedRow = item.editedRow, col = item.col;
          var rules = isFunction_1(col.edit.rules) ? col.edit.rules(item) : col.edit.rules;
          if (!col.edit || !rules || !rules.length) {
            resolve2(_objectSpread$6(_objectSpread$6({}, item), {}, {
              errorList: []
            }));
            return;
          }
          validate(get_1(editedRow, col.colKey), rules).then(function(r) {
            resolve2(_objectSpread$6(_objectSpread$6({}, item), {}, {
              errorList: r.filter(function(t) {
                return !t.result;
              })
            }));
          });
        });
      });
      return new Promise(function(resolve2, reject2) {
        Promise.all(list).then(function(errors) {
          resolve2({
            errors: errors.filter(function(t) {
              var _t$errorList;
              return (_t$errorList = t.errorList) === null || _t$errorList === void 0 ? void 0 : _t$errorList.length;
            }),
            errorMap: getErrorListMapByErrors(errors)
          });
        }, reject2);
      });
    };
    var validateRowData = function validateRowData2(rowValue) {
      return new Promise(function(resolve2, reject2) {
        validateOneRowData(rowValue).then(function(_ref2) {
          var _props$onRowValidate;
          var errors = _ref2.errors, errorMap = _ref2.errorMap;
          errorListMap.value = errorMap;
          var tTrigger = "parent";
          (_props$onRowValidate = props2.onRowValidate) === null || _props$onRowValidate === void 0 || _props$onRowValidate.call(props2, {
            trigger: tTrigger,
            result: errors
          });
          resolve2({
            trigger: tTrigger,
            result: errors
          });
        }, reject2);
      });
    };
    var validateTableCellData = function validateTableCellData2() {
      var cellKeys = Object.keys(editingCells.value);
      var promiseList = cellKeys.map(function(cellKey) {
        return editingCells.value[cellKey].validateEdit("parent");
      });
      return new Promise(function(resolve2, reject2) {
        Promise.all(promiseList).then(function(arr) {
          var _props$onValidate;
          var allErrorListMap = {};
          arr.forEach(function(result, index2) {
            if (result === true)
              return;
            allErrorListMap[cellKeys[index2]] = result;
          });
          (_props$onValidate = props2.onValidate) === null || _props$onValidate === void 0 || _props$onValidate.call(props2, {
            result: allErrorListMap
          });
          resolve2({
            result: allErrorListMap
          });
        }, reject2);
      });
    };
    var validateTableData = function validateTableData2() {
      if (Object.keys(editingCells.value).length) {
        return validateTableCellData();
      }
      var promiseList = [];
      var data2 = props2.data || [];
      for (var i = 0, len2 = data2.length; i < len2; i++) {
        var rowValue = get_1(data2[i], props2.rowKey || "id");
        promiseList.push(validateOneRowData(rowValue));
      }
      return new Promise(function(resolve2, reject2) {
        Promise.all(promiseList).then(function(rList) {
          var _props$onValidate2;
          var allErrorListMap = {};
          rList.forEach(function() {
            var _ref3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
              errors: [],
              errorMap: {}
            }, errorMap = _ref3.errorMap;
            errorMap && Object.assign(allErrorListMap, errorMap);
          });
          errorListMap.value = allErrorListMap;
          (_props$onValidate2 = props2.onValidate) === null || _props$onValidate2 === void 0 || _props$onValidate2.call(props2, {
            result: allErrorListMap
          });
          resolve2({
            result: allErrorListMap
          });
        }, reject2);
      });
    };
    var onRuleChange = function onRuleChange2(context) {
      if (props2.editableRowKeys) {
        var rowValue = get_1(context.row, props2.rowKey || "id");
        var rules = cellRuleMap.get(rowValue);
        if (rules) {
          var index2 = rules.findIndex(function(t) {
            return t.col.colKey === context.col.colKey;
          });
          if (index2 === -1) {
            rules.push(context);
          } else {
            rules[index2] = context;
          }
          cellRuleMap.set(rowValue, rules);
        } else {
          cellRuleMap.set(rowValue, [context]);
        }
      }
    };
    var clearValidateData = function clearValidateData2() {
      errorListMap.value = {};
    };
    var onPrimaryTableCellEditChange = function onPrimaryTableCellEditChange2(params) {
      var cellKey = getCellKey(params.row, props2.rowKey, params.col.colKey, params.colIndex);
      if (params.isEdit) {
        editingCells.value[cellKey] = params;
      } else {
        delete editingCells.value[cellKey];
      }
    };
    return {
      errorListMap,
      editableKeysMap,
      validateTableData,
      validateRowData,
      onRuleChange,
      clearValidateData,
      onPrimaryTableCellEditChange
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$5(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$5(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$5(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var OMIT_PROPS = ["hideSortTips", "dragSort", "defaultExpandedRowKeys", "defaultSelectedRowKeys", "columnController", "filterRow", "sortOnRowDraggable", "expandOnRowClick", "multipleSort", "expandIcon", "reserveSelectedRowOnPaginate", "selectOnRowClick", "onChange", "onAsyncLoadingClick", "onColumnChange", "onColumnControllerVisibleChange", "onDataChange", "onDisplayColumnsChange", "onDragSort", "onExpandChange", "onFilterChange", "onSelectChange", "onSortChange"];
  var _PrimaryTable = vue.defineComponent({
    name: "TPrimaryTable",
    props: _objectSpread$5(_objectSpread$5({}, baseTableProps), primaryTableProps),
    setup: function setup46(props2, context) {
      var renderTNode = useTNodeJSX();
      var _toRefs = vue.toRefs(props2), columns = _toRefs.columns, columnController = _toRefs.columnController;
      var primaryTableRef = vue.ref(null);
      var _useClassName = useClassName(), classPrefix = _useClassName.classPrefix, tableDraggableClasses = _useClassName.tableDraggableClasses, tableBaseClass = _useClassName.tableBaseClass, tableSelectedClasses = _useClassName.tableSelectedClasses, tableSortClasses = _useClassName.tableSortClasses;
      var _useStyle = useStyle(props2), sizeClassNames = _useStyle.sizeClassNames;
      var _useColumnController = useColumnController(props2, context), tDisplayColumns = _useColumnController.tDisplayColumns, renderColumnController = _useColumnController.renderColumnController;
      var _useRowExpand = useRowExpand(props2, context), showExpandedRow = _useRowExpand.showExpandedRow, showExpandIconColumn = _useRowExpand.showExpandIconColumn, getExpandColumn = _useRowExpand.getExpandColumn, renderExpandedRow = _useRowExpand.renderExpandedRow, onInnerExpandRowClick = _useRowExpand.onInnerExpandRowClick;
      var _useSorter = useSorter(props2, context), renderSortIcon = _useSorter.renderSortIcon;
      var _useRowSelect = useRowSelect(props2, tableSelectedClasses), selectColumn = _useRowSelect.selectColumn, showRowSelect = _useRowSelect.showRowSelect, selectedRowClassNames = _useRowSelect.selectedRowClassNames, currentPaginateData = _useRowSelect.currentPaginateData, formatToRowSelectColumn = _useRowSelect.formatToRowSelectColumn, setTSelectedRowKeys = _useRowSelect.setTSelectedRowKeys, onInnerSelectRowClick = _useRowSelect.onInnerSelectRowClick, handleRowSelectWithAreaSelection = _useRowSelect.handleRowSelectWithAreaSelection;
      var _useFilter = useFilter(props2, context), hasEmptyCondition = _useFilter.hasEmptyCondition, isTableOverflowHidden = _useFilter.isTableOverflowHidden, renderFilterIcon = _useFilter.renderFilterIcon, renderFirstFilterRow = _useFilter.renderFirstFilterRow, setFilterPrimaryTableRef = _useFilter.setFilterPrimaryTableRef;
      var _useDragSort = useDragSort(props2, context), isRowHandlerDraggable = _useDragSort.isRowHandlerDraggable, isRowDraggable = _useDragSort.isRowDraggable, isColDraggable = _useDragSort.isColDraggable, innerPagination = _useDragSort.innerPagination, setDragSortPrimaryTableRef = _useDragSort.setDragSortPrimaryTableRef, setDragSortColumns = _useDragSort.setDragSortColumns;
      var _useTableHeader = useTableHeader(props2), renderTitleWidthIcon = _useTableHeader.renderTitleWidthIcon;
      var _useAsyncLoading = useAsyncLoading(props2), renderAsyncLoading = _useAsyncLoading.renderAsyncLoading;
      var _useEditableRow = useRowEdit(props2), errorListMap = _useEditableRow.errorListMap, editableKeysMap = _useEditableRow.editableKeysMap, validateRowData = _useEditableRow.validateRowData, validateTableData = _useEditableRow.validateTableData, onRuleChange = _useEditableRow.onRuleChange, clearValidateData = _useEditableRow.clearValidateData, onPrimaryTableCellEditChange = _useEditableRow.onPrimaryTableCellEditChange;
      var innerKeyboardRowHover = vue.computed(function() {
        return Boolean(showExpandedRow.value || showRowSelect.value);
      });
      var innerDisableSpaceInactiveRow = vue.computed(function() {
        return Boolean(showExpandedRow.value || showRowSelect.value);
      });
      var primaryTableClasses = vue.computed(function() {
        var _selectColumn$value, _ref;
        return _ref = {}, _defineProperty$2(_ref, tableDraggableClasses.colDraggable, isColDraggable.value), _defineProperty$2(_ref, tableDraggableClasses.rowHandlerDraggable, isRowHandlerDraggable.value), _defineProperty$2(_ref, tableDraggableClasses.rowDraggable, isRowDraggable.value), _defineProperty$2(_ref, tableBaseClass.overflowVisible, isTableOverflowHidden.value === false), _defineProperty$2(_ref, tableBaseClass.tableRowEdit, props2.editableRowKeys), _defineProperty$2(_ref, "".concat(classPrefix, "-table--select-").concat((_selectColumn$value = selectColumn.value) === null || _selectColumn$value === void 0 ? void 0 : _selectColumn$value.type), selectColumn.value), _defineProperty$2(_ref, "".concat(classPrefix, "-table--row-select"), showRowSelect.value), _defineProperty$2(_ref, "".concat(classPrefix, "-table--row-expandable"), showExpandedRow.value), _ref;
      });
      var tRowClassNames = vue.computed(function() {
        var tClassNames = [props2.rowClassName, selectedRowClassNames.value];
        return tClassNames.filter(function(v) {
          return v;
        });
      });
      var tRowAttributes = vue.computed(function() {
        var tAttributes = [props2.rowAttributes];
        if (isRowHandlerDraggable.value || isRowDraggable.value) {
          tAttributes.push(function(_ref2) {
            var row = _ref2.row;
            return {
              "data-id": get_1(row, props2.rowKey || "id")
            };
          });
        }
        return tAttributes.filter(function(v) {
          return v;
        });
      });
      vue.onMounted(function() {
        setFilterPrimaryTableRef(primaryTableRef.value);
        setDragSortPrimaryTableRef(primaryTableRef.value);
      });
      context.expose({
        validateRowData,
        validateTableData,
        clearValidateData,
        refreshTable: function refreshTable() {
          primaryTableRef.value.refreshTable();
        },
        scrollToElement: function scrollToElement(data2) {
          primaryTableRef.value.virtualConfig.scrollToElement(data2);
        },
        scrollColumnIntoView: function scrollColumnIntoView(colKey) {
          primaryTableRef.value.scrollColumnIntoView(colKey);
        },
        baseTableRef: primaryTableRef
      });
      var getColumns = function getColumns2(columns2) {
        var arr = [];
        var _loop = function _loop2() {
          var _item$children, _tDisplayColumns$valu, _item$edit, _item$children2, _item$children3;
          var item = _objectSpread$5({}, columns2[i]);
          var isDisplayColumn = ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) || ((_tDisplayColumns$valu = tDisplayColumns.value) === null || _tDisplayColumns$valu === void 0 ? void 0 : _tDisplayColumns$valu.includes(item.colKey));
          if (!isDisplayColumn && (props2.columnController || props2.displayColumns || props2.defaultDisplayColumns))
            return 1;
          item = formatToRowSelectColumn(item);
          var sort2 = props2.sort;
          if (item.sorter && props2.showSortColumnBgColor) {
            var sorts = sort2 instanceof Array ? sort2 : [sort2];
            var sortedColumn = sorts.find(function(sort22) {
              return sort22 && sort22.sortBy === item.colKey && sort22.descending !== void 0;
            });
            if (sortedColumn) {
              item.className = item.className instanceof Array ? item.className.concat(tableSortClasses.sortColumn) : [item.className, tableSortClasses.sortColumn];
            }
          }
          if (item.sorter || item.filter) {
            var titleContent = renderTitle(context.slots, item, i);
            var _item = item, ellipsisTitle = _item.ellipsisTitle;
            item.title = function(h2, p) {
              var _primaryTableRef$valu;
              var sortIcon = item.sorter ? renderSortIcon(p) : null;
              var filterIcon = item.filter ? renderFilterIcon(p) : null;
              var attach = (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.tableContentRef;
              return renderTitleWidthIcon([titleContent, sortIcon, filterIcon], p.col, p.colIndex, ellipsisTitle, attach, {
                classPrefix,
                ellipsisOverlayClassName: props2.size !== "medium" ? sizeClassNames[props2.size] : ""
              });
            };
            item.ellipsisTitle = false;
          }
          if ((_item$edit = item.edit) !== null && _item$edit !== void 0 && _item$edit.component) {
            var oldCell = item.cell;
            item.cell = function(h2, p) {
              var cellProps = _objectSpread$5(_objectSpread$5({}, p), {}, {
                oldCell,
                tableBaseClass,
                cellEmptyContent: props2.cellEmptyContent,
                onChange: props2.onRowEdit,
                onValidate: props2.onRowValidate,
                onRuleChange,
                onEditableChange: onPrimaryTableCellEditChange
              });
              if (props2.editableRowKeys) {
                var _errorListMap$value;
                var rowValue = get_1(p.row, props2.rowKey || "id");
                cellProps.editable = editableKeysMap.value[rowValue] || false;
                var key2 = [rowValue, p.col.colKey].join("__");
                var errorList = (_errorListMap$value = errorListMap.value) === null || _errorListMap$value === void 0 ? void 0 : _errorListMap$value[key2];
                errorList && (cellProps.errors = errorList);
              }
              if (props2.editableCellState) {
                cellProps.readonly = !props2.editableCellState(p);
              }
              return vue.createVNode(EditableCell, cellProps, context.slots);
            };
          }
          if ((_item$children2 = item.children) !== null && _item$children2 !== void 0 && _item$children2.length) {
            item.children = getColumns2(item.children);
          }
          if (!item.children || (_item$children3 = item.children) !== null && _item$children3 !== void 0 && _item$children3.length) {
            arr.push(item);
          }
        };
        for (var i = 0, len2 = columns2.length; i < len2; i++) {
          if (_loop())
            continue;
        }
        return arr;
      };
      var tColumns = vue.computed(function() {
        var cols = getColumns(columns.value);
        if (showExpandIconColumn.value) {
          cols.unshift(getExpandColumn());
        }
        return cols;
      });
      var onInnerPageChange = function onInnerPageChange2(pageInfo, newData) {
        var _props$onPageChange, _props$onChange;
        innerPagination.value = _objectSpread$5(_objectSpread$5({}, innerPagination.value), pageInfo);
        currentPaginateData.value = newData;
        (_props$onPageChange = props2.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props2, pageInfo, newData);
        var changeParams = [{
          pagination: pageInfo
        }, {
          trigger: "pagination",
          currentData: newData
        }];
        (_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call.apply(_props$onChange, [props2].concat(changeParams));
        if (!props2.reserveSelectedRowOnPaginate) {
          setTSelectedRowKeys([], {
            selectedRowData: [],
            type: "uncheck",
            currentRowKey: "CLEAR_ON_PAGINATE"
          });
        }
      };
      var onInnerActiveRowAction = function onInnerActiveRowAction2(params) {
        var _props$onActiveRowAct;
        (_props$onActiveRowAct = props2.onActiveRowAction) === null || _props$onActiveRowAct === void 0 || _props$onActiveRowAct.call(props2, params);
        handleRowSelectWithAreaSelection(params);
      };
      var onSingleRowClick = function onSingleRowClick2(params) {
        if (props2.expandOnRowClick) {
          onInnerExpandRowClick(params);
        }
        if (props2.selectOnRowClick) {
          onInnerSelectRowClick(params);
        }
      };
      var timer;
      var DURATION = 250;
      var onInnerRowClick = function onInnerRowClick2(params) {
        if (!props2.onRowDblclick) {
          onSingleRowClick(params);
          return;
        }
        if (timer) {
          clearTimeout(timer);
          timer = void 0;
        } else {
          timer = setTimeout(function() {
            onSingleRowClick(params);
            timer = void 0;
          }, DURATION);
        }
      };
      return function() {
        var _props$keyboardRowHov, _props$disableSpaceIn;
        var formatNode = function formatNode2(api, renderInnerNode, condition, extra) {
          if (!condition)
            return props2[api];
          var innerNode = renderInnerNode(vue.h);
          var propsNode = renderTNode(api);
          if (innerNode && !propsNode)
            return function() {
              return innerNode;
            };
          if (propsNode && !innerNode)
            return function() {
              return propsNode;
            };
          if (innerNode && propsNode) {
            return function() {
              return extra !== null && extra !== void 0 && extra.reverse ? vue.createVNode("div", null, [innerNode, propsNode]) : vue.createVNode("div", null, [propsNode, innerNode]);
            };
          }
          return null;
        };
        var isColumnController = !!(columnController.value && Object.keys(columnController.value).length);
        var placement = isColumnController ? columnController.value.placement || "top-right" : "";
        var isBottomController = isColumnController && (placement === null || placement === void 0 ? void 0 : placement.indexOf("bottom")) !== -1;
        var topContent = formatNode("topContent", renderColumnController, isColumnController && !isBottomController);
        var bottomContent = formatNode("bottomContent", renderColumnController, isBottomController, {
          reverse: true
        });
        var firstFullRow = formatNode("firstFullRow", renderFirstFilterRow, !hasEmptyCondition.value);
        var lastFullRow = formatNode("lastFullRow", renderAsyncLoading, !!props2.asyncLoading);
        var baseTableProps2 = _objectSpread$5(_objectSpread$5({}, omit_1(props2, OMIT_PROPS)), {}, {
          rowClassName: tRowClassNames.value,
          rowAttributes: tRowAttributes.value,
          columns: tColumns.value,
          keyboardRowHover: (_props$keyboardRowHov = props2.keyboardRowHover) !== null && _props$keyboardRowHov !== void 0 ? _props$keyboardRowHov : innerKeyboardRowHover.value,
          disableSpaceInactiveRow: (_props$disableSpaceIn = props2.disableSpaceInactiveRow) !== null && _props$disableSpaceIn !== void 0 ? _props$disableSpaceIn : innerDisableSpaceInactiveRow.value,
          topContent,
          bottomContent,
          firstFullRow,
          lastFullRow,
          thDraggable: ["col", "row-handler-col"].includes(props2.dragSort),
          onPageChange: onInnerPageChange,
          renderExpandedRow: showExpandedRow.value ? renderExpandedRow : void 0,
          onActiveRowAction: onInnerActiveRowAction
        });
        if (props2.expandOnRowClick || props2.selectOnRowClick) {
          baseTableProps2.onRowClick = onInnerRowClick;
        }
        return vue.createVNode(_BaseTable, vue.mergeProps({
          "ref": primaryTableRef
        }, baseTableProps2, {
          "class": primaryTableClasses.value,
          "onLeafColumnsChange": setDragSortColumns
        }), context.slots);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var enhancedTableProps = {
    beforeDragSort: {
      type: Function
    },
    expandedTreeNodes: {
      type: Array,
      "default": void 0
    },
    defaultExpandedTreeNodes: {
      type: Array,
      "default": function _default15() {
        return [];
      }
    },
    tree: {
      type: Object
    },
    treeExpandAndFoldIcon: {
      type: Function
    },
    onAbnormalDragSort: Function,
    onExpandedTreeNodesChange: Function,
    onTreeExpandChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$4(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$4(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$4(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL = {
    code: 1001,
    reason: "The same level of rows can not be swapped."
  };
  function getUniqueRowValue(row, colKey) {
    var rowIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
    var level = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
    var rowValue = get_1(row, colKey);
    return rowIndex || level ? "".concat(rowValue, "_").concat(rowIndex || 0, "_").concat(level || 0, "}") : rowValue;
  }
  var TableTreeStore = /* @__PURE__ */ function() {
    function TableTreeStore2() {
      _classCallCheck(this, TableTreeStore2);
      _defineProperty$2(this, "treeDataMap", /* @__PURE__ */ new Map());
      _defineProperty$2(this, "expandAllRowIndex", void 0);
      this.treeDataMap = /* @__PURE__ */ new Map();
    }
    _createClass(TableTreeStore2, [{
      key: "initialTreeStore",
      value: function initialTreeStore(dataSource, columns, keys2) {
        var _this$treeDataMap;
        (_this$treeDataMap = this.treeDataMap) === null || _this$treeDataMap === void 0 || _this$treeDataMap.clear();
        this.initialTreeDataMap(this.treeDataMap, dataSource, columns[0], keys2);
      }
    }, {
      key: "getAllUniqueKeys",
      value: function getAllUniqueKeys(data2, keys2) {
        var arr = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
        for (var i = 0, len2 = data2.length; i < len2; i++) {
          var item = data2[i];
          arr.push(getUniqueRowValue(item, keys2.rowKey));
          var children = get_1(item, keys2.childrenKey);
          if (children !== null && children !== void 0 && children.length) {
            this.getAllUniqueKeys(children, keys2, arr);
          }
        }
        return arr;
      }
    }, {
      key: "getExpandedChildrenKeys",
      value: function getExpandedChildrenKeys(data2, keys2) {
        var arr = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
        for (var i = 0, len2 = data2.length; i < len2; i++) {
          var item = data2[i];
          var rowValue = getUniqueRowValue(item, keys2.rowKey);
          var rowState = this.treeDataMap.get(rowValue);
          if (rowState.expanded) {
            arr.push(rowValue);
          }
          var children = get_1(item, keys2.childrenKey);
          if (children !== null && children !== void 0 && children.length) {
            this.getExpandedChildrenKeys(children, keys2, arr);
          }
        }
        return arr;
      }
    }, {
      key: "expandTreeNode",
      value: function expandTreeNode(rowList, dataSource, keys2) {
        var _this = this;
        if (!rowList.length)
          return dataSource;
        rowList.forEach(function(rowValue) {
          var rowState = _this.treeDataMap.get(rowValue);
          if (!rowState)
            return;
          _this.toggleExpandData({
            row: rowState.row,
            rowIndex: rowState.rowIndex
          }, dataSource, keys2, "expand");
        });
        return dataSource;
      }
    }, {
      key: "foldTreeNode",
      value: function foldTreeNode(rowList, dataSource, keys2) {
        var _this2 = this;
        if (!rowList.length)
          return dataSource;
        rowList.forEach(function(rowValue) {
          var rowState = _this2.treeDataMap.get(rowValue);
          if (!rowState)
            return;
          _this2.toggleExpandData({
            row: rowState.row,
            rowIndex: rowState.rowIndex
          }, dataSource, keys2, "fold");
        });
        return dataSource;
      }
    }, {
      key: "toggleExpandData",
      value: function toggleExpandData(p, dataSource, keys2, type) {
        var _r$rowIndex;
        if (!p) {
          log.error("EnhancedTable", "the node toggleExpanded doest not exist in `data`");
          return dataSource;
        }
        var rowValue = get_1(p.row, keys2.rowKey);
        if (isUndefined_1(rowValue)) {
          log.error("EnhancedTable", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
          return [];
        }
        var childrenNodes = get_1(p.row, keys2.childrenKey);
        if (childrenNodes === true)
          return dataSource;
        var r = this.treeDataMap.get(rowValue);
        if (type === "expand" && r.expanded)
          return dataSource;
        if (type === "fold" && !r.expanded)
          return dataSource;
        r.rowIndex = (_r$rowIndex = r.rowIndex) !== null && _r$rowIndex !== void 0 ? _r$rowIndex : p.rowIndex;
        r.expanded = !r.expanded;
        this.treeDataMap.set(rowValue, r);
        return this.updateExpandRow(r, dataSource, keys2);
      }
    }, {
      key: "updateExpandRow",
      value: function updateExpandRow(changeRow, dataSource, keys2) {
        var row = changeRow.row, rowIndex = changeRow.rowIndex, expanded = changeRow.expanded;
        var treeDataMap = this.treeDataMap;
        var childrenNodes = get_1(row, keys2.childrenKey);
        if (!row || !childrenNodes)
          return dataSource;
        if (expanded) {
          updateChildrenRowState(treeDataMap, changeRow, expanded, keys2);
          updateRowExpandLength(treeDataMap, row, childrenNodes.length, "expand", keys2);
          dataSource.splice.apply(dataSource, [rowIndex + 1, 0].concat(childrenNodes));
        } else {
          updateChildrenRowState(treeDataMap, changeRow, expanded, keys2);
          var len2 = changeRow.expandChildrenLength || childrenNodes.length;
          updateRowExpandLength(treeDataMap, row, -1 * len2, "fold", keys2);
          dataSource.splice(rowIndex + 1, len2);
        }
        updateRowIndex(treeDataMap, dataSource, {
          rowKey: keys2.rowKey,
          minRowIndex: rowIndex + 1
        });
        return dataSource;
      }
    }, {
      key: "getData",
      value: function getData(key2) {
        return this.treeDataMap.get(key2);
      }
    }, {
      key: "updateData",
      value: function updateData(rowValue, newRowData, dataSource, keys2) {
        var newRowValue = getUniqueRowValue(newRowData, keys2.rowKey);
        var rowState = this.treeDataMap.get(rowValue);
        if (!rowState || rowState.rowIndex === -1) {
          updateRowData(dataSource, rowValue, newRowData, {
            rowKey: keys2.rowKey,
            childrenKey: keys2.childrenKey
          });
          return -1;
        }
        if (get_1(newRowData, keys2.childrenKey) === true) {
          var oldChildren = get_1(rowState.row, keys2.childrenKey);
          if (oldChildren !== null && oldChildren !== void 0 && oldChildren.length) {
            for (var i = 0, len2 = oldChildren.length; i < len2; i++) {
              var rowValue2 = getUniqueRowValue(oldChildren[i], keys2.rowKey);
              var state = this.treeDataMap.get(rowValue2);
              if (state) {
                this.treeDataMap["delete"](rowValue2);
              }
            }
          }
        }
        var currentRowIndex = rowState.rowIndex;
        rowState.row = newRowData;
        rowState.id = newRowValue;
        if (rowState.parent) {
          var siblings = get_1(rowState.parent.row, keys2.childrenKey);
          var index2 = siblings.findIndex(function(item) {
            return getUniqueRowValue(item, keys2.rowKey) === rowValue;
          });
          siblings[index2] = newRowData;
        }
        this.treeDataMap.set(newRowValue, rowState);
        if (rowValue !== newRowValue) {
          this.treeDataMap["delete"](rowValue);
        }
        return currentRowIndex;
      }
    }, {
      key: "remove",
      value: function remove2(key2, dataSource, keys2) {
        var r = this.treeDataMap.get(key2);
        if (r && r.rowIndex >= 0) {
          var removeNumber = (r.expandChildrenLength || 0) + 1;
          dataSource.splice(r.rowIndex, removeNumber);
          if (r.parent) {
            var siblings = get_1(r.parent.row, keys2.childrenKey);
            var index2 = siblings.findIndex(function(item) {
              return get_1(item, keys2.rowKey) === key2;
            });
            siblings.splice(index2, 1);
            updateRowExpandLength(this.treeDataMap, r.parent.row, -1 * removeNumber, "delete", keys2);
          }
          this.treeDataMap["delete"](key2);
          updateRowIndex(this.treeDataMap, dataSource, {
            minRowIndex: r.rowIndex,
            rowKey: keys2.rowKey,
            type: "remove"
          });
        } else {
          log.warn("EnhancedTable", "Can not remove this node, which is not appeared.");
        }
        return dataSource;
      }
    }, {
      key: "removeChildren",
      value: function removeChildren(key2, dataSource, keys2) {
        var r = this.treeDataMap.get(key2);
        if (r && r.rowIndex >= 0) {
          var removeNumber = r.expandChildrenLength || 0;
          if (removeNumber) {
            dataSource.splice(r.rowIndex + 1, removeNumber);
          }
          if (r.parent) {
            updateRowExpandLength(this.treeDataMap, r.parent.row, -1 * removeNumber, "delete", keys2);
          }
          r.expandChildrenLength = 0;
          r.expanded = false;
          set_1(r.row, keys2.childrenKey, void 0);
          this.treeDataMap.set(key2, r);
          if (removeNumber) {
            updateRowIndex(this.treeDataMap, dataSource, {
              minRowIndex: r.rowIndex + 1,
              rowKey: keys2.rowKey,
              type: "remove"
            });
          }
        } else {
          log.warn("EnhancedTable", "Can not remove this node's children, which is not appeared.");
        }
        return dataSource;
      }
    }, {
      key: "appendTo",
      value: function appendTo(rowValue, newData, dataSource, keys2) {
        var state = this.treeDataMap.get(rowValue);
        if (!this.validateDataExist(state, rowValue))
          return dataSource;
        var children = get_1(state.row, keys2.childrenKey);
        var isShowNewNode = state.expanded || !(children !== null && children !== void 0 && children.length);
        var tmpData = newData instanceof Array ? newData : [newData];
        var newChildrenData = [];
        var firstNewChildrenIndex = -1;
        for (var i = 0, len2 = tmpData.length; i < len2; i++) {
          var oneData = tmpData[i];
          var newRowValue = getUniqueRowValue(oneData, keys2.rowKey);
          var mapState = this.treeDataMap.get(newRowValue);
          if (!this.validateDataDoubleExist(mapState, newRowValue)) {
            log.warn("Table", "Duplicated Data `".concat(newRowValue, "` has been removed."));
          } else {
            var rowIndex = isShowNewNode ? state.rowIndex + (state.expandChildrenLength || 0) + (i + 1) : -1;
            if (i === 0) {
              firstNewChildrenIndex = rowIndex;
            }
            var newState = {
              id: newRowValue,
              row: oneData,
              rowIndex,
              level: state.level + 1,
              expanded: false,
              expandChildrenLength: 0,
              disabled: false,
              path: _toConsumableArray(state.path),
              parent: state
            };
            newState.path = newState.path.concat(newState);
            newChildrenData.push(oneData);
            this.treeDataMap.set(newRowValue, newState);
          }
        }
        if (!newChildrenData.length)
          return dataSource;
        if (children !== null && children !== void 0 && children.length) {
          state.row[keys2.childrenKey] = state.row[keys2.childrenKey].concat(newChildrenData);
        } else {
          state.row[keys2.childrenKey] = newChildrenData;
          state.expanded = true;
        }
        if (isShowNewNode) {
          dataSource.splice.apply(dataSource, [firstNewChildrenIndex, 0].concat(newChildrenData));
          var newChildrenCount = newChildrenData.length || 1;
          updateRowExpandLength(this.treeDataMap, state.row, newChildrenCount, "insert", {
            rowKey: keys2.rowKey,
            childrenKey: keys2.childrenKey
          });
          updateRowIndex(this.treeDataMap, dataSource, {
            minRowIndex: firstNewChildrenIndex + newChildrenData.length - 1,
            rowKey: keys2.rowKey,
            type: "add",
            count: 1
          });
        }
        return dataSource;
      }
    }, {
      key: "appendToRoot",
      value: function appendToRoot(newData, dataSource, keys2) {
        var newDataSource = dataSource.concat(newData);
        var tmpNewData = newData instanceof Array ? newData : [newData];
        var dataSourceLen = dataSource.length;
        for (var i = 0, len2 = tmpNewData.length; i < len2; i++) {
          var rowValue = get_1(tmpNewData[i], keys2.rowKey);
          if (!rowValue) {
            log.error("Table", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
            continue;
          }
          var state = {
            id: rowValue,
            row: tmpNewData[i],
            rowIndex: dataSourceLen + i,
            level: 0,
            expanded: false,
            expandChildrenLength: 0,
            disabled: false
          };
          state.path = [state];
          this.treeDataMap.set(rowValue, state);
        }
        return newDataSource;
      }
    }, {
      key: "insertAfter",
      value: function insertAfter(rowValue, newData, dataSource, keys2) {
        return this.insert(rowValue, newData, dataSource, keys2, "after");
      }
    }, {
      key: "insertBefore",
      value: function insertBefore(rowValue, newData, dataSource, keys2) {
        return this.insert(rowValue, newData, dataSource, keys2, "before");
      }
    }, {
      key: "insert",
      value: function insert(rowValue, newData, dataSource, keys2, type) {
        var state = this.treeDataMap.get(rowValue);
        if (!this.validateDataExist(state, rowValue))
          return dataSource;
        var newRowValue = get_1(newData, keys2.rowKey);
        var mapState = this.treeDataMap.get(newRowValue);
        if (!this.validateDataDoubleExist(mapState, newRowValue))
          return dataSource;
        var rowIndex = type === "after" ? state.rowIndex + 1 : state.rowIndex;
        var newState = {
          id: newRowValue,
          row: newData,
          rowIndex,
          level: state.level,
          expanded: false,
          expandChildrenLength: 0,
          disabled: false,
          path: state.path.slice(0, -1),
          parent: state.parent
        };
        newState.path = newState.path.concat(newState);
        var dataIndex = type === "after" ? state.rowIndex + (state.expandChildrenLength + 1) : state.rowIndex;
        dataSource.splice(dataIndex, 0, newData);
        var distance2 = type === "after" ? 1 : 0;
        if (state.parent) {
          var childrenIndex = state.parent.row[keys2.childrenKey].findIndex(function(t) {
            return rowValue === get_1(t, keys2.rowKey);
          });
          state.parent.row[keys2.childrenKey].splice(childrenIndex + distance2, 0, newData);
          updateRowExpandLength(this.treeDataMap, state.parent.row, 1, "insert", keys2);
        }
        this.treeDataMap.set(newRowValue, newState);
        updateRowIndex(this.treeDataMap, dataSource, {
          rowKey: keys2.rowKey,
          minRowIndex: state.rowIndex + 1,
          type: "add"
        });
        return dataSource;
      }
    }, {
      key: "swapData",
      value: function swapData(dataSource, params, keys2) {
        var startIndex = params.currentIndex;
        var endIndex = params.targetIndex;
        if (startIndex === endIndex)
          return {
            dataSource,
            result: true
          };
        var startRowValue = get_1(params.current, keys2.rowKey);
        var endRowValue = get_1(params.target, keys2.rowKey);
        var startState = this.treeDataMap.get(startRowValue);
        var endState = this.treeDataMap.get(endRowValue);
        if (startState.level !== endState.level) {
          return {
            dataSource,
            result: false,
            code: TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL.code,
            reason: TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL.reason
          };
        }
        var startLastIndex = startIndex + startState.expandChildrenLength + 1;
        var endLastIndex = endIndex + endState.expandChildrenLength + 1;
        var startRowList = dataSource.slice(startIndex, startLastIndex);
        var endRowList = dataSource.slice(endIndex, endLastIndex);
        if (startIndex > endIndex) {
          var middleRowList = dataSource.slice(endLastIndex, startIndex);
          var allSwapList = startRowList.concat(endRowList, middleRowList);
          dataSource.splice(endIndex, allSwapList.length);
          dataSource.splice.apply(dataSource, [endIndex, 0].concat(_toConsumableArray(allSwapList)));
          updateRowIndex(this.treeDataMap, dataSource, {
            rowKey: keys2.rowKey,
            minRowIndex: endIndex,
            maxRowIndex: startLastIndex
          });
        } else {
          var _middleRowList = dataSource.slice(startLastIndex, endIndex);
          var _allSwapList = _middleRowList.concat(endRowList, startRowList);
          dataSource.splice(startIndex, _allSwapList.length);
          dataSource.splice.apply(dataSource, [startIndex, 0].concat(_toConsumableArray(_allSwapList)));
          updateRowIndex(this.treeDataMap, dataSource, {
            rowKey: keys2.rowKey,
            minRowIndex: startIndex,
            maxRowIndex: endLastIndex
          });
        }
        if (startState.parent) {
          var children = startState.parent.row[keys2.childrenKey];
          var count = 0;
          var targetIndex = -1;
          var currentIndex = -1;
          for (var i = 0, len2 = children.length; i < len2; i++) {
            if (get_1(children[i], keys2.rowKey) === startRowValue) {
              targetIndex = i;
              count += 1;
            }
            if (get_1(children[i], keys2.rowKey) === endRowValue) {
              currentIndex = i;
              count += 1;
            }
            if (count >= 2)
              break;
          }
          children[targetIndex] = params.target;
          children[currentIndex] = params.current;
        }
        return {
          dataSource,
          result: true
        };
      }
    }, {
      key: "expandAll",
      value: function expandAll(dataSource, keys2) {
        var _this3 = this;
        this.expandAllRowIndex = 0;
        var newData = [];
        var expandLoop = function expandLoop2(dataSource2, keys22) {
          var parent2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
          for (var i = 0, len2 = dataSource2.length; i < len2; i++) {
            var item = dataSource2[i];
            var rowValue = get_1(item, keys22.rowKey);
            var state = _this3.treeDataMap.get(rowValue);
            var children = get_1(item, keys22.childrenKey);
            state.rowIndex = _this3.expandAllRowIndex;
            if (children !== true && children !== null && children !== void 0 && children.length) {
              state.expanded = true;
            }
            state.expandChildrenLength = (children === null || children === void 0 ? void 0 : children.length) || 0;
            _this3.expandAllRowIndex += 1;
            newData.push(item);
            _this3.treeDataMap.set(rowValue, state);
            if (children !== null && children !== void 0 && children.length) {
              var tmpParent = parent2;
              while ((_tmpParent = tmpParent) !== null && _tmpParent !== void 0 && _tmpParent.row) {
                var _tmpParent;
                tmpParent.expandChildrenLength += children.length;
                _this3.treeDataMap.set(tmpParent.id, tmpParent);
                tmpParent = tmpParent.parent;
              }
              expandLoop2(children, keys22, state);
            }
          }
        };
        expandLoop(dataSource, keys2);
        return newData;
      }
    }, {
      key: "foldAll",
      value: function foldAll(dataSource, keys2) {
        var newData = [];
        for (var i = 0, len2 = dataSource.length; i < len2; i++) {
          var item = dataSource[i];
          var rowValue = get_1(item, keys2.rowKey);
          var state = this.treeDataMap.get(rowValue);
          state.rowIndex = state.level === 0 ? i : -1;
          state.expanded = false;
          state.expandChildrenLength = 0;
          if (state.level === 0) {
            newData.push(item);
          }
          var children = get_1(item, keys2.childrenKey);
          if (children !== null && children !== void 0 && children.length) {
            this.foldAll(children, keys2);
          }
        }
        return newData;
      }
    }, {
      key: "getTreeNode",
      value: function getTreeNode(dataSource, keys2) {
        var treeData = [];
        for (var i = 0, len2 = dataSource.length; i < len2; i++) {
          var item = dataSource[i];
          var rowValue = get_1(item, keys2.rowKey);
          var state = this.treeDataMap.get(rowValue);
          if (state.level === 0) {
            treeData.push(item);
          }
        }
        return treeData;
      }
    }, {
      key: "getTreeExpandedRow",
      value: function getTreeExpandedRow(dataSource, keys2) {
        var _this4 = this;
        var type = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "data";
        var arr = [];
        dataSource.forEach(function(item) {
          var rowValue = get_1(item, keys2.rowKey);
          var rowState = _this4.treeDataMap.get(rowValue);
          if (!rowState.expanded)
            return;
          if (type === "unique") {
            arr.push(rowValue);
          } else if (type === "data") {
            arr.push(item);
          } else {
            arr.push(rowState);
          }
        });
        return arr;
      }
    }, {
      key: "initialTreeDataMap",
      value: function initialTreeDataMap(treeDataMap, dataSource, column, keys2) {
        var level = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0;
        var parent2 = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : null;
        for (var i = 0, len2 = dataSource.length; i < len2; i++) {
          var item = dataSource[i];
          var rowValue = getUniqueRowValue(item, keys2.rowKey);
          if (isUndefined_1(rowValue)) {
            log.error("EnhancedTable", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
            return;
          }
          var children = get_1(item, keys2.childrenKey);
          var state = {
            id: rowValue,
            row: item,
            rowIndex: level === 0 ? i : -1,
            level,
            expanded: false,
            expandChildrenLength: 0,
            disabled: isRowSelectedDisabled(column, item, i),
            parent: parent2
          };
          state.path = parent2 ? parent2.path.concat(state) : [state];
          treeDataMap.set(rowValue, state);
          if (children !== null && children !== void 0 && children.length) {
            this.initialTreeDataMap(treeDataMap, children, column, keys2, level + 1, state);
          }
        }
      }
    }, {
      key: "updateDisabledState",
      value: function updateDisabledState(dataSource, column, keys2) {
        for (var i = 0, len2 = dataSource.length; i < len2; i++) {
          var item = dataSource[i];
          var rowValue = get_1(item, keys2.rowKey);
          if (isUndefined_1(rowValue)) {
            log.error("EnhancedTable", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
            return;
          }
          var state = this.treeDataMap.get(rowValue);
          state.disabled = isRowSelectedDisabled(column, item, i);
          this.treeDataMap.set(rowValue, state);
          var children = get_1(item, keys2.childrenKey);
          if (children !== null && children !== void 0 && children.length) {
            this.updateDisabledState(children, column, keys2);
          }
        }
      }
    }, {
      key: "validateDataExist",
      value: function validateDataExist(state, rowValue) {
        if (!state) {
          log.warn("EnhancedTable", "".concat(rowValue, " does not exist."));
          return false;
        }
        return true;
      }
    }, {
      key: "validateDataDoubleExist",
      value: function validateDataDoubleExist(state, rowValue) {
        if (state) {
          log.warn("EnhancedTable", "Duplicated Key. ".concat(rowValue, " already exists."));
          return false;
        }
        return true;
      }
    }]);
    return TableTreeStore2;
  }();
  function updateRowExpandLength(treeDataMap, row, distance2, type, keys2) {
    var tmp = row;
    while (tmp) {
      var _state$parent;
      var state = treeDataMap.get(get_1(tmp, keys2.rowKey));
      var expandLen = (state.expandChildrenLength || 0) + distance2;
      state.expandChildrenLength = Math.max(0, expandLen);
      tmp = state === null || state === void 0 || (_state$parent = state.parent) === null || _state$parent === void 0 ? void 0 : _state$parent.row;
    }
    if (type === "fold") {
      clearRowExpandLength(treeDataMap, row, keys2);
    }
  }
  function clearRowExpandLength(treeDataMap, row, keys2) {
    var children = get_1(row, keys2.childrenKey);
    if (children !== null && children !== void 0 && children.length) {
      children.forEach(function(item) {
        var state = treeDataMap.get(get_1(item, keys2.rowKey));
        if (!state)
          return;
        state.expandChildrenLength = 0;
        clearRowExpandLength(treeDataMap, state.row, keys2);
      });
    }
  }
  function updateChildrenRowState(treeDataMap, rowState, expanded, keys2) {
    var row = rowState.row, rowIndex = rowState.rowIndex;
    var childrenNodes = get_1(row, keys2.childrenKey);
    childrenNodes.forEach(function(item, kidRowIndex) {
      var rowValue = get_1(item, keys2.rowKey);
      var index2 = expanded ? rowIndex + 1 + kidRowIndex : -1;
      var curState = treeDataMap.get(rowValue);
      var newState = _objectSpread$4(_objectSpread$4({}, curState), {}, {
        row: item,
        rowIndex: index2,
        expanded: false,
        parent: rowState
      });
      treeDataMap.set(rowValue, newState);
      if (!expanded) {
        var children = get_1(item, keys2.childrenKey);
        if (children !== null && children !== void 0 && children.length) {
          updateChildrenRowState(treeDataMap, _objectSpread$4(_objectSpread$4({}, newState), {}, {
            rowIndex: -1,
            expanded: false
          }), expanded, keys2);
        }
      }
    });
  }
  function updateRowData(data2, key2, newData, keys2) {
    for (var i = 0, len2 = data2.length; i < len2; i++) {
      var item = data2[i];
      if (get_1(item, keys2.rowKey) === key2) {
        data2[i] = newData;
        return;
      }
      var children = get_1(item, keys2.childrenKey) || [];
      if (children !== null && children !== void 0 && children.length) {
        updateRowData(children, key2, newData, keys2);
      }
    }
  }
  function updateRowIndex(treeDataMap, dataSource, extra) {
    var start2 = extra.minRowIndex || 0;
    var end2 = extra.maxRowIndex || dataSource.length;
    for (var rowIndex = start2; rowIndex < end2; rowIndex++) {
      var item = dataSource[rowIndex];
      var state = treeDataMap.get(get_1(item, extra.rowKey));
      if (!state) {
        log.warn("Table", "tree map went wrong");
      }
      state.rowIndex = rowIndex + ((extra === null || extra === void 0 ? void 0 : extra.count) || 1) - 1;
    }
  }
  function diffExpandedTreeNode() {
    var newExpandedNode = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
    var oldExpandedNode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
    var removedList = [];
    var addedList = [];
    var newExpandedNodeMap = /* @__PURE__ */ new Map();
    var oldExpandedNodeMap = /* @__PURE__ */ new Map();
    for (var i = 0, len2 = newExpandedNode.length; i < len2; i++) {
      newExpandedNodeMap.set(newExpandedNode[i], true);
    }
    for (var _i = 0, _len = oldExpandedNode.length; _i < _len; _i++) {
      oldExpandedNodeMap.set(oldExpandedNode[_i], true);
    }
    for (var _i2 = 0, _len2 = newExpandedNode.length; _i2 < _len2; _i2++) {
      if (!oldExpandedNodeMap.get(newExpandedNode[_i2])) {
        addedList.push(newExpandedNode[_i2]);
      }
    }
    for (var _i3 = 0, _len3 = oldExpandedNode.length; _i3 < _len3; _i3++) {
      if (!newExpandedNodeMap.get(oldExpandedNode[_i3])) {
        removedList.push(oldExpandedNode[_i3]);
      }
    }
    return {
      removedList,
      addedList
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$3(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$3(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$3(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useTreeDataExpand(props2, params) {
    var store2 = params.store, dataSource = params.dataSource, rowDataKeys = params.rowDataKeys;
    var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, expandedTreeNodes = _toRefs.expandedTreeNodes, tree = _toRefs.tree;
    var isDefaultExpandAllExecute = vue.ref(false);
    var isDefaultExpandedTreeNodesExecute = vue.ref(false);
    var _useDefaultValue = useDefaultValue(expandedTreeNodes, props2.defaultExpandedTreeNodes, props2.onExpandedTreeNodesChange, "expandedTreeNodes"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tExpandedTreeNode = _useDefaultValue2[0], setTExpandedTreeNode = _useDefaultValue2[1];
    var changedExpandTreeNode = vue.ref({
      type: "props-change"
    });
    function expandAll() {
      var type = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "expand-all";
      var list = arguments.length > 1 ? arguments[1] : void 0;
      var newData = list || data2.value;
      dataSource.value = store2.value.expandAll(newData, rowDataKeys.value);
      var expandedNode = dataSource.value.map(function(t) {
        return getUniqueRowValue(t, rowDataKeys.value.rowKey);
      });
      setTExpandedTreeNode(expandedNode, {
        row: void 0,
        rowState: void 0,
        rowIndex: void 0,
        type: "expand",
        trigger: type
      });
      changedExpandTreeNode.value.type = "expand-all";
    }
    function foldAll() {
      dataSource.value = _toConsumableArray(store2.value.foldAll(dataSource.value, rowDataKeys.value));
      setTExpandedTreeNode([], {
        row: void 0,
        rowState: void 0,
        rowIndex: void 0,
        type: "fold",
        trigger: "fold-all"
      });
    }
    function onExpandFoldIconClick(p, trigger) {
      var _props$onTreeExpandCh;
      var row = p.row, rowIndex = p.rowIndex;
      changedExpandTreeNode.value = _objectSpread$3({
        type: "user-reaction-change"
      }, p);
      var rowValue = getUniqueRowValue(row, rowDataKeys.value.rowKey);
      var rowState = store2.value.treeDataMap.get(rowValue);
      var expandedNodes = _toConsumableArray(tExpandedTreeNode.value);
      if (rowState.expanded) {
        var expandedChildrenKeys = store2.value.getExpandedChildrenKeys([row], rowDataKeys.value);
        for (var i = 0, len2 = expandedNodes.length; i < len2; i++) {
          var nodeValue = expandedNodes[i];
          if (expandedChildrenKeys.includes(nodeValue)) {
            expandedNodes[i] = void 0;
          }
        }
        expandedNodes = expandedNodes.filter(Boolean);
      } else {
        expandedNodes.push(rowValue);
      }
      var params2 = {
        row,
        rowIndex,
        rowState,
        trigger
      };
      setTExpandedTreeNode(expandedNodes, _objectSpread$3(_objectSpread$3({}, params2), {}, {
        type: rowState.expanded ? "fold" : "expand"
      }));
      (_props$onTreeExpandCh = props2.onTreeExpandChange) === null || _props$onTreeExpandCh === void 0 || _props$onTreeExpandCh.call(props2, params2);
    }
    function updateExpandState(data22, tExpandedTreeNode2) {
      var oldExpandedTreeNode = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
      var _diffExpandedTreeNode = diffExpandedTreeNode(tExpandedTreeNode2, oldExpandedTreeNode), addedList = _diffExpandedTreeNode.addedList, removedList = _diffExpandedTreeNode.removedList;
      store2.value.expandTreeNode(addedList, data22, rowDataKeys.value);
      store2.value.foldTreeNode(removedList, data22, rowDataKeys.value);
      return _toConsumableArray(data22);
    }
    vue.watch([tExpandedTreeNode], function(_ref, _ref2) {
      var _ref3 = _slicedToArray(_ref, 1), tExpandedTreeNode2 = _ref3[0];
      var _ref4 = _slicedToArray(_ref2, 1), oldExpandedTreeNode = _ref4[0];
      if (!store2.value.treeDataMap.size)
        return;
      if (changedExpandTreeNode.value.type === "user-reaction-change") {
        var _ref5 = changedExpandTreeNode.value || {}, row = _ref5.row, rowIndex = _ref5.rowIndex;
        dataSource.value = _toConsumableArray(store2.value.toggleExpandData({
          row,
          rowIndex
        }, _toConsumableArray(dataSource.value), rowDataKeys.value));
      } else if (changedExpandTreeNode.value.type === "props-change") {
        updateExpandState(dataSource.value, tExpandedTreeNode2, oldExpandedTreeNode);
      }
      changedExpandTreeNode.value.type = "props-change";
    });
    var updateExpandOnDataChange = function updateExpandOnDataChange2(data22) {
      var _tree$value, _tExpandedTreeNode$va;
      if ((_tree$value = tree.value) !== null && _tree$value !== void 0 && _tree$value.defaultExpandAll && !isDefaultExpandAllExecute.value) {
        expandAll("default-expand-all", _toConsumableArray(data22));
        isDefaultExpandAllExecute.value = true;
      } else if ((_tExpandedTreeNode$va = tExpandedTreeNode.value) !== null && _tExpandedTreeNode$va !== void 0 && _tExpandedTreeNode$va.length) {
        vue.nextTick(function() {
          dataSource.value = updateExpandState(_toConsumableArray(data22), tExpandedTreeNode.value, []);
        });
      }
    };
    return {
      tExpandedTreeNode,
      isDefaultExpandAllExecute,
      isDefaultExpandedTreeNodesExecute,
      expandAll,
      foldAll,
      onExpandFoldIconClick,
      updateExpandOnDataChange
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$2(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$2(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$2(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  function useTreeData(props2, context) {
    var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, columns = _toRefs.columns;
    var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
    var _useGlobalIcon = useGlobalIcon({
      AddRectangleIcon,
      MinusRectangleIcon
    }), AddRectangleIcon$1 = _useGlobalIcon.AddRectangleIcon, MinusRectangleIcon$1 = _useGlobalIcon.MinusRectangleIcon;
    var store2 = vue.ref(new TableTreeStore());
    var treeNodeCol = vue.shallowRef();
    var dataSource = vue.ref([]);
    var _useClassName = useClassName(), tableTreeClasses = _useClassName.tableTreeClasses;
    var renderTNode = useTNodeDefault();
    var rowDataKeys = vue.computed(function() {
      var _props$tree;
      return {
        rowKey: props2.rowKey || "id",
        childrenKey: ((_props$tree = props2.tree) === null || _props$tree === void 0 ? void 0 : _props$tree.childrenKey) || "children"
      };
    });
    var _useTreeDataExpand = useTreeDataExpand(props2, {
      store: store2,
      dataSource,
      rowDataKeys
    }), tExpandedTreeNode = _useTreeDataExpand.tExpandedTreeNode, isDefaultExpandAllExecute = _useTreeDataExpand.isDefaultExpandAllExecute, isDefaultExpandedTreeNodesExecute = _useTreeDataExpand.isDefaultExpandedTreeNodesExecute, expandAll = _useTreeDataExpand.expandAll, foldAll = _useTreeDataExpand.foldAll, updateExpandOnDataChange = _useTreeDataExpand.updateExpandOnDataChange, onExpandFoldIconClick = _useTreeDataExpand.onExpandFoldIconClick;
    var checkedColumn = vue.computed(function() {
      return columns.value.find(function(col) {
        return col.colKey === "row-select";
      });
    });
    vue.watch(checkedColumn, function(column) {
      if (!store2.value)
        return;
      store2.value.updateDisabledState(dataSource.value, column, rowDataKeys.value);
    });
    var foldIcon = function foldIcon2(context2) {
      var params = _objectSpread$2(_objectSpread$2({}, context2), {}, {
        type: "fold"
      });
      var defaultFoldIcon = t(globalConfig.value.treeExpandAndFoldIcon, vue.h, params) || vue.createVNode(MinusRectangleIcon$1, null, null);
      return renderTNode("treeExpandAndFoldIcon", {
        defaultNode: defaultFoldIcon,
        params
      });
    };
    var expandIcon = function expandIcon2(context2) {
      var params = _objectSpread$2(_objectSpread$2({}, context2), {}, {
        type: "expand"
      });
      var defaultExpandIcon = t(globalConfig.value.treeExpandAndFoldIcon, vue.h, params) || vue.createVNode(AddRectangleIcon$1, null, null);
      return renderTNode("treeExpandAndFoldIcon", {
        defaultNode: defaultExpandIcon,
        params
      });
    };
    vue.watch([data2], function() {
      if (props2.tree) {
        resetData(data2.value);
      } else {
        dataSource.value = data2.value;
      }
    }, {
      immediate: true
    });
    vue.onUnmounted(function() {
      var _store$value$treeData;
      if (!props2.tree)
        return;
      (_store$value$treeData = store2.value.treeDataMap) === null || _store$value$treeData === void 0 || _store$value$treeData.clear();
      store2.value = null;
    });
    vue.watch(function() {
      var _props$tree2;
      return [columns, (_props$tree2 = props2.tree) === null || _props$tree2 === void 0 ? void 0 : _props$tree2.treeNodeColumnIndex];
    }, function() {
      treeNodeCol.value = getTreeNodeColumnCol();
    }, {
      immediate: true
    });
    function resetData(data22) {
      var _tExpandedTreeNode$va;
      var columns2 = props2.columns, expandedTreeNodes = props2.expandedTreeNodes, defaultExpandedTreeNodes = props2.defaultExpandedTreeNodes, tree = props2.tree;
      store2.value.initialTreeStore(data22, columns2, rowDataKeys.value);
      var defaultNeedExpand = Boolean(!isDefaultExpandedTreeNodesExecute.value && (defaultExpandedTreeNodes === null || defaultExpandedTreeNodes === void 0 ? void 0 : defaultExpandedTreeNodes.length));
      var needExpandAll = Boolean((tree === null || tree === void 0 ? void 0 : tree.defaultExpandAll) && !isDefaultExpandAllExecute.value);
      if ((_tExpandedTreeNode$va = tExpandedTreeNode.value) !== null && _tExpandedTreeNode$va !== void 0 && _tExpandedTreeNode$va.length && !!(expandedTreeNodes || defaultNeedExpand) || needExpandAll) {
        updateExpandOnDataChange(data22);
        isDefaultExpandedTreeNodesExecute.value = true;
      } else {
        dataSource.value = _toConsumableArray(data22);
      }
    }
    function getTreeNodeStyle(level) {
      var _props$tree3, _props$tree4;
      if (level === void 0)
        return;
      var indent = ((_props$tree3 = props2.tree) === null || _props$tree3 === void 0 ? void 0 : _props$tree3.indent) === void 0 ? 24 : (_props$tree4 = props2.tree) === null || _props$tree4 === void 0 ? void 0 : _props$tree4.indent;
      return indent ? {
        paddingLeft: "".concat(level * indent || 1, "px")
      } : {};
    }
    function toggleExpandData(p, trigger) {
      var _store$value, _props$onTreeExpandCh;
      var currentData = _objectSpread$2({}, p);
      if (p.row.__VIRTUAL_SCROLL_INDEX !== void 0) {
        currentData.rowIndex = p.row.__VIRTUAL_SCROLL_INDEX;
      }
      dataSource.value = _toConsumableArray(store2.value.toggleExpandData(currentData, dataSource.value, rowDataKeys.value));
      var rowValue = get_1(p.row, rowDataKeys.value.rowKey);
      var rowState = (_store$value = store2.value) === null || _store$value === void 0 || (_store$value = _store$value.treeDataMap) === null || _store$value === void 0 ? void 0 : _store$value.get(rowValue);
      (_props$onTreeExpandCh = props2.onTreeExpandChange) === null || _props$onTreeExpandCh === void 0 || _props$onTreeExpandCh.call(props2, {
        row: p.row,
        rowIndex: p.rowIndex,
        rowState,
        trigger
      });
    }
    function getTreeNodeColumnCol() {
      var _props$tree5;
      var columns2 = props2.columns;
      var treeNodeColumnIndex = ((_props$tree5 = props2.tree) === null || _props$tree5 === void 0 ? void 0 : _props$tree5.treeNodeColumnIndex) || 0;
      while ((_columns2$treeNodeCol = columns2[treeNodeColumnIndex]) !== null && _columns2$treeNodeCol !== void 0 && _columns2$treeNodeCol.type || ((_columns2$treeNodeCol2 = columns2[treeNodeColumnIndex]) === null || _columns2$treeNodeCol2 === void 0 ? void 0 : _columns2$treeNodeCol2.colKey) === "__EXPAND_ROW_ICON_COLUMN__") {
        var _columns2$treeNodeCol, _columns2$treeNodeCol2;
        treeNodeColumnIndex += 1;
      }
      return columns2[treeNodeColumnIndex];
    }
    function formatTreeColumn(col) {
      if (!props2.tree || col.colKey !== treeNodeCol.value.colKey)
        return col;
      var newCol = _objectSpread$2({}, treeNodeCol.value);
      newCol.cell = function(h2, p) {
        var cellInfo = renderCell(_objectSpread$2(_objectSpread$2({}, p), {}, {
          col: _objectSpread$2({}, treeNodeCol.value)
        }), context.slots, {
          cellEmptyContent: props2.cellEmptyContent
        });
        var currentState = store2.value.treeDataMap.get(get_1(p.row, rowDataKeys.value.rowKey));
        var colStyle = getTreeNodeStyle(currentState === null || currentState === void 0 ? void 0 : currentState.level);
        var classes = _defineProperty$2({}, tableTreeClasses.inlineCol, !!col.ellipsis);
        var childrenNodes = get_1(p.row, rowDataKeys.value.childrenKey);
        if (childrenNodes && childrenNodes instanceof Array || childrenNodes === true) {
          var _store$value$treeData2;
          var iconNode = (_store$value$treeData2 = store2.value.treeDataMap.get(get_1(p.row, rowDataKeys.value.rowKey))) !== null && _store$value$treeData2 !== void 0 && _store$value$treeData2.expanded ? foldIcon(p) : expandIcon(p);
          return vue.createVNode("div", {
            "class": [tableTreeClasses.col, classes],
            "style": colStyle
          }, [!!(childrenNodes.length || childrenNodes === true) && vue.createVNode("span", {
            "class": tableTreeClasses.icon,
            "onClick": function onClick(e) {
              onExpandFoldIconClick(p, "expand-fold-icon");
              e.stopPropagation();
            }
          }, [iconNode]), cellInfo]);
        }
        return vue.createVNode("div", {
          "style": colStyle,
          "class": [classes, tableTreeClasses.leafNode]
        }, [vue.createVNode("span", {
          "class": tableTreeClasses.icon
        }, null), cellInfo]);
      };
      if (newCol.ellipsis === true) {
        newCol.ellipsis = function(h2, p) {
          return renderCell(_objectSpread$2(_objectSpread$2({}, p), {}, {
            col: _objectSpread$2({}, treeNodeCol.value)
          }), context.slots);
        };
      }
      return newCol;
    }
    function setData(key2, newRowData) {
      var rowIndex = store2.value.updateData(key2, newRowData, dataSource.value, rowDataKeys.value);
      var newData = _toConsumableArray(dataSource.value);
      newData[rowIndex] = newRowData;
      dataSource.value = newData;
    }
    function getData(key2) {
      return store2.value.getData(key2);
    }
    function remove2(key2) {
      dataSource.value = _toConsumableArray(store2.value.remove(key2, dataSource.value, rowDataKeys.value));
    }
    function removeChildren(key2) {
      dataSource.value = _toConsumableArray(store2.value.removeChildren(key2, dataSource.value, rowDataKeys.value));
    }
    function appendTo() {
      var key2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
      var newData = arguments.length > 1 ? arguments[1] : void 0;
      if (!key2) {
        dataSource.value = store2.value.appendToRoot(newData, dataSource.value, rowDataKeys.value);
        return;
      }
      dataSource.value = _toConsumableArray(store2.value.appendTo(key2, newData, dataSource.value, rowDataKeys.value));
    }
    function insertAfter(rowValue, newData) {
      dataSource.value = _toConsumableArray(store2.value.insertAfter(rowValue, newData, dataSource.value, rowDataKeys.value));
    }
    function insertBefore(rowValue, newData) {
      dataSource.value = _toConsumableArray(store2.value.insertBefore(rowValue, newData, dataSource.value, rowDataKeys.value));
    }
    function swapData(params) {
      var r = store2.value.swapData(dataSource.value, params, rowDataKeys.value);
      if (r.result) {
        dataSource.value = _toConsumableArray(r.dataSource);
      } else {
        var _props$onAbnormalDrag;
        var params2 = {
          code: r.code,
          reason: r.reason
        };
        (_props$onAbnormalDrag = props2.onAbnormalDragSort) === null || _props$onAbnormalDrag === void 0 || _props$onAbnormalDrag.call(props2, params2);
      }
    }
    function getTreeNode() {
      return store2.value.getTreeNode(dataSource.value, rowDataKeys.value);
    }
    function getTreeExpandedRow() {
      var type = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "data";
      return store2.value.getTreeExpandedRow(dataSource.value, rowDataKeys.value, type);
    }
    return {
      store: store2,
      rowDataKeys,
      dataSource,
      swapData,
      setData,
      getData,
      remove: remove2,
      removeChildren,
      appendTo,
      insertAfter,
      insertBefore,
      formatTreeColumn,
      toggleExpandData,
      expandAll,
      foldAll,
      getTreeNode,
      resetData,
      getTreeExpandedRow,
      onExpandFoldIconClick
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function ownKeys$1(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread$1(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var childrenMap = /* @__PURE__ */ new Map();
  function getChildrenData(treeDataMap, data2, keys2, r) {
    if (childrenMap.get(data2))
      return childrenMap.get(data2);
    var result = r || {
      allChildren: [],
      allChildrenKeys: [],
      leafNodeKeys: []
    };
    var children = get_1(data2, keys2.childrenKey);
    if (!children || !children.length)
      return result;
    var selectableChildren = children.filter(function(item2) {
      var _treeDataMap$get;
      return !((_treeDataMap$get = treeDataMap.get(get_1(item2, keys2.rowKey))) !== null && _treeDataMap$get !== void 0 && _treeDataMap$get.disabled);
    });
    result.allChildren = _toConsumableArray(new Set(result.allChildren.concat(selectableChildren)));
    for (var i = 0, len2 = children.length; i < len2; i++) {
      var tItem = children[i];
      var c = get_1(tItem, keys2.childrenKey);
      if (c !== null && c !== void 0 && c.length) {
        var nextLevelData = getChildrenData(treeDataMap, tItem, keys2, result);
        result.allChildren = _toConsumableArray(new Set(result.allChildren.concat(nextLevelData.allChildren)));
      }
    }
    for (var _i = 0, _len = result.allChildren.length; _i < _len; _i++) {
      var item = result.allChildren[_i];
      var children2 = get_1(item, keys2.childrenKey);
      var rowValue = get_1(item, keys2.rowKey);
      result.allChildrenKeys.push(rowValue);
      if (!children2 || !children2.length) {
        result.leafNodeKeys.push(rowValue);
      }
    }
    result.allChildrenKeys = _toConsumableArray(new Set(result.allChildrenKeys));
    result.leafNodeKeys = _toConsumableArray(new Set(result.leafNodeKeys));
    return result;
  }
  function removeChildrenKeys(p, r) {
    var selectedRowKeys = p.selectedRowKeys, removeKeys = p.removeKeys;
    var result = r || {
      data: [],
      keys: []
    };
    for (var i = 0, len2 = selectedRowKeys.length; i < len2; i++) {
      var key2 = selectedRowKeys[i];
      if (!removeKeys.includes(key2)) {
        result.keys.push(key2);
      }
    }
    return result;
  }
  function getRowDataByKeys(p) {
    var treeDataMap = p.treeDataMap, selectedRowKeys = p.selectedRowKeys;
    var result = [];
    for (var i = 0, len2 = selectedRowKeys.length; i < len2; i++) {
      var key2 = selectedRowKeys[i];
      result.push(treeDataMap.get(key2));
    }
    return result;
  }
  function useTreeSelect(props2, treeDataMap) {
    var _toRefs = vue.toRefs(props2), selectedRowKeys = _toRefs.selectedRowKeys, tree = _toRefs.tree, data2 = _toRefs.data, indeterminateSelectedRowKeys = _toRefs.indeterminateSelectedRowKeys;
    var tIndeterminateSelectedRowKeys = vue.ref([]);
    var _useDefaultValue = useDefaultValue(selectedRowKeys, props2.defaultSelectedRowKeys || [], props2.onSelectChange, "selectedRowKeys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tSelectedRowKeys = _useDefaultValue2[0], setTSelectedRowKeys = _useDefaultValue2[1];
    var rowDataKeys = vue.computed(function() {
      var _props$tree;
      return {
        rowKey: props2.rowKey || "id",
        childrenKey: ((_props$tree = props2.tree) === null || _props$tree === void 0 ? void 0 : _props$tree.childrenKey) || "children"
      };
    });
    vue.watch([tree, treeDataMap, data2, tSelectedRowKeys], function(_ref) {
      var _ref2 = _slicedToArray(_ref, 2), tree2 = _ref2[0], treeDataMap2 = _ref2[1];
      if (!tree2 || !treeDataMap2.size || tree2.checkStrictly)
        return;
      updateIndeterminateState();
    });
    function updateIndeterminateState() {
      if (!tree.value || tree.value.checkStrictly)
        return;
      if (!tSelectedRowKeys.value.length) {
        tIndeterminateSelectedRowKeys.value = [];
        return;
      }
      var keys2 = [];
      var parentMap = {};
      for (var i = 0, len2 = tSelectedRowKeys.value.length; i < len2; i++) {
        var rowValue = tSelectedRowKeys.value[i];
        var state = treeDataMap.value.get(rowValue);
        if (!state)
          continue;
        var children = get_1(state.row, rowDataKeys.value.childrenKey);
        if (!children || !children.length) {
          var parentTmp = state.parent;
          while (parentTmp) {
            if (!parentMap[parentTmp.id]) {
              parentMap[parentTmp.id] = [];
            }
            parentMap[parentTmp.id].push(state.row);
            var checkedLength = parentMap[parentTmp.id].length;
            var _getChildrenData = getChildrenData(treeDataMap.value, parentTmp.row, rowDataKeys.value), allChildrenKeys = _getChildrenData.allChildrenKeys;
            var parentTmpIndex = keys2.indexOf(parentTmp.id);
            var selectedIndex = tSelectedRowKeys.value.indexOf(parentTmp.id);
            if (checkedLength > 0 && checkedLength < allChildrenKeys.length && selectedIndex === -1) {
              parentTmpIndex === -1 && keys2.push(parentTmp.id);
            } else {
              parentTmpIndex !== -1 && keys2.splice(parentTmpIndex, 1);
            }
            parentTmp = parentTmp.parent;
          }
        }
      }
      tIndeterminateSelectedRowKeys.value = keys2;
    }
    function updateParentCheckedState(selectedKeys, currentRowKey, type) {
      if (!tree.value || tree.value.checkStrictly)
        return;
      var keys2 = _toConsumableArray(selectedKeys);
      var state = treeDataMap.value.get(currentRowKey);
      var parentTmp = state.parent;
      while (parentTmp) {
        var _getChildrenData2 = getChildrenData(treeDataMap.value, parentTmp.row, rowDataKeys.value), leafNodeKeys = _getChildrenData2.leafNodeKeys;
        var checkedChildrenKeys = intersection_1(leafNodeKeys, selectedKeys);
        var selectedIndex = keys2.indexOf(parentTmp.id);
        if (type === "uncheck") {
          selectedIndex !== -1 && keys2.splice(selectedIndex, 1);
        } else if (checkedChildrenKeys.length === leafNodeKeys.length) {
          selectedIndex === -1 && keys2.push(parentTmp.id);
        }
        parentTmp = parentTmp.parent;
      }
      return keys2;
    }
    function onInnerSelectChange(rowKeys, extraData) {
      if (!tree.value || tree.value.checkStrictly) {
        setTSelectedRowKeys(rowKeys, extraData);
        return;
      }
      if (extraData.currentRowKey === "CHECK_ALL_BOX") {
        handleSelectAll(extraData);
      } else {
        handleSelect(rowKeys, extraData);
      }
    }
    function handleSelectAll(extraData) {
      var newRowKeys = [];
      var newRowData = [];
      if (extraData.type === "check") {
        var arr = _toConsumableArray(treeDataMap.value.values());
        for (var i = 0, len2 = arr.length; i < len2; i++) {
          var item = arr[i];
          if (!item.disabled) {
            newRowData.push(item.row);
            newRowKeys.push(get_1(item.row, rowDataKeys.value.rowKey));
          }
        }
      }
      var newExtraData = _objectSpread$1(_objectSpread$1({}, extraData), {}, {
        selectedRowData: newRowData || []
      });
      setTSelectedRowKeys(newRowKeys, newExtraData);
    }
    function handleSelect(rowKeys, extraData) {
      var _props$tree2;
      var newRowKeys = _toConsumableArray(rowKeys);
      if (((_props$tree2 = props2.tree) === null || _props$tree2 === void 0 ? void 0 : _props$tree2.checkStrictly) === false) {
        if ((extraData === null || extraData === void 0 ? void 0 : extraData.type) === "check") {
          var result = getChildrenData(treeDataMap.value, extraData.currentRowData, rowDataKeys.value);
          var allChildrenKeys = result.allChildrenKeys;
          childrenMap.set(extraData.currentRowData, result);
          newRowKeys = _toConsumableArray(new Set(newRowKeys.concat(allChildrenKeys)));
        } else if ((extraData === null || extraData === void 0 ? void 0 : extraData.type) === "uncheck") {
          var children = getChildrenData(treeDataMap.value, extraData.currentRowData, rowDataKeys.value);
          var _result = removeChildrenKeys({
            selectedRowKeys: rowKeys,
            removeKeys: children.allChildrenKeys
          });
          newRowKeys = _result.keys;
        }
      }
      newRowKeys = updateParentCheckedState(newRowKeys, extraData.currentRowKey, extraData.type);
      var newRowData = getRowDataByKeys({
        treeDataMap: treeDataMap.value,
        selectedRowKeys: newRowKeys
      });
      var newExtraData = _objectSpread$1(_objectSpread$1({}, extraData), {}, {
        selectedRowData: newRowData
      });
      setTSelectedRowKeys(newRowKeys, newExtraData);
    }
    return {
      tIndeterminateSelectedRowKeys: indeterminateSelectedRowKeys.value ? indeterminateSelectedRowKeys : tIndeterminateSelectedRowKeys,
      onInnerSelectChange
    };
  }
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _excluded = ["store", "dataSource", "formatTreeColumn", "swapData", "onExpandFoldIconClick"];
  function ownKeys(e, r) {
    var t = Object.keys(e);
    if (Object.getOwnPropertySymbols) {
      var o = Object.getOwnPropertySymbols(e);
      r && (o = o.filter(function(r2) {
        return Object.getOwnPropertyDescriptor(e, r2).enumerable;
      })), t.push.apply(t, o);
    }
    return t;
  }
  function _objectSpread(e) {
    for (var r = 1; r < arguments.length; r++) {
      var t = null != arguments[r] ? arguments[r] : {};
      r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
        _defineProperty$2(e, r2, t[r2]);
      }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
        Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
      });
    }
    return e;
  }
  var _EnhancedTable = vue.defineComponent({
    name: "TEnhancedTable",
    props: _objectSpread(_objectSpread(_objectSpread({}, baseTableProps), primaryTableProps), enhancedTableProps),
    setup: function setup47(props2, context) {
      var primaryTableRef = vue.ref(null);
      var _useTreeData = useTreeData(props2, context), store2 = _useTreeData.store, dataSource = _useTreeData.dataSource, formatTreeColumn = _useTreeData.formatTreeColumn, swapData = _useTreeData.swapData, onExpandFoldIconClick = _useTreeData.onExpandFoldIconClick, treeInstanceFunctions = _objectWithoutProperties$1(_useTreeData, _excluded);
      var classPrefix = usePrefixClass();
      var treeDataMap = vue.ref(store2.value.treeDataMap);
      var _useTreeSelect = useTreeSelect(props2, treeDataMap), tIndeterminateSelectedRowKeys = _useTreeSelect.tIndeterminateSelectedRowKeys, onInnerSelectChange = _useTreeSelect.onInnerSelectChange;
      var getColumns = function getColumns2(columns) {
        var arr = [];
        for (var i = 0, len2 = columns.length; i < len2; i++) {
          var _item$children, _item$children2;
          var item = _objectSpread({}, columns[i]);
          item = formatTreeColumn(item);
          if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
            item.children = getColumns2(item.children);
          }
          if (!item.children || (_item$children2 = item.children) !== null && _item$children2 !== void 0 && _item$children2.length) {
            arr.push(item);
          }
        }
        return arr;
      };
      var tColumns = vue.computed(function() {
        var isTreeData = !props2.tree || !Object.keys(props2.tree).length;
        return isTreeData ? props2.columns : getColumns(props2.columns);
      });
      var onDragSortChange = function onDragSortChange2(params) {
        var _props$onDragSort;
        if (props2.beforeDragSort && !props2.beforeDragSort(params))
          return;
        swapData({
          current: params.current,
          target: params.target,
          currentIndex: params.currentIndex,
          targetIndex: params.targetIndex
        });
        (_props$onDragSort = props2.onDragSort) === null || _props$onDragSort === void 0 || _props$onDragSort.call(props2, params);
      };
      var onEnhancedTableRowClick = function onEnhancedTableRowClick2(p) {
        var _props$tree, _props$onRowClick;
        if ((_props$tree = props2.tree) !== null && _props$tree !== void 0 && _props$tree.expandTreeNodeOnClick) {
          onExpandFoldIconClick({
            row: p.row,
            rowIndex: p.index
          }, "row-click");
        }
        (_props$onRowClick = props2.onRowClick) === null || _props$onRowClick === void 0 || _props$onRowClick.call(props2, p);
      };
      context.expose(_objectSpread(_objectSpread({
        store: store2.value,
        dataSource: dataSource.value
      }, treeInstanceFunctions), {}, {
        primaryTableRef,
        validateRowData: function validateRowData(rowValue) {
          return primaryTableRef.value.validateRowData(rowValue);
        },
        validateTableData: function validateTableData() {
          return primaryTableRef.value.validateTableData();
        },
        clearValidateData: function clearValidateData() {
          primaryTableRef.value.clearValidateData();
        },
        refreshTable: function refreshTable() {
          primaryTableRef.value.refreshTable();
        },
        scrollToElement: function scrollToElement(data2) {
          primaryTableRef.value.scrollToElement(data2);
        }
      }));
      return function() {
        var _props$tree2;
        var _getCurrentInstance = vue.getCurrentInstance(), vnode = _getCurrentInstance.vnode;
        var enhancedProps = _objectSpread(_objectSpread({}, vnode.props), {}, {
          rowKey: props2.rowKey || "id",
          data: dataSource.value,
          columns: tColumns.value,
          indeterminateSelectedRowKeys: tIndeterminateSelectedRowKeys.value,
          disableDataPage: Boolean(props2.tree && Object.keys(props2.tree).length),
          onSelectChange: onInnerSelectChange,
          onDragSort: onDragSortChange,
          rowClassName: function rowClassName(_ref) {
            var row = _ref.row;
            var rowValue = get_1(row, props2.rowKey || "id");
            var rowState = treeDataMap.value.get(rowValue);
            if (!rowState)
              return [props2.rowClassName];
            return ["".concat(classPrefix.value, "-table-tr--level-").concat(rowState.level), props2.rowClassName];
          }
        });
        if ((_props$tree2 = props2.tree) !== null && _props$tree2 !== void 0 && _props$tree2.expandTreeNodeOnClick) {
          enhancedProps.onRowClick = onEnhancedTableRowClick;
        }
        return vue.createVNode(_PrimaryTable, vue.mergeProps(enhancedProps, {
          "ref": primaryTableRef
        }), context.slots);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  withInstall(_BaseTable);
  withInstall(_PrimaryTable);
  withInstall(_EnhancedTable);
  var table = cloneDeep_1(_PrimaryTable);
  var Table = withInstall(table, "TTable");
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$2 = {
    borderless: Boolean,
    defaultExpandAll: Boolean,
    disabled: Boolean,
    expandIcon: {
      type: [Boolean, Function],
      "default": true
    },
    expandIconPlacement: {
      type: String,
      "default": "left",
      validator: function validator51(val) {
        if (!val)
          return true;
        return ["left", "right"].includes(val);
      }
    },
    expandMutex: Boolean,
    expandOnRowClick: {
      type: Boolean,
      "default": true
    },
    value: {
      type: Array,
      "default": void 0
    },
    modelValue: {
      type: Array,
      "default": void 0
    },
    defaultValue: {
      type: Array
    },
    onChange: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var _Collapse = vue.defineComponent({
    name: "TCollapse",
    props: props$2,
    setup: function setup48(props2) {
      var componentName = usePrefixClass("collapse");
      var borderlessClass = usePrefixClass("-border-less");
      var renderTNodeJSX3 = useTNodeJSX();
      var _toRefs = vue.toRefs(props2), value = _toRefs.value, expandMutex = _toRefs.expandMutex, borderless = _toRefs.borderless, modelValue = _toRefs.modelValue;
      var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), collapseValue = _useVModel2[0], setCollapseValue = _useVModel2[1];
      var updateCollapseValue = function updateCollapseValue2(value2) {
        var newValue = [].concat(collapseValue.value || []);
        var index2 = newValue.indexOf(value2);
        if (index2 >= 0) {
          newValue.splice(index2, 1);
        } else if (expandMutex.value) {
          newValue = [value2];
        } else {
          newValue.push(value2);
        }
        setCollapseValue(newValue);
      };
      var classes = vue.computed(function() {
        return [componentName.value, _defineProperty$2({}, borderlessClass.value, !!borderless.value)];
      });
      var getUniqId = function() {
        var index2 = 0;
        return function() {
          return index2++;
        };
      }();
      vue.provide("collapseValue", collapseValue);
      vue.provide("updateCollapseValue", updateCollapseValue);
      vue.provide("collapseProps", vue.toRefs(props2));
      vue.provide("getUniqId", getUniqId);
      vue.provide("renderParentTNode", renderTNodeJSX3);
      return function() {
        var nodes = renderTNodeJSX3("default");
        return vue.createVNode("div", {
          "class": classes.value
        }, [nodes]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props$1 = {
    content: {
      type: [String, Function]
    },
    "default": {
      type: [String, Function]
    },
    destroyOnCollapse: Boolean,
    disabled: {
      type: Boolean,
      "default": void 0
    },
    expandIcon: {
      type: [Boolean, Function],
      "default": void 0
    },
    header: {
      type: [String, Function]
    },
    headerRightContent: {
      type: [String, Function]
    },
    value: {
      type: [String, Number]
    }
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  function _isSlot(s) {
    return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
  }
  var _CollapsePanel = vue.defineComponent({
    name: "TCollapsePanel",
    props: props$1,
    setup: function setup49(props2, _ref) {
      var slots = _ref.slots;
      var renderTNodeJSX3 = useTNodeJSX();
      var renderContent3 = useContent();
      var componentName = usePrefixClass("collapse-panel");
      var disableClass = usePrefixClass("is-disabled");
      var clickableClass = usePrefixClass("is-clickable");
      var transitionClass = usePrefixClass("slide-down");
      var _toRefs = vue.toRefs(props2), value = _toRefs.value, disabled = _toRefs.disabled, destroyOnCollapse = _toRefs.destroyOnCollapse;
      var collapseValue = vue.inject("collapseValue");
      var updateCollapseValue = vue.inject("updateCollapseValue");
      var getUniqId = vue.inject("getUniqId", function() {
        return void 0;
      }, false);
      var _inject = vue.inject("collapseProps"), defaultExpandAll = _inject.defaultExpandAll, disableAll = _inject.disabled, expandIconPlacement = _inject.expandIconPlacement, expandOnRowClick = _inject.expandOnRowClick;
      var renderParentTNode = vue.inject("renderParentTNode");
      var innerValue = value.value || getUniqId();
      if (defaultExpandAll.value) {
        updateCollapseValue(innerValue);
      }
      var _useCollapseAnimation = useCollapseAnimation(), beforeEnter = _useCollapseAnimation.beforeEnter, enter = _useCollapseAnimation.enter, afterEnter = _useCollapseAnimation.afterEnter, beforeLeave = _useCollapseAnimation.beforeLeave, leave = _useCollapseAnimation.leave, afterLeave = _useCollapseAnimation.afterLeave;
      var iconRef = vue.ref();
      var isDisabled = vue.computed(function() {
        return disabled.value || disableAll.value;
      });
      var isActive = vue.computed(function() {
        return collapseValue.value instanceof Array ? collapseValue.value.includes(innerValue) : collapseValue.value === innerValue;
      });
      var classes = vue.computed(function() {
        return [componentName.value, _defineProperty$2({}, disableClass.value, isDisabled.value)];
      });
      var panelExpandIcon = vue.computed(function() {
        return slots.expandIcon || props2.expandIcon;
      });
      var handleClick = function handleClick2(e) {
        var canExpand = expandOnRowClick.value || e.currentTarget === iconRef.value;
        if (canExpand && !isDisabled.value) {
          updateCollapseValue(innerValue);
        }
        e.stopPropagation();
      };
      var renderDefaultIcon = function renderDefaultIcon2() {
        return vue.createVNode(FakeArrow, {
          "overlayClassName": "".concat(componentName.value, "__icon--default")
        }, null);
      };
      var renderIcon = function renderIcon2() {
        var tNodeRender = panelExpandIcon.value === void 0 ? renderParentTNode : renderTNodeJSX3;
        return vue.createVNode("div", {
          "ref": iconRef,
          "class": "".concat(componentName.value, "__icon ").concat(componentName.value, "__icon--").concat(expandIconPlacement.value, " ").concat(isActive.value ? "".concat(componentName.value, "__icon--active") : ""),
          "onClick": handleClick
        }, [tNodeRender("expandIcon", renderDefaultIcon())]);
      };
      var renderBlank = function renderBlank2() {
        return vue.createVNode("div", {
          "class": "".concat(componentName.value, "__header--blank")
        }, null);
      };
      var renderHeader = function renderHeader2() {
        var cls = ["".concat(componentName.value, "__header"), _defineProperty$2({}, clickableClass.value, expandOnRowClick.value && !isDisabled.value)];
        return vue.createVNode("div", {
          "class": cls,
          "onClick": handleClick
        }, [expandIconPlacement.value === "left" && renderIcon(), renderTNodeJSX3("header"), renderBlank(), renderTNodeJSX3("headerRightContent"), expandIconPlacement.value === "right" && renderIcon()]);
      };
      var renderBodyByNormal = function renderBodyByNormal2() {
        return vue.withDirectives(vue.createVNode("div", {
          "class": "".concat(componentName.value, "__body")
        }, [vue.createVNode("div", {
          "class": "".concat(componentName.value, "__content")
        }, [renderContent3("default", "content")])]), [[vue.vShow, isActive.value]]);
      };
      var renderBodyDestroyOnCollapse = function renderBodyDestroyOnCollapse2() {
        return isActive.value ? vue.createVNode("div", {
          "class": "".concat(componentName.value, "__body")
        }, [vue.createVNode("div", {
          "class": "".concat(componentName.value, "__content")
        }, [renderContent3("default", "content")])]) : null;
      };
      var renderBody = function renderBody2() {
        return destroyOnCollapse.value ? renderBodyDestroyOnCollapse() : renderBodyByNormal();
      };
      return function() {
        var _slot;
        return vue.createVNode("div", {
          "class": classes.value
        }, [vue.createVNode("div", {
          "class": "".concat(componentName.value, "__wrapper")
        }, [renderHeader(), vue.createVNode(vue.Transition, {
          "name": transitionClass.value,
          "onBeforeEnter": beforeEnter,
          "onEnter": enter,
          "onAfterEnter": afterEnter,
          "onBeforeLeave": beforeLeave,
          "onLeave": leave,
          "onAfterLeave": afterLeave
        }, _isSlot(_slot = renderBody()) ? _slot : {
          "default": function _default16() {
            return [_slot];
          }
        })])]);
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Collapse = withInstall(_Collapse);
  var CollapsePanel = withInstall(_CollapsePanel);
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var props = {
    attach: {
      type: [String, Function],
      "default": ""
    },
    body: {
      type: [String, Function]
    },
    cancelBtn: {
      type: [String, Object, Function],
      "default": ""
    },
    closeBtn: {
      type: [String, Boolean, Function]
    },
    closeOnEscKeydown: {
      type: Boolean,
      "default": void 0
    },
    closeOnOverlayClick: {
      type: Boolean,
      "default": void 0
    },
    confirmBtn: {
      type: [String, Object, Function],
      "default": ""
    },
    "default": {
      type: [String, Function]
    },
    destroyOnClose: Boolean,
    footer: {
      type: [Boolean, Function],
      "default": true
    },
    header: {
      type: [String, Boolean, Function],
      "default": true
    },
    mode: {
      type: String,
      "default": "overlay",
      validator: function validator52(val) {
        if (!val)
          return true;
        return ["overlay", "push"].includes(val);
      }
    },
    placement: {
      type: String,
      "default": "right",
      validator: function validator53(val) {
        if (!val)
          return true;
        return ["left", "right", "top", "bottom"].includes(val);
      }
    },
    preventScrollThrough: {
      type: Boolean,
      "default": true
    },
    showInAttachedElement: Boolean,
    showOverlay: {
      type: Boolean,
      "default": true
    },
    size: {
      type: String,
      "default": void 0
    },
    sizeDraggable: Boolean,
    visible: Boolean,
    zIndex: {
      type: Number
    },
    onCancel: Function,
    onClose: Function,
    onCloseBtnClick: Function,
    onConfirm: Function,
    onEscKeydown: Function,
    onOverlayClick: Function
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var useDrag = function useDrag2(props2) {
    var isSizeDragging = vue.ref(false);
    var draggedSizeValue = vue.ref(null);
    var enableDrag = function enableDrag2() {
      document.addEventListener("mouseup", handleMouseup, true);
      document.addEventListener("mousemove", handleMousemove, true);
      isSizeDragging.value = true;
    };
    var handleMouseup = function handleMouseup2() {
      document.removeEventListener("mouseup", handleMouseup2, true);
      document.removeEventListener("mousemove", handleMousemove, true);
      isSizeDragging.value = false;
    };
    var handleMousemove = function handleMousemove2(e) {
      var x = e.x, y = e.y;
      var maxHeight = document.documentElement.clientHeight;
      var maxWidth = document.documentElement.clientWidth;
      var offsetHeight = 8;
      var offsetWidth = 8;
      if (isSizeDragging.value && props2.sizeDraggable) {
        if (props2.placement === "right") {
          var moveLeft = Math.min(Math.max(maxWidth - x + offsetWidth, offsetWidth), maxWidth);
          draggedSizeValue.value = "".concat(moveLeft, "px");
        }
        if (props2.placement === "left") {
          var moveRight = Math.min(Math.max(x + offsetWidth, offsetWidth), maxWidth);
          draggedSizeValue.value = "".concat(moveRight, "px");
        }
        if (props2.placement === "top") {
          var moveBottom = Math.min(Math.max(y + offsetHeight, offsetHeight), maxHeight);
          draggedSizeValue.value = "".concat(moveBottom, "px");
        }
        if (props2.placement === "bottom") {
          var moveTop = Math.min(Math.max(maxHeight - y + offsetHeight, offsetHeight), maxHeight);
          draggedSizeValue.value = "".concat(moveTop, "px");
        }
      }
    };
    var draggableLineStyles = vue.computed(function() {
      var _ref;
      var isHorizontal = ["right", "left"].includes(props2.placement);
      var oppositeMap = {
        left: "right",
        right: "left",
        top: "bottom",
        bottom: "top"
      };
      return _ref = {
        zIndex: 1,
        position: "absolute",
        background: "transparent"
      }, _defineProperty$2(_ref, oppositeMap[props2.placement], 0), _defineProperty$2(_ref, "width", isHorizontal ? "16px" : "100%"), _defineProperty$2(_ref, "height", isHorizontal ? "100%" : "16px"), _defineProperty$2(_ref, "cursor", isHorizontal ? "col-resize" : "row-resize"), _ref;
    });
    return {
      draggedSizeValue,
      enableDrag,
      draggableLineStyles
    };
  };
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var key = 1;
  var _Drawer = vue.defineComponent({
    name: "TDrawer",
    inheritAttrs: false,
    props,
    emits: ["update:visible"],
    setup: function setup50(props2, context) {
      var destroyOnCloseVisible = vue.ref(false);
      var isVisible = vue.ref(false);
      var styleEl = vue.ref();
      var styleTimer = vue.ref();
      var _useConfig = useConfig("drawer"), globalConfig = _useConfig.globalConfig;
      var _useGlobalIcon = useGlobalIcon({
        CloseIcon
      }), CloseIcon$1 = _useGlobalIcon.CloseIcon;
      var renderTNodeJSX3 = useTNodeJSX();
      var renderContent3 = useContent();
      var COMPONENT_NAME = usePrefixClass("drawer");
      var _useDrag = useDrag(props2), draggedSizeValue = _useDrag.draggedSizeValue, enableDrag = _useDrag.enableDrag, draggableLineStyles = _useDrag.draggableLineStyles;
      var teleportElement = useTeleport(function() {
        return props2.attach;
      });
      var confirmBtnAction = function confirmBtnAction2(e) {
        var _props2$onConfirm;
        (_props2$onConfirm = props2.onConfirm) === null || _props2$onConfirm === void 0 || _props2$onConfirm.call(props2, {
          e
        });
      };
      var cancelBtnAction = function cancelBtnAction2(e) {
        var _props2$onCancel;
        (_props2$onCancel = props2.onCancel) === null || _props2$onCancel === void 0 || _props2$onCancel.call(props2, {
          e
        });
        closeDrawer({
          trigger: "cancel",
          e
        });
      };
      var _useAction = useAction({
        confirmBtnAction,
        cancelBtnAction
      }), getConfirmBtn = _useAction.getConfirmBtn, getCancelBtn = _useAction.getCancelBtn;
      var drawerEle = vue.ref(null);
      var drawerClasses = vue.computed(function() {
        var _ref;
        return [COMPONENT_NAME.value, "".concat(COMPONENT_NAME.value, "--").concat(props2.placement), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--open"), isVisible.value), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--attach"), props2.showInAttachedElement), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--without-mask"), !props2.showOverlay), _ref)];
      });
      var sizeValue = vue.computed(function() {
        var _props2$size;
        if (draggedSizeValue.value)
          return draggedSizeValue.value;
        var size = (_props2$size = props2.size) !== null && _props2$size !== void 0 ? _props2$size : globalConfig.value.size;
        var defaultSize = isNaN(Number(size)) ? size : "".concat(size, "px");
        return {
          small: "300px",
          medium: "500px",
          large: "760px"
        }[size] || defaultSize;
      });
      var wrapperStyles = vue.computed(function() {
        return {
          transform: isVisible.value ? "translateX(0)" : void 0,
          width: ["left", "right"].includes(props2.placement) ? sizeValue.value : "",
          height: ["top", "bottom"].includes(props2.placement) ? sizeValue.value : ""
        };
      });
      var wrapperClasses = vue.computed(function() {
        return ["".concat(COMPONENT_NAME.value, "__content-wrapper"), "".concat(COMPONENT_NAME.value, "__content-wrapper--").concat(props2.placement)];
      });
      var parentNode = vue.computed(function() {
        return drawerEle.value && drawerEle.value.parentNode;
      });
      var modeAndPlacement = vue.computed(function() {
        return [props2.mode, props2.placement].join();
      });
      var footerStyle = vue.computed(function() {
        return {
          display: "flex",
          justifyContent: props2.placement === "right" ? "flex-start" : "flex-end"
        };
      });
      var handleEscKeydown = function handleEscKeydown2(e) {
        var _props2$closeOnEscKey;
        if ((_props2$closeOnEscKey = props2.closeOnEscKeydown) !== null && _props2$closeOnEscKey !== void 0 ? _props2$closeOnEscKey : globalConfig.value.closeOnEscKeydown && e.key === "Escape") {
          var _props2$onEscKeydown;
          (_props2$onEscKeydown = props2.onEscKeydown) === null || _props2$onEscKeydown === void 0 || _props2$onEscKeydown.call(props2, {
            e
          });
          closeDrawer({
            trigger: "esc",
            e
          });
        }
      };
      var clearStyleFunc = function clearStyleFunc2() {
        clearTimeout(styleTimer.value);
        styleTimer.value = setTimeout(function() {
          var _styleEl$value, _styleEl$value$remove;
          (_styleEl$value = styleEl.value) === null || _styleEl$value === void 0 || (_styleEl$value = _styleEl$value.parentNode) === null || _styleEl$value === void 0 || (_styleEl$value$remove = _styleEl$value.removeChild) === null || _styleEl$value$remove === void 0 || _styleEl$value$remove.call(_styleEl$value, styleEl.value);
        }, 150);
      };
      var handlePushMode = function handlePushMode2() {
        if (props2.mode !== "push")
          return;
        vue.nextTick(function() {
          if (!parentNode.value)
            return;
          parentNode.value.style.cssText = "transition: margin 300ms cubic-bezier(0.7, 0.3, 0.1, 1) 0s;";
        });
      };
      var updatePushMode = function updatePushMode2() {
        if (!parentNode.value)
          return;
        if (props2.mode !== "push" || !parentNode.value)
          return;
        var marginStr = {
          left: "margin: 0 0 0 ".concat(sizeValue.value),
          right: "margin: 0 0 0 -".concat(sizeValue.value),
          top: "margin: ".concat(sizeValue.value, " 0 0 0"),
          bottom: "margin: -".concat(sizeValue.value, " 0 0 0")
        }[props2.placement];
        if (isVisible.value) {
          parentNode.value.style.cssText += marginStr;
        } else {
          parentNode.value.style.cssText = parentNode.value.style.cssText.replace(/margin:.+;/, "");
        }
      };
      var getDefaultFooter = function getDefaultFooter2() {
        var confirmBtn = getConfirmBtn({
          confirmBtn: props2.confirmBtn,
          globalConfirm: globalConfig.value.confirm,
          className: "".concat(COMPONENT_NAME.value, "__confirm")
        });
        var cancelBtn = getCancelBtn({
          cancelBtn: props2.cancelBtn,
          globalCancel: globalConfig.value.cancel,
          className: "".concat(COMPONENT_NAME.value, "__cancel")
        });
        return vue.createVNode("div", {
          "style": footerStyle.value
        }, [props2.placement === "right" ? confirmBtn : null, cancelBtn, props2.placement !== "right" ? confirmBtn : null]);
      };
      vue.watch(modeAndPlacement, function() {
        handlePushMode();
      }, {
        immediate: true
      });
      vue.watch(function() {
        return props2.visible;
      }, function(value) {
        if (isServer)
          return;
        if (value) {
          if (!props2.showInAttachedElement && props2.preventScrollThrough) {
            styleEl.value && document.head.appendChild(styleEl.value);
          }
        } else {
          clearStyleFunc();
        }
        if (props2.destroyOnClose) {
          if (value) {
            destroyOnCloseVisible.value = false;
            setTimeout(function() {
              isVisible.value = true;
            });
          } else {
            isVisible.value = false;
            setTimeout(function() {
              destroyOnCloseVisible.value = true;
            }, 200);
          }
        } else if (destroyOnCloseVisible.value === true && value) {
          destroyOnCloseVisible.value = false;
          setTimeout(function() {
            isVisible.value = true;
          });
        } else {
          isVisible.value = value;
        }
      }, {
        immediate: true
      });
      var handleCloseBtnClick = function handleCloseBtnClick2(e) {
        var _props2$onCloseBtnCli;
        (_props2$onCloseBtnCli = props2.onCloseBtnClick) === null || _props2$onCloseBtnCli === void 0 || _props2$onCloseBtnCli.call(props2, {
          e
        });
        closeDrawer({
          trigger: "close-btn",
          e
        });
      };
      var handleWrapperClick = function handleWrapperClick2(e) {
        var _props2$onOverlayClic, _props2$closeOnOverla;
        (_props2$onOverlayClic = props2.onOverlayClick) === null || _props2$onOverlayClic === void 0 || _props2$onOverlayClic.call(props2, {
          e
        });
        if ((_props2$closeOnOverla = props2.closeOnOverlayClick) !== null && _props2$closeOnOverla !== void 0 ? _props2$closeOnOverla : globalConfig.value.closeOnOverlayClick) {
          closeDrawer({
            trigger: "overlay",
            e
          });
        }
      };
      var onKeyDown = function onKeyDown2(e) {
        var _props2$closeOnEscKey2;
        if (((_props2$closeOnEscKey2 = props2.closeOnEscKeydown) !== null && _props2$closeOnEscKey2 !== void 0 ? _props2$closeOnEscKey2 : globalConfig.value.closeOnEscKeydown) && e.key === "Escape") {
          var _props2$onEscKeydown2;
          (_props2$onEscKeydown2 = props2.onEscKeydown) === null || _props2$onEscKeydown2 === void 0 || _props2$onEscKeydown2.call(props2, {
            e
          });
          closeDrawer({
            trigger: "esc",
            e
          });
        }
      };
      var closeDrawer = function closeDrawer2(params) {
        var _props2$onClose;
        (_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, params);
        context.emit("update:visible", false);
      };
      vue.onUpdated(function() {
        updatePushMode();
      });
      vue.onMounted(function() {
        var hasScrollBar = document.documentElement.scrollHeight > document.documentElement.clientHeight;
        var scrollWidth = hasScrollBar ? getScrollbarWidth() : 0;
        styleEl.value = document.createElement("style");
        styleEl.value.dataset.id = "td_drawer_".concat(+/* @__PURE__ */ new Date(), "_").concat(key += 1);
        styleEl.value.innerHTML = "\n        html body {\n          overflow-y: hidden;\n          transition: margin 300ms cubic-bezier(0.7, 0.3, 0.1, 1) 0s;\n          ".concat(props2.mode === "push" ? "" : "width: calc(100% - ".concat(scrollWidth, "px);"), "\n        }\n      ");
        if (isVisible.value && !props2.showInAttachedElement && props2.preventScrollThrough) {
          document.head.appendChild(styleEl.value);
        }
        window.addEventListener("keydown", handleEscKeydown);
      });
      vue.onBeforeUnmount(function() {
        clearStyleFunc();
        window.removeEventListener("keydown", handleEscKeydown);
      });
      return function() {
        if (destroyOnCloseVisible.value)
          return;
        var body = renderContent3("body", "default");
        var headerContent = renderTNodeJSX3("header");
        var defaultFooter = getDefaultFooter();
        return vue.createVNode(vue.Teleport, {
          "disabled": !props2.attach || !teleportElement.value,
          "to": teleportElement.value
        }, {
          "default": function _default16() {
            return [vue.createVNode("div", vue.mergeProps({
              "ref": drawerEle,
              "class": drawerClasses.value,
              "style": {
                zIndex: props2.zIndex
              },
              "onKeydown": onKeyDown,
              "tabindex": 0
            }, context.attrs), [props2.showOverlay && vue.createVNode("div", {
              "class": "".concat(COMPONENT_NAME.value, "__mask"),
              "onClick": handleWrapperClick
            }, null), vue.createVNode("div", {
              "class": wrapperClasses.value,
              "style": wrapperStyles.value
            }, [headerContent && vue.createVNode("div", {
              "class": "".concat(COMPONENT_NAME.value, "__header")
            }, [headerContent]), props2.closeBtn && vue.createVNode("div", {
              "class": "".concat(COMPONENT_NAME.value, "__close-btn"),
              "onClick": handleCloseBtnClick
            }, [renderTNodeJSX3("closeBtn", vue.createVNode(CloseIcon$1, null, null))]), vue.createVNode("div", {
              "class": ["".concat(COMPONENT_NAME.value, "__body"), "narrow-scrollbar"]
            }, [body]), props2.footer && vue.createVNode("div", {
              "class": "".concat(COMPONENT_NAME.value, "__footer")
            }, [renderTNodeJSX3("footer", defaultFooter)]), props2.sizeDraggable && vue.createVNode("div", {
              "style": draggableLineStyles.value,
              "onMousedown": enableDrag
            }, null)])])];
          }
        });
      };
    }
  });
  /**
   * tdesign v1.5.7
   * (c) 2023 tdesign
   * @license MIT
   */
  var Drawer = withInstall(_Drawer);
  function bind(fn2, thisArg) {
    return function wrap() {
      return fn2.apply(thisArg, arguments);
    };
  }
  const { toString } = Object.prototype;
  const { getPrototypeOf } = Object;
  const kindOf = ((cache) => (thing) => {
    const str = toString.call(thing);
    return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
  })(/* @__PURE__ */ Object.create(null));
  const kindOfTest = (type) => {
    type = type.toLowerCase();
    return (thing) => kindOf(thing) === type;
  };
  const typeOfTest = (type) => (thing) => typeof thing === type;
  const { isArray } = Array;
  const isUndefined = typeOfTest("undefined");
  function isBuffer(val) {
    return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
  }
  const isArrayBuffer = kindOfTest("ArrayBuffer");
  function isArrayBufferView(val) {
    let result;
    if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
      result = ArrayBuffer.isView(val);
    } else {
      result = val && val.buffer && isArrayBuffer(val.buffer);
    }
    return result;
  }
  const isString = typeOfTest("string");
  const isFunction = typeOfTest("function");
  const isNumber = typeOfTest("number");
  const isObject = (thing) => thing !== null && typeof thing === "object";
  const isBoolean = (thing) => thing === true || thing === false;
  const isPlainObject = (val) => {
    if (kindOf(val) !== "object") {
      return false;
    }
    const prototype2 = getPrototypeOf(val);
    return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
  };
  const isDate = kindOfTest("Date");
  const isFile = kindOfTest("File");
  const isBlob = kindOfTest("Blob");
  const isFileList = kindOfTest("FileList");
  const isStream = (val) => isObject(val) && isFunction(val.pipe);
  const isFormData = (thing) => {
    let kind;
    return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
    kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
  };
  const isURLSearchParams = kindOfTest("URLSearchParams");
  const trim$1 = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
  function forEach(obj, fn2, { allOwnKeys = false } = {}) {
    if (obj === null || typeof obj === "undefined") {
      return;
    }
    let i;
    let l;
    if (typeof obj !== "object") {
      obj = [obj];
    }
    if (isArray(obj)) {
      for (i = 0, l = obj.length; i < l; i++) {
        fn2.call(null, obj[i], i, obj);
      }
    } else {
      const keys2 = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
      const len2 = keys2.length;
      let key2;
      for (i = 0; i < len2; i++) {
        key2 = keys2[i];
        fn2.call(null, obj[key2], key2, obj);
      }
    }
  }
  function findKey(obj, key2) {
    key2 = key2.toLowerCase();
    const keys2 = Object.keys(obj);
    let i = keys2.length;
    let _key;
    while (i-- > 0) {
      _key = keys2[i];
      if (key2 === _key.toLowerCase()) {
        return _key;
      }
    }
    return null;
  }
  const _global = (() => {
    if (typeof globalThis !== "undefined")
      return globalThis;
    return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
  })();
  const isContextDefined = (context) => !isUndefined(context) && context !== _global;
  function merge() {
    const { caseless } = isContextDefined(this) && this || {};
    const result = {};
    const assignValue2 = (val, key2) => {
      const targetKey = caseless && findKey(result, key2) || key2;
      if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
        result[targetKey] = merge(result[targetKey], val);
      } else if (isPlainObject(val)) {
        result[targetKey] = merge({}, val);
      } else if (isArray(val)) {
        result[targetKey] = val.slice();
      } else {
        result[targetKey] = val;
      }
    };
    for (let i = 0, l = arguments.length; i < l; i++) {
      arguments[i] && forEach(arguments[i], assignValue2);
    }
    return result;
  }
  const extend = (a, b, thisArg, { allOwnKeys } = {}) => {
    forEach(b, (val, key2) => {
      if (thisArg && isFunction(val)) {
        a[key2] = bind(val, thisArg);
      } else {
        a[key2] = val;
      }
    }, { allOwnKeys });
    return a;
  };
  const stripBOM = (content) => {
    if (content.charCodeAt(0) === 65279) {
      content = content.slice(1);
    }
    return content;
  };
  const inherits = (constructor, superConstructor, props2, descriptors2) => {
    constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
    constructor.prototype.constructor = constructor;
    Object.defineProperty(constructor, "super", {
      value: superConstructor.prototype
    });
    props2 && Object.assign(constructor.prototype, props2);
  };
  const toFlatObject = (sourceObj, destObj, filter3, propFilter) => {
    let props2;
    let i;
    let prop;
    const merged = {};
    destObj = destObj || {};
    if (sourceObj == null)
      return destObj;
    do {
      props2 = Object.getOwnPropertyNames(sourceObj);
      i = props2.length;
      while (i-- > 0) {
        prop = props2[i];
        if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
          destObj[prop] = sourceObj[prop];
          merged[prop] = true;
        }
      }
      sourceObj = filter3 !== false && getPrototypeOf(sourceObj);
    } while (sourceObj && (!filter3 || filter3(sourceObj, destObj)) && sourceObj !== Object.prototype);
    return destObj;
  };
  const endsWith = (str, searchString, position) => {
    str = String(str);
    if (position === void 0 || position > str.length) {
      position = str.length;
    }
    position -= searchString.length;
    const lastIndex = str.indexOf(searchString, position);
    return lastIndex !== -1 && lastIndex === position;
  };
  const toArray2 = (thing) => {
    if (!thing)
      return null;
    if (isArray(thing))
      return thing;
    let i = thing.length;
    if (!isNumber(i))
      return null;
    const arr = new Array(i);
    while (i-- > 0) {
      arr[i] = thing[i];
    }
    return arr;
  };
  const isTypedArray = ((TypedArray) => {
    return (thing) => {
      return TypedArray && thing instanceof TypedArray;
    };
  })(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
  const forEachEntry = (obj, fn2) => {
    const generator = obj && obj[Symbol.iterator];
    const iterator = generator.call(obj);
    let result;
    while ((result = iterator.next()) && !result.done) {
      const pair = result.value;
      fn2.call(obj, pair[0], pair[1]);
    }
  };
  const matchAll = (regExp, str) => {
    let matches2;
    const arr = [];
    while ((matches2 = regExp.exec(str)) !== null) {
      arr.push(matches2);
    }
    return arr;
  };
  const isHTMLForm = kindOfTest("HTMLFormElement");
  const toCamelCase = (str) => {
    return str.toLowerCase().replace(
      /[-_\s]([a-z\d])(\w*)/g,
      function replacer(m, p1, p2) {
        return p1.toUpperCase() + p2;
      }
    );
  };
  const hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
  const isRegExp = kindOfTest("RegExp");
  const reduceDescriptors = (obj, reducer) => {
    const descriptors2 = Object.getOwnPropertyDescriptors(obj);
    const reducedDescriptors = {};
    forEach(descriptors2, (descriptor, name) => {
      let ret;
      if ((ret = reducer(descriptor, name, obj)) !== false) {
        reducedDescriptors[name] = ret || descriptor;
      }
    });
    Object.defineProperties(obj, reducedDescriptors);
  };
  const freezeMethods = (obj) => {
    reduceDescriptors(obj, (descriptor, name) => {
      if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
        return false;
      }
      const value = obj[name];
      if (!isFunction(value))
        return;
      descriptor.enumerable = false;
      if ("writable" in descriptor) {
        descriptor.writable = false;
        return;
      }
      if (!descriptor.set) {
        descriptor.set = () => {
          throw Error("Can not rewrite read-only method '" + name + "'");
        };
      }
    });
  };
  const toObjectSet = (arrayOrString, delimiter) => {
    const obj = {};
    const define = (arr) => {
      arr.forEach((value) => {
        obj[value] = true;
      });
    };
    isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
    return obj;
  };
  const noop = () => {
  };
  const toFiniteNumber = (value, defaultValue) => {
    value = +value;
    return Number.isFinite(value) ? value : defaultValue;
  };
  const ALPHA = "abcdefghijklmnopqrstuvwxyz";
  const DIGIT = "0123456789";
  const ALPHABET = {
    DIGIT,
    ALPHA,
    ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
  };
  const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
    let str = "";
    const { length } = alphabet;
    while (size--) {
      str += alphabet[Math.random() * length | 0];
    }
    return str;
  };
  function isSpecCompliantForm(thing) {
    return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]);
  }
  const toJSONObject = (obj) => {
    const stack2 = new Array(10);
    const visit = (source, i) => {
      if (isObject(source)) {
        if (stack2.indexOf(source) >= 0) {
          return;
        }
        if (!("toJSON" in source)) {
          stack2[i] = source;
          const target = isArray(source) ? [] : {};
          forEach(source, (value, key2) => {
            const reducedValue = visit(value, i + 1);
            !isUndefined(reducedValue) && (target[key2] = reducedValue);
          });
          stack2[i] = void 0;
          return target;
        }
      }
      return source;
    };
    return visit(obj, 0);
  };
  const isAsyncFn = kindOfTest("AsyncFunction");
  const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
  const utils = {
    isArray,
    isArrayBuffer,
    isBuffer,
    isFormData,
    isArrayBufferView,
    isString,
    isNumber,
    isBoolean,
    isObject,
    isPlainObject,
    isUndefined,
    isDate,
    isFile,
    isBlob,
    isRegExp,
    isFunction,
    isStream,
    isURLSearchParams,
    isTypedArray,
    isFileList,
    forEach,
    merge,
    extend,
    trim: trim$1,
    stripBOM,
    inherits,
    toFlatObject,
    kindOf,
    kindOfTest,
    endsWith,
    toArray: toArray2,
    forEachEntry,
    matchAll,
    isHTMLForm,
    hasOwnProperty,
    hasOwnProp: hasOwnProperty,
    // an alias to avoid ESLint no-prototype-builtins detection
    reduceDescriptors,
    freezeMethods,
    toObjectSet,
    toCamelCase,
    noop,
    toFiniteNumber,
    findKey,
    global: _global,
    isContextDefined,
    ALPHABET,
    generateString,
    isSpecCompliantForm,
    toJSONObject,
    isAsyncFn,
    isThenable
  };
  function AxiosError(message, code, config, request, response) {
    Error.call(this);
    if (Error.captureStackTrace) {
      Error.captureStackTrace(this, this.constructor);
    } else {
      this.stack = new Error().stack;
    }
    this.message = message;
    this.name = "AxiosError";
    code && (this.code = code);
    config && (this.config = config);
    request && (this.request = request);
    response && (this.response = response);
  }
  utils.inherits(AxiosError, Error, {
    toJSON: function toJSON() {
      return {
        // Standard
        message: this.message,
        name: this.name,
        // Microsoft
        description: this.description,
        number: this.number,
        // Mozilla
        fileName: this.fileName,
        lineNumber: this.lineNumber,
        columnNumber: this.columnNumber,
        stack: this.stack,
        // Axios
        config: utils.toJSONObject(this.config),
        code: this.code,
        status: this.response && this.response.status ? this.response.status : null
      };
    }
  });
  const prototype$2 = AxiosError.prototype;
  const descriptors = {};
  [
    "ERR_BAD_OPTION_VALUE",
    "ERR_BAD_OPTION",
    "ECONNABORTED",
    "ETIMEDOUT",
    "ERR_NETWORK",
    "ERR_FR_TOO_MANY_REDIRECTS",
    "ERR_DEPRECATED",
    "ERR_BAD_RESPONSE",
    "ERR_BAD_REQUEST",
    "ERR_CANCELED",
    "ERR_NOT_SUPPORT",
    "ERR_INVALID_URL"
    // eslint-disable-next-line func-names
  ].forEach((code) => {
    descriptors[code] = { value: code };
  });
  Object.defineProperties(AxiosError, descriptors);
  Object.defineProperty(prototype$2, "isAxiosError", { value: true });
  AxiosError.from = (error4, code, config, request, response, customProps) => {
    const axiosError = Object.create(prototype$2);
    utils.toFlatObject(error4, axiosError, function filter3(obj) {
      return obj !== Error.prototype;
    }, (prop) => {
      return prop !== "isAxiosError";
    });
    AxiosError.call(axiosError, error4.message, code, config, request, response);
    axiosError.cause = error4;
    axiosError.name = error4.name;
    customProps && Object.assign(axiosError, customProps);
    return axiosError;
  };
  const httpAdapter = null;
  function isVisitable(thing) {
    return utils.isPlainObject(thing) || utils.isArray(thing);
  }
  function removeBrackets(key2) {
    return utils.endsWith(key2, "[]") ? key2.slice(0, -2) : key2;
  }
  function renderKey(path, key2, dots) {
    if (!path)
      return key2;
    return path.concat(key2).map(function each(token, i) {
      token = removeBrackets(token);
      return !dots && i ? "[" + token + "]" : token;
    }).join(dots ? "." : "");
  }
  function isFlatArray(arr) {
    return utils.isArray(arr) && !arr.some(isVisitable);
  }
  const predicates = utils.toFlatObject(utils, {}, null, function filter2(prop) {
    return /^is[A-Z]/.test(prop);
  });
  function toFormData(obj, formData, options) {
    if (!utils.isObject(obj)) {
      throw new TypeError("target must be an object");
    }
    formData = formData || new FormData();
    options = utils.toFlatObject(options, {
      metaTokens: true,
      dots: false,
      indexes: false
    }, false, function defined(option2, source) {
      return !utils.isUndefined(source[option2]);
    });
    const metaTokens = options.metaTokens;
    const visitor = options.visitor || defaultVisitor;
    const dots = options.dots;
    const indexes = options.indexes;
    const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
    const useBlob = _Blob && utils.isSpecCompliantForm(formData);
    if (!utils.isFunction(visitor)) {
      throw new TypeError("visitor must be a function");
    }
    function convertValue(value) {
      if (value === null)
        return "";
      if (utils.isDate(value)) {
        return value.toISOString();
      }
      if (!useBlob && utils.isBlob(value)) {
        throw new AxiosError("Blob is not supported. Use a Buffer instead.");
      }
      if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {
        return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
      }
      return value;
    }
    function defaultVisitor(value, key2, path) {
      let arr = value;
      if (value && !path && typeof value === "object") {
        if (utils.endsWith(key2, "{}")) {
          key2 = metaTokens ? key2 : key2.slice(0, -2);
          value = JSON.stringify(value);
        } else if (utils.isArray(value) && isFlatArray(value) || (utils.isFileList(value) || utils.endsWith(key2, "[]")) && (arr = utils.toArray(value))) {
          key2 = removeBrackets(key2);
          arr.forEach(function each(el, index2) {
            !(utils.isUndefined(el) || el === null) && formData.append(
              // eslint-disable-next-line no-nested-ternary
              indexes === true ? renderKey([key2], index2, dots) : indexes === null ? key2 : key2 + "[]",
              convertValue(el)
            );
          });
          return false;
        }
      }
      if (isVisitable(value)) {
        return true;
      }
      formData.append(renderKey(path, key2, dots), convertValue(value));
      return false;
    }
    const stack2 = [];
    const exposedHelpers = Object.assign(predicates, {
      defaultVisitor,
      convertValue,
      isVisitable
    });
    function build(value, path) {
      if (utils.isUndefined(value))
        return;
      if (stack2.indexOf(value) !== -1) {
        throw Error("Circular reference detected in " + path.join("."));
      }
      stack2.push(value);
      utils.forEach(value, function each(el, key2) {
        const result = !(utils.isUndefined(el) || el === null) && visitor.call(
          formData,
          el,
          utils.isString(key2) ? key2.trim() : key2,
          path,
          exposedHelpers
        );
        if (result === true) {
          build(el, path ? path.concat(key2) : [key2]);
        }
      });
      stack2.pop();
    }
    if (!utils.isObject(obj)) {
      throw new TypeError("data must be an object");
    }
    build(obj);
    return formData;
  }
  function encode$1(str) {
    const charMap = {
      "!": "%21",
      "'": "%27",
      "(": "%28",
      ")": "%29",
      "~": "%7E",
      "%20": "+",
      "%00": "\0"
    };
    return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
      return charMap[match];
    });
  }
  function AxiosURLSearchParams(params, options) {
    this._pairs = [];
    params && toFormData(params, this, options);
  }
  const prototype$1 = AxiosURLSearchParams.prototype;
  prototype$1.append = function append(name, value) {
    this._pairs.push([name, value]);
  };
  prototype$1.toString = function toString2(encoder) {
    const _encode = encoder ? function(value) {
      return encoder.call(this, value, encode$1);
    } : encode$1;
    return this._pairs.map(function each(pair) {
      return _encode(pair[0]) + "=" + _encode(pair[1]);
    }, "").join("&");
  };
  function encode(val) {
    return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
  }
  function buildURL(url, params, options) {
    if (!params) {
      return url;
    }
    const _encode = options && options.encode || encode;
    const serializeFn = options && options.serialize;
    let serializedParams;
    if (serializeFn) {
      serializedParams = serializeFn(params, options);
    } else {
      serializedParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);
    }
    if (serializedParams) {
      const hashmarkIndex = url.indexOf("#");
      if (hashmarkIndex !== -1) {
        url = url.slice(0, hashmarkIndex);
      }
      url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
    }
    return url;
  }
  class InterceptorManager {
    constructor() {
      this.handlers = [];
    }
    /**
     * Add a new interceptor to the stack
     *
     * @param {Function} fulfilled The function to handle `then` for a `Promise`
     * @param {Function} rejected The function to handle `reject` for a `Promise`
     *
     * @return {Number} An ID used to remove interceptor later
     */
    use(fulfilled, rejected, options) {
      this.handlers.push({
        fulfilled,
        rejected,
        synchronous: options ? options.synchronous : false,
        runWhen: options ? options.runWhen : null
      });
      return this.handlers.length - 1;
    }
    /**
     * Remove an interceptor from the stack
     *
     * @param {Number} id The ID that was returned by `use`
     *
     * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
     */
    eject(id) {
      if (this.handlers[id]) {
        this.handlers[id] = null;
      }
    }
    /**
     * Clear all interceptors from the stack
     *
     * @returns {void}
     */
    clear() {
      if (this.handlers) {
        this.handlers = [];
      }
    }
    /**
     * Iterate over all the registered interceptors
     *
     * This method is particularly useful for skipping over any
     * interceptors that may have become `null` calling `eject`.
     *
     * @param {Function} fn The function to call for each interceptor
     *
     * @returns {void}
     */
    forEach(fn2) {
      utils.forEach(this.handlers, function forEachHandler(h2) {
        if (h2 !== null) {
          fn2(h2);
        }
      });
    }
  }
  const InterceptorManager$1 = InterceptorManager;
  const transitionalDefaults = {
    silentJSONParsing: true,
    forcedJSONParsing: true,
    clarifyTimeoutError: false
  };
  const URLSearchParams$1 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams;
  const FormData$1 = typeof FormData !== "undefined" ? FormData : null;
  const Blob$1 = typeof Blob !== "undefined" ? Blob : null;
  const isStandardBrowserEnv = (() => {
    let product;
    if (typeof navigator !== "undefined" && ((product = navigator.product) === "ReactNative" || product === "NativeScript" || product === "NS")) {
      return false;
    }
    return typeof window !== "undefined" && typeof document !== "undefined";
  })();
  const isStandardBrowserWebWorkerEnv = (() => {
    return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
    self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
  })();
  const platform = {
    isBrowser: true,
    classes: {
      URLSearchParams: URLSearchParams$1,
      FormData: FormData$1,
      Blob: Blob$1
    },
    isStandardBrowserEnv,
    isStandardBrowserWebWorkerEnv,
    protocols: ["http", "https", "file", "blob", "url", "data"]
  };
  function toURLEncodedForm(data2, options) {
    return toFormData(data2, new platform.classes.URLSearchParams(), Object.assign({
      visitor: function(value, key2, path, helpers) {
        if (platform.isNode && utils.isBuffer(value)) {
          this.append(key2, value.toString("base64"));
          return false;
        }
        return helpers.defaultVisitor.apply(this, arguments);
      }
    }, options));
  }
  function parsePropPath(name) {
    return utils.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
      return match[0] === "[]" ? "" : match[1] || match[0];
    });
  }
  function arrayToObject(arr) {
    const obj = {};
    const keys2 = Object.keys(arr);
    let i;
    const len2 = keys2.length;
    let key2;
    for (i = 0; i < len2; i++) {
      key2 = keys2[i];
      obj[key2] = arr[key2];
    }
    return obj;
  }
  function formDataToJSON(formData) {
    function buildPath(path, value, target, index2) {
      let name = path[index2++];
      const isNumericKey = Number.isFinite(+name);
      const isLast = index2 >= path.length;
      name = !name && utils.isArray(target) ? target.length : name;
      if (isLast) {
        if (utils.hasOwnProp(target, name)) {
          target[name] = [target[name], value];
        } else {
          target[name] = value;
        }
        return !isNumericKey;
      }
      if (!target[name] || !utils.isObject(target[name])) {
        target[name] = [];
      }
      const result = buildPath(path, value, target[name], index2);
      if (result && utils.isArray(target[name])) {
        target[name] = arrayToObject(target[name]);
      }
      return !isNumericKey;
    }
    if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {
      const obj = {};
      utils.forEachEntry(formData, (name, value) => {
        buildPath(parsePropPath(name), value, obj, 0);
      });
      return obj;
    }
    return null;
  }
  function stringifySafely(rawValue, parser, encoder) {
    if (utils.isString(rawValue)) {
      try {
        (parser || JSON.parse)(rawValue);
        return utils.trim(rawValue);
      } catch (e) {
        if (e.name !== "SyntaxError") {
          throw e;
        }
      }
    }
    return (encoder || JSON.stringify)(rawValue);
  }
  const defaults = {
    transitional: transitionalDefaults,
    adapter: ["xhr", "http"],
    transformRequest: [function transformRequest(data2, headers) {
      const contentType = headers.getContentType() || "";
      const hasJSONContentType = contentType.indexOf("application/json") > -1;
      const isObjectPayload = utils.isObject(data2);
      if (isObjectPayload && utils.isHTMLForm(data2)) {
        data2 = new FormData(data2);
      }
      const isFormData2 = utils.isFormData(data2);
      if (isFormData2) {
        if (!hasJSONContentType) {
          return data2;
        }
        return hasJSONContentType ? JSON.stringify(formDataToJSON(data2)) : data2;
      }
      if (utils.isArrayBuffer(data2) || utils.isBuffer(data2) || utils.isStream(data2) || utils.isFile(data2) || utils.isBlob(data2)) {
        return data2;
      }
      if (utils.isArrayBufferView(data2)) {
        return data2.buffer;
      }
      if (utils.isURLSearchParams(data2)) {
        headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
        return data2.toString();
      }
      let isFileList2;
      if (isObjectPayload) {
        if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
          return toURLEncodedForm(data2, this.formSerializer).toString();
        }
        if ((isFileList2 = utils.isFileList(data2)) || contentType.indexOf("multipart/form-data") > -1) {
          const _FormData = this.env && this.env.FormData;
          return toFormData(
            isFileList2 ? { "files[]": data2 } : data2,
            _FormData && new _FormData(),
            this.formSerializer
          );
        }
      }
      if (isObjectPayload || hasJSONContentType) {
        headers.setContentType("application/json", false);
        return stringifySafely(data2);
      }
      return data2;
    }],
    transformResponse: [function transformResponse(data2) {
      const transitional2 = this.transitional || defaults.transitional;
      const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
      const JSONRequested = this.responseType === "json";
      if (data2 && utils.isString(data2) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
        const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
        const strictJSONParsing = !silentJSONParsing && JSONRequested;
        try {
          return JSON.parse(data2);
        } catch (e) {
          if (strictJSONParsing) {
            if (e.name === "SyntaxError") {
              throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
            }
            throw e;
          }
        }
      }
      return data2;
    }],
    /**
     * A timeout in milliseconds to abort a request. If set to 0 (default) a
     * timeout is not created.
     */
    timeout: 0,
    xsrfCookieName: "XSRF-TOKEN",
    xsrfHeaderName: "X-XSRF-TOKEN",
    maxContentLength: -1,
    maxBodyLength: -1,
    env: {
      FormData: platform.classes.FormData,
      Blob: platform.classes.Blob
    },
    validateStatus: function validateStatus(status) {
      return status >= 200 && status < 300;
    },
    headers: {
      common: {
        "Accept": "application/json, text/plain, */*",
        "Content-Type": void 0
      }
    }
  };
  utils.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
    defaults.headers[method] = {};
  });
  const defaults$1 = defaults;
  const ignoreDuplicateOf = utils.toObjectSet([
    "age",
    "authorization",
    "content-length",
    "content-type",
    "etag",
    "expires",
    "from",
    "host",
    "if-modified-since",
    "if-unmodified-since",
    "last-modified",
    "location",
    "max-forwards",
    "proxy-authorization",
    "referer",
    "retry-after",
    "user-agent"
  ]);
  const parseHeaders = (rawHeaders) => {
    const parsed = {};
    let key2;
    let val;
    let i;
    rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
      i = line.indexOf(":");
      key2 = line.substring(0, i).trim().toLowerCase();
      val = line.substring(i + 1).trim();
      if (!key2 || parsed[key2] && ignoreDuplicateOf[key2]) {
        return;
      }
      if (key2 === "set-cookie") {
        if (parsed[key2]) {
          parsed[key2].push(val);
        } else {
          parsed[key2] = [val];
        }
      } else {
        parsed[key2] = parsed[key2] ? parsed[key2] + ", " + val : val;
      }
    });
    return parsed;
  };
  const $internals = Symbol("internals");
  function normalizeHeader(header) {
    return header && String(header).trim().toLowerCase();
  }
  function normalizeValue(value) {
    if (value === false || value == null) {
      return value;
    }
    return utils.isArray(value) ? value.map(normalizeValue) : String(value);
  }
  function parseTokens(str) {
    const tokens = /* @__PURE__ */ Object.create(null);
    const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
    let match;
    while (match = tokensRE.exec(str)) {
      tokens[match[1]] = match[2];
    }
    return tokens;
  }
  const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
  function matchHeaderValue(context, value, header, filter3, isHeaderNameFilter) {
    if (utils.isFunction(filter3)) {
      return filter3.call(this, value, header);
    }
    if (isHeaderNameFilter) {
      value = header;
    }
    if (!utils.isString(value))
      return;
    if (utils.isString(filter3)) {
      return value.indexOf(filter3) !== -1;
    }
    if (utils.isRegExp(filter3)) {
      return filter3.test(value);
    }
  }
  function formatHeader(header) {
    return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
      return char.toUpperCase() + str;
    });
  }
  function buildAccessors(obj, header) {
    const accessorName = utils.toCamelCase(" " + header);
    ["get", "set", "has"].forEach((methodName) => {
      Object.defineProperty(obj, methodName + accessorName, {
        value: function(arg1, arg2, arg3) {
          return this[methodName].call(this, header, arg1, arg2, arg3);
        },
        configurable: true
      });
    });
  }
  class AxiosHeaders {
    constructor(headers) {
      headers && this.set(headers);
    }
    set(header, valueOrRewrite, rewrite) {
      const self2 = this;
      function setHeader(_value, _header, _rewrite) {
        const lHeader = normalizeHeader(_header);
        if (!lHeader) {
          throw new Error("header name must be a non-empty string");
        }
        const key2 = utils.findKey(self2, lHeader);
        if (!key2 || self2[key2] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key2] !== false) {
          self2[key2 || _header] = normalizeValue(_value);
        }
      }
      const setHeaders = (headers, _rewrite) => utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
      if (utils.isPlainObject(header) || header instanceof this.constructor) {
        setHeaders(header, valueOrRewrite);
      } else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
        setHeaders(parseHeaders(header), valueOrRewrite);
      } else {
        header != null && setHeader(valueOrRewrite, header, rewrite);
      }
      return this;
    }
    get(header, parser) {
      header = normalizeHeader(header);
      if (header) {
        const key2 = utils.findKey(this, header);
        if (key2) {
          const value = this[key2];
          if (!parser) {
            return value;
          }
          if (parser === true) {
            return parseTokens(value);
          }
          if (utils.isFunction(parser)) {
            return parser.call(this, value, key2);
          }
          if (utils.isRegExp(parser)) {
            return parser.exec(value);
          }
          throw new TypeError("parser must be boolean|regexp|function");
        }
      }
    }
    has(header, matcher) {
      header = normalizeHeader(header);
      if (header) {
        const key2 = utils.findKey(this, header);
        return !!(key2 && this[key2] !== void 0 && (!matcher || matchHeaderValue(this, this[key2], key2, matcher)));
      }
      return false;
    }
    delete(header, matcher) {
      const self2 = this;
      let deleted = false;
      function deleteHeader(_header) {
        _header = normalizeHeader(_header);
        if (_header) {
          const key2 = utils.findKey(self2, _header);
          if (key2 && (!matcher || matchHeaderValue(self2, self2[key2], key2, matcher))) {
            delete self2[key2];
            deleted = true;
          }
        }
      }
      if (utils.isArray(header)) {
        header.forEach(deleteHeader);
      } else {
        deleteHeader(header);
      }
      return deleted;
    }
    clear(matcher) {
      const keys2 = Object.keys(this);
      let i = keys2.length;
      let deleted = false;
      while (i--) {
        const key2 = keys2[i];
        if (!matcher || matchHeaderValue(this, this[key2], key2, matcher, true)) {
          delete this[key2];
          deleted = true;
        }
      }
      return deleted;
    }
    normalize(format) {
      const self2 = this;
      const headers = {};
      utils.forEach(this, (value, header) => {
        const key2 = utils.findKey(headers, header);
        if (key2) {
          self2[key2] = normalizeValue(value);
          delete self2[header];
          return;
        }
        const normalized = format ? formatHeader(header) : String(header).trim();
        if (normalized !== header) {
          delete self2[header];
        }
        self2[normalized] = normalizeValue(value);
        headers[normalized] = true;
      });
      return this;
    }
    concat(...targets) {
      return this.constructor.concat(this, ...targets);
    }
    toJSON(asStrings) {
      const obj = /* @__PURE__ */ Object.create(null);
      utils.forEach(this, (value, header) => {
        value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(", ") : value);
      });
      return obj;
    }
    [Symbol.iterator]() {
      return Object.entries(this.toJSON())[Symbol.iterator]();
    }
    toString() {
      return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
    }
    get [Symbol.toStringTag]() {
      return "AxiosHeaders";
    }
    static from(thing) {
      return thing instanceof this ? thing : new this(thing);
    }
    static concat(first, ...targets) {
      const computed2 = new this(first);
      targets.forEach((target) => computed2.set(target));
      return computed2;
    }
    static accessor(header) {
      const internals = this[$internals] = this[$internals] = {
        accessors: {}
      };
      const accessors = internals.accessors;
      const prototype2 = this.prototype;
      function defineAccessor(_header) {
        const lHeader = normalizeHeader(_header);
        if (!accessors[lHeader]) {
          buildAccessors(prototype2, _header);
          accessors[lHeader] = true;
        }
      }
      utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
      return this;
    }
  }
  AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
  utils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key2) => {
    let mapped = key2[0].toUpperCase() + key2.slice(1);
    return {
      get: () => value,
      set(headerValue) {
        this[mapped] = headerValue;
      }
    };
  });
  utils.freezeMethods(AxiosHeaders);
  const AxiosHeaders$1 = AxiosHeaders;
  function transformData(fns, response) {
    const config = this || defaults$1;
    const context = response || config;
    const headers = AxiosHeaders$1.from(context.headers);
    let data2 = context.data;
    utils.forEach(fns, function transform(fn2) {
      data2 = fn2.call(config, data2, headers.normalize(), response ? response.status : void 0);
    });
    headers.normalize();
    return data2;
  }
  function isCancel(value) {
    return !!(value && value.__CANCEL__);
  }
  function CanceledError(message, config, request) {
    AxiosError.call(this, message == null ? "canceled" : message, AxiosError.ERR_CANCELED, config, request);
    this.name = "CanceledError";
  }
  utils.inherits(CanceledError, AxiosError, {
    __CANCEL__: true
  });
  function settle(resolve2, reject2, response) {
    const validateStatus2 = response.config.validateStatus;
    if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
      resolve2(response);
    } else {
      reject2(new AxiosError(
        "Request failed with status code " + response.status,
        [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
        response.config,
        response.request,
        response
      ));
    }
  }
  const cookies = platform.isStandardBrowserEnv ? (
    // Standard browser envs support document.cookie
    function standardBrowserEnv() {
      return {
        write: function write2(name, value, expires, path, domain, secure) {
          const cookie = [];
          cookie.push(name + "=" + encodeURIComponent(value));
          if (utils.isNumber(expires)) {
            cookie.push("expires=" + new Date(expires).toGMTString());
          }
          if (utils.isString(path)) {
            cookie.push("path=" + path);
          }
          if (utils.isString(domain)) {
            cookie.push("domain=" + domain);
          }
          if (secure === true) {
            cookie.push("secure");
          }
          document.cookie = cookie.join("; ");
        },
        read: function read2(name) {
          const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
          return match ? decodeURIComponent(match[3]) : null;
        },
        remove: function remove2(name) {
          this.write(name, "", Date.now() - 864e5);
        }
      };
    }()
  ) : (
    // Non standard browser env (web workers, react-native) lack needed support.
    function nonStandardBrowserEnv() {
      return {
        write: function write2() {
        },
        read: function read2() {
          return null;
        },
        remove: function remove2() {
        }
      };
    }()
  );
  function isAbsoluteURL(url) {
    return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
  }
  function combineURLs(baseURL, relativeURL) {
    return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
  }
  function buildFullPath(baseURL, requestedURL) {
    if (baseURL && !isAbsoluteURL(requestedURL)) {
      return combineURLs(baseURL, requestedURL);
    }
    return requestedURL;
  }
  const isURLSameOrigin = platform.isStandardBrowserEnv ? (
    // Standard browser envs have full support of the APIs needed to test
    // whether the request URL is of the same origin as current location.
    function standardBrowserEnv2() {
      const msie = /(msie|trident)/i.test(navigator.userAgent);
      const urlParsingNode = document.createElement("a");
      let originURL;
      function resolveURL(url) {
        let href = url;
        if (msie) {
          urlParsingNode.setAttribute("href", href);
          href = urlParsingNode.href;
        }
        urlParsingNode.setAttribute("href", href);
        return {
          href: urlParsingNode.href,
          protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
          host: urlParsingNode.host,
          search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
          hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
          hostname: urlParsingNode.hostname,
          port: urlParsingNode.port,
          pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
        };
      }
      originURL = resolveURL(window.location.href);
      return function isURLSameOrigin2(requestURL) {
        const parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;
        return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
      };
    }()
  ) : (
    // Non standard browser envs (web workers, react-native) lack needed support.
    function nonStandardBrowserEnv2() {
      return function isURLSameOrigin2() {
        return true;
      };
    }()
  );
  function parseProtocol(url) {
    const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
    return match && match[1] || "";
  }
  function speedometer(samplesCount, min3) {
    samplesCount = samplesCount || 10;
    const bytes = new Array(samplesCount);
    const timestamps = new Array(samplesCount);
    let head = 0;
    let tail = 0;
    let firstSampleTS;
    min3 = min3 !== void 0 ? min3 : 1e3;
    return function push3(chunkLength) {
      const now3 = Date.now();
      const startedAt = timestamps[tail];
      if (!firstSampleTS) {
        firstSampleTS = now3;
      }
      bytes[head] = chunkLength;
      timestamps[head] = now3;
      let i = tail;
      let bytesCount = 0;
      while (i !== head) {
        bytesCount += bytes[i++];
        i = i % samplesCount;
      }
      head = (head + 1) % samplesCount;
      if (head === tail) {
        tail = (tail + 1) % samplesCount;
      }
      if (now3 - firstSampleTS < min3) {
        return;
      }
      const passed = startedAt && now3 - startedAt;
      return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
    };
  }
  function progressEventReducer(listener, isDownloadStream) {
    let bytesNotified = 0;
    const _speedometer = speedometer(50, 250);
    return (e) => {
      const loaded = e.loaded;
      const total = e.lengthComputable ? e.total : void 0;
      const progressBytes = loaded - bytesNotified;
      const rate = _speedometer(progressBytes);
      const inRange = loaded <= total;
      bytesNotified = loaded;
      const data2 = {
        loaded,
        total,
        progress: total ? loaded / total : void 0,
        bytes: progressBytes,
        rate: rate ? rate : void 0,
        estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
        event: e
      };
      data2[isDownloadStream ? "download" : "upload"] = true;
      listener(data2);
    };
  }
  const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
  const xhrAdapter = isXHRAdapterSupported && function(config) {
    return new Promise(function dispatchXhrRequest(resolve2, reject2) {
      let requestData = config.data;
      const requestHeaders = AxiosHeaders$1.from(config.headers).normalize();
      const responseType = config.responseType;
      let onCanceled;
      function done() {
        if (config.cancelToken) {
          config.cancelToken.unsubscribe(onCanceled);
        }
        if (config.signal) {
          config.signal.removeEventListener("abort", onCanceled);
        }
      }
      let contentType;
      if (utils.isFormData(requestData)) {
        if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {
          requestHeaders.setContentType(false);
        } else if (!requestHeaders.getContentType(/^\s*multipart\/form-data/)) {
          requestHeaders.setContentType("multipart/form-data");
        } else if (utils.isString(contentType = requestHeaders.getContentType())) {
          requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, "$1"));
        }
      }
      let request = new XMLHttpRequest();
      if (config.auth) {
        const username = config.auth.username || "";
        const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
        requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password));
      }
      const fullPath = buildFullPath(config.baseURL, config.url);
      request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
      request.timeout = config.timeout;
      function onloadend() {
        if (!request) {
          return;
        }
        const responseHeaders = AxiosHeaders$1.from(
          "getAllResponseHeaders" in request && request.getAllResponseHeaders()
        );
        const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
        const response = {
          data: responseData,
          status: request.status,
          statusText: request.statusText,
          headers: responseHeaders,
          config,
          request
        };
        settle(function _resolve(value) {
          resolve2(value);
          done();
        }, function _reject(err) {
          reject2(err);
          done();
        }, response);
        request = null;
      }
      if ("onloadend" in request) {
        request.onloadend = onloadend;
      } else {
        request.onreadystatechange = function handleLoad() {
          if (!request || request.readyState !== 4) {
            return;
          }
          if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
            return;
          }
          setTimeout(onloadend);
        };
      }
      request.onabort = function handleAbort() {
        if (!request) {
          return;
        }
        reject2(new AxiosError("Request aborted", AxiosError.ECONNABORTED, config, request));
        request = null;
      };
      request.onerror = function handleError() {
        reject2(new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request));
        request = null;
      };
      request.ontimeout = function handleTimeout() {
        let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded";
        const transitional2 = config.transitional || transitionalDefaults;
        if (config.timeoutErrorMessage) {
          timeoutErrorMessage = config.timeoutErrorMessage;
        }
        reject2(new AxiosError(
          timeoutErrorMessage,
          transitional2.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
          config,
          request
        ));
        request = null;
      };
      if (platform.isStandardBrowserEnv) {
        const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);
        if (xsrfValue) {
          requestHeaders.set(config.xsrfHeaderName, xsrfValue);
        }
      }
      requestData === void 0 && requestHeaders.setContentType(null);
      if ("setRequestHeader" in request) {
        utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key2) {
          request.setRequestHeader(key2, val);
        });
      }
      if (!utils.isUndefined(config.withCredentials)) {
        request.withCredentials = !!config.withCredentials;
      }
      if (responseType && responseType !== "json") {
        request.responseType = config.responseType;
      }
      if (typeof config.onDownloadProgress === "function") {
        request.addEventListener("progress", progressEventReducer(config.onDownloadProgress, true));
      }
      if (typeof config.onUploadProgress === "function" && request.upload) {
        request.upload.addEventListener("progress", progressEventReducer(config.onUploadProgress));
      }
      if (config.cancelToken || config.signal) {
        onCanceled = (cancel) => {
          if (!request) {
            return;
          }
          reject2(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);
          request.abort();
          request = null;
        };
        config.cancelToken && config.cancelToken.subscribe(onCanceled);
        if (config.signal) {
          config.signal.aborted ? onCanceled() : config.signal.addEventListener("abort", onCanceled);
        }
      }
      const protocol = parseProtocol(fullPath);
      if (protocol && platform.protocols.indexOf(protocol) === -1) {
        reject2(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config));
        return;
      }
      request.send(requestData || null);
    });
  };
  const knownAdapters = {
    http: httpAdapter,
    xhr: xhrAdapter
  };
  utils.forEach(knownAdapters, (fn2, value) => {
    if (fn2) {
      try {
        Object.defineProperty(fn2, "name", { value });
      } catch (e) {
      }
      Object.defineProperty(fn2, "adapterName", { value });
    }
  });
  const renderReason = (reason) => `- ${reason}`;
  const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;
  const adapters = {
    getAdapter: (adapters2) => {
      adapters2 = utils.isArray(adapters2) ? adapters2 : [adapters2];
      const { length } = adapters2;
      let nameOrAdapter;
      let adapter;
      const rejectedReasons = {};
      for (let i = 0; i < length; i++) {
        nameOrAdapter = adapters2[i];
        let id;
        adapter = nameOrAdapter;
        if (!isResolvedHandle(nameOrAdapter)) {
          adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
          if (adapter === void 0) {
            throw new AxiosError(`Unknown adapter '${id}'`);
          }
        }
        if (adapter) {
          break;
        }
        rejectedReasons[id || "#" + i] = adapter;
      }
      if (!adapter) {
        const reasons = Object.entries(rejectedReasons).map(
          ([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
        );
        let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
        throw new AxiosError(
          `There is no suitable adapter to dispatch the request ` + s,
          "ERR_NOT_SUPPORT"
        );
      }
      return adapter;
    },
    adapters: knownAdapters
  };
  function throwIfCancellationRequested(config) {
    if (config.cancelToken) {
      config.cancelToken.throwIfRequested();
    }
    if (config.signal && config.signal.aborted) {
      throw new CanceledError(null, config);
    }
  }
  function dispatchRequest(config) {
    throwIfCancellationRequested(config);
    config.headers = AxiosHeaders$1.from(config.headers);
    config.data = transformData.call(
      config,
      config.transformRequest
    );
    if (["post", "put", "patch"].indexOf(config.method) !== -1) {
      config.headers.setContentType("application/x-www-form-urlencoded", false);
    }
    const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter);
    return adapter(config).then(function onAdapterResolution(response) {
      throwIfCancellationRequested(config);
      response.data = transformData.call(
        config,
        config.transformResponse,
        response
      );
      response.headers = AxiosHeaders$1.from(response.headers);
      return response;
    }, function onAdapterRejection(reason) {
      if (!isCancel(reason)) {
        throwIfCancellationRequested(config);
        if (reason && reason.response) {
          reason.response.data = transformData.call(
            config,
            config.transformResponse,
            reason.response
          );
          reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
        }
      }
      return Promise.reject(reason);
    });
  }
  const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? thing.toJSON() : thing;
  function mergeConfig(config1, config2) {
    config2 = config2 || {};
    const config = {};
    function getMergedValue(target, source, caseless) {
      if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
        return utils.merge.call({ caseless }, target, source);
      } else if (utils.isPlainObject(source)) {
        return utils.merge({}, source);
      } else if (utils.isArray(source)) {
        return source.slice();
      }
      return source;
    }
    function mergeDeepProperties(a, b, caseless) {
      if (!utils.isUndefined(b)) {
        return getMergedValue(a, b, caseless);
      } else if (!utils.isUndefined(a)) {
        return getMergedValue(void 0, a, caseless);
      }
    }
    function valueFromConfig2(a, b) {
      if (!utils.isUndefined(b)) {
        return getMergedValue(void 0, b);
      }
    }
    function defaultToConfig2(a, b) {
      if (!utils.isUndefined(b)) {
        return getMergedValue(void 0, b);
      } else if (!utils.isUndefined(a)) {
        return getMergedValue(void 0, a);
      }
    }
    function mergeDirectKeys(a, b, prop) {
      if (prop in config2) {
        return getMergedValue(a, b);
      } else if (prop in config1) {
        return getMergedValue(void 0, a);
      }
    }
    const mergeMap = {
      url: valueFromConfig2,
      method: valueFromConfig2,
      data: valueFromConfig2,
      baseURL: defaultToConfig2,
      transformRequest: defaultToConfig2,
      transformResponse: defaultToConfig2,
      paramsSerializer: defaultToConfig2,
      timeout: defaultToConfig2,
      timeoutMessage: defaultToConfig2,
      withCredentials: defaultToConfig2,
      adapter: defaultToConfig2,
      responseType: defaultToConfig2,
      xsrfCookieName: defaultToConfig2,
      xsrfHeaderName: defaultToConfig2,
      onUploadProgress: defaultToConfig2,
      onDownloadProgress: defaultToConfig2,
      decompress: defaultToConfig2,
      maxContentLength: defaultToConfig2,
      maxBodyLength: defaultToConfig2,
      beforeRedirect: defaultToConfig2,
      transport: defaultToConfig2,
      httpAgent: defaultToConfig2,
      httpsAgent: defaultToConfig2,
      cancelToken: defaultToConfig2,
      socketPath: defaultToConfig2,
      responseEncoding: defaultToConfig2,
      validateStatus: mergeDirectKeys,
      headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)
    };
    utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
      const merge2 = mergeMap[prop] || mergeDeepProperties;
      const configValue = merge2(config1[prop], config2[prop], prop);
      utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);
    });
    return config;
  }
  const VERSION = "1.5.1";
  const validators$1 = {};
  ["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
    validators$1[type] = function validator55(thing) {
      return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
    };
  });
  const deprecatedWarnings = {};
  validators$1.transitional = function transitional(validator55, version2, message) {
    function formatMessage(opt, desc) {
      return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
    }
    return (value, opt, opts) => {
      if (validator55 === false) {
        throw new AxiosError(
          formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")),
          AxiosError.ERR_DEPRECATED
        );
      }
      if (version2 && !deprecatedWarnings[opt]) {
        deprecatedWarnings[opt] = true;
        console.warn(
          formatMessage(
            opt,
            " has been deprecated since v" + version2 + " and will be removed in the near future"
          )
        );
      }
      return validator55 ? validator55(value, opt, opts) : true;
    };
  };
  function assertOptions(options, schema, allowUnknown) {
    if (typeof options !== "object") {
      throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
    }
    const keys2 = Object.keys(options);
    let i = keys2.length;
    while (i-- > 0) {
      const opt = keys2[i];
      const validator55 = schema[opt];
      if (validator55) {
        const value = options[opt];
        const result = value === void 0 || validator55(value, opt, options);
        if (result !== true) {
          throw new AxiosError("option " + opt + " must be " + result, AxiosError.ERR_BAD_OPTION_VALUE);
        }
        continue;
      }
      if (allowUnknown !== true) {
        throw new AxiosError("Unknown option " + opt, AxiosError.ERR_BAD_OPTION);
      }
    }
  }
  const validator54 = {
    assertOptions,
    validators: validators$1
  };
  const validators = validator54.validators;
  class Axios {
    constructor(instanceConfig) {
      this.defaults = instanceConfig;
      this.interceptors = {
        request: new InterceptorManager$1(),
        response: new InterceptorManager$1()
      };
    }
    /**
     * Dispatch a request
     *
     * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
     * @param {?Object} config
     *
     * @returns {Promise} The Promise to be fulfilled
     */
    request(configOrUrl, config) {
      if (typeof configOrUrl === "string") {
        config = config || {};
        config.url = configOrUrl;
      } else {
        config = configOrUrl || {};
      }
      config = mergeConfig(this.defaults, config);
      const { transitional: transitional2, paramsSerializer, headers } = config;
      if (transitional2 !== void 0) {
        validator54.assertOptions(transitional2, {
          silentJSONParsing: validators.transitional(validators.boolean),
          forcedJSONParsing: validators.transitional(validators.boolean),
          clarifyTimeoutError: validators.transitional(validators.boolean)
        }, false);
      }
      if (paramsSerializer != null) {
        if (utils.isFunction(paramsSerializer)) {
          config.paramsSerializer = {
            serialize: paramsSerializer
          };
        } else {
          validator54.assertOptions(paramsSerializer, {
            encode: validators.function,
            serialize: validators.function
          }, true);
        }
      }
      config.method = (config.method || this.defaults.method || "get").toLowerCase();
      let contextHeaders = headers && utils.merge(
        headers.common,
        headers[config.method]
      );
      headers && utils.forEach(
        ["delete", "get", "head", "post", "put", "patch", "common"],
        (method) => {
          delete headers[method];
        }
      );
      config.headers = AxiosHeaders$1.concat(contextHeaders, headers);
      const requestInterceptorChain = [];
      let synchronousRequestInterceptors = true;
      this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
        if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
          return;
        }
        synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
        requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
      });
      const responseInterceptorChain = [];
      this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
        responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
      });
      let promise;
      let i = 0;
      let len2;
      if (!synchronousRequestInterceptors) {
        const chain = [dispatchRequest.bind(this), void 0];
        chain.unshift.apply(chain, requestInterceptorChain);
        chain.push.apply(chain, responseInterceptorChain);
        len2 = chain.length;
        promise = Promise.resolve(config);
        while (i < len2) {
          promise = promise.then(chain[i++], chain[i++]);
        }
        return promise;
      }
      len2 = requestInterceptorChain.length;
      let newConfig = config;
      i = 0;
      while (i < len2) {
        const onFulfilled = requestInterceptorChain[i++];
        const onRejected = requestInterceptorChain[i++];
        try {
          newConfig = onFulfilled(newConfig);
        } catch (error4) {
          onRejected.call(this, error4);
          break;
        }
      }
      try {
        promise = dispatchRequest.call(this, newConfig);
      } catch (error4) {
        return Promise.reject(error4);
      }
      i = 0;
      len2 = responseInterceptorChain.length;
      while (i < len2) {
        promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
      }
      return promise;
    }
    getUri(config) {
      config = mergeConfig(this.defaults, config);
      const fullPath = buildFullPath(config.baseURL, config.url);
      return buildURL(fullPath, config.params, config.paramsSerializer);
    }
  }
  utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
    Axios.prototype[method] = function(url, config) {
      return this.request(mergeConfig(config || {}, {
        method,
        url,
        data: (config || {}).data
      }));
    };
  });
  utils.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
    function generateHTTPMethod(isForm) {
      return function httpMethod(url, data2, config) {
        return this.request(mergeConfig(config || {}, {
          method,
          headers: isForm ? {
            "Content-Type": "multipart/form-data"
          } : {},
          url,
          data: data2
        }));
      };
    }
    Axios.prototype[method] = generateHTTPMethod();
    Axios.prototype[method + "Form"] = generateHTTPMethod(true);
  });
  const Axios$1 = Axios;
  class CancelToken {
    constructor(executor) {
      if (typeof executor !== "function") {
        throw new TypeError("executor must be a function.");
      }
      let resolvePromise;
      this.promise = new Promise(function promiseExecutor(resolve2) {
        resolvePromise = resolve2;
      });
      const token = this;
      this.promise.then((cancel) => {
        if (!token._listeners)
          return;
        let i = token._listeners.length;
        while (i-- > 0) {
          token._listeners[i](cancel);
        }
        token._listeners = null;
      });
      this.promise.then = (onfulfilled) => {
        let _resolve;
        const promise = new Promise((resolve2) => {
          token.subscribe(resolve2);
          _resolve = resolve2;
        }).then(onfulfilled);
        promise.cancel = function reject2() {
          token.unsubscribe(_resolve);
        };
        return promise;
      };
      executor(function cancel(message, config, request) {
        if (token.reason) {
          return;
        }
        token.reason = new CanceledError(message, config, request);
        resolvePromise(token.reason);
      });
    }
    /**
     * Throws a `CanceledError` if cancellation has been requested.
     */
    throwIfRequested() {
      if (this.reason) {
        throw this.reason;
      }
    }
    /**
     * Subscribe to the cancel signal
     */
    subscribe(listener) {
      if (this.reason) {
        listener(this.reason);
        return;
      }
      if (this._listeners) {
        this._listeners.push(listener);
      } else {
        this._listeners = [listener];
      }
    }
    /**
     * Unsubscribe from the cancel signal
     */
    unsubscribe(listener) {
      if (!this._listeners) {
        return;
      }
      const index2 = this._listeners.indexOf(listener);
      if (index2 !== -1) {
        this._listeners.splice(index2, 1);
      }
    }
    /**
     * Returns an object that contains a new `CancelToken` and a function that, when called,
     * cancels the `CancelToken`.
     */
    static source() {
      let cancel;
      const token = new CancelToken(function executor(c) {
        cancel = c;
      });
      return {
        token,
        cancel
      };
    }
  }
  const CancelToken$1 = CancelToken;
  function spread(callback) {
    return function wrap(arr) {
      return callback.apply(null, arr);
    };
  }
  function isAxiosError(payload) {
    return utils.isObject(payload) && payload.isAxiosError === true;
  }
  const HttpStatusCode = {
    Continue: 100,
    SwitchingProtocols: 101,
    Processing: 102,
    EarlyHints: 103,
    Ok: 200,
    Created: 201,
    Accepted: 202,
    NonAuthoritativeInformation: 203,
    NoContent: 204,
    ResetContent: 205,
    PartialContent: 206,
    MultiStatus: 207,
    AlreadyReported: 208,
    ImUsed: 226,
    MultipleChoices: 300,
    MovedPermanently: 301,
    Found: 302,
    SeeOther: 303,
    NotModified: 304,
    UseProxy: 305,
    Unused: 306,
    TemporaryRedirect: 307,
    PermanentRedirect: 308,
    BadRequest: 400,
    Unauthorized: 401,
    PaymentRequired: 402,
    Forbidden: 403,
    NotFound: 404,
    MethodNotAllowed: 405,
    NotAcceptable: 406,
    ProxyAuthenticationRequired: 407,
    RequestTimeout: 408,
    Conflict: 409,
    Gone: 410,
    LengthRequired: 411,
    PreconditionFailed: 412,
    PayloadTooLarge: 413,
    UriTooLong: 414,
    UnsupportedMediaType: 415,
    RangeNotSatisfiable: 416,
    ExpectationFailed: 417,
    ImATeapot: 418,
    MisdirectedRequest: 421,
    UnprocessableEntity: 422,
    Locked: 423,
    FailedDependency: 424,
    TooEarly: 425,
    UpgradeRequired: 426,
    PreconditionRequired: 428,
    TooManyRequests: 429,
    RequestHeaderFieldsTooLarge: 431,
    UnavailableForLegalReasons: 451,
    InternalServerError: 500,
    NotImplemented: 501,
    BadGateway: 502,
    ServiceUnavailable: 503,
    GatewayTimeout: 504,
    HttpVersionNotSupported: 505,
    VariantAlsoNegotiates: 506,
    InsufficientStorage: 507,
    LoopDetected: 508,
    NotExtended: 510,
    NetworkAuthenticationRequired: 511
  };
  Object.entries(HttpStatusCode).forEach(([key2, value]) => {
    HttpStatusCode[value] = key2;
  });
  const HttpStatusCode$1 = HttpStatusCode;
  function createInstance2(defaultConfig2) {
    const context = new Axios$1(defaultConfig2);
    const instance = bind(Axios$1.prototype.request, context);
    utils.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
    utils.extend(instance, context, null, { allOwnKeys: true });
    instance.create = function create(instanceConfig) {
      return createInstance2(mergeConfig(defaultConfig2, instanceConfig));
    };
    return instance;
  }
  const axios = createInstance2(defaults$1);
  axios.Axios = Axios$1;
  axios.CanceledError = CanceledError;
  axios.CancelToken = CancelToken$1;
  axios.isCancel = isCancel;
  axios.VERSION = VERSION;
  axios.toFormData = toFormData;
  axios.AxiosError = AxiosError;
  axios.Cancel = axios.CanceledError;
  axios.all = function all(promises) {
    return Promise.all(promises);
  };
  axios.spread = spread;
  axios.isAxiosError = isAxiosError;
  axios.mergeConfig = mergeConfig;
  axios.AxiosHeaders = AxiosHeaders$1;
  axios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);
  axios.getAdapter = adapters.getAdapter;
  axios.HttpStatusCode = HttpStatusCode$1;
  axios.default = axios;
  const axios$1 = axios;
  const useTianyiCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 500,
      expireTime: ExpireTimeEnum$7.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false
    });
    const handleTransformFormat = (info3) => {
      let time = "";
      switch (info3.expireTime) {
        case ExpireTimeEnum$7.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$7.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$7.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.accessCode} 分享有效时间: ${time}`;
    };
    const handleTransformShareParams = (params) => {
      return {
        noCache: Math.random(),
        fileId: params.id,
        expireTime: params.expireTime,
        shareType: "3"
        //固定值
      };
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const selectDOM = document.querySelectorAll((_a = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _a.select);
      if (!selectDOM.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      userOptions.value.selectFileInfoList = [];
      for (let dom of selectDOM) {
        userOptions.value.selectFileInfoList.push({
          id: dom.getAttribute((_c = (_b = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) ?? "",
          fileName: ((_e = dom.querySelector((_d = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _d.fileNameSelect)) == null ? void 0 : _e.textContent) ?? "(!!$$未知名称!!$$)",
          expireTime: userOptions.value.expireTime
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { data: { shareLinkList } } = await axios$1({
          method: "get",
          url: window.location.origin + "/api/open/share/createShareLink.action",
          params: handleTransformShareParams(fileInfo),
          headers: {
            "accept": "application/json;charset=UTF-8"
          }
        }).catch(() => ({ data: { shareLinkList: [] } }));
        let tempData = {
          ...shareLinkList[0],
          ...fileInfo
        };
        userOptions.value.shareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleTransformShareParams,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$8 = (n) => (vue.pushScopeId("data-v-7196713c"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$9 = { class: "tianyiCloud" };
  const _hoisted_2$8 = { class: "tianyiCloud_option" };
  const _hoisted_3$8 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_4$8 = { class: "tianyiCloud_option_time" };
  const _hoisted_5$8 = { class: "tianyiCloud_operation" };
  const _hoisted_6$8 = { class: "tianyiCloud_progress" };
  const _hoisted_7$8 = { class: "tianyiCloud_result" };
  const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = useTianyiCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
          vue.createElementVNode("div", _hoisted_2$8, [
            _hoisted_3$8,
            vue.createVNode(_component_t_radio_group, {
              modelValue: vue.unref(userOptions).expireTime,
              "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
            }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_radio_button, {
                  value: vue.unref(ExpireTimeEnum$7).oneDay
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("1天")
                  ]),
                  _: 1
                }, 8, ["value"]),
                vue.createVNode(_component_t_radio_button, {
                  value: vue.unref(ExpireTimeEnum$7).sevenDay
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("7天")
                  ]),
                  _: 1
                }, 8, ["value"]),
                vue.createVNode(_component_t_radio_button, {
                  value: vue.unref(ExpireTimeEnum$7).forever
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("永久")
                  ]),
                  _: 1
                }, 8, ["value"])
              ]),
              _: 1
            }, 8, ["modelValue"]),
            vue.createElementVNode("div", _hoisted_4$8, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode("延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_5$8, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_6$8, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_7$8, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const _export_sfc = (sfc, props2) => {
    const target = sfc.__vccOpts || sfc;
    for (const [key2, val] of props2) {
      target[key2] = val;
    }
    return target;
  };
  const cloudTianyi = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-7196713c"]]);
  var ExpireTimeEnum$6 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 30] = "thirtyDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 0] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$6 || {});
  var HasPwdEnum = /* @__PURE__ */ ((HasPwdEnum2) => {
    HasPwdEnum2[HasPwdEnum2["random"] = 0] = "random";
    HasPwdEnum2[HasPwdEnum2["self"] = 1] = "self";
    return HasPwdEnum2;
  })(HasPwdEnum || {});
  var _GM_xmlhttpRequest = /* @__PURE__ */ (() => typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : void 0)();
  var _unsafeWindow = /* @__PURE__ */ (() => typeof unsafeWindow != "undefined" ? unsafeWindow : void 0)();
  const useBaiduCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 300,
      expireTime: ExpireTimeEnum$6.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false,
      pwdType: HasPwdEnum.random,
      pwd: ""
    });
    const handleTransformFormat = (info3) => {
      let time = "";
      switch (info3.expireTime) {
        case ExpireTimeEnum$6.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$6.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$6.thirtyDay:
          time = "30天";
          break;
        case ExpireTimeEnum$6.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info3.fileName} 分享链接:${info3.link} 提取码:${info3.pwd} 分享有效时间: ${time}`;
    };
    const handleBatchOperation = async () => {
      var _a;
      const selectDOM = document.querySelector("tbody").__vue__.$store.state.detail.view.fileMeta;
      if (!selectDOM.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      if (userOptions.value.pwdType === HasPwdEnum.self && !userOptions.value.pwd) {
        return MessagePlugin.warning("选择自定义提取码,请设置提取码!");
      }
      userOptions.value.isSharing = true;
      userOptions.value.selectFileInfoList = [];
      for (let item of selectDOM) {
        userOptions.value.selectFileInfoList.push({
          id: item.fs_id,
          //存储文件id
          fileName: item.formatName,
          //文件名称
          pwd: userOptions.value.pwdType === HasPwdEnum.random ? generateRandomString(4) : userOptions.value.pwd,
          expireTime: userOptions.value.expireTime
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { locals } = _unsafeWindow ?? {};
        const { data: data2 } = await axios$1({
          method: "post",
          url: window.location.origin + "/share/set",
          params: {
            channel: "channel",
            clienttype: "0",
            bdstoken: (_a = locals == null ? void 0 : locals.userInfo) == null ? void 0 : _a.bdstoken,
            app_id: "250528",
            //未知-好像是定值
            web: 1
            //'dp-logid':'96456600647322280113',//未知
          },
          data: {
            period: fileInfo.expireTime,
            pwd: fileInfo.pwd,
            "eflag_disable": true,
            //不知道是什么参数,好像是分享类型eflag_disable: "personal" === e.shareType
            channel_list: [],
            //未知
            schannel: 4,
            //未知-貌似是一个定制
            fid_list: `[${fileInfo.id}]`
            //文件id
          },
          headers: {
            "accept": "application/json;charset=UTF-8",
            "Content-Type": " application/x-www-form-urlencoded"
          }
        }).catch(() => ({}));
        let tempData = {
          ...data2,
          ...fileInfo
        };
        userOptions.value.shareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$7 = (n) => (vue.pushScopeId("data-v-09a4b72c"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$8 = { class: "baiduCloud" };
  const _hoisted_2$7 = { class: "baiduCloud_option" };
  const _hoisted_3$7 = { class: "baiduCloud_option_item" };
  const _hoisted_4$7 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_5$7 = { class: "baiduCloud_option_item" };
  const _hoisted_6$7 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", null, "提取码:", -1));
  const _hoisted_7$7 = {
    key: 0,
    style: { "margin-top": "4px" }
  };
  const _hoisted_8$6 = { class: "baiduCloud_operation" };
  const _hoisted_9$6 = { class: "baiduCloud_progress" };
  const _hoisted_10$4 = { class: "baiduCloud_result" };
  const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = useBaiduCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
          vue.createElementVNode("div", _hoisted_2$7, [
            vue.createElementVNode("div", _hoisted_3$7, [
              _hoisted_4$7,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$6).oneDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("1天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$6).sevenDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("7天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$6).thirtyDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("30天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$6).forever
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("永久")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"]),
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode(" 延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$7, [
              _hoisted_6$7,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).pwdType,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwdEnum).random
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("随机提取码")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwdEnum).self
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("自定义提取码")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"]),
              vue.unref(userOptions).pwdType === vue.unref(HasPwdEnum).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$7, [
                vue.createVNode(_component_t_input, {
                  modelValue: vue.unref(userOptions).pwd,
                  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).pwd = $event),
                  placeholder: "请输入自定义提取码(只支持数字和英文,最长4位)",
                  maxlength: "4"
                }, null, 8, ["modelValue"])
              ])) : vue.createCommentVNode("", true)
            ])
          ]),
          vue.createElementVNode("div", _hoisted_8$6, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_9$6, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_10$4, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudBaidu = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-09a4b72c"]]);
  var ExpireTimeEnum$5 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$5 || {});
  const use115Cloud = () => {
    const shareDelay = vue.ref(500);
    const expireTime = vue.ref(ExpireTimeEnum$5.forever);
    const shareInfo = vue.ref([]);
    const shareInfoUserSee = vue.ref("");
    const shareProgress = vue.ref(0);
    const selectFileInfoList = vue.ref([]);
    const isSharing = vue.ref(false);
    const handleTransformFormat = (info3) => {
      return `文件名称: ${info3.fileName} 分享链接:${info3.share_url} 提取码:${info3.receive_code} 分享有效时间: ${info3.share_ex_duration}`;
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const iframe = document.querySelector("iframe");
      const iframeWindow = iframe.contentWindow ?? _unsafeWindow;
      const selectDOM = iframeWindow.document.querySelectorAll((_a = ShareDOMSelect["cloud115"]) == null ? void 0 : _a.select);
      if (!selectDOM.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      isSharing.value = true;
      shareInfo.value = [];
      for (let dom of selectDOM) {
        const id = (dom.getAttribute((_c = (_b = ShareDOMSelect["cloud115"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) || dom.getAttribute((_e = (_d = ShareDOMSelect["cloud115"]) == null ? void 0 : _d.idAttribute) == null ? void 0 : _e[1])) ?? "";
        const title = dom.getAttribute("title");
        selectFileInfoList.value.push({
          id,
          //存储文件id
          fileName: title ?? "(!!$$未知名称!!$$)"
          //文件名称
        });
      }
      for (let fileInfo of selectFileInfoList.value) {
        const formData = new FormData();
        const { user_id } = _unsafeWindow || {};
        formData.append("user_id", user_id);
        formData.append("file_ids", fileInfo.id + "");
        formData.append("ignore_warn", "1");
        formData.append("is_asc", "0");
        formData.append("order", "user_ptime");
        _GM_xmlhttpRequest({
          method: "post",
          url: "https://webapi.115.com/share/send",
          headers: {
            "Accept": "application/json, text/javascript, */*; q=0.01"
          },
          data: formData,
          onload: ({ response }) => {
            const result = JSON.parse(response);
            let tempData = {
              ...result.data || {},
              fileName: fileInfo.fileName
            };
            shareInfo.value.push(tempData);
            shareInfoUserSee.value += handleTransformFormat(tempData) + "\n";
            shareProgress.value = Math.floor(shareInfo.value.length / selectFileInfoList.value.length * 100);
          },
          onerror: (res) => {
            console.error("失败", res);
          }
        });
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, shareDelay.value);
        });
      }
      shareProgress.value = 100;
      isSharing.value = false;
      MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      shareInfo.value = [];
      shareInfoUserSee.value = "";
      shareProgress.value = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(shareInfoUserSee.value + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, shareInfoUserSee.value);
    };
    return {
      shareDelay,
      expireTime,
      shareInfo,
      selectFileInfoList,
      shareInfoUserSee,
      isSharing,
      shareProgress,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$6 = (n) => (vue.pushScopeId("data-v-c2f69db3"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$7 = { class: "cloud115" };
  const _hoisted_2$6 = { class: "cloud115_option" };
  const _hoisted_3$6 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_4$6 = { class: "cloud115_option_time" };
  const _hoisted_5$6 = { class: "cloud115_operation" };
  const _hoisted_6$6 = { class: "cloud115_progress" };
  const _hoisted_7$6 = { class: "cloud115_result" };
  const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        expireTime,
        shareDelay,
        isSharing,
        shareInfoUserSee,
        shareProgress,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = use115Cloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
          vue.createElementVNode("div", _hoisted_2$6, [
            _hoisted_3$6,
            vue.createVNode(_component_t_radio_group, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_radio_button, null, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("永久")
                  ]),
                  _: 1
                })
              ]),
              _: 1
            }),
            vue.createElementVNode("div", _hoisted_4$6, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode("延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(shareDelay),
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(shareDelay) ? shareDelay.value = $event : null),
                step: "100"
              }, null, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_5$6, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(isSharing)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_6$6, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(shareProgress),
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_7$6, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(shareInfoUserSee),
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloud115 = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-c2f69db3"]]);
  var ExpireTimeEnum$4 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 2] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 3] = "thirtyDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 4] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$4 || {});
  var DefaultShowEnum$1 = /* @__PURE__ */ ((DefaultShowEnum2) => {
    DefaultShowEnum2[DefaultShowEnum2["tile"] = 2] = "tile";
    DefaultShowEnum2[DefaultShowEnum2["list"] = 1] = "list";
    return DefaultShowEnum2;
  })(DefaultShowEnum$1 || {});
  var PwdEnum$2 = /* @__PURE__ */ ((PwdEnum2) => {
    PwdEnum2[PwdEnum2["no"] = 0] = "no";
    PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
    PwdEnum2[PwdEnum2["self"] = 2] = "self";
    return PwdEnum2;
  })(PwdEnum$2 || {});
  const use123Cloud = () => {
    const userOptions = vue.ref({
      expiration: ExpireTimeEnum$4.forever,
      displayStatus: DefaultShowEnum$1.list,
      pwdType: PwdEnum$2.yes,
      pwd: "",
      //自定义提取码或随机提取码
      shareDelay: 500,
      shareProgress: 0,
      shareResultInfoList: [],
      shareInfoUserSee: "",
      isSharing: false
    });
    const transformOptions = (params) => {
      let sharePwd = "";
      if (params.pwdType === PwdEnum$2.yes) {
        sharePwd = generateRandomString(4);
      } else if (params.pwdType === PwdEnum$2.self) {
        sharePwd = params.pwd;
      }
      let expiration;
      switch (params.expiration) {
        case ExpireTimeEnum$4.oneDay:
          expiration = getDate123Cloud(1);
          break;
        case ExpireTimeEnum$4.sevenDay:
          expiration = getDate123Cloud(7);
          break;
        case ExpireTimeEnum$4.thirtyDay:
          expiration = getDate123Cloud(30);
          break;
        case ExpireTimeEnum$4.forever:
          expiration = getDate123Cloud(99);
          break;
      }
      return {
        displayStatus: params.displayStatus,
        sharePwd,
        expiration
      };
    };
    const transformInfoStyle = (info3) => {
      let time;
      switch (info3.timeCode) {
        case ExpireTimeEnum$4.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$4.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$4.thirtyDay:
          time = "30天";
          break;
        case ExpireTimeEnum$4.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "为空"} 分享有效时间: ${time}`;
    };
    const transformResult = (result) => {
      const { data: data2 } = result || {};
      return {
        ShareKey: (data2 == null ? void 0 : data2.ShareKey) ?? "分享失败",
        message: result.message ?? "",
        code: result.code
      };
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c;
      const reactDOM = document.querySelector(".hombody");
      const key2 = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
        (key22) => key22.startsWith("__reactInternalInstance$")
      );
      const selectedRows = reactDOM[key2].memoizedProps.children[0].props.children._owner.memoizedState.selectedRows ?? [];
      if (!selectedRows.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      if (userOptions.value.pwdType === PwdEnum$2.self && !userOptions.value.pwd) {
        return MessagePlugin.warning("设置提取码为自定义提取码,请填写自定义提取码");
      }
      userOptions.value.isSharing = true;
      for (let fileInfo of selectedRows) {
        const data2 = {
          ...transformOptions(userOptions.value),
          driveId: 0,
          event: "shareCreate",
          fileIdList: fileInfo.FileId,
          //文件id
          fileNum: 1,
          //文件数量,
          operatePlace: 1,
          renameVisible: false,
          shareModality: 2,
          shareName: fileInfo.FileName
          //分享文件名
        };
        const randomParams = get123CloudSecret();
        const { data: backData } = await axios$1({
          method: "post",
          url: `${window.location.origin}/a/api/share/create`,
          params: {
            [randomParams[0]]: randomParams[1]
          },
          data: data2,
          headers: {
            "Content-Type": "application/json;charset=UTF-8",
            "Authorization": "Bearer " + ((_b = localStorage.getItem("authorToken")) == null ? void 0 : _b.slice(1, -1)),
            "LoginUuid": (_c = localStorage.getItem("LoginUuid")) == null ? void 0 : _c.slice(1, -1),
            "platform": "web"
          }
        }).catch(() => ({ data: {} }));
        const backResult = transformResult(backData);
        let tempData = {
          fileName: fileInfo.FileName,
          url: `${window.location.origin}/s/` + backResult.ShareKey,
          pwd: data2.sharePwd,
          time: data2.expiration,
          timeCode: userOptions.value.expiration
        };
        userOptions.value.shareResultInfoList.push(tempData);
        userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareResultInfoList.length / selectedRows.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      userOptions,
      transformOptions,
      transformInfoStyle,
      transformResult,
      handleBatchOperation,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$5 = (n) => (vue.pushScopeId("data-v-99bbe20d"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$6 = { class: "cloud123" };
  const _hoisted_2$5 = { class: "cloud123_operation" };
  const _hoisted_3$5 = { class: "cloud123_progress" };
  const _hoisted_4$5 = { class: "cloud123_option" };
  const _hoisted_5$5 = { class: "cloud123_option_item" };
  const _hoisted_6$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_7$5 = { class: "cloud123_option_item" };
  const _hoisted_8$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "有效期:", -1));
  const _hoisted_9$5 = { class: "cloud123_option_item" };
  const _hoisted_10$3 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "默认展示:", -1));
  const _hoisted_11$3 = { class: "cloud123_option_item" };
  const _hoisted_12 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "分享形式:", -1));
  const _hoisted_13 = { class: "cloud123_result" };
  const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = use123Cloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
          vue.createElementVNode("div", _hoisted_2$5, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_3$5, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_4$5, [
            vue.createVNode(_component_t_collapse, {
              expandMutex: "",
              "default-expand-all": ""
            }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: "0",
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_5$5, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_6$5
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_7$5, [
                      _hoisted_8$5,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).expiration,
                        "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expiration = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$4).oneDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("1天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$4).sevenDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("7天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$4).thirtyDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("30天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$4).forever
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("永久")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_9$5, [
                      _hoisted_10$3,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).displayStatus,
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).displayStatus = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(DefaultShowEnum$1).tile
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("平铺")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(DefaultShowEnum$1).list
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("列表")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_11$3, [
                      _hoisted_12,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).pwdType,
                        "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).pwdType = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$2).no
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("无提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$2).yes
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("随机提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$2).self
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("自定义提取码")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.unref(userOptions).pwdType === vue.unref(PwdEnum$2).self ? (vue.openBlock(), vue.createBlock(_component_t_input, {
                      key: 0,
                      modelValue: vue.unref(userOptions).pwd,
                      "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(userOptions).pwd = $event),
                      placeholder: "请输入自定义提取码",
                      maxlength: "4"
                    }, null, 8, ["modelValue"])) : vue.createCommentVNode("", true)
                  ]),
                  _: 1
                })
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_13, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloud123 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-99bbe20d"]]);
  var PwdEnum$1 = /* @__PURE__ */ ((PwdEnum2) => {
    PwdEnum2[PwdEnum2["no"] = 0] = "no";
    PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
    PwdEnum2[PwdEnum2["self"] = 2] = "self";
    return PwdEnum2;
  })(PwdEnum$1 || {});
  var TaskEnum = /* @__PURE__ */ ((TaskEnum2) => {
    TaskEnum2[TaskEnum2["file"] = 18] = "file";
    TaskEnum2[TaskEnum2["share"] = 22] = "share";
    TaskEnum2[TaskEnum2["setCodeFile"] = 23] = "setCodeFile";
    TaskEnum2[TaskEnum2["setCodeFolder"] = 16] = "setCodeFolder";
    TaskEnum2[TaskEnum2["reqFolderList"] = 47] = "reqFolderList";
    TaskEnum2[TaskEnum2["reqFileList"] = 5] = "reqFileList";
    return TaskEnum2;
  })(TaskEnum || {});
  var events = ["load", "loadend", "timeout", "error", "readystatechange", "abort"];
  var OriginXhr = "__origin_xhr";
  function configEvent(event, xhrProxy) {
    var e = {};
    for (var attr in event)
      e[attr] = event[attr];
    e.target = e.currentTarget = xhrProxy;
    return e;
  }
  function hook(proxy2, win) {
    win = win || window;
    var originXhr = win.XMLHttpRequest;
    var hooking = true;
    var HookXMLHttpRequest = function() {
      var xhr = new originXhr();
      for (var i = 0; i < events.length; ++i) {
        var key2 = "on" + events[i];
        if (xhr[key2] === void 0)
          xhr[key2] = null;
      }
      for (var attr in xhr) {
        var type = "";
        try {
          type = typeof xhr[attr];
        } catch (e) {
        }
        if (type === "function") {
          this[attr] = hookFunction(attr);
        } else if (attr !== OriginXhr) {
          Object.defineProperty(this, attr, {
            get: getterFactory(attr),
            set: setterFactory(attr),
            enumerable: true
          });
        }
      }
      var that = this;
      xhr.getProxy = function() {
        return that;
      };
      this[OriginXhr] = xhr;
    };
    HookXMLHttpRequest.prototype = originXhr.prototype;
    HookXMLHttpRequest.prototype.constructor = HookXMLHttpRequest;
    win.XMLHttpRequest = HookXMLHttpRequest;
    Object.assign(win.XMLHttpRequest, { UNSENT: 0, OPENED: 1, HEADERS_RECEIVED: 2, LOADING: 3, DONE: 4 });
    function getterFactory(attr) {
      return function() {
        var originValue = this[OriginXhr][attr];
        if (hooking) {
          var v = this.hasOwnProperty(attr + "_") ? this[attr + "_"] : originValue;
          var attrGetterHook = (proxy2[attr] || {})["getter"];
          return attrGetterHook && attrGetterHook(v, this) || v;
        } else {
          return originValue;
        }
      };
    }
    function setterFactory(attr) {
      return function(v) {
        var xhr = this[OriginXhr];
        if (hooking) {
          var that = this;
          var hook2 = proxy2[attr];
          if (attr.substring(0, 2) === "on") {
            that[attr + "_"] = v;
            xhr[attr] = function(e) {
              e = configEvent(e, that);
              var ret = proxy2[attr] && proxy2[attr].call(that, xhr, e);
              ret || v.call(that, e);
            };
          } else {
            var attrSetterHook = (hook2 || {})["setter"];
            v = attrSetterHook && attrSetterHook(v, that) || v;
            this[attr + "_"] = v;
            try {
              xhr[attr] = v;
            } catch (e) {
            }
          }
        } else {
          xhr[attr] = v;
        }
      };
    }
    function hookFunction(fun) {
      return function() {
        var args = [].slice.call(arguments);
        if (proxy2[fun] && hooking) {
          var ret = proxy2[fun].call(this, args, this[OriginXhr]);
          if (ret)
            return ret;
        }
        return this[OriginXhr][fun].apply(this[OriginXhr], args);
      };
    }
    function unHook() {
      hooking = false;
      if (win.XMLHttpRequest === HookXMLHttpRequest) {
        win.XMLHttpRequest = originXhr;
        HookXMLHttpRequest.prototype.constructor = originXhr;
        originXhr = void 0;
      }
    }
    return { originXhr, unHook };
  }
  var eventLoad = events[0], eventLoadEnd = events[1], eventTimeout = events[2], eventError = events[3], eventReadyStateChange = events[4], eventAbort = events[5];
  var prototype = "prototype";
  function proxy(proxy2, win) {
    win = win || window;
    return proxyAjax(proxy2, win);
  }
  function trim2(str) {
    return str.replace(/^\s+|\s+$/g, "");
  }
  function getEventTarget(xhr) {
    return xhr.watcher || (xhr.watcher = document.createElement("a"));
  }
  function triggerListener(xhr, name) {
    var xhrProxy = xhr.getProxy();
    var callback = "on" + name + "_";
    var event = configEvent({ type: name }, xhrProxy);
    xhrProxy[callback] && xhrProxy[callback](event);
    var evt;
    if (typeof Event === "function") {
      evt = new Event(name, { bubbles: false });
    } else {
      evt = document.createEvent("Event");
      evt.initEvent(name, false, true);
    }
    getEventTarget(xhr).dispatchEvent(evt);
  }
  function Handler(xhr) {
    this.xhr = xhr;
    this.xhrProxy = xhr.getProxy();
  }
  Handler[prototype] = /* @__PURE__ */ Object.create({
    resolve: function resolve(response) {
      var xhrProxy = this.xhrProxy;
      var xhr = this.xhr;
      xhrProxy.readyState = 4;
      xhr.resHeader = response.headers;
      xhrProxy.response = xhrProxy.responseText = response.response;
      xhrProxy.statusText = response.statusText;
      xhrProxy.status = response.status;
      triggerListener(xhr, eventReadyStateChange);
      triggerListener(xhr, eventLoad);
      triggerListener(xhr, eventLoadEnd);
    },
    reject: function reject(error4) {
      this.xhrProxy.status = 0;
      triggerListener(this.xhr, error4.type);
      triggerListener(this.xhr, eventLoadEnd);
    }
  });
  function makeHandler(next) {
    function sub(xhr) {
      Handler.call(this, xhr);
    }
    sub[prototype] = Object.create(Handler[prototype]);
    sub[prototype].next = next;
    return sub;
  }
  var RequestHandler = makeHandler(function(rq) {
    var xhr = this.xhr;
    rq = rq || xhr.config;
    xhr.withCredentials = rq.withCredentials;
    xhr.open(rq.method, rq.url, rq.async !== false, rq.user, rq.password);
    for (var key2 in rq.headers) {
      xhr.setRequestHeader(key2, rq.headers[key2]);
    }
    xhr.send(rq.body);
  });
  var ResponseHandler = makeHandler(function(response) {
    this.resolve(response);
  });
  var ErrorHandler = makeHandler(function(error4) {
    this.reject(error4);
  });
  function proxyAjax(proxy2, win) {
    var onRequest = proxy2.onRequest, onResponse = proxy2.onResponse, onError = proxy2.onError;
    function getResponseData(xhrProxy) {
      var responseType = xhrProxy.responseType;
      if (!responseType || responseType === "text") {
        return xhrProxy.responseText;
      }
      var response = xhrProxy.response;
      if (responseType === "json" && !response) {
        try {
          return JSON.parse(xhrProxy.responseText);
        } catch (e) {
          console.warn(e);
        }
      }
      return response;
    }
    function handleResponse(xhr, xhrProxy) {
      var handler = new ResponseHandler(xhr);
      var ret = {
        response: getResponseData(xhrProxy),
        status: xhrProxy.status,
        statusText: xhrProxy.statusText,
        config: xhr.config,
        headers: xhr.resHeader || xhr.getAllResponseHeaders().split("\r\n").reduce(function(ob, str) {
          if (str === "")
            return ob;
          var m = str.split(":");
          ob[m.shift()] = trim2(m.join(":"));
          return ob;
        }, {})
      };
      if (!onResponse)
        return handler.resolve(ret);
      onResponse(ret, handler);
    }
    function onerror(xhr, xhrProxy, error4, errorType) {
      var handler = new ErrorHandler(xhr);
      error4 = { config: xhr.config, error: error4, type: errorType };
      if (onError) {
        onError(error4, handler);
      } else {
        handler.next(error4);
      }
    }
    function preventXhrProxyCallback() {
      return true;
    }
    function errorCallback(errorType) {
      return function(xhr, e) {
        onerror(xhr, this, e, errorType);
        return true;
      };
    }
    function stateChangeCallback(xhr, xhrProxy) {
      if (xhr.readyState === 4 && xhr.status !== 0) {
        handleResponse(xhr, xhrProxy);
      } else if (xhr.readyState !== 4) {
        triggerListener(xhr, eventReadyStateChange);
      }
      return true;
    }
    var { originXhr, unHook } = hook({
      onload: preventXhrProxyCallback,
      onloadend: preventXhrProxyCallback,
      onerror: errorCallback(eventError),
      ontimeout: errorCallback(eventTimeout),
      onabort: errorCallback(eventAbort),
      onreadystatechange: function(xhr) {
        return stateChangeCallback(xhr, this);
      },
      open: function open(args, xhr) {
        var _this = this;
        var config = xhr.config = { headers: {} };
        config.method = args[0];
        config.url = args[1];
        config.async = args[2];
        config.user = args[3];
        config.password = args[4];
        config.xhr = xhr;
        var evName = "on" + eventReadyStateChange;
        if (!xhr[evName]) {
          xhr[evName] = function() {
            return stateChangeCallback(xhr, _this);
          };
        }
        if (onRequest)
          return true;
      },
      send: function(args, xhr) {
        var config = xhr.config;
        config.withCredentials = xhr.withCredentials;
        config.body = args[0];
        if (onRequest) {
          var req = function() {
            onRequest(config, new RequestHandler(xhr));
          };
          config.async === false ? req() : setTimeout(req);
          return true;
        }
      },
      setRequestHeader: function(args, xhr) {
        xhr.config.headers[args[0].toLowerCase()] = args[1];
        if (onRequest)
          return true;
      },
      addEventListener: function(args, xhr) {
        var _this = this;
        if (events.indexOf(args[0]) !== -1) {
          var handler = args[1];
          getEventTarget(xhr).addEventListener(args[0], function(e) {
            var event = configEvent(e, _this);
            event.type = args[0];
            event.isTrusted = true;
            handler.call(_this, event);
          });
          return true;
        }
      },
      getAllResponseHeaders: function(_, xhr) {
        var headers = xhr.resHeader;
        if (headers) {
          var header = "";
          for (var key2 in headers) {
            header += key2 + ": " + headers[key2] + "\r\n";
          }
          return header;
        }
      },
      getResponseHeader: function(args, xhr) {
        var headers = xhr.resHeader;
        if (headers) {
          return headers[(args[0] || "").toLowerCase()];
        }
      }
    }, win);
    return {
      originXhr,
      unProxy: unHook
    };
  }
  var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
    FileTypeEnum2[FileTypeEnum2["file"] = 0] = "file";
    FileTypeEnum2[FileTypeEnum2["folder"] = 1] = "folder";
    return FileTypeEnum2;
  })(FileTypeEnum || {});
  const uselanzouCloud = () => {
    const userOptions = vue.ref({
      pwdType: PwdEnum$1.yes,
      pwd: "",
      //自定义提取码或随机提取码
      shareDelay: 500,
      shareProgress: 0,
      selectFileInfoList: [],
      shareResultInfoList: [],
      listData: [],
      lastFolderData: [],
      shareInfoUserSee: "",
      isSharing: false
    });
    const init = () => {
      proxy({
        //请求成功后进入
        onResponse: (response, handler) => {
          var _a, _b;
          if (handler.xhr.config.url.startsWith("/doupload.php")) {
            console.log("拦截是否成功");
            const bodyParams = bodyParse(handler.xhr.config.body ?? "");
            const { task, pg } = bodyParams;
            let data2 = [];
            if (task * 1 === TaskEnum.reqFolderList) {
              data2 = response.response ? ((_a = JSON.parse(response.response)) == null ? void 0 : _a.text) ?? [] : [];
              userOptions.value.lastFolderData = data2;
              userOptions.value.listData = [...vue.markRaw(userOptions.value.listData), ...data2];
            } else if (task * 1 === TaskEnum.reqFileList) {
              data2 = response.response ? ((_b = JSON.parse(response.response)) == null ? void 0 : _b.text) ?? [] : [];
              if (pg * 1 === 1) {
                userOptions.value.listData = [...vue.markRaw(userOptions.value.lastFolderData), ...data2];
              } else {
                userOptions.value.listData = [...vue.markRaw(userOptions.value.listData), ...data2];
              }
            }
          }
          handler.next(response);
        }
      });
    };
    init();
    const transformInfoStyle = (info3) => {
      return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "空"} 分享有效时间: 永久`;
    };
    const transformResult = (result) => {
      return {
        is_newd: (result == null ? void 0 : result.is_newd) ?? "",
        pwd: userOptions.value.pwdType === PwdEnum$1.self ? userOptions.value.pwd : result == null ? void 0 : result.pwd,
        f_id: (result == null ? void 0 : result.f_id) ?? "",
        new_url: (result == null ? void 0 : result.new_url) ?? "",
        name: (result == null ? void 0 : result.name) ?? ""
      };
    };
    const handleBatchOperation = async () => {
      const { selectFileInfoList } = userOptions.value;
      if (!selectFileInfoList.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      userOptions.value.selectFileInfoList = [];
      for (let fileInfo of selectFileInfoList) {
        const formData = new FormData();
        formData.append("task", fileInfo.type === FileTypeEnum.file ? TaskEnum.share + "" : TaskEnum.file + "");
        formData.append(fileInfo.type === FileTypeEnum.file ? "file_id" : "folder_id", fileInfo.id + "");
        const { data: shareData } = await axios$1({
          method: "post",
          url: `${window.location.origin}/doupload.php`,
          data: formData
        }).catch(() => ({ data: {} }));
        const backResult = transformResult((shareData == null ? void 0 : shareData.info) ?? {});
        if (userOptions.value.pwdType !== PwdEnum$1.no) {
          await new Promise((resolve2) => {
            setTimeout(() => {
              resolve2();
            }, userOptions.value.shareDelay);
          });
          formData.set("task", fileInfo.type === FileTypeEnum.file ? TaskEnum.setCodeFile + "" : TaskEnum.setCodeFolder + "");
          formData.append("shows", "1");
          formData.append("shownames", backResult.pwd);
          await axios$1({
            method: "post",
            url: `${window.location.origin}/doupload.php`,
            data: formData
          }).catch(() => ({ data: {} }));
        }
        let tempData = {
          fileName: fileInfo.name_all || fileInfo.name,
          url: fileInfo.type === FileTypeEnum.file ? backResult.is_newd + "/" + backResult.f_id : backResult.new_url,
          pwd: userOptions.value.pwdType !== PwdEnum$1.no ? backResult.pwd : "空"
        };
        userOptions.value.shareResultInfoList.push(tempData);
        userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareResultInfoList.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      init,
      userOptions,
      transformInfoStyle,
      transformResult,
      handleBatchOperation,
      handleEnd,
      copyValue,
      download
    };
  };
  const useListModule = (props2, emits) => {
    const selectedRowKeys = vue.ref([]);
    const selectedRowInfos = vue.ref([]);
    const tableProps = vue.ref({
      rowKey: "id",
      columns: [
        {
          colKey: "row-select",
          type: "multiple",
          checkProps: ({ row }) => ({ disabled: row.Status === 2 }),
          width: 50
        },
        {
          colKey: "type",
          title: "类型",
          cell: (h2, { row }) => {
            return h2("img", {
              src: row["type"] === FileTypeEnum.file ? "https://pc.woozooo.com/images/filetype/txt.gif" : "https://pc.woozooo.com/images/folder_open.gif"
            });
          },
          width: 60
        },
        {
          colKey: "name",
          title: "文件名"
        },
        {
          colKey: "size",
          title: "大小"
        },
        {
          colKey: "time",
          title: "时间"
        }
      ],
      empty: "暂无数据,请重新进入任意文件夹目录以拦截获取文件数据",
      onSelectChange: (value, ctx) => {
        selectedRowKeys.value = value;
        selectedRowInfos.value = ctx.selectedRowData;
        emits("update:ids", value);
        emits("update:infos", ctx.selectedRowData);
      }
    });
    const listData = vue.ref([]);
    const transformListData = (data2) => {
      if (!data2 || data2 && !(data2 == null ? void 0 : data2.length))
        return [];
      return (data2 == null ? void 0 : data2.map((item) => ({
        id: (item == null ? void 0 : item.id) ? item == null ? void 0 : item.id : item == null ? void 0 : item.fol_id,
        name_all: (item == null ? void 0 : item.name_all) ?? "",
        //文件才有这个属性
        name: (item == null ? void 0 : item.name) ?? "",
        size: (item == null ? void 0 : item.size) ?? "-",
        //文件才有
        time: (item == null ? void 0 : item.time) ?? "-",
        //文件才有
        type: (item == null ? void 0 : item.id) ? FileTypeEnum.file : FileTypeEnum.folder
      }))) ?? [];
    };
    return {
      selectedRowKeys,
      selectedRowInfos,
      transformListData,
      tableProps,
      listData
    };
  };
  const _hoisted_1$5 = { class: "list" };
  const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    props: {
      list: {},
      ids: {},
      infos: {}
    },
    emits: ["update:ids", "update:infos"],
    setup(__props, { emit: emits }) {
      const props2 = __props;
      const {
        tableProps,
        listData,
        selectedRowKeys,
        transformListData
      } = useListModule(props2, emits);
      vue.watchEffect(() => {
        listData.value = transformListData(props2.list);
      });
      return (_ctx, _cache) => {
        const _component_t_table = vue.resolveComponent("t-table");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
          vue.createVNode(_component_t_table, vue.mergeProps(vue.unref(tableProps), {
            data: vue.unref(listData),
            "selected-row-keys": vue.unref(selectedRowKeys),
            "select-on-row-click": ""
          }), null, 16, ["data", "selected-row-keys"])
        ]);
      };
    }
  });
  const ListModule = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-1b910cfc"]]);
  const _withScopeId$4 = (n) => (vue.pushScopeId("data-v-f7d1ff6d"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$4 = { class: "lanzouCloud" };
  const _hoisted_2$4 = { class: "lanzouCloud_operation" };
  const _hoisted_3$4 = { class: "lanzouCloud_progress" };
  const _hoisted_4$4 = { class: "lanzouCloud_option" };
  const _hoisted_5$4 = { class: "lanzouCloud_option_item" };
  const _hoisted_6$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "lanzouCloud_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_7$4 = { class: "lanzouCloud_option_item" };
  const _hoisted_8$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "lanzouCloud_option_item_title" }, "分享形式:", -1));
  const _hoisted_9$4 = {
    key: 0,
    style: { "margin-top": "4px" }
  };
  const _hoisted_10$2 = { style: { "height": "60vh", "overflow-y": "scroll" } };
  const _hoisted_11$2 = { class: "lanzouCloud_result" };
  const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = uselanzouCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_input = vue.resolveComponent("t-input");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
          vue.createElementVNode("div", _hoisted_2$4, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_3$4, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_4$4, [
            vue.createVNode(_component_t_collapse, { expandMutex: "" }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: "0",
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_5$4, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_6$4
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_7$4, [
                      _hoisted_8$4,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).pwdType,
                        "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).pwdType = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$1).no
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("无提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$1).yes
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("随机提取码")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(PwdEnum$1).self
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("自定义提取码")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ]),
                    vue.unref(userOptions).pwdType === vue.unref(PwdEnum$1).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$4, [
                      vue.createVNode(_component_t_input, {
                        modelValue: vue.unref(userOptions).pwd,
                        "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwd = $event),
                        placeholder: "请输入自定义提取码(只支持数字和英文,最少2位最长6位)",
                        maxlength: "6"
                      }, null, 8, ["modelValue"])
                    ])) : vue.createCommentVNode("", true)
                  ]),
                  _: 1
                }),
                vue.createVNode(_component_t_collapse_panel, {
                  value: "1",
                  header: "文件选择"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_10$2, [
                      vue.createVNode(ListModule, {
                        list: vue.unref(userOptions).listData,
                        infos: vue.unref(userOptions).selectFileInfoList,
                        "onUpdate:infos": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).selectFileInfoList = $event)
                      }, null, 8, ["list", "infos"])
                    ])
                  ]),
                  _: 1
                })
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_11$2, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudLanZou = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-f7d1ff6d"]]);
  var ExpireTimeEnum$3 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 1] = "forever";
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 2] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 3] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 4] = "thirtyDay";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$3 || {});
  var HasPwd = /* @__PURE__ */ ((HasPwd2) => {
    HasPwd2[HasPwd2["no"] = 0] = "no";
    HasPwd2[HasPwd2["yes"] = 1] = "yes";
    return HasPwd2;
  })(HasPwd || {});
  var UrlTypeEnum = /* @__PURE__ */ ((UrlTypeEnum2) => {
    UrlTypeEnum2[UrlTypeEnum2["noPwd"] = 1] = "noPwd";
    UrlTypeEnum2[UrlTypeEnum2["hasPwd"] = 2] = "hasPwd";
    return UrlTypeEnum2;
  })(UrlTypeEnum || {});
  function getTaskID(data2) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "post",
        url: "https://drive-pc.quark.cn/1/clouddrive/share?pr=ucpro&fr=pc",
        headers: {
          "accept": "application/json, text/plain, */*",
          "content-type": "application/json"
        },
        data: JSON.stringify(data2),
        onload: ({ response }) => {
          const { data: data22 } = JSON.parse(response) || {};
          const task_id = (data22 == null ? void 0 : data22.task_id) ?? "";
          resolve2(task_id);
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  function getShareID(task_id, retry_index = 0) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "get",
        url: `https://drive-pc.quark.cn/1/clouddrive/task?pr=ucpro&fr=pc&task_id=${task_id}&retry_index=${retry_index}`,
        onload: ({ response }) => {
          const { data: data2 } = JSON.parse(response) || {};
          const share_id = (data2 == null ? void 0 : data2.share_id) ?? "";
          resolve2(share_id);
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  function getShareUrl(share_id) {
    return new Promise((resolve2, reject2) => {
      _GM_xmlhttpRequest({
        method: "post",
        url: "https://drive-pc.quark.cn/1/clouddrive/share/password?pr=ucpro&fr=pc",
        data: JSON.stringify({
          share_id
        }),
        onload: ({ response }) => {
          const { data: data2 } = JSON.parse(response) || {};
          const { passcode, share_url, title } = data2 || {};
          resolve2(share_url ?? "");
        },
        onerror: (res) => {
          reject2(res);
        }
      });
    });
  }
  const usequarkCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 1e3,
      expireTime: ExpireTimeEnum$3.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false,
      pwdType: HasPwd.yes
    });
    const handleTransformFormat = (info3) => {
      let time;
      switch (info3.expireTime) {
        case ExpireTimeEnum$3.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$3.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$3.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "为空"} 分享有效时间: ${time}`;
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const selectDOM = document.querySelectorAll((_a = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _a.select);
      if (!selectDOM.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      userOptions.value.selectFileInfoList = [];
      for (let dom of selectDOM) {
        userOptions.value.selectFileInfoList.push({
          id: dom.getAttribute((_c = (_b = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) ?? "",
          fileName: ((_e = dom.querySelector((_d = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _d.fileNameSelect)) == null ? void 0 : _e.textContent) ?? "(!!$$未知名称!!$$)",
          expireTime: userOptions.value.expireTime,
          pwd: userOptions.value.pwdType === HasPwd.yes ? generateRandomString(4) : ""
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const sendData = {
          expired_type: fileInfo.expireTime,
          fid_list: [fileInfo.id],
          title: fileInfo.fileName,
          url_type: fileInfo.pwd ? UrlTypeEnum.hasPwd : UrlTypeEnum.noPwd,
          passcode: fileInfo.pwd
        };
        const task_id = await getTaskID(sendData).catch(() => "");
        const share_id = await getShareID(task_id).catch(() => "");
        let share_url = "";
        if (share_id) {
          share_url = await getShareUrl(share_id).catch(() => "");
        } else {
          const share_id2 = await getShareID(task_id, 1).catch(() => "");
          share_url = await getShareUrl(share_id2).catch(() => "");
        }
        let tempData = {
          ...fileInfo,
          url: share_url
        };
        userOptions.value.shareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-7808626c"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$3 = { class: "quarkCloud" };
  const _hoisted_2$3 = { class: "quarkCloud_option" };
  const _hoisted_3$3 = { class: "quarkCloud_option_item" };
  const _hoisted_4$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
  const _hoisted_5$3 = {
    class: "quarkCloud_option_item",
    style: { "margin": "6px 0" }
  };
  const _hoisted_6$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", null, "提取码:", -1));
  const _hoisted_7$3 = { class: "quarkCloud_operation" };
  const _hoisted_8$3 = { class: "quarkCloud_progress" };
  const _hoisted_9$3 = { class: "quarkCloud_result" };
  const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = usequarkCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
          vue.createElementVNode("div", _hoisted_2$3, [
            vue.createElementVNode("div", _hoisted_3$3, [
              _hoisted_4$3,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$3).oneDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("1天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$3).sevenDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("7天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$3).thirtyDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("30天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum$3).forever
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("永久")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"]),
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  vue.createTextVNode("延迟(毫秒):")
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100",
                min: "1000"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$3, [
              _hoisted_6$3,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).pwdType,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwd).no
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("无提取码")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(HasPwd).yes
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("有提取码")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_7$3, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_8$3, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_9$3, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudQuark = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-7808626c"]]);
  var ExpireTimeEnum$2 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 2] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 4] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$2 || {});
  var DefaultShowEnum = /* @__PURE__ */ ((DefaultShowEnum2) => {
    DefaultShowEnum2[DefaultShowEnum2["tile"] = 2] = "tile";
    DefaultShowEnum2[DefaultShowEnum2["list"] = 1] = "list";
    return DefaultShowEnum2;
  })(DefaultShowEnum || {});
  const use139Cloud = () => {
    const userOptions = vue.ref({
      expiration: ExpireTimeEnum$2.forever,
      displayStatus: DefaultShowEnum.list,
      pwd: "",
      //自定义提取码或随机提取码
      shareDelay: 500,
      shareProgress: 0,
      shareResultInfoList: [],
      shareInfoUserSee: "",
      isSharing: false,
      auth: ""
      //分享的Authorization
    });
    const init = () => {
      let t = "authorization";
      let e = t + "=", a = document.cookie.split(";"), n = 0;
      for (; n < a.length; n++) {
        let o = a[n].trim();
        if (0 == o.indexOf(e))
          userOptions.value.auth = o.substring(e.length, o.length);
      }
    };
    init();
    const transformOptions = (params) => {
      let period2;
      switch (params.expiration) {
        case ExpireTimeEnum$2.oneDay:
          period2 = 1;
          break;
        case ExpireTimeEnum$2.sevenDay:
          period2 = 7;
          break;
        case ExpireTimeEnum$2.forever:
          period2 = null;
          break;
      }
      return {
        period: period2
      };
    };
    const transformInfoStyle = (info3) => {
      let time;
      switch (info3.timeCode) {
        case ExpireTimeEnum$2.oneDay:
          time = "1天";
          break;
        case ExpireTimeEnum$2.sevenDay:
          time = "7天";
          break;
        case ExpireTimeEnum$2.forever:
          time = "永久";
          break;
        default:
          time = "未知";
      }
      return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "为空"} 分享有效时间: ${time}`;
    };
    const transformResult = (result) => {
      var _a, _b, _c, _d;
      const list = ((_b = (_a = result == null ? void 0 : result.data) == null ? void 0 : _a.getOutLinkRes) == null ? void 0 : _b.getOutLinkResSet) ?? [];
      return {
        linkUrl: ((_c = list == null ? void 0 : list[0]) == null ? void 0 : _c.linkUrl) ?? "",
        passwd: ((_d = list == null ? void 0 : list[0]) == null ? void 0 : _d.passwd) ?? ""
      };
    };
    const handleBatchOperation = async () => {
      var _a, _b;
      const selectList = ((_b = (_a = document.querySelector(".main_file_list")) == null ? void 0 : _a.__vue__) == null ? void 0 : _b.selectList) ?? [];
      const selectFileInfoList = (selectList == null ? void 0 : selectList.map(({ item }) => ({
        fileName: (item == null ? void 0 : item.contentName) ? item == null ? void 0 : item.contentName : item == null ? void 0 : item.catalogName,
        id: (item == null ? void 0 : item.contentID) ? item == null ? void 0 : item.contentID : item == null ? void 0 : item.catalogID,
        owner: (item == null ? void 0 : item.owner) ?? "",
        //分享用得到
        catalogType: (item == null ? void 0 : item.contentID) ? 0 : 1
        //0代表文件分享 1代表文件夹分享
      }))) ?? [];
      if (!selectFileInfoList.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      for (let fileInfo of selectFileInfoList) {
        const data2 = {
          ...transformOptions(userOptions.value),
          caIDLst: fileInfo.catalogType === 0 ? [] : [fileInfo.id],
          //分享的文件夹
          coIDLst: fileInfo.catalogType === 0 ? [fileInfo.id] : [],
          //分享的文件
          commonAccountInfo: {
            account: fileInfo.owner,
            //账户名,一般是手机号
            accountType: 1
          },
          dedicatedName: fileInfo.fileName,
          //文件或文件夹名称
          encrypt: 1,
          extInfo: {
            isWatermark: 0,
            shareChannel: "3001"
          },
          periodUnit: 1,
          pubType: 1,
          subLinkType: 0,
          viewerLst: []
        };
        const { data: backData } = await axios$1({
          method: "post",
          url: `${window.location.origin}/orchestration/personalCloud-rebuild/outlink/v1.0/getOutLink`,
          data: {
            getOutLinkReq: data2
          },
          headers: {
            "Content-Type": "application/json;charset=UTF-8",
            "Authorization": userOptions.value.auth
          }
        }).catch(() => ({ data: {} }));
        const backResult = transformResult(backData);
        let tempData = {
          fileName: fileInfo.fileName,
          url: backResult.linkUrl,
          pwd: backResult.passwd,
          timeCode: userOptions.value.expiration
        };
        userOptions.value.shareResultInfoList.push(tempData);
        userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareResultInfoList.length / selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareResultInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      init,
      userOptions,
      transformOptions,
      transformInfoStyle,
      transformResult,
      handleBatchOperation,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-67f5c0e4"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$2 = { class: "cloud139" };
  const _hoisted_2$2 = { class: "cloud139_operation" };
  const _hoisted_3$2 = { class: "cloud139_progress" };
  const _hoisted_4$2 = { class: "cloud139_option" };
  const _hoisted_5$2 = { class: "cloud139_option_item" };
  const _hoisted_6$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud139_option_item_title" }, "延迟(毫秒):", -1));
  const _hoisted_7$2 = { class: "cloud139_option_item" };
  const _hoisted_8$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud139_option_item_title" }, "有效期:", -1));
  const _hoisted_9$2 = { class: "cloud139_result" };
  const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = use139Cloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
        const _component_t_collapse = vue.resolveComponent("t-collapse");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
          vue.createElementVNode("div", _hoisted_2$2, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_3$2, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_4$2, [
            vue.createVNode(_component_t_collapse, {
              expandMutex: "",
              "default-expand-all": ""
            }, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_collapse_panel, {
                  value: "0",
                  header: "分享配置"
                }, {
                  default: vue.withCtx(() => [
                    vue.createElementVNode("div", _hoisted_5$2, [
                      vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                        default: vue.withCtx(() => [
                          _hoisted_6$2
                        ]),
                        _: 1
                      }),
                      vue.createVNode(_component_t_input_number, {
                        modelValue: vue.unref(userOptions).shareDelay,
                        "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                        step: "100"
                      }, null, 8, ["modelValue"])
                    ]),
                    vue.createElementVNode("div", _hoisted_7$2, [
                      _hoisted_8$2,
                      vue.createVNode(_component_t_radio_group, {
                        modelValue: vue.unref(userOptions).expiration,
                        "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expiration = $event)
                      }, {
                        default: vue.withCtx(() => [
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$2).oneDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("1天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$2).sevenDay
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("7天")
                            ]),
                            _: 1
                          }, 8, ["value"]),
                          vue.createVNode(_component_t_radio_button, {
                            value: vue.unref(ExpireTimeEnum$2).forever
                          }, {
                            default: vue.withCtx(() => [
                              vue.createTextVNode("永久")
                            ]),
                            _: 1
                          }, 8, ["value"])
                        ]),
                        _: 1
                      }, 8, ["modelValue"])
                    ])
                  ]),
                  _: 1
                })
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_9$2, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloud139 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-67f5c0e4"]]);
  var ExpireTimeEnum$1 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
    ExpireTimeEnum2[ExpireTimeEnum2["twoDay"] = 2] = "twoDay";
    ExpireTimeEnum2[ExpireTimeEnum2["threeDay"] = 3] = "threeDay";
    ExpireTimeEnum2[ExpireTimeEnum2["fourDay"] = 4] = "fourDay";
    ExpireTimeEnum2[ExpireTimeEnum2["fiveDay"] = 5] = "fiveDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sixDay"] = 6] = "sixDay";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum$1 || {});
  var ExtractEnum = /* @__PURE__ */ ((ExtractEnum2) => {
    ExtractEnum2[ExtractEnum2["forever"] = -1] = "forever";
    ExtractEnum2[ExtractEnum2["One"] = 1] = "One";
    ExtractEnum2[ExtractEnum2["Two"] = 2] = "Two";
    ExtractEnum2[ExtractEnum2["Three"] = 3] = "Three";
    ExtractEnum2[ExtractEnum2["Four"] = 4] = "Four";
    ExtractEnum2[ExtractEnum2["Five"] = 5] = "Five";
    ExtractEnum2[ExtractEnum2["Six"] = 6] = "Six";
    ExtractEnum2[ExtractEnum2["Seven"] = 7] = "Seven";
    ExtractEnum2[ExtractEnum2["Eight"] = 8] = "Eight";
    ExtractEnum2[ExtractEnum2["Nine"] = 9] = "Nine";
    ExtractEnum2[ExtractEnum2["Ten"] = 10] = "Ten";
    ExtractEnum2[ExtractEnum2["Eleven"] = 11] = "Eleven";
    ExtractEnum2[ExtractEnum2["Twelve"] = 12] = "Twelve";
    ExtractEnum2[ExtractEnum2["Thirteen"] = 13] = "Thirteen";
    ExtractEnum2[ExtractEnum2["Fourteen"] = 14] = "Fourteen";
    ExtractEnum2[ExtractEnum2["Fifteen"] = 15] = "Fifteen";
    ExtractEnum2[ExtractEnum2["Sixteen"] = 16] = "Sixteen";
    ExtractEnum2[ExtractEnum2["Seventeen"] = 17] = "Seventeen";
    ExtractEnum2[ExtractEnum2["Eighteen"] = 18] = "Eighteen";
    ExtractEnum2[ExtractEnum2["Nineteen"] = 19] = "Nineteen";
    ExtractEnum2[ExtractEnum2["Twenty"] = 20] = "Twenty";
    return ExtractEnum2;
  })(ExtractEnum || {});
  const useXunCloud = () => {
    const userOptions = vue.ref({
      expireTimeOptions: [
        { label: "不限", value: ExpireTimeEnum$1.forever },
        { label: "1天", value: ExpireTimeEnum$1.oneDay },
        { label: "2天", value: ExpireTimeEnum$1.twoDay },
        { label: "3天", value: ExpireTimeEnum$1.threeDay },
        { label: "4天", value: ExpireTimeEnum$1.fourDay },
        { label: "5天", value: ExpireTimeEnum$1.fiveDay },
        { label: "6天", value: ExpireTimeEnum$1.sixDay },
        { label: "7天", value: ExpireTimeEnum$1.sevenDay }
      ],
      extractOptions: [
        { label: "不限", value: ExtractEnum.forever },
        { label: "1天", value: ExtractEnum.One },
        { label: "2天", value: ExtractEnum.Two },
        { label: "3天", value: ExtractEnum.Three },
        { label: "4天", value: ExtractEnum.Four },
        { label: "5天", value: ExtractEnum.Five },
        { label: "6天", value: ExtractEnum.Six },
        { label: "7天", value: ExtractEnum.Seven },
        { label: "8天", value: ExtractEnum.Eight },
        { label: "9天", value: ExtractEnum.Nine },
        { label: "10天", value: ExtractEnum.Ten },
        { label: "11天", value: ExtractEnum.Eleven },
        { label: "12天", value: ExtractEnum.Twelve },
        { label: "13天", value: ExtractEnum.Thirteen },
        { label: "14天", value: ExtractEnum.Fourteen },
        { label: "15天", value: ExtractEnum.Fifteen },
        { label: "16天", value: ExtractEnum.Sixteen },
        { label: "17天", value: ExtractEnum.Seventeen },
        { label: "18天", value: ExtractEnum.Eighteen },
        { label: "19天", value: ExtractEnum.Nineteen },
        { label: "20天", value: ExtractEnum.Twenty }
      ],
      shareDelay: 500,
      allowQuickAccess: true,
      expireTime: ExpireTimeEnum$1.forever,
      extractNumber: ExtractEnum.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false
    });
    const handleTransformFormat = (info3) => {
      if (!info3.error_description) {
        let time;
        switch (info3.expireTime) {
          case ExpireTimeEnum$1.forever:
            time = "永久";
            break;
          case ExpireTimeEnum$1.oneDay:
            time = "1天";
            break;
          case ExpireTimeEnum$1.twoDay:
            time = "2天";
            break;
          case ExpireTimeEnum$1.threeDay:
            time = "3天";
            break;
          case ExpireTimeEnum$1.fourDay:
            time = "4天";
            break;
          case ExpireTimeEnum$1.fiveDay:
            time = "5天";
            break;
          case ExpireTimeEnum$1.sixDay:
            time = "6天";
            break;
          case ExpireTimeEnum$1.sevenDay:
            time = "7天";
            break;
          default:
            time = "未知";
        }
        let codeNumber;
        switch (info3.extractNumber) {
          case ExtractEnum.forever:
            codeNumber = "无限";
            break;
          case ExtractEnum.One:
            codeNumber = "1次";
            break;
          case ExtractEnum.Two:
            codeNumber = "2次";
            break;
          case ExtractEnum.Three:
            codeNumber = "3次";
            break;
          case ExtractEnum.Four:
            codeNumber = "4次";
            break;
          case ExtractEnum.Five:
            codeNumber = "5次";
            break;
          case ExtractEnum.Six:
            codeNumber = "6次";
            break;
          case ExtractEnum.Seven:
            codeNumber = "7次";
            break;
          case ExtractEnum.Eight:
            codeNumber = "8次";
            break;
          case ExtractEnum.Nine:
            codeNumber = "9次";
            break;
          case ExtractEnum.Ten:
            codeNumber = "10次";
            break;
          case ExtractEnum.Eleven:
            codeNumber = "11次";
            break;
          case ExtractEnum.Twelve:
            codeNumber = "12次";
            break;
          case ExtractEnum.Thirteen:
            codeNumber = "13次";
            break;
          case ExtractEnum.Fourteen:
            codeNumber = "14次";
            break;
          case ExtractEnum.Fifteen:
            codeNumber = "15次";
            break;
          case ExtractEnum.Sixteen:
            codeNumber = "16次";
            break;
          case ExtractEnum.Seventeen:
            codeNumber = "17次";
            break;
          case ExtractEnum.Eighteen:
            codeNumber = "18次";
            break;
          case ExtractEnum.Nineteen:
            codeNumber = "19次";
            break;
          case ExtractEnum.Twenty:
            codeNumber = "20次";
            break;
          default:
            codeNumber = "未知";
        }
        return `文件名称: ${info3.fileName} ${info3.share_text} 有效期: ${time} 有效次数:${codeNumber}`;
      } else {
        return `文件名称: ${info3.fileName} 分享错误信息: ${info3.error_description}`;
      }
    };
    const handleBatchOperation = async () => {
      var _a;
      const tempDOM = document.querySelector(".pan-web");
      const selectedRowKeys = tempDOM.__vue__.$parent.fileSelected ?? [];
      const allInfo = tempDOM.__vue__.$store.state.drive.all ?? {};
      const selectRowInfos = selectedRowKeys.map((id) => allInfo[id]) ?? [];
      const temp1 = findLocalStorageKeysWithPrefix("captcha_") ?? {};
      const temp2 = findLocalStorageKeysWithPrefix("credentials_") ?? {};
      if (!selectedRowKeys.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      const headers = {
        "x-client-id": "",
        "x-device-id": (_a = localStorage.getItem("deviceid")) == null ? void 0 : _a.slice(6, 38),
        "x-captcha-token": temp1.token,
        "authorization": `${temp2.token_type} ` + temp2.access_token
      };
      userOptions.value.isSharing = true;
      userOptions.value.selectFileInfoList = [];
      for (let item of selectRowInfos) {
        userOptions.value.selectFileInfoList.push({
          id: item == null ? void 0 : item.id,
          fileName: (item == null ? void 0 : item.name) ?? "",
          expireTime: userOptions.value.expireTime,
          extractNumber: userOptions.value.extractNumber
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { data: data2 } = await axios$1({
          method: "post",
          url: "https://api-pan.xunlei.com/drive/v1/share",
          data: {
            expiration_days: fileInfo.expireTime + "",
            file_ids: [fileInfo.id],
            params: {
              subscribe_push: "false"
            },
            restore_limit: fileInfo.extractNumber + "",
            share_to: "copy",
            title: "云盘资源分享"
          },
          headers
        }).catch(({ response }) => response);
        let tempData = {
          ...fileInfo,
          share_text: (data2 == null ? void 0 : data2.share_text) ?? "",
          share_url: (data2 == null ? void 0 : data2.share_url) ?? "",
          error_description: (data2 == null ? void 0 : data2.error_description) ?? ""
        };
        userOptions.value.shareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.shareInfo = [];
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-3eced9d8"), n = n(), vue.popScopeId(), n);
  const _hoisted_1$1 = { class: "xunCloud" };
  const _hoisted_2$1 = { class: "xunCloud_option" };
  const _hoisted_3$1 = { class: "xunCloud_option_item" };
  const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "延迟毫秒:", -1));
  const _hoisted_5$1 = { class: "xunCloud_option_item" };
  const _hoisted_6$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "提取次数:", -1));
  const _hoisted_7$1 = { class: "xunCloud_option_item" };
  const _hoisted_8$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "提取期限:", -1));
  const _hoisted_9$1 = { class: "xunCloud_operation" };
  const _hoisted_10$1 = { class: "xunCloud_progress" };
  const _hoisted_11$1 = { class: "xunCloud_result" };
  const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = useXunCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_select = vue.resolveComponent("t-select");
        const _component_t_checkbox = vue.resolveComponent("t-checkbox");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
          vue.createElementVNode("div", _hoisted_2$1, [
            vue.createElementVNode("div", _hoisted_3$1, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  _hoisted_4$1
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5$1, [
              _hoisted_6$1,
              vue.createVNode(_component_t_select, {
                modelValue: vue.unref(userOptions).extractNumber,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).extractNumber = $event),
                placeholder: "请选择提取次数",
                "auto-width": "",
                options: vue.unref(userOptions).extractOptions
              }, null, 8, ["modelValue", "options"])
            ]),
            vue.createElementVNode("div", _hoisted_7$1, [
              _hoisted_8$1,
              vue.createVNode(_component_t_select, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).expireTime = $event),
                placeholder: "请选择提取期限",
                "auto-width": "",
                options: vue.unref(userOptions).expireTimeOptions
              }, null, 8, ["modelValue", "options"])
            ]),
            vue.createVNode(_component_t_checkbox, {
              modelValue: vue.unref(userOptions).allowQuickAccess,
              "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).allowQuickAccess = $event)
            }, {
              default: vue.withCtx(() => [
                vue.createTextVNode("允许快速访问分享链接(无用功能)")
              ]),
              _: 1
            }, 8, ["modelValue"])
          ]),
          vue.createElementVNode("div", _hoisted_9$1, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_10$1, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_11$1, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudXun = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3eced9d8"]]);
  var ExpireTimeEnum = /* @__PURE__ */ ((ExpireTimeEnum2) => {
    ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
    ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
    ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 30] = "thirtyDay";
    return ExpireTimeEnum2;
  })(ExpireTimeEnum || {});
  var PwdEnum = /* @__PURE__ */ ((PwdEnum2) => {
    PwdEnum2[PwdEnum2["no"] = 0] = "no";
    PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
    return PwdEnum2;
  })(PwdEnum || {});
  var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
  function getDefaultExportFromCjs(x) {
    return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
  }
  var dayjs_min = { exports: {} };
  (function(module, exports) {
    !function(t, e) {
      module.exports = e();
    }(commonjsGlobal, function() {
      var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "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(t2) {
        var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
        return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
      } }, m = function(t2, e2, n2) {
        var r2 = String(t2);
        return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
      }, v = { s: m, z: function(t2) {
        var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
        return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
      }, m: function t2(e2, n2) {
        if (e2.date() < n2.date())
          return -t2(n2, e2);
        var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
        return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
      }, a: function(t2) {
        return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
      }, p: function(t2) {
        return { M: c, y: h2, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
      }, u: function(t2) {
        return void 0 === t2;
      } }, g = "en", D = {};
      D[g] = M;
      var p = "$isDayjsObject", S = function(t2) {
        return t2 instanceof _ || !(!t2 || !t2[p]);
      }, w = function t2(e2, n2, r2) {
        var i2;
        if (!e2)
          return g;
        if ("string" == typeof e2) {
          var s2 = e2.toLowerCase();
          D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
          var u2 = e2.split("-");
          if (!i2 && u2.length > 1)
            return t2(u2[0]);
        } else {
          var a2 = e2.name;
          D[a2] = e2, i2 = a2;
        }
        return !r2 && i2 && (g = i2), i2 || !r2 && g;
      }, O = function(t2, e2) {
        if (S(t2))
          return t2.clone();
        var n2 = "object" == typeof e2 ? e2 : {};
        return n2.date = t2, n2.args = arguments, new _(n2);
      }, b = v;
      b.l = w, b.i = S, b.w = function(t2, e2) {
        return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
      };
      var _ = function() {
        function M2(t2) {
          this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
        }
        var m2 = M2.prototype;
        return m2.parse = function(t2) {
          this.$d = function(t3) {
            var e2 = t3.date, n2 = t3.utc;
            if (null === e2)
              return /* @__PURE__ */ new Date(NaN);
            if (b.u(e2))
              return /* @__PURE__ */ new Date();
            if (e2 instanceof Date)
              return new Date(e2);
            if ("string" == typeof e2 && !/Z$/i.test(e2)) {
              var r2 = e2.match($);
              if (r2) {
                var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
                return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
              }
            }
            return new Date(e2);
          }(t2), this.init();
        }, m2.init = function() {
          var t2 = this.$d;
          this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
        }, m2.$utils = function() {
          return b;
        }, m2.isValid = function() {
          return !(this.$d.toString() === l);
        }, m2.isSame = function(t2, e2) {
          var n2 = O(t2);
          return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
        }, m2.isAfter = function(t2, e2) {
          return O(t2) < this.startOf(e2);
        }, m2.isBefore = function(t2, e2) {
          return this.endOf(e2) < O(t2);
        }, m2.$g = function(t2, e2, n2) {
          return b.u(t2) ? this[e2] : this.set(n2, t2);
        }, m2.unix = function() {
          return Math.floor(this.valueOf() / 1e3);
        }, m2.valueOf = function() {
          return this.$d.getTime();
        }, m2.startOf = function(t2, e2) {
          var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {
            var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
            return r2 ? i2 : i2.endOf(a);
          }, $2 = function(t3, e3) {
            return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
          }, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
          switch (f2) {
            case h2:
              return r2 ? l2(1, 0) : l2(31, 11);
            case c:
              return r2 ? l2(1, M3) : l2(0, M3 + 1);
            case o:
              var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
              return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
            case a:
            case d:
              return $2(v2 + "Hours", 0);
            case u:
              return $2(v2 + "Minutes", 1);
            case s:
              return $2(v2 + "Seconds", 2);
            case i:
              return $2(v2 + "Milliseconds", 3);
            default:
              return this.clone();
          }
        }, m2.endOf = function(t2) {
          return this.startOf(t2, false);
        }, m2.$set = function(t2, e2) {
          var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
          if (o2 === c || o2 === h2) {
            var y2 = this.clone().set(d, 1);
            y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
          } else
            l2 && this.$d[l2]($2);
          return this.init(), this;
        }, m2.set = function(t2, e2) {
          return this.clone().$set(t2, e2);
        }, m2.get = function(t2) {
          return this[b.p(t2)]();
        }, m2.add = function(r2, f2) {
          var d2, l2 = this;
          r2 = Number(r2);
          var $2 = b.p(f2), y2 = function(t2) {
            var e2 = O(l2);
            return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
          };
          if ($2 === c)
            return this.set(c, this.$M + r2);
          if ($2 === h2)
            return this.set(h2, this.$y + r2);
          if ($2 === a)
            return y2(1);
          if ($2 === o)
            return y2(7);
          var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
          return b.w(m3, this);
        }, m2.subtract = function(t2, e2) {
          return this.add(-1 * t2, e2);
        }, m2.format = function(t2) {
          var e2 = this, n2 = this.$locale();
          if (!this.isValid())
            return n2.invalidDate || l;
          var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function(t3, n3, i3, s3) {
            return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
          }, d2 = function(t3) {
            return b.s(s2 % 12 || 12, t3, "0");
          }, $2 = f2 || function(t3, e3, n3) {
            var r3 = t3 < 12 ? "AM" : "PM";
            return n3 ? r3.toLowerCase() : r3;
          };
          return r2.replace(y, function(t3, r3) {
            return r3 || function(t4) {
              switch (t4) {
                case "YY":
                  return String(e2.$y).slice(-2);
                case "YYYY":
                  return b.s(e2.$y, 4, "0");
                case "M":
                  return a2 + 1;
                case "MM":
                  return b.s(a2 + 1, 2, "0");
                case "MMM":
                  return h3(n2.monthsShort, a2, c2, 3);
                case "MMMM":
                  return h3(c2, a2);
                case "D":
                  return e2.$D;
                case "DD":
                  return b.s(e2.$D, 2, "0");
                case "d":
                  return String(e2.$W);
                case "dd":
                  return h3(n2.weekdaysMin, e2.$W, o2, 2);
                case "ddd":
                  return h3(n2.weekdaysShort, e2.$W, o2, 3);
                case "dddd":
                  return o2[e2.$W];
                case "H":
                  return String(s2);
                case "HH":
                  return b.s(s2, 2, "0");
                case "h":
                  return d2(1);
                case "hh":
                  return d2(2);
                case "a":
                  return $2(s2, u2, true);
                case "A":
                  return $2(s2, u2, false);
                case "m":
                  return String(u2);
                case "mm":
                  return b.s(u2, 2, "0");
                case "s":
                  return String(e2.$s);
                case "ss":
                  return b.s(e2.$s, 2, "0");
                case "SSS":
                  return b.s(e2.$ms, 3, "0");
                case "Z":
                  return i2;
              }
              return null;
            }(t3) || i2.replace(":", "");
          });
        }, m2.utcOffset = function() {
          return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
        }, m2.diff = function(r2, d2, l2) {
          var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
            return b.m(y2, m3);
          };
          switch (M3) {
            case h2:
              $2 = D2() / 12;
              break;
            case c:
              $2 = D2();
              break;
            case f:
              $2 = D2() / 3;
              break;
            case o:
              $2 = (g2 - v2) / 6048e5;
              break;
            case a:
              $2 = (g2 - v2) / 864e5;
              break;
            case u:
              $2 = g2 / n;
              break;
            case s:
              $2 = g2 / e;
              break;
            case i:
              $2 = g2 / t;
              break;
            default:
              $2 = g2;
          }
          return l2 ? $2 : b.a($2);
        }, m2.daysInMonth = function() {
          return this.endOf(c).$D;
        }, m2.$locale = function() {
          return D[this.$L];
        }, m2.locale = function(t2, e2) {
          if (!t2)
            return this.$L;
          var n2 = this.clone(), r2 = w(t2, e2, true);
          return r2 && (n2.$L = r2), n2;
        }, m2.clone = function() {
          return b.w(this.$d, this);
        }, m2.toDate = function() {
          return new Date(this.valueOf());
        }, m2.toJSON = function() {
          return this.isValid() ? this.toISOString() : null;
        }, m2.toISOString = function() {
          return this.$d.toISOString();
        }, m2.toString = function() {
          return this.$d.toUTCString();
        }, M2;
      }(), k = _.prototype;
      return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) {
        k[t2[1]] = function(e2) {
          return this.$g(e2, t2[0], t2[1]);
        };
      }), O.extend = function(t2, e2) {
        return t2.$i || (t2(e2, _, O), t2.$i = true), O;
      }, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
        return O(1e3 * t2);
      }, O.en = D[g], O.Ls = D, O.p = {}, O;
    });
  })(dayjs_min);
  var dayjs_minExports = dayjs_min.exports;
  const dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
  const useAliCloud = () => {
    const userOptions = vue.ref({
      shareDelay: 500,
      expireTime: ExpireTimeEnum.forever,
      shareInfo: [],
      shareInfoUserSee: "",
      shareProgress: 0,
      selectFileInfoList: [],
      isSharing: false,
      pwd: "",
      pwdType: PwdEnum.yes
    });
    const handleTransformFormat = (info3) => {
      if (!info3.display_message) {
        let time;
        switch (info3.expireTimeEnum) {
          case ExpireTimeEnum.forever:
            time = "永久";
            break;
          case ExpireTimeEnum.sevenDay:
            time = "7天";
            break;
          case ExpireTimeEnum.thirtyDay:
            time = "30天";
            break;
          default:
            time = "未知";
        }
        return `文件名称: ${info3.fileName} 链接:${info3.share_url} 提取码:${info3.pwd ?? "无"} 有效期: ${time} `;
      } else {
        return `文件名称: ${info3.fileName} 错误信息${info3.display_message}`;
      }
    };
    const handleBatchOperation = async () => {
      var _a, _b, _c, _d, _e;
      const reactDOM = document.querySelector("div[class^='node-list--']");
      if (!reactDOM) {
        throw new Error("初始化阿里云盘失败,DOM未找到");
      }
      const key2 = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
        (key22) => key22.startsWith("__reactFiber$")
      );
      if (!key2) {
        throw new Error("初始化阿里云盘失败,key未找到");
      }
      const selectedRowInfos = ((_e = (_d = (_c = (_b = reactDOM == null ? void 0 : reactDOM[key2]) == null ? void 0 : _b["return"]) == null ? void 0 : _c.pendingProps) == null ? void 0 : _d.listModel) == null ? void 0 : _e.selectedItems) ?? [];
      if (!selectedRowInfos.length) {
        return MessagePlugin.warning("请选择要分享的文件!");
      }
      userOptions.value.isSharing = true;
      userOptions.value.selectFileInfoList = [];
      const token = JSON.parse(localStorage.getItem("token") ?? `{}`) ?? {};
      for (let item of selectedRowInfos) {
        userOptions.value.selectFileInfoList.push({
          id: item == null ? void 0 : item.fileId,
          fileName: (item == null ? void 0 : item.name) ?? "",
          driveId: (item == null ? void 0 : item.driveId) ?? "",
          expireTime: (() => {
            let day;
            switch (userOptions.value.expireTime) {
              case ExpireTimeEnum.sevenDay:
                day = 7;
                break;
              case ExpireTimeEnum.thirtyDay:
                day = 30;
                break;
            }
            if (!day)
              return "";
            return dayjs().add(day, "d");
          })(),
          expireTimeEnum: userOptions.value.expireTime,
          //后期回显用
          pwd: userOptions.value.pwdType === PwdEnum.yes ? generateRandomString(4) : ""
        });
      }
      for (let fileInfo of userOptions.value.selectFileInfoList) {
        const { data: data2 } = await axios$1({
          method: "post",
          url: "https://api.aliyundrive.com/adrive/v2/share_link/create",
          data: {
            "drive_id": fileInfo.driveId,
            "expiration": fileInfo.expireTime,
            "file_id_list": [fileInfo.id],
            "sync_to_homepage": false,
            "share_pwd": fileInfo.pwd
          },
          headers: {
            "authorization": `${token.token_type} ${token.access_token}`
          }
        }).catch(({ response }) => response);
        let tempData = {
          ...fileInfo,
          share_url: (data2 == null ? void 0 : data2.share_url) ?? "",
          share_name: (data2 == null ? void 0 : data2.share_name) ?? "",
          display_message: (data2 == null ? void 0 : data2.display_message) || (data2 == null ? void 0 : data2.message)
        };
        userOptions.value.shareInfo.push(tempData);
        userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
        userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
        await new Promise((resolve2) => {
          setTimeout(() => {
            resolve2();
          }, userOptions.value.shareDelay);
        });
      }
      userOptions.value.shareProgress = 100;
      userOptions.value.isSharing = false;
      await MessagePlugin.success("批量分享成功,请自行查看结果");
    };
    const handleEnd = () => {
      userOptions.value.selectFileInfoList = [];
      userOptions.value.shareInfo = [];
      userOptions.value.shareInfoUserSee = "";
      userOptions.value.shareProgress = 0;
    };
    const copyValue = () => {
      CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
        MessagePlugin.success("复制成功");
      }).catch(() => {
        MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
      });
    };
    const download = () => {
      DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
    };
    return {
      userOptions,
      handleBatchOperation,
      handleTransformFormat,
      handleEnd,
      copyValue,
      download
    };
  };
  const _withScopeId = (n) => (vue.pushScopeId("data-v-cc7eb710"), n = n(), vue.popScopeId(), n);
  const _hoisted_1 = { class: "aliCloud" };
  const _hoisted_2 = { class: "aliCloud_option" };
  const _hoisted_3 = { class: "aliCloud_option_item" };
  const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "延迟毫秒:", -1));
  const _hoisted_5 = { class: "aliCloud_option_item" };
  const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "有效期:", -1));
  const _hoisted_7 = { class: "aliCloud_option_item" };
  const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "分享形式:", -1));
  const _hoisted_9 = { class: "aliCloud_operation" };
  const _hoisted_10 = { class: "aliCloud_progress" };
  const _hoisted_11 = { class: "aliCloud_result" };
  const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
    __name: "index",
    setup(__props, { expose: __expose }) {
      const {
        userOptions,
        handleBatchOperation,
        handleEnd,
        copyValue,
        download
      } = useAliCloud();
      __expose({
        handleEnd
      });
      return (_ctx, _cache) => {
        const _component_t_tooltip = vue.resolveComponent("t-tooltip");
        const _component_t_input_number = vue.resolveComponent("t-input-number");
        const _component_t_radio_button = vue.resolveComponent("t-radio-button");
        const _component_t_radio_group = vue.resolveComponent("t-radio-group");
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_space = vue.resolveComponent("t-space");
        const _component_t_progress = vue.resolveComponent("t-progress");
        const _component_t_textarea = vue.resolveComponent("t-textarea");
        return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
          vue.createElementVNode("div", _hoisted_2, [
            vue.createElementVNode("div", _hoisted_3, [
              vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
                default: vue.withCtx(() => [
                  _hoisted_4
                ]),
                _: 1
              }),
              vue.createVNode(_component_t_input_number, {
                modelValue: vue.unref(userOptions).shareDelay,
                "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
                step: "100"
              }, null, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_5, [
              _hoisted_6,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).expireTime,
                "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expireTime = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum).sevenDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("7天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum).thirtyDay
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("30天")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(ExpireTimeEnum).forever
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("永久")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"])
            ]),
            vue.createElementVNode("div", _hoisted_7, [
              _hoisted_8,
              vue.createVNode(_component_t_radio_group, {
                modelValue: vue.unref(userOptions).pwdType,
                "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
              }, {
                default: vue.withCtx(() => [
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(PwdEnum).no
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("无提取码")
                    ]),
                    _: 1
                  }, 8, ["value"]),
                  vue.createVNode(_component_t_radio_button, {
                    value: vue.unref(PwdEnum).yes
                  }, {
                    default: vue.withCtx(() => [
                      vue.createTextVNode("随机提取码")
                    ]),
                    _: 1
                  }, 8, ["value"])
                ]),
                _: 1
              }, 8, ["modelValue"])
            ])
          ]),
          vue.createElementVNode("div", _hoisted_9, [
            vue.createVNode(_component_t_space, null, {
              default: vue.withCtx(() => [
                vue.createVNode(_component_t_button, {
                  onClick: vue.unref(handleBatchOperation),
                  loading: vue.unref(userOptions).isSharing
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("批量分享")
                  ]),
                  _: 1
                }, 8, ["onClick", "loading"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(copyValue)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("复制到剪贴板")
                  ]),
                  _: 1
                }, 8, ["onClick"]),
                vue.createVNode(_component_t_button, {
                  theme: "default",
                  onClick: vue.unref(download)
                }, {
                  default: vue.withCtx(() => [
                    vue.createTextVNode("下载分享链接")
                  ]),
                  _: 1
                }, 8, ["onClick"])
              ]),
              _: 1
            })
          ]),
          vue.createElementVNode("div", _hoisted_10, [
            vue.createVNode(_component_t_progress, {
              percentage: vue.unref(userOptions).shareProgress,
              color: { from: " #84fab0", to: "#00A870" }
            }, null, 8, ["percentage"])
          ]),
          vue.createElementVNode("div", _hoisted_11, [
            vue.createVNode(_component_t_textarea, {
              readonly: "",
              autosize: { minRows: 10 },
              value: vue.unref(userOptions).shareInfoUserSee,
              placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx) 普通用户每天只能使用分享功能5次;会员用户和Lv.1及以上的达人用户,每天可使用分享次数1000次。超过上限后,将提示「今日分享次数已达上限」\r\n        "
            }, null, 8, ["value"])
          ])
        ]);
      };
    }
  });
  const cloudAli = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-cc7eb710"]]);
  const _sfc_main = /* @__PURE__ */ vue.defineComponent({
    __name: "App",
    setup(__props) {
      const visible = vue.ref(false);
      const operationRef = vue.ref();
      const cloudComponent = vue.shallowRef({
        cloudTianyi,
        cloudBaidu,
        cloud115,
        cloud123,
        cloudLanZou,
        cloudQuark,
        cloud139,
        cloudXun,
        cloudAli
      });
      const handleOpenDrawerClick = () => {
        visible.value = true;
      };
      const handleClose = () => {
        visible.value = false;
        operationRef.value.handleEnd();
      };
      return (_ctx, _cache) => {
        const _component_t_button = vue.resolveComponent("t-button");
        const _component_t_drawer = vue.resolveComponent("t-drawer");
        return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
          vue.unref(cloudInfoStore).currentCloud === vue.unref(CloudInfoEnum).cloudAli ? (vue.openBlock(), vue.createElementBlock("div", {
            key: 0,
            onClick: handleOpenDrawerClick,
            style: { "display": "flex", "flex-direction": "column", "align-items": "center" }
          }, [
            vue.createVNode(vue.unref(CalendarIcon), { slot: "icon" }),
            vue.createElementVNode("span", { onClick: handleOpenDrawerClick }, "分享")
          ])) : (vue.openBlock(), vue.createBlock(_component_t_button, {
            key: 1,
            onClick: handleOpenDrawerClick
          }, {
            default: vue.withCtx(() => [
              vue.createTextVNode("批量分享操作")
            ]),
            _: 1
          })),
          vue.createVNode(_component_t_drawer, {
            visible: visible.value,
            "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
            header: vue.unref(cloudInfoStore).cloudName,
            size: "600px",
            "on-confirm": handleClose,
            onClose: handleClose,
            placement: "right",
            closeOnOverlayClick: false
          }, {
            default: vue.withCtx(() => [
              (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(cloudComponent.value[vue.unref(cloudInfoStore).cloudKey]), {
                ref_key: "operationRef",
                ref: operationRef
              }, null, 512))
            ]),
            _: 1
          }, 8, ["visible", "header"])
        ], 64);
      };
    }
  });
  const TDesign = (app) => {
    app.use(Button).use(Drawer).use(Radio).use(Space).use(RadioGroup).use(RadioButton).use(Textarea).use(InputNumber).use(Progress).use(Checkbox).use(Tooltip).use(Collapse).use(CollapsePanel).use(Input).use(Table).use(Select).use(Option);
  };
  const Mount = () => {
    const app = document.createElement("div");
    switch (cloudInfoStore.currentCloud) {
      case CloudInfoEnum.cloudBaidu:
        {
          observeDOMChanges("body", () => {
            const tempDOM = document.querySelector("div.wp-s-header__right");
            tempDOM == null ? void 0 : tempDOM.insertBefore(app, tempDOM == null ? void 0 : tempDOM.firstChild);
          });
        }
        break;
      case CloudInfoEnum.cloud115:
        {
          setTimeout(() => {
            var _a;
            const temp = document.createElement("li");
            app.style.cssText = `
                    margin-top: 12px;
                    margin-left: 10px;
                `;
            temp.append(app);
            (_a = document.querySelector("div.navigation-ceiling ul")) == null ? void 0 : _a.append(temp);
          }, 1e3);
        }
        break;
      case CloudInfoEnum.cloud123:
        {
          observeDOMChanges("body", () => {
            var _a;
            app.style.textAlign = "center";
            (_a = document.querySelector(".ant-menu-light")) == null ? void 0 : _a.append(app);
          });
        }
        break;
      case CloudInfoEnum.cloudLanZou:
        {
          setTimeout(() => {
            var _a;
            app.style.cssText = `
            margin-top: -2px;
        `;
            (_a = document.querySelector(".toum")) == null ? void 0 : _a.append(app);
          }, 2e3);
        }
        break;
      case CloudInfoEnum.cloudTianyi:
        {
          observeDOMChanges("body", () => {
            var _a;
            (_a = document.querySelector("ul.nav-menu")) == null ? void 0 : _a.append(app);
          });
        }
        break;
      case CloudInfoEnum.cloudQuark:
        {
          observeDOMChanges("body", () => {
            setTimeout(() => {
              var _a;
              const tempDOM = document.querySelector(".file-search-box");
              app.style.cssText = `
                margin-right:200px;
            `;
              (_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.insertBefore(app, tempDOM);
            }, 1e3);
          });
        }
        break;
      case CloudInfoEnum.cloud139:
        {
          observeDOMChanges(".document_main_warp", () => {
            var _a;
            const tempDOM = document.querySelector(".document_top_upload_button");
            app.style.cssText = `
                display:inline-block;
                margin-top:20px;
            `;
            (_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.append(app, tempDOM);
          });
        }
        break;
      case CloudInfoEnum.cloudXun:
        {
          setTimeout(() => {
            const tempDOM = document.querySelector(".pan-list-menu");
            app.style.cssText = `
                    margin-left: 10px;  
                    margin-top: -2px;
                 `;
            tempDOM == null ? void 0 : tempDOM.append(app);
          }, 1e3);
        }
        break;
      case CloudInfoEnum.cloudAli:
        {
          observeDOMChanges("body", () => {
            var _a;
            const tempDOM = document.querySelector("div[class^='nav-tab-item--']");
            const iterator = tempDOM == null ? void 0 : tempDOM.classList;
            let name;
            for (const value of iterator) {
              if (value.startsWith("nav-tab-item"))
                name = value;
            }
            if (name) {
              app.classList.add(name);
              (_a = document.querySelector("div[class^='nav-tab-content--']")) == null ? void 0 : _a.append(app);
            } else {
              document.body.append(app);
            }
          });
        }
        break;
    }
    return app;
  };
  const bootstrap = () => {
    const app = vue.createApp(_sfc_main);
    app.use(Pinia);
    app.use(TDesign);
    app.mount(Mount());
  };
  void bootstrap();

})(Vue);