// ==UserScript== // @name 网盘批量分享工具(支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘) // @namespace dreamlove // @version 2.3.2 // @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 // @downloadURL none // ==/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]+)]/.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 * @author owenm * @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.shareInfo = []; 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.shareInfo = []; 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); }); } shareInfo.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.shareResultInfoList = []; 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 = () => { setTimeout(() => { const abc = document.querySelector("iframe"); const iframeWindow = abc.contentWindow; proxy({ //请求成功后进入0. onResponse: (response, handler) => { var _a, _b; if (handler.xhr.config.url.startsWith("/doupload.php")) { 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); } //@ts-ignore }, iframeWindow); }, 1e3); }; 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; 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.shareResultInfoList = []; 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.shareInfo = []; 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.shareResultInfoList = []; 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.shareInfo = []; 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.shareInfo = []; 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);