// ==UserScript==
// @name 网盘批量分享工具(支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘)
// @namespace dreamlove
// @version 2.3.1
// @author superBiuBiu
// @description 网盘文件批量分享,目前支持蓝奏云,115网盘,123网盘,百度网盘,夸克网盘,阿里云盘,天翼网盘,迅雷网盘,中国移动网盘~
// @iconURL https://www.google.com/s2/favicons?domain=dreamlove.top
// @supportURL https://github.com/superBiuBiuMan/sharelink/
// @match https://cloud.189.cn/*
// @match https://pan.baidu.com/disk/main*
// @match https://115.com/*
// @match https://www.123pan.com/*
// @match https://pan.quark.cn/*
// @match https://yun.139.com/*
// @match https://pan.xunlei.com/*
// @match https://www.aliyundrive.com/*
// @match https://lanzou.com/u
// @match https://www.lanzou.com/u
// @match https://www.lanzou.com/account.php
// @match https://up.woozooo.com/u
// @match https://up.woozooo.com/mydisk.php
// @match https://pc.woozooo.com/u
// @match https://pc.woozooo.com/mydisk.php
// @match https://lanzou.com/*
// @match https://www.lanzou.com/*
// @match https://pan.lanzou.com/*
// @require https://cdn.bootcdn.net/ajax/libs/vue/3.3.4/vue.global.prod.js
// @connect webapi.115.com
// @connect drive-pc.quark.cn
// @connect api-pan.xunlei.com
// @connect api.aliyundrive.com
// @grant GM_addStyle
// @grant GM_xmlhttpRequest
// @grant unsafeWindow
// @run-at document-body
// ==/UserScript==
(t=>{if(typeof GM_addStyle=="function"){GM_addStyle(t);return}const o=document.createElement("style");o.textContent=t,document.head.append(o)})(' :root{--td-screen-xs: 320px;--td-screen-sm: 768px;--td-screen-md: 992px;--td-screen-lg: 1200px;--td-screen-xl: 1400px;--td-screen-xxl: 1880px}.narrow-scrollbar{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.narrow-scrollbar::-webkit-scrollbar{width:8px;height:8px}.narrow-scrollbar::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:15px}.narrow-scrollbar::-webkit-scrollbar-thumb:vertical:hover,.narrow-scrollbar::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-fake-arrow path{transition:d .2s;stroke:currentcolor}.t-fake-arrow--active path{d:path("M3.75 10.2002L7.99274 5.7998L12.2361 10.0425")}.t-slide-down-enter-active,.t-slide-down-leave-active{transition:height .2s cubic-bezier(.38,0,.24,1)}:root,:root[theme-mode=light]{--td-brand-color-1: #f2f3ff;--td-brand-color-2: #d9e1ff;--td-brand-color-3: #b5c7ff;--td-brand-color-4: #8eabff;--td-brand-color-5: #618dff;--td-brand-color-6: #366ef4;--td-brand-color-7: #0052d9;--td-brand-color-8: #003cab;--td-brand-color-9: #002a7c;--td-brand-color-10: #001a57;--td-warning-color-1: #fff1e9;--td-warning-color-2: #ffd9c2;--td-warning-color-3: #ffb98c;--td-warning-color-4: #fa9550;--td-warning-color-5: #e37318;--td-warning-color-6: #be5a00;--td-warning-color-7: #954500;--td-warning-color-8: #713300;--td-warning-color-9: #532300;--td-warning-color-10: #3b1700;--td-error-color-1: #fff0ed;--td-error-color-2: #ffd8d2;--td-error-color-3: #ffb9b0;--td-error-color-4: #ff9285;--td-error-color-5: #f6685d;--td-error-color-6: #d54941;--td-error-color-7: #ad352f;--td-error-color-8: #881f1c;--td-error-color-9: #68070a;--td-error-color-10: #490002;--td-success-color-1: #e3f9e9;--td-success-color-2: #c6f3d7;--td-success-color-3: #92dab2;--td-success-color-4: #56c08d;--td-success-color-5: #2ba471;--td-success-color-6: #008858;--td-success-color-7: #006c45;--td-success-color-8: #005334;--td-success-color-9: #003b23;--td-success-color-10: #002515;--td-gray-color-1: #f3f3f3;--td-gray-color-2: #eee;--td-gray-color-3: #e8e8e8;--td-gray-color-4: #ddd;--td-gray-color-5: #c6c6c6;--td-gray-color-6: #a6a6a6;--td-gray-color-7: #8b8b8b;--td-gray-color-8: #777;--td-gray-color-9: #5e5e5e;--td-gray-color-10: #4b4b4b;--td-gray-color-11: #393939;--td-gray-color-12: #2c2c2c;--td-gray-color-13: #242424;--td-gray-color-14: #181818;--td-font-white-1: #ffffff;--td-font-white-2: rgba(255, 255, 255, .55);--td-font-white-3: rgba(255, 255, 255, .35);--td-font-white-4: rgba(255, 255, 255, .22);--td-font-gray-1: rgba(0, 0, 0, .9);--td-font-gray-2: rgba(0, 0, 0, .6);--td-font-gray-3: rgba(0, 0, 0, .4);--td-font-gray-4: rgba(0, 0, 0, .26);--td-brand-color: var(--td-brand-color-7);--td-warning-color: var(--td-warning-color-5);--td-error-color: var(--td-error-color-6);--td-success-color: var(--td-success-color-5);--td-brand-color-hover: var(--td-brand-color-6);--td-brand-color-focus: var(--td-brand-color-2);--td-brand-color-active: var(--td-brand-color-8);--td-brand-color-disabled: var(--td-brand-color-3);--td-brand-color-light: var(--td-brand-color-1);--td-brand-color-light-hover: var(--td-brand-color-2);--td-warning-color-hover: var(--td-warning-color-4);--td-warning-color-focus: var(--td-warning-color-2);--td-warning-color-active: var(--td-warning-color-6);--td-warning-color-disabled: var(--td-warning-color-3);--td-warning-color-light: var(--td-warning-color-1);--td-warning-color-light-hover: var(--td-warning-color-2);--td-error-color-hover: var(--td-error-color-5);--td-error-color-focus: var(--td-error-color-2);--td-error-color-active: var(--td-error-color-7);--td-error-color-disabled: var(--td-error-color-3);--td-error-color-light: var(--td-error-color-1);--td-error-color-light-hover: var(--td-error-color-2);--td-success-color-hover: var(--td-success-color-4);--td-success-color-focus: var(--td-success-color-2);--td-success-color-active: var(--td-success-color-6);--td-success-color-disabled: var(--td-success-color-3);--td-success-color-light: var(--td-success-color-1);--td-success-color-light-hover: var(--td-success-color-2);--td-mask-active: rgba(0, 0, 0, .6);--td-mask-disabled: rgba(255, 255, 255, .6);--td-bg-color-page: var(--td-gray-color-2);--td-bg-color-container: #fff;--td-bg-color-container-hover: var(--td-gray-color-1);--td-bg-color-container-active: var(--td-gray-color-3);--td-bg-color-container-select: #fff;--td-bg-color-secondarycontainer: var(--td-gray-color-1);--td-bg-color-secondarycontainer-hover: var(--td-gray-color-2);--td-bg-color-secondarycontainer-active: var(--td-gray-color-4);--td-bg-color-component: var(--td-gray-color-3);--td-bg-color-component-hover: var(--td-gray-color-4);--td-bg-color-component-active: var(--td-gray-color-6);--td-bg-color-secondarycomponent: var(--td-gray-color-4);--td-bg-color-secondarycomponent-hover: var(--td-gray-color-5);--td-bg-color-secondarycomponent-active: var(--td-gray-color-6);--td-bg-color-component-disabled: var(--td-gray-color-2);--td-bg-color-specialcomponent: #fff;--td-text-color-primary: var(--td-font-gray-1);--td-text-color-secondary: var(--td-font-gray-2);--td-text-color-placeholder: var(--td-font-gray-3);--td-text-color-disabled: var(--td-font-gray-4);--td-text-color-anti: #fff;--td-text-color-brand: var(--td-brand-color-7);--td-text-color-link: var(--td-brand-color-8);--td-border-level-1-color: var(--td-gray-color-3);--td-component-stroke: var(--td-gray-color-3);--td-border-level-2-color: var(--td-gray-color-4);--td-component-border: var(--td-gray-color-4);--td-shadow-1: 0 1px 10px rgba(0, 0, 0, .05), 0 4px 5px rgba(0, 0, 0, 8%), 0 2px 4px -1px rgba(0, 0, 0, 12%);--td-shadow-2: 0 3px 14px 2px rgba(0, 0, 0, .05), 0 8px 10px 1px rgba(0, 0, 0, 6%), 0 5px 5px -3px rgba(0, 0, 0, 10%);--td-shadow-3: 0 6px 30px 5px rgba(0, 0, 0, .05), 0 16px 24px 2px rgba(0, 0, 0, 4%), 0 8px 10px -5px rgba(0, 0, 0, 8%);--td-shadow-inset-top: inset 0 .5px 0 #dcdcdc;--td-shadow-inset-right: inset .5px 0 0 #dcdcdc;--td-shadow-inset-bottom: inset 0 -.5px 0 #dcdcdc;--td-shadow-inset-left: inset -.5px 0 0 #dcdcdc;--td-table-shadow-color: rgba(0, 0, 0, .08);--td-scrollbar-color: rgba(0, 0, 0, .1);--td-scrollbar-hover-color: rgba(0, 0, 0, .3);--td-scroll-track-color: #fff}:root[theme-mode=dark]{--td-brand-color-1: #1b2f51;--td-brand-color-2: #173463;--td-brand-color-3: #143975;--td-brand-color-4: #103d88;--td-brand-color-5: #0d429a;--td-brand-color-6: #054bbe;--td-brand-color-7: #2667d4;--td-brand-color-8: #4582e6;--td-brand-color-9: #699ef5;--td-brand-color-10: #96bbf8;--td-warning-color-1: #4f2a1d;--td-warning-color-2: #582f21;--td-warning-color-3: #733c23;--td-warning-color-4: #a75d2b;--td-warning-color-5: #cf6e2d;--td-warning-color-6: #dc7633;--td-warning-color-7: #e8935c;--td-warning-color-8: #ecbf91;--td-warning-color-9: #eed7bf;--td-warning-color-10: #f3e9dc;--td-error-color-1: #472324;--td-error-color-2: #5e2a2d;--td-error-color-3: #703439;--td-error-color-4: #83383e;--td-error-color-5: #a03f46;--td-error-color-6: #c64751;--td-error-color-7: #de6670;--td-error-color-8: #ec888e;--td-error-color-9: #edb1b6;--td-error-color-10: #eeced0;--td-success-color-1: #193a2a;--td-success-color-2: #1a4230;--td-success-color-3: #17533d;--td-success-color-4: #0d7a55;--td-success-color-5: #059465;--td-success-color-6: #43af8a;--td-success-color-7: #46bf96;--td-success-color-8: #80d2b6;--td-success-color-9: #b4e1d3;--td-success-color-10: #deede8;--td-gray-color-1: #f3f3f3;--td-gray-color-2: #eee;--td-gray-color-3: #e8e8e8;--td-gray-color-4: #ddd;--td-gray-color-5: #c6c6c6;--td-gray-color-6: #a6a6a6;--td-gray-color-7: #8b8b8b;--td-gray-color-8: #777;--td-gray-color-9: #5e5e5e;--td-gray-color-10: #4b4b4b;--td-gray-color-11: #393939;--td-gray-color-12: #2c2c2c;--td-gray-color-13: #242424;--td-gray-color-14: #181818;--td-font-white-1: rgba(255, 255, 255, .9);--td-font-white-2: rgba(255, 255, 255, .55);--td-font-white-3: rgba(255, 255, 255, .35);--td-font-white-4: rgba(255, 255, 255, .22);--td-font-gray-1: rgba(0, 0, 0, .9);--td-font-gray-2: rgba(0, 0, 0, .6);--td-font-gray-3: rgba(0, 0, 0, .4);--td-font-gray-4: rgba(0, 0, 0, .26);--td-brand-color: var(--td-brand-color-8);--td-warning-color: var(--td-warning-color-5);--td-error-color: var(--td-error-color-6);--td-success-color: var(--td-success-color-5);--td-brand-color-hover: var(--td-brand-color-7);--td-brand-color-focus: var(--td-brand-color-2);--td-brand-color-active: var(--td-brand-color-9);--td-brand-color-disabled: var(--td-brand-color-3);--td-brand-color-light: var(--td-brand-color-1);--td-brand-color-light-hover: var(--td-brand-color-2);--td-warning-color-hover: var(--td-warning-color-4);--td-warning-color-focus: var(--td-warning-color-2);--td-warning-color-active: var(--td-warning-color-6);--td-warning-color-disabled: var(--td-warning-color-3);--td-warning-color-light: var(--td-warning-color-1);--td-warning-color-light-hover: var(--td-warning-color-2);--td-error-color-hover: var(--td-error-color-5);--td-error-color-focus: var(--td-error-color-2);--td-error-color-active: var(--td-error-color-7);--td-error-color-disabled: var(--td-error-color-3);--td-error-color-light: var(--td-error-color-1);--td-error-color-light-hover: var(--td-error-color-2);--td-success-color-hover: var(--td-success-color-4);--td-success-color-focus: var(--td-success-color-2);--td-success-color-active: var(--td-success-color-6);--td-success-color-disabled: var(--td-success-color-3);--td-success-color-light: var(--td-success-color-1);--td-success-color-light-hover: var(--td-success-color-2);--td-mask-active: rgba(0, 0, 0, .4);--td-mask-disabled: rgba(0, 0, 0, .6);--td-bg-color-page: var(--td-gray-color-14);--td-bg-color-container: var(--td-gray-color-13);--td-bg-color-container-hover: var(--td-gray-color-12);--td-bg-color-container-active: var(--td-gray-color-10);--td-bg-color-container-select: var(--td-gray-color-9);--td-bg-color-secondarycontainer: var(--td-gray-color-12);--td-bg-color-secondarycontainer-hover: var(--td-gray-color-11);--td-bg-color-secondarycontainer-active: var(--td-gray-color-9);--td-bg-color-component: var(--td-gray-color-11);--td-bg-color-component-hover: var(--td-gray-color-10);--td-bg-color-component-active: var(--td-gray-color-9);--td-bg-color-secondarycomponent: var(--td-gray-color-10);--td-bg-color-secondarycomponent-hover: var(--td-gray-color-9);--td-bg-color-secondarycomponent-active: var(--td-gray-color-8);--td-bg-color-component-disabled: var(--td-gray-color-12);--td-bg-color-specialcomponent: transparent;--td-text-color-primary: var(--td-font-white-1);--td-text-color-secondary: var(--td-font-white-2);--td-text-color-placeholder: var(--td-font-white-3);--td-text-color-disabled: var(--td-font-white-4);--td-text-color-anti: #fff;--td-text-color-brand: var(--td-brand-color-8);--td-text-color-link: var(--td-brand-color-8);--td-border-level-1-color: var(--td-gray-color-11);--td-component-stroke: var(--td-gray-color-11);--td-border-level-2-color: var(--td-gray-color-9);--td-component-border: var(--td-gray-color-9);--td-shadow-1: 0 4px 6px rgba(0, 0, 0, .06), 0 1px 10px rgba(0, 0, 0, 8%), 0 2px 4px rgba(0, 0, 0, 12%);--td-shadow-2: 0 8px 10px rgba(0, 0, 0, .12), 0 3px 14px rgba(0, 0, 0, 10%), 0 5px 5px rgba(0, 0, 0, 16%);--td-shadow-3: 0 16px 24px rgba(0, 0, 0, .14), 0 6px 30px rgba(0, 0, 0, 12%), 0 8px 10px rgba(0, 0, 0, 20%);--td-shadow-inset-top: inset 0 .5px 0 #5e5e5e;--td-shadow-inset-right: inset .5px 0 0 #5e5e5e;--td-shadow-inset-bottom: inset 0 -.5px 0 #5e5e5e;--td-shadow-inset-left: inset -.5px 0 0 #5e5e5e;--td-table-shadow-color: rgba(0, 0, 0, .55);--td-scrollbar-color: rgba(255, 255, 255, .1);--td-scrollbar-hover-color: rgba(255, 255, 255, .3);--td-scroll-track-color: #333}:root{--td-radius-small: 2px;--td-radius-default: 3px;--td-radius-medium: 6px;--td-radius-large: 9px;--td-radius-extraLarge: 12px;--td-radius-round: 999px;--td-radius-circle: 50%}:root{--td-font-family: PingFang SC, Microsoft YaHei, Arial Regular;--td-font-family-medium: PingFang SC, Microsoft YaHei, Arial Medium;--td-font-size-link-small: 12px;--td-font-size-link-medium: 14px;--td-font-size-link-large: 16px;--td-font-size-mark-small: 12px;--td-font-size-mark-medium: 14px;--td-font-size-body-small: 12px;--td-font-size-body-medium: 14px;--td-font-size-body-large: 16px;--td-font-size-title-small: 14px;--td-font-size-title-medium: 16px;--td-font-size-title-large: 20px;--td-font-size-headline-small: 24px;--td-font-size-headline-medium: 28px;--td-font-size-headline-large: 36px;--td-font-size-display-medium: 48px;--td-font-size-display-large: 64px;--td-line-height-link-small: 20px;--td-line-height-link-medium: 22px;--td-line-height-link-large: 24px;--td-line-height-mark-small: 20px;--td-line-height-mark-medium: 22px;--td-line-height-body-small: 20px;--td-line-height-body-medium: 22px;--td-line-height-body-large: 24px;--td-line-height-title-small: 22px;--td-line-height-title-medium: 24px;--td-line-height-title-large: 28px;--td-line-height-headline-small: 32px;--td-line-height-headline-medium: 36px;--td-line-height-headline-large: 44px;--td-line-height-display-medium: 56px;--td-line-height-display-large: 72px;--td-font-link-small: var(--td-font-size-link-small) / var(--td-line-height-link-small) var(--td-font-family);--td-font-link-medium: var(--td-font-size-link-medium) / var(--td-line-height-link-medium) var(--td-font-family);--td-font-link-large: var(--td-font-size-link-large) / var(--td-line-height-link-large) var(--td-font-family);--td-font-mark-small: 600 var(--td-font-size-mark-small) / var(--td-line-height-mark-small) var(--td-font-family);--td-font-mark-medium: 600 var(--td-font-size-mark-medium) / var(--td-line-height-mark-medium) var(--td-font-family);--td-font-body-small: var(--td-font-size-body-small) / var(--td-line-height-body-small) var(--td-font-family);--td-font-body-medium: var(--td-font-size-body-medium) / var(--td-line-height-body-medium) var(--td-font-family);--td-font-body-large: var(--td-font-size-body-large) / var(--td-line-height-body-large) var(--td-font-family);--td-font-title-small: 600 var(--td-font-size-title-small) / var(--td-line-height-title-small) var(--td-font-family);--td-font-title-medium: 600 var(--td-font-size-title-medium) / var(--td-line-height-title-medium) var(--td-font-family);--td-font-title-large: 600 var(--td-font-size-title-large) / var(--td-line-height-title-large) var(--td-font-family);--td-font-headline-small: 600 var(--td-font-size-headline-small) / var(--td-line-height-headline-small) var(--td-font-family);--td-font-headline-medium: 600 var(--td-font-size-headline-medium) / var(--td-line-height-headline-medium) var(--td-font-family);--td-font-headline-large: 600 var(--td-font-size-headline-large) / var(--td-line-height-headline-large) var(--td-font-family);--td-font-display-medium: 600 var(--td-font-size-display-medium) / var(--td-line-height-display-medium) var(--td-font-family);--td-font-display-large: 600 var(--td-font-size-display-large) / var(--td-line-height-display-large) var(--td-font-family)}:root{--td-size-1: 2px;--td-size-2: 4px;--td-size-3: 6px;--td-size-4: 8px;--td-size-5: 12px;--td-size-6: 16px;--td-size-7: 20px;--td-size-8: 24px;--td-size-9: 28px;--td-size-10: 32px;--td-size-11: 36px;--td-size-12: 40px;--td-size-13: 48px;--td-size-14: 56px;--td-size-15: 64px;--td-size-16: 72px;--td-comp-size-xxxs: var(--td-size-6);--td-comp-size-xxs: var(--td-size-7);--td-comp-size-xs: var(--td-size-8);--td-comp-size-s: var(--td-size-9);--td-comp-size-m: var(--td-size-10);--td-comp-size-l: var(--td-size-11);--td-comp-size-xl: var(--td-size-12);--td-comp-size-xxl: var(--td-size-13);--td-comp-size-xxxl: var(--td-size-14);--td-comp-size-xxxxl: var(--td-size-15);--td-comp-size-xxxxxl: var(--td-size-16);--td-pop-padding-s: var(--td-size-2);--td-pop-padding-m: var(--td-size-3);--td-pop-padding-l: var(--td-size-4);--td-pop-padding-xl: var(--td-size-5);--td-pop-padding-xxl: var(--td-size-6);--td-comp-paddingLR-xxs: var(--td-size-1);--td-comp-paddingLR-xs: var(--td-size-2);--td-comp-paddingLR-s: var(--td-size-4);--td-comp-paddingLR-m: var(--td-size-5);--td-comp-paddingLR-l: var(--td-size-6);--td-comp-paddingLR-xl: var(--td-size-8);--td-comp-paddingLR-xxl: var(--td-size-10);--td-comp-paddingTB-xxs: var(--td-size-1);--td-comp-paddingTB-xs: var(--td-size-2);--td-comp-paddingTB-s: var(--td-size-4);--td-comp-paddingTB-m: var(--td-size-5);--td-comp-paddingTB-l: var(--td-size-6);--td-comp-paddingTB-xl: var(--td-size-8);--td-comp-paddingTB-xxl: var(--td-size-10);--td-comp-margin-xxs: var(--td-size-1);--td-comp-margin-xs: var(--td-size-2);--td-comp-margin-s: var(--td-size-4);--td-comp-margin-m: var(--td-size-5);--td-comp-margin-l: var(--td-size-6);--td-comp-margin-xl: var(--td-size-7);--td-comp-margin-xxl: var(--td-size-8);--td-comp-margin-xxxl: var(--td-size-10);--td-comp-margin-xxxxl: var(--td-size-12)}.t-icon{display:inline-block;vertical-align:middle;width:1em;height:1em}.t-icon:before{font-family:unset}.t-icon{fill:currentColor}.t-icon.t-size-s,i.t-size-s{font-size:14px}.t-icon.t-size-m,i.t-size-m{font-size:16px}.t-icon.t-size-l,i.t-size-l{font-size:18px}.t-loading{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;color:var(--td-brand-color);font-size:var(--td-comp-size-l)}.t-loading--lock{overflow:hidden}.t-loading.t-size-s{font-size:var(--td-comp-size-xxxs)}.t-loading.t-size-l{font-size:var(--td-comp-size-xxxl)}.t-loading__parent--relative{position:relative!important}.t-loading__fullscreen{position:fixed;top:0;left:0;width:100%;height:100%;z-index:3500}.t-loading--center{display:inline-flex;align-items:center;vertical-align:middle;justify-content:center}.t-loading__content{position:absolute;left:48%;top:20%}.t-loading--inherit-color{color:inherit}.t-loading__parent{position:relative}.t-loading__overlay{background-color:var(--td-mask-disabled)}.t-loading--full{position:absolute;top:0;left:0;width:100%;height:100%}.t-loading--hidden{visibility:hidden}.t-loading--visible{visibility:visible}.t-loading__text{width:auto;display:inline-block;vertical-align:middle;font:var(--td-font-body-medium);margin-left:var(--td-comp-margin-xs)}.t-loading__gradient{display:inline-flex;justify-content:center;align-items:center;vertical-align:middle}.t-loading__gradient-conic{width:100%;height:100%;border-radius:var(--td-radius-circle);background:conic-gradient(from 90deg at 50% 50%,#fff 0deg,currentcolor 360deg);-webkit-mask:radial-gradient(transparent calc(50% - .5px),#fff 50%);mask:radial-gradient(transparent calc(50% - .5px),#fff 50%)}.t-button{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;z-index:0;overflow:hidden;font-size:var(--td-font-body-medium);outline:none;border-width:1px;border-style:solid;border-color:transparent;background-color:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;white-space:nowrap;border-radius:var(--td-radius-default);transition:all .2s linear;touch-action:manipulation;text-decoration:none}.t-button .t-button__text,.t-button .t-icon{position:relative;z-index:1;display:inline-flex}.t-button .t-icon,.t-button .t-loading{font-size:var(--td-font-size-body-large)}.t-button .t-icon+.t-button__text:not(:empty){margin-left:8px}.t-button .t-loading+.t-button__text:not(:empty){margin-left:8px}.t-button .t-button__suffix:not(:empty){display:inline-flex;margin-left:8px}.t-button--variant-base{color:var(--td-text-color-anti);height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);background-color:var(--td-bg-color-component);border-color:var(--td-bg-color-component);color:var(--td-text-color-primary)}.t-button--variant-base .t-icon,.t-button--variant-base .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-base:hover,.t-button--variant-base:focus-visible{background-color:var(--td-bg-color-component-hover)}.t-button--variant-base.t-is-loading{background-color:var(--td-bg-color-component)}.t-button--variant-base.t-is-disabled{background-color:var(--td-bg-color-component-disabled)}.t-button--variant-base:hover,.t-button--variant-base:focus-visible{border-color:var(--td-bg-color-component-hover)}.t-button--variant-base.t-is-loading{border-color:var(--td-bg-color-component)}.t-button--variant-base.t-is-disabled{border-color:var(--td-bg-color-component-disabled)}.t-button--variant-base:hover,.t-button--variant-base:focus-visible{color:var(--td-text-color-primary)}.t-button--variant-base.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-base.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-base.t-button--theme-primary{color:var(--td-text-color-anti);background-color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-base.t-button--theme-primary:hover,.t-button--variant-base.t-button--theme-primary:focus-visible{background-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--theme-primary.t-is-loading{background-color:var(--td-brand-color)}.t-button--variant-base.t-button--theme-primary.t-is-disabled{background-color:var(--td-brand-color-disabled)}.t-button--variant-base.t-button--theme-primary:hover,.t-button--variant-base.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-base.t-button--theme-primary.t-is-disabled{border-color:var(--td-brand-color-disabled)}.t-button--variant-base.t-button--theme-success{color:var(--td-text-color-anti);background-color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-base.t-button--theme-success:hover,.t-button--variant-base.t-button--theme-success:focus-visible{background-color:var(--td-success-color-hover)}.t-button--variant-base.t-button--theme-success.t-is-loading{background-color:var(--td-success-color)}.t-button--variant-base.t-button--theme-success.t-is-disabled{background-color:var(--td-success-color-disabled)}.t-button--variant-base.t-button--theme-success:hover,.t-button--variant-base.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-base.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-base.t-button--theme-success.t-is-disabled{border-color:var(--td-success-color-disabled)}.t-button--variant-base.t-button--theme-warning{color:var(--td-text-color-anti);background-color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-base.t-button--theme-warning:hover,.t-button--variant-base.t-button--theme-warning:focus-visible{background-color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--theme-warning.t-is-loading{background-color:var(--td-warning-color)}.t-button--variant-base.t-button--theme-warning.t-is-disabled{background-color:var(--td-warning-color-disabled)}.t-button--variant-base.t-button--theme-warning:hover,.t-button--variant-base.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-base.t-button--theme-warning.t-is-disabled{border-color:var(--td-warning-color-disabled)}.t-button--variant-base.t-button--theme-danger{color:var(--td-text-color-anti);background-color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-base.t-button--theme-danger:hover,.t-button--variant-base.t-button--theme-danger:focus-visible{background-color:var(--td-error-color-hover)}.t-button--variant-base.t-button--theme-danger.t-is-loading{background-color:var(--td-error-color)}.t-button--variant-base.t-button--theme-danger.t-is-disabled{background-color:var(--td-error-color-disabled)}.t-button--variant-base.t-button--theme-danger:hover,.t-button--variant-base.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-base.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-base.t-button--theme-danger.t-is-disabled{border-color:var(--td-error-color-disabled)}.t-button--variant-base.t-button--ghost{background-color:transparent;color:var(--td-text-color-anti);border-color:var(--td-text-color-anti)}.t-button--variant-base.t-button--ghost:hover,.t-button--variant-base.t-button--ghost:focus-visible{background-color:transparent}.t-button--variant-base.t-button--ghost:active,.t-button--variant-base.t-button--ghost.t-is-loading{background-color:transparent}.t-button--variant-base.t-button--ghost.t-is-disabled{background-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost:hover,.t-button--variant-base.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-base.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost:hover,.t-button--variant-base.t-button--ghost:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost:active{border-color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-is-loading{border-color:var(--td-text-color-anti)}.t-button--variant-base.t-button--ghost.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-base.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-base.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-base.t-button--ghost.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-primary:active{border-color:var(--td-brand-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-base.t-button--ghost.t-button--theme-primary.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-base.t-button--ghost.t-button--theme-success:hover,.t-button--variant-base.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-success:hover,.t-button--variant-base.t-button--ghost.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-success:active{border-color:var(--td-success-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-base.t-button--ghost.t-button--theme-success.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-base.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-base.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-base.t-button--ghost.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-warning:active{border-color:var(--td-warning-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-base.t-button--ghost.t-button--theme-warning.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-base.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-base.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-base.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-base.t-button--ghost.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-base.t-button--ghost.t-button--theme-danger:active{border-color:var(--td-error-color-active)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-base.t-button--ghost.t-button--theme-danger.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline{height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent);border-color:var(--td-border-level-2-color)}.t-button--variant-outline .t-icon,.t-button--variant-outline .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-outline:hover,.t-button--variant-outline:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-outline.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-outline:hover,.t-button--variant-outline:focus-visible{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-outline.t-is-loading{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-outline.t-is-disabled{background-color:var(--td-bg-color-component-disabled)}.t-button--variant-outline:hover,.t-button--variant-outline:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-is-loading,.t-button--variant-outline.t-is-disabled{border-color:var(--td-border-level-2-color)}.t-button--variant-outline.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--theme-primary:hover,.t-button--variant-outline.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-outline.t-button--theme-primary.t-is-disabled{color:var(--td-brand-color-disabled)}.t-button--variant-outline.t-button--theme-primary:hover,.t-button--variant-outline.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--theme-primary.t-is-disabled{border-color:var(--td-brand-color-disabled)}.t-button--variant-outline.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-outline.t-button--theme-success:hover,.t-button--variant-outline.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-outline.t-button--theme-success.t-is-disabled{color:var(--td-success-color-disabled)}.t-button--variant-outline.t-button--theme-success:hover,.t-button--variant-outline.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-outline.t-button--theme-success.t-is-disabled{border-color:var(--td-success-color-disabled)}.t-button--variant-outline.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--theme-warning:hover,.t-button--variant-outline.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-outline.t-button--theme-warning.t-is-disabled{color:var(--td-warning-color-disabled)}.t-button--variant-outline.t-button--theme-warning:hover,.t-button--variant-outline.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--theme-warning.t-is-disabled{border-color:var(--td-warning-color-disabled)}.t-button--variant-outline.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-outline.t-button--theme-danger:hover,.t-button--variant-outline.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-outline.t-button--theme-danger.t-is-disabled{color:var(--td-error-color-disabled)}.t-button--variant-outline.t-button--theme-danger:hover,.t-button--variant-outline.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-outline.t-button--theme-danger.t-is-disabled{border-color:var(--td-error-color-disabled)}.t-button--variant-outline.t-button--ghost{background-color:transparent;color:var(--td-text-color-anti);border-color:var(--td-text-color-anti)}.t-button--variant-outline.t-button--ghost:hover,.t-button--variant-outline.t-button--ghost:focus-visible{background-color:transparent}.t-button--variant-outline.t-button--ghost:active,.t-button--variant-outline.t-button--ghost.t-is-loading{background-color:transparent}.t-button--variant-outline.t-button--ghost.t-is-disabled{background-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost:hover,.t-button--variant-outline.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-outline.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost:hover,.t-button--variant-outline.t-button--ghost:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost:active{border-color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-is-loading{border-color:var(--td-text-color-anti)}.t-button--variant-outline.t-button--ghost.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary:active{border-color:var(--td-brand-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-primary.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-success:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-success:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-success:active{border-color:var(--td-success-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-success.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning:active{border-color:var(--td-warning-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-warning.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-outline.t-button--ghost.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger:active{border-color:var(--td-error-color-active)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-outline.t-button--ghost.t-button--theme-danger.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed{height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent);border-color:var(--td-border-level-2-color);border-style:dashed}.t-button--variant-dashed .t-icon,.t-button--variant-dashed .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-dashed:hover,.t-button--variant-dashed:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-dashed.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-dashed:hover,.t-button--variant-dashed:focus-visible{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-dashed.t-is-loading{background-color:var(--td-bg-color-specialcomponent)}.t-button--variant-dashed.t-is-disabled{background-color:var(--td-bg-color-component-disabled)}.t-button--variant-dashed:hover,.t-button--variant-dashed:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-is-loading,.t-button--variant-dashed.t-is-disabled{border-color:var(--td-border-level-2-color)}.t-button--variant-dashed.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-dashed.t-button--theme-primary.t-is-disabled{color:var(--td-brand-color-disabled)}.t-button--variant-dashed.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--theme-primary.t-is-disabled{border-color:var(--td-brand-color-disabled)}.t-button--variant-dashed.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--theme-success:hover,.t-button--variant-dashed.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-dashed.t-button--theme-success.t-is-disabled{color:var(--td-success-color-disabled)}.t-button--variant-dashed.t-button--theme-success:hover,.t-button--variant-dashed.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--theme-success.t-is-disabled{border-color:var(--td-success-color-disabled)}.t-button--variant-dashed.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-dashed.t-button--theme-warning.t-is-disabled{color:var(--td-warning-color-disabled)}.t-button--variant-dashed.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--theme-warning.t-is-disabled{border-color:var(--td-warning-color-disabled)}.t-button--variant-dashed.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-dashed.t-button--theme-danger.t-is-disabled{color:var(--td-error-color-disabled)}.t-button--variant-dashed.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--theme-danger.t-is-disabled{border-color:var(--td-error-color-disabled)}.t-button--variant-dashed.t-button--ghost{background-color:transparent;color:var(--td-text-color-anti);border-color:var(--td-text-color-anti)}.t-button--variant-dashed.t-button--ghost:hover,.t-button--variant-dashed.t-button--ghost:focus-visible{background-color:transparent}.t-button--variant-dashed.t-button--ghost:active,.t-button--variant-dashed.t-button--ghost.t-is-loading{background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-is-disabled{background-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost:hover,.t-button--variant-dashed.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-dashed.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost:hover,.t-button--variant-dashed.t-button--ghost:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost:active{border-color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-is-loading{border-color:var(--td-text-color-anti)}.t-button--variant-dashed.t-button--ghost.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:focus-visible{border-color:var(--td-brand-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary:active{border-color:var(--td-brand-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-loading{border-color:var(--td-brand-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-primary.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-success{color:var(--td-success-color);border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-success:focus-visible{border-color:var(--td-success-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success:active{border-color:var(--td-success-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-loading{border-color:var(--td-success-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-success.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color);border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:focus-visible{border-color:var(--td-warning-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning:active{border-color:var(--td-warning-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-loading{border-color:var(--td-warning-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-warning.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger{color:var(--td-error-color);border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:focus-visible{border-color:var(--td-error-color-hover)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger:active{border-color:var(--td-error-color-active)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-loading{border-color:var(--td-error-color)}.t-button--variant-dashed.t-button--ghost.t-button--theme-danger.t-is-disabled{border-color:#ffffff38;background-color:transparent}.t-button--variant-text{height:var(--td-comp-size-m);font:var(--td-font-body-medium);padding-left:calc(var(--td-comp-paddingLR-l) - 1px);padding-right:calc(var(--td-comp-paddingLR-l) - 1px);color:var(--td-text-color-primary);background-color:transparent;border-color:transparent}.t-button--variant-text .t-icon,.t-button--variant-text .t-loading{font-size:var(--td-font-size-body-large)}.t-button--variant-text:hover,.t-button--variant-text:focus-visible{color:var(--td-text-color-primary)}.t-button--variant-text.t-is-loading{color:var(--td-text-color-primary)}.t-button--variant-text.t-is-disabled{color:var(--td-text-color-disabled)}.t-button--variant-text:hover,.t-button--variant-text:focus-visible{background-color:var(--td-bg-color-container-hover)}.t-button--variant-text.t-is-loading,.t-button--variant-text.t-is-disabled{background-color:transparent}.t-button--variant-text:hover,.t-button--variant-text:focus-visible{border-color:var(--td-bg-color-container-hover)}.t-button--variant-text.t-is-loading,.t-button--variant-text.t-is-disabled{border-color:transparent}.t-button--variant-text.t-button--theme-primary{color:var(--td-brand-color)}.t-button--variant-text.t-button--theme-primary:hover,.t-button--variant-text.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-text.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-text.t-button--theme-primary.t-is-disabled{color:var(--td-brand-color-disabled)}.t-button--variant-text.t-button--theme-success{color:var(--td-success-color)}.t-button--variant-text.t-button--theme-success:hover,.t-button--variant-text.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-text.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-text.t-button--theme-success.t-is-disabled{color:var(--td-success-color-disabled)}.t-button--variant-text.t-button--theme-warning{color:var(--td-warning-color)}.t-button--variant-text.t-button--theme-warning:hover,.t-button--variant-text.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-text.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-text.t-button--theme-warning.t-is-disabled{color:var(--td-warning-color-disabled)}.t-button--variant-text.t-button--theme-danger{color:var(--td-error-color)}.t-button--variant-text.t-button--theme-danger:hover,.t-button--variant-text.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-text.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-text.t-button--theme-danger.t-is-disabled{color:var(--td-error-color-disabled)}.t-button--variant-text.t-button--ghost{background:none;color:var(--td-text-color-anti)}.t-button--variant-text.t-button--ghost:hover,.t-button--variant-text.t-button--ghost:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-text.t-button--ghost:active{color:var(--td-brand-color-active)}.t-button--variant-text.t-button--ghost.t-is-loading{color:var(--td-text-color-anti)}.t-button--variant-text.t-button--ghost.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-primary{color:var(--td-brand-color)}.t-button--variant-text.t-button--ghost.t-button--theme-primary:hover,.t-button--variant-text.t-button--ghost.t-button--theme-primary:focus-visible{color:var(--td-brand-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-primary:active{color:var(--td-brand-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-primary.t-is-loading{color:var(--td-brand-color)}.t-button--variant-text.t-button--ghost.t-button--theme-primary.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-success{color:var(--td-success-color)}.t-button--variant-text.t-button--ghost.t-button--theme-success:hover,.t-button--variant-text.t-button--ghost.t-button--theme-success:focus-visible{color:var(--td-success-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-success:active{color:var(--td-success-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-success.t-is-loading{color:var(--td-success-color)}.t-button--variant-text.t-button--ghost.t-button--theme-success.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-warning{color:var(--td-warning-color)}.t-button--variant-text.t-button--ghost.t-button--theme-warning:hover,.t-button--variant-text.t-button--ghost.t-button--theme-warning:focus-visible{color:var(--td-warning-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-warning:active{color:var(--td-warning-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-warning.t-is-loading{color:var(--td-warning-color)}.t-button--variant-text.t-button--ghost.t-button--theme-warning.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button--variant-text.t-button--ghost.t-button--theme-danger{color:var(--td-error-color)}.t-button--variant-text.t-button--ghost.t-button--theme-danger:hover,.t-button--variant-text.t-button--ghost.t-button--theme-danger:focus-visible{color:var(--td-error-color-hover)}.t-button--variant-text.t-button--ghost.t-button--theme-danger:active{color:var(--td-error-color-active)}.t-button--variant-text.t-button--ghost.t-button--theme-danger.t-is-loading{color:var(--td-error-color)}.t-button--variant-text.t-button--ghost.t-button--theme-danger.t-is-disabled{color:#ffffff38;background-color:transparent}.t-button.t-is-loading,.t-button.t-is-disabled{cursor:not-allowed}.t-button.t-size-s{height:var(--td-comp-size-xs);font:var(--td-font-body-small);padding-left:calc(var(--td-comp-paddingLR-s) - 1px);padding-right:calc(var(--td-comp-paddingLR-s) - 1px)}.t-button.t-size-s .t-icon,.t-button.t-size-s .t-loading{font-size:var(--td-font-size-body-medium)}.t-button.t-size-l{height:var(--td-comp-size-xl);font:var(--td-font-body-large);padding-left:calc(var(--td-comp-paddingLR-xl) - 1px);padding-right:calc(var(--td-comp-paddingLR-xl) - 1px)}.t-button.t-size-l .t-icon,.t-button.t-size-l .t-loading{font-size:var(--td-font-size-title-large)}.t-button--shape-square{width:var(--td-comp-size-m);padding:0}.t-button--shape-square.t-size-s{width:var(--td-comp-size-xs);padding:0}.t-button--shape-square.t-size-l{width:var(--td-comp-size-xl);padding:0}.t-button--shape-round{border-radius:var(--td-radius-round)}.t-button--shape-round.t-size-s{border-radius:calc(var(--td-comp-size-xs) / 2)}.t-button--shape-round.t-size-l{border-radius:calc(var(--td-comp-size-xl) / 2)}.t-button--shape-circle{width:var(--td-comp-size-m);padding:0;text-align:center;border-radius:calc(var(--td-comp-size-m) / 2)}.t-button--shape-circle .t-icon,.t-button--shape-circle .t-loading{font-size:var(--td-font-size-body-large)}.t-button--shape-circle.t-size-s{width:var(--td-comp-size-xs);border-radius:calc(var(--td-comp-size-xs) / 2)}.t-button--shape-circle.t-size-l{width:var(--td-comp-size-xl);padding:0;border-radius:calc(var(--td-comp-size-xl) / 2)}.t-button.t-size-full-width{display:flex;width:100%}.t-button--ghost{--ripple-color: var(--td-gray-color-10)}.t-button:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-bg-color-container-active)}.t-button--variant-base:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-bg-color-component-active)}.t-button--variant-base.t-button--theme-primary:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-brand-color-active)}.t-button--variant-base.t-button--theme-success:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-success-color-active)}.t-button--variant-base.t-button--theme-warning:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-warning-color-active)}.t-button--variant-base.t-button--theme-danger:not(.t-is-disabled):not(.t-button--ghost){--ripple-color: var(--td-error-color-active)}.t-space{display:inline-flex}.t-space .t-space-item{width:inherit}.t-space-align-start{align-items:flex-start}.t-space-align-end{align-items:flex-end}.t-space-align-baseline{align-items:baseline}.t-space-align-center{align-items:center}.t-space-vertical{flex-direction:column}.t-space-vertical .t-space-item-separator{width:100%}.t-affix{position:fixed;z-index:500}.t-message{margin:0;padding:0;list-style:none;width:fit-content;outline:0;border-radius:var(--td-radius-medium);background-color:var(--td-bg-color-container);box-shadow:var(--td-shadow-3),var(--td-shadow-inset-top),var(--td-shadow-inset-right),var(--td-shadow-inset-bottom),var(--td-shadow-inset-left);box-sizing:border-box;display:flex;align-items:center;color:var(--td-text-color-primary);font:var(--td-font-body-medium);padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l)}.t-message>.t-icon,.t-message>[data-t-icon]>.t-icon,.t-message .t-loading{color:var(--td-brand-color);margin-right:var(--td-comp-margin-s);flex-shrink:0;font-size:calc(var(--td-font-size-body-medium) + 6px)}.t-message.t-is-success>.t-icon,.t-message.t-is-success>[data-t-icon]>.t-icon,.t-message.t-is-success .t-loading{color:var(--td-success-color)}.t-message.t-is-warning>.t-icon,.t-message.t-is-warning>[data-t-icon]>.t-icon,.t-message.t-is-warning .t-loading{color:var(--td-warning-color)}.t-message.t-is-error>.t-icon,.t-message.t-is-error>[data-t-icon]>.t-icon,.t-message.t-is-error .t-loading{color:var(--td-error-color)}.t-message.t-is-closable .t-message__close{display:inline-flex;margin-right:0;margin-left:var(--td-comp-margin-xxl);cursor:pointer;color:var(--td-text-color-secondary)}.t-message.t-is-closable .t-message__close .t-icon-close{font-size:calc(var(--td-font-size-body-medium) + 2px);border-radius:var(--td-radius-default);transition:all .2s linear}.t-message.t-is-closable .t-message__close .t-icon-close:hover{background:var(--td-bg-color-container-hover)}.t-message.t-is-closable .t-message__close .t-icon-close:active{background:var(--td-bg-color-container-active)}.t-message__list{position:fixed;z-index:6000}.t-message__list .t-message{margin-bottom:var(--td-comp-margin-s);word-break:break-all}.content-placement-top .t-popup[data-popper-placement^=top] .t-popup__content{margin-bottom:var(--td-comp-margin-s)}.content-placement-top .t-popup[data-popper-placement^=top] .t-popup__content--arrow{margin-bottom:var(--td-comp-margin-l)}.content-placement-bottom .t-popup[data-popper-placement^=bottom] .t-popup__content{margin-top:var(--td-comp-margin-s)}.content-placement-bottom .t-popup[data-popper-placement^=bottom] .t-popup__content--arrow{margin-top:var(--td-comp-margin-l)}.content-placement-left .t-popup[data-popper-placement^=left] .t-popup__content{margin-right:var(--td-comp-margin-s)}.content-placement-left .t-popup[data-popper-placement^=left] .t-popup__content--arrow{margin-right:var(--td-comp-margin-l)}.content-placement-left .t-popup[data-popper-placement^=left] .t-popup__content--text{max-width:480px}.content-placement-right .t-popup[data-popper-placement^=right] .t-popup__content{margin-left:var(--td-comp-margin-s)}.content-placement-right .t-popup[data-popper-placement^=right] .t-popup__content--arrow{margin-left:var(--td-comp-margin-l)}.content-placement-right .t-popup[data-popper-placement^=right] .t-popup__content--text{max-width:480px}.t-popup{font:var(--td-font-body-medium);box-sizing:border-box;margin:0;padding:0;list-style:none;color:var(--td-text-color-primary);display:inline-block;z-index:5500}.t-popup__content{position:relative;background:var(--td-bg-color-container);box-shadow:var(--td-shadow-2),var(--td-shadow-inset-top),var(--td-shadow-inset-right),var(--td-shadow-inset-bottom),var(--td-shadow-inset-left);border-radius:var(--td-radius-medium);padding:var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-s);font-size:var(--td-font-size-body-medium);line-height:var(--td-line-height-body-medium);box-sizing:border-box;word-break:break-all}.t-popup__arrow{position:absolute;z-index:1;width:8px;height:8px}.t-popup__arrow:before{position:absolute;content:"";width:8px;height:8px;transform:rotate(45deg);background:var(--td-bg-color-container)}.t-popup[data-popper-placement^=top] .t-popup__content{margin-bottom:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=top] .t-popup__content--arrow{margin-bottom:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=bottom] .t-popup__content{margin-top:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=bottom] .t-popup__content--arrow{margin-top:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=left] .t-popup__content{margin-right:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=left] .t-popup__content--arrow{margin-right:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=left] .t-popup__content--text{max-width:480px}.t-popup[data-popper-placement^=right] .t-popup__content{margin-left:var(--td-comp-margin-s)}.t-popup[data-popper-placement^=right] .t-popup__content--arrow{margin-left:var(--td-comp-margin-l)}.t-popup[data-popper-placement^=right] .t-popup__content--text{max-width:480px}.t-popup[data-popper-placement^=top] .t-popup__arrow:before{border-top-left-radius:100%;box-shadow:var(--td-shadow-inset-left),var(--td-shadow-inset-bottom)}.t-popup[data-popper-placement=top-start] .t-popup__arrow{left:8px}.t-popup[data-popper-placement=top] .t-popup__arrow{left:50%;margin-left:-4px}.t-popup[data-popper-placement=top-end] .t-popup__arrow{left:calc(100% - 16px)}.t-popup[data-popper-placement^=bottom] .t-popup__arrow{top:-4px}.t-popup[data-popper-placement^=bottom] .t-popup__arrow:before{border-bottom-right-radius:100%;box-shadow:var(--td-shadow-inset-top),var(--td-shadow-inset-right)}.t-popup[data-popper-placement=bottom-start] .t-popup__arrow{left:8px}.t-popup[data-popper-placement=bottom] .t-popup__arrow{left:50%;margin-left:-4px}.t-popup[data-popper-placement=bottom-end] .t-popup__arrow{left:calc(100% - 16px)}.t-popup[data-popper-placement^=left] .t-popup__arrow{right:-4px}.t-popup[data-popper-placement^=left] .t-popup__arrow:before{box-shadow:var(--td-shadow-inset-left),var(--td-shadow-inset-top)}.t-popup[data-popper-placement=left-start] .t-popup__arrow{top:8px}.t-popup[data-popper-placement=left] .t-popup__arrow{top:50%;margin-top:-4px}.t-popup[data-popper-placement=left-end] .t-popup__arrow{top:calc(100% - 16px)}.t-popup[data-popper-placement^=right] .t-popup__arrow{left:-4px}.t-popup[data-popper-placement^=right] .t-popup__arrow:before{box-shadow:var(--td-shadow-inset-right),var(--td-shadow-inset-bottom)}.t-popup[data-popper-placement=right-start] .t-popup__arrow{top:8px}.t-popup[data-popper-placement=right] .t-popup__arrow{top:50%;margin-top:-4px}.t-popup[data-popper-placement=right-end] .t-popup__arrow{top:calc(100% - 16px)}.t-popup--animation-enter,.t-popup--animation-enter-from,.t-popup--animation-exiting,.t-popup--animation-leave-to{opacity:0;visibility:hidden}.t-popup--animation-enter-to,.t-popup--animation-entering,.t-popup--animation-leave-from,.t-popup--animation-leave{opacity:1;visibility:visible;transform:none}.t-popup--animation-enter-active{transition:opacity .2s linear}.t-popup--animation-leave-active{transition:opacity .2s cubic-bezier(0,0,.15,1),visibility .2s cubic-bezier(.82,0,1,.9)}.t-popup--animation-expand-enter-active[data-popper-placement^=top]{animation:t-popup-animation-expand-in-top .2s cubic-bezier(.38,0,.24,1),t-fade-in .2s linear}.t-popup--animation-expand-leave-active[data-popper-placement^=top]{animation:t-popup-animation-expand-out-top .2s cubic-bezier(.38,0,.24,1),t-fade-out .2s cubic-bezier(0,0,.15,1)}@keyframes t-popup-animation-expand-in-top{0%{clip-path:polygon(-20% 120%,120% 120%,120% 120%,-20% 120%)}to{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}}@keyframes t-popup-animation-expand-out-top{0%{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}to{clip-path:polygon(-20% 120%,120% 120%,120% 120%,-20% 120%)}}.t-popup--animation-expand-enter-active[data-popper-placement^=bottom]{animation:t-popup-animation-expand-in-bottom .2s cubic-bezier(.38,0,.24,1),t-fade-in .2s linear}.t-popup--animation-expand-leave-active[data-popper-placement^=bottom]{animation:t-popup-animation-expand-out-bottom .2s cubic-bezier(.38,0,.24,1),t-fade-out .2s cubic-bezier(0,0,.15,1)}@keyframes t-popup-animation-expand-in-bottom{0%{clip-path:polygon(-20% 0,120% 0,120% 0,-20% 0)}to{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}}@keyframes t-popup-animation-expand-out-bottom{0%{clip-path:polygon(-20% 0,120% 0,120% 120%,-20% 120%)}to{clip-path:polygon(-20% 0,120% 0,120% 0,-20% 0)}}.t-tooltip .t-popup__content{display:inline-block;border:0;z-index:5600;margin-bottom:1px;max-width:480px;word-break:break-word;box-sizing:border-box;border-radius:var(--td-radius-medium);color:var(--td-text-color-primary)}.t-tooltip--default .t-popup__content{color:var(--td-text-color-anti);background:var(--td-gray-color-13);box-shadow:inset 0 .5px 0 var(--td-gray-color-9),inset .5px 0 0 var(--td-gray-color-9),inset 0 -.5px 0 var(--td-gray-color-9),inset -.5px 0 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=left] .t-popup__arrow:before{box-shadow:inset -.5px 0 0 var(--td-gray-color-9),inset 0 .5px 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=right] .t-popup__arrow:before{box-shadow:inset .5px 0 0 var(--td-gray-color-9),inset 0 -.5px 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=top] .t-popup__arrow:before{box-shadow:inset 0 -.5px 0 var(--td-gray-color-9),inset -.5px 0 0 var(--td-gray-color-9)}.t-tooltip--default[data-popper-placement^=bottom] .t-popup__arrow:before{box-shadow:inset .5px 0 0 var(--td-gray-color-9),inset 0 .5px 0 var(--td-gray-color-9)}.t-tooltip--primary .t-popup__content{color:var(--td-brand-color);background:var(--td-brand-color-light)}.t-tooltip--success .t-popup__content{color:var(--td-success-color);background:var(--td-success-color-light)}.t-tooltip--danger .t-popup__content{color:var(--td-error-color);background:var(--td-error-color-light)}.t-tooltip--warning .t-popup__content{color:var(--td-warning-color);background:var(--td-warning-color-light)}.t-tooltip .t-popup__arrow{background:inherit;height:auto}.t-tooltip .t-popup__arrow:before{background:inherit}.t-tooltip--noshadow .t-popup__content,.t-tooltip--noshadow[data-popper-placement] .t-popup__arrow:before{box-shadow:none}.input-readonly.t-is-readonly{color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent)}.input-readonly.t-is-readonly .t-input__inner{cursor:pointer}.input-disabled.t-is-disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.input-disabled.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.input-disabled.t-is-disabled .t-input__inner{cursor:not-allowed;color:var(--td-text-color-disabled)}.input-disabled.t-is-disabled .t-input__inner::placeholder{color:var(--td-text-color-disabled)}.input-disabled.t-is-disabled>.t-input__prefix .t-icon,.input-disabled.t-is-disabled>.t-input__suffix .t-icon{color:var(--td-text-color-disabled)}.t-tips{font-size:var(--td-font-size-body-small)}.t-tips.t-is-default{color:var(--td-text-color-placeholder)}.t-tips.t-is-error{color:var(--td-error-color)}.t-tips.t-is-warning{color:var(--td-warning-color)}.t-tips.t-is-success{color:var(--td-success-color)}.t-input{margin:0;padding:0;list-style:none;position:relative;height:var(--td-comp-size-m);border-width:1px;border-style:solid;border-radius:var(--td-radius-default);border-color:var(--td-border-level-2-color);padding:0 var(--td-comp-paddingLR-s);background-color:var(--td-bg-color-specialcomponent);outline:none;color:var(--td-text-color-primary);font:var(--td-font-body-medium);width:100%;box-sizing:border-box;transition:border cubic-bezier(.38,0,.24,1) .2s,box-shadow cubic-bezier(.38,0,.24,1) .2s;display:flex;align-items:center;overflow:hidden}.t-input:hover{border-color:var(--td-brand-color)}.t-input:focus{z-index:1;border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus)}.t-input--focused{border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus);z-index:1}.t-input :focus-visible{outline:none}.t-input__inner{flex:1;border:none;outline:none;padding:0;max-width:100%;min-width:0;color:var(--td-text-color-primary);font:inherit;background-color:transparent;box-sizing:border-box;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-input__inner::placeholder{color:var(--td-text-color-placeholder)}.t-input__inner:placeholder-shown{text-overflow:ellipsis;width:100%}.t-input__inner[type=password]::-ms-reveal{display:none}.t-input__inner[type=search]::-webkit-search-decoration,.t-input__inner[type=search]::-webkit-search-cancel-button,.t-input__inner[type=search]::-webkit-search-results-button,.t-input__inner[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.t-input__inner.t-input--soft-hidden{width:0}.t-input__extra{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}.t-input__status{position:absolute;right:-24px;top:0}.t-input.t-input--suffix>span.t-input__clear{opacity:0;visibility:hidden;transition:border cubic-bezier(.38,0,.24,1) .2s,box-shadow cubic-bezier(.38,0,.24,1) .2s}.t-input.t-input--suffix:hover>span.t-input__clear{opacity:1;visibility:visible}.t-input.t-is-success{border-color:var(--td-success-color)}.t-input.t-is-success:focus{box-shadow:0 0 0 2px var(--td-success-color-focus)}.t-input.t-is-success.t-input--focused{box-shadow:0 0 0 2px var(--td-success-color-focus)}.t-input.t-is-success>.t-input__extra{color:var(--td-success-color)}.t-input.t-is-warning{border-color:var(--td-warning-color)}.t-input.t-is-warning:focus{box-shadow:0 0 0 2px var(--td-warning-color-focus)}.t-input.t-is-warning.t-input--focused{box-shadow:0 0 0 2px var(--td-warning-color-focus)}.t-input.t-is-warning>.t-input__extra{color:var(--td-warning-color)}.t-input.t-is-error{border-color:var(--td-error-color)}.t-input.t-is-error:focus{box-shadow:0 0 0 2px var(--td-error-color-focus)}.t-input.t-is-error.t-input--focused{box-shadow:0 0 0 2px var(--td-error-color-focus)}.t-input.t-is-error>.t-input__extra{color:var(--td-error-color)}.t-input.t-is-readonly{color:var(--td-text-color-primary);background-color:var(--td-bg-color-specialcomponent)}.t-input.t-is-readonly .t-input__inner{cursor:pointer}.t-input.t-is-disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.t-input.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-input.t-is-disabled .t-input__inner{cursor:not-allowed;color:var(--td-text-color-disabled)}.t-input.t-is-disabled .t-input__inner::placeholder{color:var(--td-text-color-disabled)}.t-input.t-is-disabled>.t-input__prefix .t-icon,.t-input.t-is-disabled>.t-input__suffix .t-icon{color:var(--td-text-color-disabled)}.t-input.t-input--prefix>.t-input__prefix{z-index:2;height:100%;text-align:center;display:flex;align-items:center;font-size:var(--td-font-size-body-medium)}.t-input.t-input--prefix>.t-input__prefix-icon{font-size:var(--td-font-size-body-large)}.t-input.t-input--suffix>.t-input__suffix{z-index:2;height:100%;text-align:center;display:flex;align-items:center;font-size:var(--td-font-size-body-medium)}.t-input.t-input--suffix>.t-input__suffix-icon{font-size:var(--td-font-size-body-large)}.t-input .t-input__suffix-clear{cursor:pointer}.t-input.t-size-l{height:var(--td-comp-size-xl);font:var(--td-font-body-large);padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-m)}.t-input.t-size-s{height:var(--td-comp-size-xs);font:var(--td-font-body-small)}.t-input .t-input__prefix>.t-icon,.t-input .t-input__suffix>.t-icon{font-size:inherit}.t-input .t-input__prefix>.t-icon{font-size:16px;color:var(--td-text-color-placeholder)}.t-input .t-input__prefix:not(:empty){margin-right:var(--td-comp-margin-s)}.t-input .t-input__suffix>.t-icon{color:var(--td-text-color-placeholder);transition:all .2s linear}.t-input .t-input__suffix>.t-icon:hover{color:var(--td-text-color-secondary);transition:all .2s linear}.t-input .t-input__suffix:not(:empty){margin-left:var(--td-comp-margin-s)}.t-input.t-is-focused .t-input__prefix>.t-icon{color:var(--td-brand-color)}.t-input.t-is-focused .t-input__suffix>.t-icon-time,.t-input.t-is-focused .t-input__suffix .t-icon-calendar{color:var(--td-brand-color)}.t-input-group{position:relative;display:inline-flex;align-items:stretch}.t-input-group .t-input__wrap{border-radius:0}.t-input-group .t-input__wrap:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group .t-input__wrap:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group .t-button,.t-input-group .t-select{border-radius:0}.t-input-group .t-button:not(:first-child),.t-input-group .t-select:not(:first-child){margin-left:-1px}.t-input-group .t-input__wrap:not(:first-child) .t-input{margin-left:-1px}.t-input-group .t-input__wrap:first-child .t-input{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group .t-input__wrap:last-child .t-input{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group .t-button:first-child,.t-input-group .t-select:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group .t-button:last-child,.t-input-group .t-select:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group--separate .t-input__wrap+.t-input__wrap{margin-left:var(--td-comp-margin-xxxl)}.t-input-group--separate .t-button,.t-input-group--separate .t-select{border-radius:var(--td-radius-default)}.t-input-group--separate .t-button:first-child,.t-input-group--separate .t-select:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-group--separate .t-button:last-child,.t-input-group--separate .t-select:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-group--separate .t-input__wrap .t-input,.t-input-group--separate .t-input__wrap .t-input:first-child{border-radius:var(--td-radius-default)}.t-input-group--separate .t-input__wrap .t-input:last-child{border-radius:var(--td-radius-default)}.t-input-group .t-input__inner,.t-input-group .t-button,.t-input-group .t-select{position:relative;z-index:0}.t-input-group .t-input__inner:hover,.t-input-group .t-button:hover,.t-input-group .t-select:hover,.t-input-group .t-input__inner:focus,.t-input-group .t-button:focus,.t-input-group .t-select:focus,.t-input-group .t-input__inner:active,.t-input-group .t-button:active,.t-input-group .t-select:active{z-index:1}.t-input__wrap{width:100%}.t-input__tips{height:auto;min-height:var(--td-line-height-body-small);font:var(--td-font-body-small);position:absolute}.t-input__tips--default{color:var(--td-text-color-placeholder)}.t-input__tips--success{color:var(--td-success-color)}.t-input__tips--warning{color:var(--td-warning-color)}.t-input__tips--error{color:var(--td-error-color)}.t-align-center>.t-input__inner{text-align:center}.t-align-right>.t-input__inner{text-align:right}.t-input__input-pre{position:absolute;visibility:hidden;white-space:pre;display:block}.t-input--auto-width{width:fit-content;min-width:60px}.t-input__limit-number{font:var(--td-font-body-medium);color:var(--td-text-color-placeholder);background:var(--td-bg-color-specialcomponent)}.t-input__limit-number.t-is-disabled{background:var(--td-bg-color-component-disabled)}.t-input-number{font:var(--td-font-body-medium);color:var(--td-text-color-primary);margin:0;padding:0;list-style:none;display:inline-block;position:relative;box-sizing:border-box;padding:0 var(--td-comp-size-m);-webkit-user-select:none;user-select:none;width:144px}.t-input-number:not(.t-input-number--column)>.t-input-number__decrease+.t-input__wrap{margin-left:var(--td-comp-margin-xs)}.t-input-number input::-webkit-outer-spin-button,.t-input-number input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.t-input-number input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}.t-input-number>.t-input__tips{position:absolute;left:0}.t-input-number input+.t-input__suffix{margin-left:var(--td-comp-paddingLR-s)}.t-input-number .t-input__prefix{margin-right:var(--td-comp-paddingLR-s)}.t-input-number .t-input{color:var(--td-text-color-primary)}.t-input-number.t-input-number--auto-width{width:auto}.t-input-number.t-input-number--auto-width.t-is-controls-right{min-width:auto;width:auto}.t-input-number.t-input-number--auto-width .t-input__inner{min-width:42px}.t-input-number .t-input-number__decrease,.t-input-number .t-input-number__increase{width:var(--td-comp-size-m);height:var(--td-comp-size-m);position:absolute;top:0;border:1px solid var(--td-border-level-2-color);box-sizing:border-box;border-radius:var(--td-radius-default);background-color:transparent;display:flex;justify-content:center;align-items:center;z-index:1;cursor:pointer;transition:all cubic-bezier(.38,0,.24,1) .2s}.t-input-number .t-input-number__decrease:hover,.t-input-number .t-input-number__increase:hover{color:var(--td-brand-color);border-color:var(--td-brand-color)}.t-input-number .t-input-number__decrease:hover .t-icon,.t-input-number .t-input-number__increase:hover .t-icon{color:var(--td-brand-color)}.t-input-number .t-input-number__decrease:active,.t-input-number .t-input-number__increase:active{color:var(--td-brand-color);background-color:var(--td-bg-color-container-hover)}.t-input-number .t-input-number__decrease .t-icon,.t-input-number .t-input-number__increase .t-icon{position:relative;z-index:1;font-size:var(--td-font-size-body-large);color:var(--td-text-color-secondary)}.t-input-number .t-input-number__decrease.t-is-disabled,.t-input-number .t-input-number__increase.t-is-disabled{color:var(--td-text-color-disabled);cursor:no-drop;background-color:var(--td-bg-color-component-disabled)}.t-input-number .t-input-number__decrease.t-is-disabled .t-icon,.t-input-number .t-input-number__increase.t-is-disabled .t-icon{color:var(--td-text-color-disabled)}.t-input-number .t-input-number__decrease.t-is-disabled:hover,.t-input-number .t-input-number__increase.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-input-number .t-input-number__decrease.t-is-disabled:hover .t-icon,.t-input-number .t-input-number__increase.t-is-disabled:hover .t-icon{color:var(--td-text-color-disabled)}.t-input-number .t-input-number__decrease.t-is-disabled::placeholder,.t-input-number .t-input-number__increase.t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-input-number .t-input-number__decrease{left:0}.t-input-number .t-input-number__increase{right:-8px}.t-input-number.t-is-disabled .t-input{cursor:no-drop;background-color:var(--td-bg-color-component-disabled);color:var(--td-text-color-disabled)}.t-input-number.t-is-disabled .t-input:hover,.t-input-number.t-is-disabled .t-input:focus,.t-input-number.t-is-disabled .t-input:active{border-color:var(--td-border-level-2-color)}.t-input-number.t-is-disabled .t-input-number__decrease,.t-input-number.t-is-disabled .t-input-number__increase{color:var(--td-text-color-disabled);cursor:no-drop;background-color:var(--td-bg-color-component-disabled)}.t-input-number.t-is-disabled .t-input-number__decrease .t-icon,.t-input-number.t-is-disabled .t-input-number__increase .t-icon{color:var(--td-text-color-secondary)}.t-input-number.t-size-s{width:120px;padding:0 var(--td-comp-size-xs)}.t-input-number.t-size-s .t-input{font-size:var(--td-font-size-body-small);height:var(--td-comp-size-xs);line-height:var(--td-comp-size-xs)}.t-input-number.t-size-s .t-input-number__decrease,.t-input-number.t-size-s .t-input-number__increase{font-size:var(--td-font-size-body-medium);width:var(--td-comp-size-xs);height:var(--td-comp-size-xs)}.t-input-number.t-size-l{width:168px;padding:0 var(--td-comp-size-xl)}.t-input-number.t-size-l .t-input{height:var(--td-comp-size-xl);line-height:var(--td-comp-size-xl)}.t-input-number.t-size-l .t-input-number__decrease,.t-input-number.t-size-l .t-input-number__increase{font-size:18px;width:var(--td-comp-size-xl);height:var(--td-comp-size-xl)}.t-input-number.t-size-l.t-is-controls-right .t-input{height:var(--td-comp-size-xl);line-height:var(--td-comp-size-xl);padding-right:calc(var(--td-comp-size-xl) + var(--td-comp-paddingLR-s))}.t-input-number.t-size-l.t-is-controls-right .t-input-number__decrease,.t-input-number.t-size-l.t-is-controls-right .t-input-number__increase{width:var(--td-comp-size-xl);font-size:var(--td-font-size-body-large)}.t-input-number.t-size-l .t-input--prefix{font:var(--td-font-body-large);padding:0 var(--td-comp-paddingLR-m)}.t-input-number.t-input-number--normal{padding:0;border-radius:var(--td-radius-default)}.t-input-number.t-input-number--normal.t-is-disabled{cursor:no-drop;color:var(--td-text-color-disabled)}.t-input-number.t-input-number--normal.t-is-disabled:hover .t-input{border-color:var(--td-border-level-2-color)}.t-input-number.t-input-number--normal.t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-input-number.t-input-number--normal.t-is-disabled .t-input:focus{box-shadow:none}.t-input-number.t-is-controls-right{width:96px;padding:0}.t-input-number.t-is-controls-right:hover .t-input-number__decrease,.t-input-number.t-is-controls-right:hover .t-input-number__increase{opacity:1;visibility:visible}.t-input-number.t-is-controls-right .t-input{width:100%;box-sizing:border-box;margin:0;padding-right:calc(var(--td-comp-size-m) + var(--td-comp-paddingLR-s));border-radius:var(--td-radius-default)}.t-input-number.t-is-controls-right .t-input-number__decrease,.t-input-number.t-is-controls-right .t-input-number__increase{width:var(--td-comp-size-m);height:calc(calc(var(--td-comp-size-m) / 2) - 2px);border:0;left:initial;top:initial;right:1px;border-radius:0;background:var(--td-bg-color-secondarycontainer);opacity:0;visibility:hidden;z-index:2}.t-input-number.t-is-controls-right .t-input-number__decrease .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase .t-icon{font-size:var(--td-font-size-body-small)}.t-input-number.t-is-controls-right .t-input-number__decrease:hover,.t-input-number.t-is-controls-right .t-input-number__increase:hover{background:var(--td-bg-color-component-hover)}.t-input-number.t-is-controls-right .t-input-number__decrease:hover .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase:hover .t-icon{color:var(--td-text-color-primary)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled{color:var(--td-text-color-disabled);cursor:no-drop;background-color:var(--td-bg-color-component-disabled)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled .t-icon{color:var(--td-text-color-disabled)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled:hover,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled:hover .t-icon,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled:hover .t-icon{color:var(--td-text-color-disabled)}.t-input-number.t-is-controls-right .t-input-number__decrease.t-is-disabled::placeholder,.t-input-number.t-is-controls-right .t-input-number__increase.t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-input-number.t-is-controls-right .t-input-number__increase{top:1px;border-top-right-radius:calc(var(--td-radius-default) - 1px)}.t-input-number.t-is-controls-right .t-input-number__decrease{top:calc(calc(calc(var(--td-comp-size-m) / 2) - 2px) + 3px);border-bottom-right-radius:calc(var(--td-radius-default) - 1px)}.t-input-number.t-is-controls-right.t-size-l{width:120px}.t-input-number.t-is-controls-right.t-size-l .t-input-number__increase,.t-input-number.t-is-controls-right.t-size-l .t-input-number__decrease{height:calc(calc(var(--td-comp-size-xl) / 2) - 2px)}.t-input-number.t-is-controls-right.t-size-l .t-input-number__decrease{top:calc(calc(calc(var(--td-comp-size-xl) / 2) - 2px) + 3px)}.t-input-number.t-is-controls-right.t-size-s{width:88px}.t-input-number.t-is-controls-right.t-size-s .t-input-number__increase,.t-input-number.t-is-controls-right.t-size-s .t-input-number__decrease{height:calc(calc(var(--td-comp-size-xs) / 2) - 2px)}.t-input-number.t-is-controls-right.t-size-s .t-input-number__decrease{top:calc(calc(calc(var(--td-comp-size-xs) / 2) - 2px) + 3px)}.t-input-number--row .t-input__wrap{width:initial;margin-right:var(--td-comp-margin-xs)}.t-input-number--row .t-input-number__increase{right:0}.t-select-input{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;width:100%;display:inline-block;vertical-align:middle}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-tag-input--with-tag .t-input{padding-right:var(--td-comp-paddingLR-xl)}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-tag-input--with-tag .t-input.t-size-l{padding-right:calc(var(--td-comp-paddingLR-xl) + var(--td-comp-paddingLR-s))}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-is-empty .t-input{padding-right:var(--td-comp-paddingLR-s)}.t-select-input--multiple .t-input--auto-width.t-tag-input__with-suffix-icon.t-is-empty .t-input.t-size-l{padding-right:var(--td-comp-paddingLR-m)}.t-select-input--borderless .t-input{box-shadow:none;border:1px solid transparent;background:transparent;transition:all .2s linear}.t-select-input--borderless .t-input:hover:not(.t-input--focused){border-color:var(--td-component-border);background-color:var(--td-bg-color-container-hover);border-radius:var(--td-radius-default)}.t-select-input--borderless .t-input--focused{border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus);background-color:var(--td-bg-color-specialcomponent)}.t-select-input--borderless.t-select-input--multiple:not(.t-select-input--empty).t-select-input--popup-visible input{display:inline-block}.t-select-input--borderless.t-select-input--multiple:not(.t-select-input--empty).t-select-input--popup-visible .t-input{background-color:var(--td-bg-color-container-hover)}.t-select-input--borderless.t-tag-input{border:0;box-shadow:none;background:transparent;transition:background-color .2s linear}.t-select-input--borderless.t-tag-input:hover{background-color:var(--td-bg-color-container-hover);border-radius:var(--td-radius-default)}.t-tag{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;align-items:center;flex-direction:row;padding:0px var(--td-comp-paddingLR-s);height:var(--td-comp-size-xs);font:var(--td-font-body-small);color:var(--td-text-color-anti);border-radius:var(--td-radius-default);border:1px solid transparent;white-space:nowrap}.t-tag .t-icon{margin-right:var(--td-comp-margin-xs);width:calc(var(--td-font-size-body-medium) + 2px);height:calc(var(--td-font-size-body-medium) + 2px);flex-shrink:0}.t-tag .t-tag__icon-close{margin-right:0;margin-left:var(--td-comp-margin-s);font:var(--td-font-body-medium);cursor:pointer;transition:color .2s cubic-bezier(.38,0,.24,1)}.t-tag--default{color:var(--td-text-color-primary);background-color:var(--td-bg-color-component)}.t-tag--default .t-tag__icon-close{color:var(--td-text-color-placeholder)}.t-tag--default .t-tag__icon-close:hover{color:var(--td-text-color-primary)}.t-tag--default.t-tag--checked{color:var(--td-text-color-anti);background-color:var(--td-brand-color)}.t-tag--default.t-tag--checked:hover{background-color:var(--td-brand-color-hover)}.t-tag--default:active{cursor:default}.t-tag--default.t-tag--check{transition:background-color .2s cubic-bezier(.38,0,.24,1);cursor:pointer}.t-tag--default.t-tag--check:hover:not(.t-tag--checked):not(.t-tag--disabled){background-color:var(--td-bg-color-component-hover)}.t-tag--default.t-tag--disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled);cursor:not-allowed}.t-tag--default.t-tag--disabled:hover{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.t-tag--default.t-tag--disabled .t-icon:hover{cursor:pointer}.t-tag--default.t-tag--outline{border-color:var(--td-component-border)}.t-tag--default.t-tag--light{background-color:var(--td-bg-color-secondarycontainer)}.t-tag--default.t-tag--light-outline{border-color:var(--td-component-border);background-color:var(--td-bg-color-secondarycontainer)}.t-tag--primary{background-color:var(--td-brand-color)}.t-tag--primary.t-tag--outline{border-color:var(--td-brand-color)}.t-tag--primary.t-tag--light{background-color:var(--td-brand-color-light)}.t-tag--primary.t-tag--light-outline{border-color:var(--td-brand-color);background-color:var(--td-brand-color-light)}.t-tag--primary.t-tag--light,.t-tag--primary.t-tag--outline,.t-tag--primary.t-tag--light-outline{color:var(--td-brand-color)}.t-tag--primary.t-tag--light .t-tag__icon-close:hover,.t-tag--primary.t-tag--outline .t-tag__icon-close:hover,.t-tag--primary.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-brand-color-hover)}.t-tag--success{background-color:var(--td-success-color)}.t-tag--success.t-tag--outline{border-color:var(--td-success-color)}.t-tag--success.t-tag--light{background-color:var(--td-success-color-light)}.t-tag--success.t-tag--light-outline{border-color:var(--td-success-color);background-color:var(--td-success-color-light)}.t-tag--success.t-tag--light,.t-tag--success.t-tag--outline,.t-tag--success.t-tag--light-outline{color:var(--td-success-color)}.t-tag--success.t-tag--light .t-tag__icon-close:hover,.t-tag--success.t-tag--outline .t-tag__icon-close:hover,.t-tag--success.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-success-color-hover)}.t-tag--warning{background-color:var(--td-warning-color)}.t-tag--warning.t-tag--outline{border-color:var(--td-warning-color)}.t-tag--warning.t-tag--light{background-color:var(--td-warning-color-light)}.t-tag--warning.t-tag--light-outline{border-color:var(--td-warning-color);background-color:var(--td-warning-color-light)}.t-tag--warning.t-tag--light,.t-tag--warning.t-tag--outline,.t-tag--warning.t-tag--light-outline{color:var(--td-warning-color)}.t-tag--warning.t-tag--light .t-tag__icon-close:hover,.t-tag--warning.t-tag--outline .t-tag__icon-close:hover,.t-tag--warning.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-warning-color-hover)}.t-tag--danger{background-color:var(--td-error-color)}.t-tag--danger.t-tag--outline{border-color:var(--td-error-color)}.t-tag--danger.t-tag--light{background-color:var(--td-error-color-light)}.t-tag--danger.t-tag--light-outline{border-color:var(--td-error-color);background-color:var(--td-error-color-light)}.t-tag--danger .t-tag__icon-close{fill:var(--td-error-color)}.t-tag--danger .t-tag__icon-close:hover{fill:var(--td-error-color-hover)}.t-tag--danger.t-tag--light,.t-tag--danger.t-tag--outline,.t-tag--danger.t-tag--light-outline{color:var(--td-error-color)}.t-tag--danger.t-tag--light .t-tag__icon-close:hover,.t-tag--danger.t-tag--outline .t-tag__icon-close:hover,.t-tag--danger.t-tag--light-outline .t-tag__icon-close:hover{color:var(--td-error-color-hover)}.t-tag--dark.t-tag:not(.t-tag--default) .t-tag__icon-close{color:var(--td-font-white-2)}.t-tag--dark.t-tag:not(.t-tag--default) .t-tag__icon-close:hover{color:var(--td-font-white-1)}.t-tag.t-tag--outline{background:transparent}.t-tag.t-size-s{padding:0px var(--td-comp-paddingLR-xs);height:var(--td-comp-size-xxs);font:var(--td-font-body-small)}.t-tag.t-size-s .t-icon{font-size:var(--td-font-body-small)}.t-tag.t-size-l{padding:0px var(--td-comp-paddingLR-m);height:var(--td-comp-size-m);font:var(--td-font-body-medium)}.t-tag.t-size-l .t-icon{font:var(--td-font-body-medium)}.t-tag.t-tag--round{border-radius:var(--td-radius-extraLarge)}.t-tag.t-tag--mark{border-radius:0 var(--td-radius-extraLarge) var(--td-radius-extraLarge) 0}.t-tag.t-tag--ellipsis .t-tag--text{display:inline-block;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}a .t-tag{cursor:pointer;transition:all .2s linear}a .t-tag:hover{color:var(--td-brand-color);background-color:var(--td-bg-color-component-hover)}a .t-tag:active{color:var(--td-brand-color-active);background-color:var(--td-bg-color-component-active)}@keyframes t-fade-in{0%{opacity:0}to{opacity:1}}@keyframes t-fade-out{0%{opacity:1}to{opacity:0}}@keyframes t-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.t-icon-loading{animation:t-spin 1s linear infinite}@keyframes t-zoom-out{0%{transform:scale(.2)}to{transform:scale(1)}}.t-tag-input{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-tag-input .t-tag{vertical-align:middle;animation:t-fade-in .2s ease-in-out;margin:3px var(--td-comp-margin-xs) 3px 0}.t-tag-input .t-tag-input__drag_wrapper+.t-tag-input__drag_wrapper{margin-left:var(--td-comp-margin-xs)}.t-tag-input .t-input{overflow:hidden;min-height:var(--td-comp-size-m);height:fit-content;padding:0 var(--td-comp-paddingLR-s) 0 var(--td-comp-margin-xs)}.t-tag-input .t-input .t-input__suffix-icon{right:var(--td-comp-margin-s)}.t-tag-input .t-input.t-size-s{padding:0 var(--td-comp-paddingLR-xxs) 0 var(--td-comp-margin-xs);min-height:var(--td-comp-size-xs)}.t-tag-input .t-input.t-size-s .t-tag{margin:1px var(--td-comp-margin-xs) 1px 0}.t-tag-input .t-input.t-size-l{min-height:var(--td-comp-size-xl);padding-right:var(--td-comp-paddingLR-m)}.t-tag-input .t-input.t-size-l .t-input__suffix-icon{right:var(--td-comp-margin-m)}.t-tag-input.t-is-empty .t-input__inner{margin-left:var(--td-comp-margin-xs)}.t-tag-input:hover .t-input__inner,.t-tag-input .t-input--focused .t-input__inner{min-width:20px}.t-tag-input .t-tag-input__prefix{margin-left:var(--td-comp-margin-xs);line-height:1}.t-tag-input .t-tag-input__prefix>.t-icon{color:var(--td-text-color-placeholder)}.t-tag-input .t-input .t-input__prefix:not(:empty){margin-right:0}.t-tag-input.t-input--auto-width .t-input.t-input--focused{padding-right:calc(var(--td-comp-paddingLR-xxl) + var(--td-comp-paddingLR-xxs))}.t-tag-input.t-input--auto-width .t-input__prefix{white-space:nowrap}.t-tag-input__suffix-clear{cursor:pointer}.t-tag-input--break-line:not(.t-is-empty) .t-input{display:block}.t-tag-input--break-line:not(.t-is-empty) .t-input.t-input--prefix>.t-input__prefix{display:inline;text-align:left}.t-tag-input--break-line:not(.t-is-empty) .t-input .t-input__suffix-icon{position:absolute;bottom:0}.t-tag-input--break-line:not(.t-is-empty) .t-tag-input__prefix{vertical-align:middle}.t-tag-input__prefix{width:max-content;display:inline-block;margin-right:var(--td-comp-margin-s)}.t-tag-input--break-line.t-tag-input--with-tag:not(.t-input--auto-width) .t-input,.t-tag-input.t-input--auto-width:hover .t-input{padding-right:calc(var(--td-comp-paddingLR-xxl) + var(--td-comp-paddingLR-xxs))}.t-tag-input--break-line.t-tag-input--with-tag:not(.t-input--auto-width) .t-size-l .t-input,.t-tag-input.t-input--auto-width:hover .t-size-l .t-input{padding-right:calc(var(--td-comp-paddingLR-xxl) + var(--td-comp-paddingLR-xs))}.t-tag-input.t-input--auto-width .t-input{padding-right:0}.t-checkbox-group{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;flex-wrap:wrap;gap:16px}.t-checkbox{font:var(--td-font-body-medium);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;align-items:center;position:relative;cursor:pointer;color:var(--td-text-color-primary)}.t-checkbox+.t-checkbox{margin-left:inherit}.t-checkbox__former{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.t-checkbox__input{position:relative;display:inline-block;width:16px;height:16px;vertical-align:middle;border:1px solid var(--td-border-level-2-color);border-radius:var(--td-radius-default);background-color:var(--td-bg-color-container);box-sizing:border-box}.t-checkbox__input:after{content:"";position:absolute;opacity:0;box-sizing:border-box}.t-checkbox__label{display:inline-block;margin-left:8px;vertical-align:middle;font:var(--td-font-body-medium)}.t-checkbox:hover .t-checkbox__input{border-color:var(--td-brand-color);transition:border-color .2s linear}.t-checkbox.t-is-checked .t-checkbox__input{border-color:var(--td-brand-color);background-color:var(--td-brand-color);transition:background-color .2s cubic-bezier(.82,0,1,.9)}.t-checkbox.t-is-checked .t-checkbox__input:after{opacity:1;top:6px;left:3px;width:5px;height:9px;border:2px solid var(--td-text-color-anti);border-radius:0 0 1px;border-top:0;border-left:0;transform:rotate(45deg) scale(1) translate(-50%,-50%);background:transparent}.t-checkbox.t-is-indeterminate .t-checkbox__input{border-color:var(--td-brand-color);background-color:var(--td-brand-color);transition:background-color .2s cubic-bezier(.82,0,1,.9)}.t-checkbox.t-is-indeterminate .t-checkbox__input:after{opacity:1;width:16px;height:4px;left:-1px;right:0;top:5px;border:unset;transform:scale(.5);background-color:var(--td-font-white-1)}.t-checkbox.t-is-disabled{cursor:not-allowed}.t-checkbox.t-is-disabled .t-checkbox__label{color:var(--td-text-color-disabled)}.t-checkbox.t-is-disabled .t-checkbox__input{background-color:var(--td-bg-color-component-disabled)}.t-checkbox.t-is-disabled:hover .t-checkbox__input,.t-checkbox.t-is-disabled.t-is-checked .t-checkbox__input{border-color:var(--td-border-level-2-color)}.t-checkbox.t-is-disabled.t-is-checked .t-checkbox__input:after{border-color:var(--td-text-color-disabled)}.t-checkbox.t-is-disabled.t-is-indeterminate .t-checkbox__input{border-color:var(--td-border-level-2-color)}.t-checkbox.t-is-disabled.t-is-indeterminate .t-checkbox__input:after{background-color:var(--td-text-color-disabled)}.t-checkbox:focus-visible:focus-visible{outline:2px solid var(--td-brand-color);outline-offset:var(--td-comp-paddingTB-xs);border-radius:0}.t-select__wrap{width:100%}.t-select__dropdown .t-popup__content{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin;margin:var(--td-comp-paddingTB-s) 0;padding:0;max-height:300px;overflow-y:auto;overscroll-behavior:contain;box-shadow:var(--td-shadow-2)}.t-select__dropdown .t-popup__content::-webkit-scrollbar{width:8px;height:8px}.t-select__dropdown .t-popup__content::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:15px}.t-select__dropdown .t-popup__content::-webkit-scrollbar-thumb:vertical:hover,.t-select__dropdown .t-popup__content::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-select__dropdown-inner .t-select__list .t-select__list{padding:0}.t-select__dropdown-inner .t-select__list,.t-select__dropdown-inner .t-tree{padding:var(--td-pop-padding-m)}.t-select__dropdown-inner--size-s .t-select__list,.t-select__dropdown-inner--size-s .t-tree{padding:var(--td-pop-padding-s)}.t-select__dropdown-inner--size-l .t-select__list,.t-select__dropdown-inner--size-l .t-tree{padding:var(--td-pop-padding-l)}.t-select__list{margin:0;padding:0;list-style:none}.t-select__dropdown.t-popup{padding:0}.t-select__empty.t-size-s{line-height:var(--td-comp-size-xs)}.t-select__empty{text-align:center;color:var(--td-text-color-disabled);line-height:var(--td-comp-size-m);padding:0 var(--td-comp-paddingLR-s)}.t-select__empty.t-size-l{line-height:var(--td-comp-size-xl)}.t-select__loading-tips.t-size-s{line-height:var(--td-comp-size-xs)}.t-select__loading-tips{text-align:center;line-height:var(--td-comp-size-m);color:var(--td-text-color-disabled)}.t-select__loading-tips.t-size-l{line-height:var(--td-comp-size-xl)}.t-select-option-group+.t-select-option-group{padding-top:var(--td-comp-margin-xs);margin-top:var(--td-comp-margin-xs)}.t-select-option-group__divider+.t-select-option-group__divider{position:relative}.t-select-option-group__divider+.t-select-option-group__divider:before{content:"";width:100%;height:1px;padding:0 var(--td-comp-paddingLR-s);position:absolute;top:0;left:0;box-sizing:border-box;background-color:var(--td-border-level-1-color);background-clip:content-box}ul.t-select-option-group__header,.t-select-option-group__header{color:var(--td-text-color-placeholder);display:block;height:var(--td-comp-size-s);line-height:var(--td-comp-size-s);padding:0 var(--td-comp-paddingLR-s);box-sizing:border-box;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-select-option-group__header.t-size-l{height:var(--td-comp-size-l);line-height:var(--td-comp-size-l);padding:0 var(--td-comp-paddingLR-m)}.t-select-option-group__header.t-size-s{height:var(--td-comp-size-xxs);line-height:var(--td-comp-size-xxs);padding:0 var(--td-comp-paddingLR-s)}.t-select-option{display:flex;align-items:center;border-radius:var(--td-radius-default);height:var(--td-comp-size-s);font:var(--td-font-body-medium);cursor:pointer;padding:0 var(--td-comp-paddingLR-s);color:var(--td-text-color-primary);transition:background-color .2s cubic-bezier(.38,0,.24,1);box-sizing:border-box;--ripple-color: var(--td-bg-color-container-active)}.t-select-option span{position:relative;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-select-option:not(.t-is-disabled):not(.t-is-selected):hover{background-color:var(--td-bg-color-container-hover)}.t-select-option:not(.t-is-disabled):not(.t-is-selected):hover .t-checkbox__label{color:inherit}.t-select-option:not(.t-is-disabled):not(.t-is-selected):hover .t-checkbox__input{border-color:var(--td-brand-color)}.t-select-option .t-checkbox__label{color:var(--td-text-color-primary);flex:1;white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-select-option .t-checkbox{width:100%}.t-select-option.t-is-disabled{cursor:not-allowed;color:var(--td-text-color-disabled);background:var(--td-bg-color-specialcomponent)}.t-select-option.t-is-disabled:hover,.t-select-option.t-is-disabled :active{background:var(--td-bg-color-specialcomponent)}.t-select-option.t-size-l{height:var(--td-comp-size-l);padding:0 var(--td-comp-paddingLR-m);font:var(--td-font-body-large)}.t-select-option.t-size-m{font:var(--td-font-body-medium)}.t-select-option.t-size-s{height:var(--td-comp-size-xxs);padding:0 var(--td-comp-paddingLR-s);font:var(--td-font-body-small)}.t-select-option.t-is-selected{color:var(--td-brand-color);background-color:var(--td-brand-color-light);transition:all .2s linear}.t-select-option.t-is-selected .t-checkbox__label{color:var(--td-brand-color)}.t-select-option.t-is-selected:hover{background-color:var(--td-brand-color-light)}.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected),.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected),.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected),.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected){background-color:var(--td-bg-color-container-hover)}.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected) .t-checkbox__input,.t-select-option.t-select-option__hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected) .t-checkbox__input,.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option__hover:not(.t-is-selected) .t-checkbox__input,.t-select-option.t-select-option--hover:not(.t-is-disabled).t-select-option.t-select-option--hover:not(.t-is-selected) .t-checkbox__input{border-color:var(--td-brand-color)}.t-select-option.t-select-option__hover .t-checkbox__label,.t-select-option.t-select-option--hover .t-checkbox__label{color:inherit}.t-select-option+.t-select-option{margin-top:var(--td-comp-paddingTB-xxs)}.t-select.t-select-input--borderless .t-select__right-icon{position:relative;margin:0}.t-select .t-fake-arrow{color:var(--td-text-color-placeholder)}.t-select .t-fake-arrow--active{color:var(--td-brand-color)}.t-input-adornment{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:flex}.t-input-adornment__prepend .t-input,.t-input-adornment__append .t-input,.t-input-adornment__prepend .t-textarea__inner,.t-input-adornment__append .t-textarea__inner{background-color:transparent}.t-input-adornment__prepend{background-color:var(--td-bg-color-secondarycontainer);color:var(--td-text-color-primary);word-break:keep-all;margin-right:-1px}.t-input-adornment__append{background-color:var(--td-bg-color-secondarycontainer);color:var(--td-text-color-primary);word-break:keep-all;margin-left:-1px}.t-input-adornment__text{display:inline-flex;height:100%;align-items:center;box-sizing:border-box;white-space:nowrap;padding:0 var(--td-comp-paddingLR-s);border:1px solid var(--td-border-level-2-color)}.t-input-adornment>:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-adornment>:first-child .t-input,.t-input-adornment>:first-child .t-input-adornment__text,.t-input-adornment>:first-child .t-textarea__inner{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-input-adornment>:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-adornment>:last-child .t-input,.t-input-adornment>:last-child .t-input-adornment__text,.t-input-adornment>:last-child .t-textarea__inner{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-input-adornment>:not(:last-child):hover{z-index:2}.t-input-adornment>:not(:first-child):not(:last-child) .t-input,.t-input-adornment>:not(:first-child):not(:last-child) .t-textarea__inner{border-radius:0}.t-pagination-mini{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-pagination-mini--outline .t-pagination-mini__prev{border-top-right-radius:0;border-bottom-right-radius:0;position:relative;z-index:1}.t-pagination-mini--outline .t-pagination-mini__current{border-radius:0;position:relative;margin-left:-1px}.t-pagination-mini--outline .t-pagination-mini__current:hover{z-index:1}.t-pagination-mini--outline .t-pagination-mini__next{border-top-left-radius:0;border-bottom-left-radius:0;position:relative;margin-left:-1px}.t-pagination-mini--outline .t-pagination-mini__next:hover{z-index:1}.t-pagination{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;width:100%;display:flex;align-items:center;justify-content:flex-end;white-space:nowrap;color:var(--td-text-color-secondary);-webkit-user-select:none;user-select:none}.t-pagination.t-is-disabled{color:var(--td-text-color-disabled)}.t-pagination__total{font:var(--td-font-body-medium);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.t-pagination .t-select__wrap{width:auto}.t-pagination__select{flex-shrink:0;margin-right:var(--td-comp-margin-l);height:var(--td-comp-size-m);font-size:var(--td-font-size-body-medium);color:var(--td-text-color-secondary)}.t-pagination__btn{display:inline-flex;justify-content:center;align-items:center;flex-shrink:0;cursor:pointer;color:var(--td-text-color-secondary);border-radius:var(--td-radius-default);font:var(--td-font-body-large);width:var(--td-comp-size-m);height:var(--td-comp-size-m);line-height:var(--td-comp-size-m)}.t-pagination__btn:hover{background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination__btn:active{background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination__btn.t-is-disabled,.t-pagination__btn.t-is-disabled:hover,.t-pagination__btn.t-is-disabled:active{background:none;color:var(--td-text-color-disabled)}.t-pagination__btn.t-is-disabled{cursor:not-allowed}.t-pagination__btn-prev{margin-right:var(--td-comp-margin-s)}.t-pagination__btn-next{margin-left:var(--td-comp-margin-s)}.t-pagination__btn+.t-pagination__select{margin-right:0}.t-pagination__pager{flex-shrink:0;display:inline-flex;vertical-align:middle;list-style:none;padding:0;margin:0}.t-pagination__pager li:not(:last-child){margin-right:var(--td-comp-margin-s)}.t-pagination__number{display:inline-block;border:1px solid var(--td-component-border);text-align:center;border-radius:var(--td-radius-default);cursor:pointer;background-color:var(--td-bg-color-container);box-sizing:border-box;height:var(--td-comp-size-m);min-width:var(--td-comp-size-m);line-height:calc(var(--td-comp-size-m) - 2px);font-size:var(--td-font-body-medium);padding-left:var(--td-comp-paddingLR-xs);padding-right:var(--td-comp-paddingLR-xs)}.t-pagination__number:hover{color:var(--td-brand-color-hover);border-color:var(--td-brand-color-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination__number:active,.t-pagination__number.t-is-current{background-color:var(--td-brand-color);color:var(--td-text-color-anti);border-color:var(--td-brand-color)}.t-pagination__number.t-is-current.t-is-disabled,.t-pagination__number.t-is-current.t-is-disabled:hover,.t-pagination__number.t-is-current.t-is-disabled:active{background-color:var(--td-brand-color-focus);color:var(--td-text-color-anti);border-color:var(--td-brand-color-focus)}.t-pagination__number.t-is-disabled{cursor:auto;background-color:var(--td-bg-color-component-disabled);color:var(--td-text-color-disabled)}.t-pagination__number.t-is-disabled:hover,.t-pagination__number.t-is-disabled:active{background-color:var(--td-bg-color-component-disabled);color:var(--td-text-color-disabled);border-color:var(--td-component-border)}.t-pagination__number--more{border:0 none;padding:0}.t-pagination__number--more:hover{color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination__number--more:active{color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination__number--more.t-is-disabled,.t-pagination__number--more.t-is-disabled:hover,.t-pagination__number--more.t-is-disabled:active{background:none}.t-pagination__number--more .t-icon-more{transform:rotate(90deg);color:var(--td-text-color-disabled)}.t-pagination__jump{display:inline-flex;align-items:center;flex-shrink:0;margin-left:var(--td-comp-margin-s);font-size:var(--td-font-body-medium);gap:var(--td-comp-margin-s);background-color:var(--td-bg-color-secondarycontainer);height:var(--td-comp-size-m);padding-left:var(--td-comp-margin-s);border-radius:var(--td-radius-default)}.t-pagination .t-input-adornment__append{border:none;height:calc(var(--td-comp-size-m) - 4px);color:var(--td-text-color-secondary);background-color:transparent}.t-pagination .t-input-adornment__append .t-input-adornment__text{border:none}.t-pagination .t-input-number{width:56px}.t-pagination .t-input-number .t-input{height:calc(var(--td-comp-size-m) - 4px);border-radius:var(--td-radius-default)}.t-pagination .t-input-number .t-input__inner{text-align:center}.t-pagination.t-size-s{font:var(--td-font-body-small)}.t-pagination.t-size-s .t-pagination__jump{height:var(--td-comp-size-xs)}.t-pagination.t-size-s .t-input-adornment__append{height:calc(var(--td-comp-size-xs) - 4px);font:var(--td-font-body-small)}.t-pagination.t-size-s .t-input-number{width:48px}.t-pagination.t-size-s .t-input-number .t-input{height:calc(var(--td-comp-size-xs) - 4px)}.t-pagination.t-size-s .t-pagination__total{font:var(--td-font-body-small)}.t-pagination.t-size-s .t-pagination__select{height:var(--td-comp-size-xs);font-size:var(--td-font-size-body-small)}.t-pagination.t-size-s .t-pagination__number{border:0 none;height:var(--td-comp-size-xs);min-width:var(--td-comp-size-xs);line-height:var(--td-comp-size-xs);font-size:var(--td-font-body-small);padding-left:var(--td-comp-paddingLR-xxs);padding-right:var(--td-comp-paddingLR-xxs)}.t-pagination.t-size-s .t-pagination__number:hover:not(.t-pagination.t-size-s .t-pagination__number.t-is-current){color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination.t-size-s .t-pagination__number:active:not(.t-pagination.t-size-s .t-pagination__number.t-is-current){color:var(--td-text-color-primary);background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination.t-size-s .t-pagination__number.t-is-disabled{background:none;color:var(--td-text-color-disabled)}.t-pagination.t-size-s .t-pagination__number.t-is-current.t-is-disabled{background-color:var(--td-brand-color-focus);color:var(--td-text-color-anti);border-color:var(--td-brand-color-focus)}.t-pagination.t-size-s .t-pagination__btn{border:0 none;background:none;width:var(--td-comp-size-xs);height:var(--td-comp-size-xs);line-height:var(--td-comp-size-xs)}.t-pagination.t-size-s .t-pagination__btn:hover{background-color:var(--td-bg-color-secondarycontainer-hover);transition:all .2s cubic-bezier(.82,0,1,.9)}.t-pagination.t-size-s .t-pagination__btn:active{background-color:var(--td-bg-color-secondarycontainer-active)}.t-pagination.t-size-s .t-pagination__btn.t-is-disabled,.t-pagination.t-size-s .t-pagination__btn.t-is-disabled:hover,.t-pagination.t-size-s .t-pagination__btn.t-is-disabled:active{background:none;color:var(--td-text-color-disabled)}.t-pagination-ie .t-select .t-input__inner{min-width:54px}.t-radio-group{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;display:inline-flex;align-items:center;width:fit-content;max-width:100%;border-radius:var(--td-radius-default);flex-wrap:wrap;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-radio-group::-webkit-scrollbar{width:4px;height:4px}.t-radio-group::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:7px}.t-radio-group::-webkit-scrollbar-thumb:vertical:hover,.t-radio-group::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-radio-group .t-radio{margin-right:var(--td-comp-margin-xxl)}.t-radio-group.t-radio-group__outline{flex-wrap:wrap;row-gap:var(--td-comp-margin-xs)}.t-radio-group.t-radio-group__outline.t-size-s .t-radio-button{height:var(--td-comp-size-xs)}.t-radio-group.t-radio-group__outline.t-size-m .t-radio-button{height:var(--td-comp-size-m)}.t-radio-group.t-radio-group__outline.t-size-l .t-radio-button{height:var(--td-comp-size-xl)}.t-radio-group.t-radio-group__outline .t-radio-button:first-child{border-radius:var(--td-radius-default) 0 0 var(--td-radius-default)}.t-radio-group.t-radio-group__outline .t-radio-button:last-child{border-radius:0 var(--td-radius-default) var(--td-radius-default) 0}.t-radio-group.t-radio-group__outline .t-radio-button.t-is-checked{color:var(--td-brand-color)}.t-radio-group.t-radio-group__outline .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-brand-color-disabled);border-color:var(--td-brand-color-disabled);background-color:var(--td-bg-color-specialcomponent)}.t-radio-group.t-radio-group--filled{border-color:var(--td-bg-color-component);padding:var(--td-comp-paddingTB-xxs) var(--td-comp-paddingLR-xxs);border-radius:var(--td-radius-default);background-color:var(--td-bg-color-component);position:relative}.t-radio-group.t-radio-group--filled .t-radio-group__bg-block{position:absolute;left:2px;top:2px;width:0;height:calc(100% - 4px);background-color:var(--td-bg-color-container-select);transition:all .2s cubic-bezier(.38,0,.24,1);border-radius:var(--td-radius-small)}.t-radio-group.t-radio-group--filled .t-radio-button{color:var(--td-text-color-secondary);border:0;background-color:transparent}.t-radio-group.t-radio-group--filled .t-radio-button:hover{color:var(--td-text-color-primary)}.t-radio-group.t-radio-group--filled .t-radio-button:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:calc(100% - 16px);background-color:var(--td-component-border);transition:opacity .2s cubic-bezier(0,0,.15,1)}.t-radio-group.t-radio-group--filled .t-radio-button:first-child:before{opacity:0}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-checked{position:relative;color:var(--td-text-color-primary);z-index:1;border:0;transition:color .2s linear}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-checked:before{opacity:0}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-checked+label:before{opacity:0}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-disabled{background-color:transparent}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-text-color-disabled)}.t-radio-group.t-radio-group--filled .t-radio-button.t-is-disabled.t-is-checked~.t-radio-group__bg-block{background-color:var(--td-bg-color-component-disabled)}.t-radio-group.t-radio-group--primary-filled .t-radio-group__bg-block{background-color:var(--td-brand-color)}.t-radio-group.t-radio-group--primary-filled .t-radio-button.t-is-checked,.t-radio-group.t-radio-group--primary-filled .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-text-color-anti)}.t-radio-group.t-radio-group--primary-filled .t-radio-button.t-is-disabled.t-is-checked~.t-radio-group__bg-block{background-color:var(--td-brand-color-disabled)}.t-radio-group.t-size-s .t-radio-button{height:calc(var(--td-comp-size-xs) - (var(--td-comp-paddingTB-xxs) * 2));padding:0px var(--td-comp-paddingLR-s);font:var(--td-font-body-small)}.t-radio-group.t-size-s .t-radio-button:before{height:calc(100% - 16px)}.t-radio-group.t-size-m .t-radio-button{height:calc(var(--td-comp-size-m) - (var(--td-comp-paddingTB-xxs) * 2));padding:var(--td-comp-paddingTB-xs) var(--td-comp-paddingLR-l);font:var(--td-font-body-medium)}.t-radio-group.t-size-m .t-radio-button:before{height:calc(100% - 20px)}.t-radio-group.t-size-l .t-radio-button{height:calc(var(--td-comp-size-xl) - (var(--td-comp-paddingTB-xxs) * 2));padding:var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-xl);font:var(--td-font-body-large)}.t-radio-group.t-size-l .t-radio-button:before{height:calc(100% - 24px)}.t-radio-group .t-radio-button{cursor:pointer;position:relative;border:1px solid;border-color:var(--td-border-level-2-color);border-right:0;display:inline-flex;align-items:center;transition:color .2s cubic-bezier(0,0,.15,1);color:var(--td-text-color-primary);white-space:nowrap;box-sizing:border-box}.t-radio-group .t-radio-button:first-child{border-radius:var(--td-radius-small) 0 0 var(--td-radius-small)}.t-radio-group .t-radio-button:last-child{border-right:1px solid;border-right-color:var(--td-border-level-2-color);border-radius:0 var(--td-radius-small) var(--td-radius-small) 0}.t-radio-group .t-radio-button__former{opacity:0;height:0;width:0;font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-radio-group .t-radio-button:hover{color:var(--td-brand-color)}.t-radio-group .t-radio-button.t-is-checked{border-right:1px solid;border-color:var(--td-brand-color);transition:border-color .2s cubic-bezier(0,0,.15,1)}.t-radio-group .t-radio-button.t-is-checked+.t-radio-button{border-left:0}.t-radio-group .t-radio-button.t-is-disabled{cursor:not-allowed;color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled)}.t-radio-group .t-radio-button.t-is-disabled:hover{border-color:var(--td-border-level-2-color);color:var(--td-text-color-disabled)}.t-radio-group .t-radio-button.t-is-disabled:hover:after{width:0}.t-radio-group .t-radio-button.t-is-disabled.t-is-checked{color:var(--td-text-color-disabled)}.t-radio-group .t-radio-button.t-is-disabled.t-is-checked:after{width:0}.t-radio{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;cursor:pointer;display:inline-block}.t-radio__former{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;opacity:0;position:absolute}.t-radio__input{position:relative;display:inline-block;width:16px;height:16px;vertical-align:middle;border-radius:var(--td-radius-circle);border:1px solid var(--td-border-level-2-color);background-color:var(--td-bg-color-container);transition:border .2s cubic-bezier(0,0,.15,1)}.t-radio__input:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin-top:-8px;margin-left:-8px;transform:scale(.5);opacity:0;border-radius:var(--td-radius-circle);background-color:var(--td-brand-color);transition:all .2s cubic-bezier(0,0,.15,1)}.t-radio__label{display:inline-block;margin-left:var(--td-comp-margin-s);color:var(--td-text-color-primary);vertical-align:middle;font:var(--td-font-body-medium);white-space:nowrap}.t-radio:hover .t-radio__input,.t-radio.t-is-checked .t-radio__input{border-color:var(--td-brand-color)}.t-radio.t-is-checked .t-radio__input:after{opacity:1}.t-radio.t-is-disabled{cursor:not-allowed}.t-radio.t-is-disabled .t-radio__label{color:var(--td-text-color-disabled)}.t-radio.t-is-disabled .t-radio__input{background-color:var(--td-bg-color-component-disabled)}.t-radio.t-is-disabled:hover .t-radio__input,.t-radio.t-is-disabled.t-is-checked .t-radio__input{border-color:var(--td-border-level-2-color)}.t-radio.t-is-disabled.t-is-checked .t-radio__input:after{background-color:var(--td-text-color-disabled)}.t-radio:focus-visible:focus-visible{outline:2px solid var(--td-brand-color);outline-offset:var(--td-comp-paddingTB-xs);border-radius:0}.t-textarea{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:relative;width:100%}.t-textarea__inner{display:flex;width:100%;height:var(--td-comp-size-xxxl);min-height:var(--td-comp-size-xxxl);border:1px solid var(--td-border-level-2-color);border-radius:var(--td-radius-default);padding:calc(calc(var(--td-comp-size-m) - var(--td-line-height-body-medium)) / 2) var(--td-comp-paddingLR-s);background-color:var(--td-bg-color-specialcomponent);font:var(--td-font-body-medium);color:var(--td-text-color-primary);resize:vertical;outline:none;transition:all cubic-bezier(.38,0,.24,1) .2s,height 0s;box-sizing:border-box}.t-textarea__inner:hover{border-color:var(--td-brand-color)}.t-textarea__inner:focus{border-color:var(--td-brand-color);box-shadow:0 0 0 2px var(--td-brand-color-focus)}.t-textarea__inner::placeholder{color:var(--td-text-color-placeholder)}.t-textarea__inner.t-is-success{border-color:var(--td-success-color)}.t-textarea__inner.t-is-success:focus{box-shadow:0 0 0 2px var(--td-success-color-focus)}.t-textarea__inner.t-is-warning{border-color:var(--td-warning-color)}.t-textarea__inner.t-is-warning:focus{box-shadow:0 0 0 2px var(--td-warning-color-focus)}.t-textarea__inner.t-is-error{border-color:var(--td-error-color)}.t-textarea__inner.t-is-error:focus{box-shadow:0 0 0 2px var(--td-error-color-focus)}.t-textarea__info_wrapper{display:flex;column-gap:var(--td-comp-margin-s);justify-content:space-between}.t-textarea__info_wrapper_align{justify-content:end}.t-textarea__limit{font:var(--td-font-body-small);color:var(--td-text-color-placeholder)}.t-textarea .t-is-disabled{color:var(--td-text-color-disabled);background-color:var(--td-bg-color-component-disabled);cursor:not-allowed}.t-textarea .t-is-disabled:hover{border-color:var(--td-border-level-2-color)}.t-textarea .t-is-disabled::placeholder{color:var(--td-text-color-disabled)}.t-textarea .t-resize-none{resize:none}.t-textarea__tips{height:auto;min-height:var(--td-comp-size-xs);font:var(--td-font-body-small);display:inline-block}.t-textarea__tips--normal{color:var(--td-text-color-placeholder)}.t-textarea__tips--success{color:var(--td-success-color)}.t-textarea__tips--warning{color:var(--td-warning-color)}.t-textarea__tips--error{color:var(--td-error-color)}@keyframes tDialogZoomIn{0%{opacity:0;transform:scale(.01)}to{opacity:1}}@keyframes tDialogZoomOut{0%{opacity:1}to{opacity:0;transform:scale(.01)}}@keyframes tDialogMaskIn{0%{opacity:0}to{opacity:1}}@keyframes tDialogMaskOut{0%{opacity:1}to{opacity:0}}.t-dialog-zoom .animation-enter{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-zoom .animation-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.38,0,.24,1);animation-play-state:paused}.t-dialog-zoom .animation-active{animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom-enter,.t-dialog-zoom-enter-from,.t-dialog-zoom-appear{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-zoom-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.38,0,.24,1);animation-play-state:paused}.t-dialog-zoom-enter-active,.t-dialog-zoom-appear-active{animation-name:tDialogZoomIn;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom-exit-active{animation-name:tDialogZoomOut;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom__vue-enter-active .t-dialog{animation-name:tDialogZoomIn;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-zoom__vue-enter-active .t-dialog__mask{animation-name:tDialogMaskIn;animation-duration:.2s;animation-timing-function:linear;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom__vue-leave-active .t-dialog{animation-name:tDialogZoomOut;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(.38,0,.24,1);animation-play-state:paused}.t-dialog-zoom__vue-leave-active .t-dialog__mask{animation-name:tDialogMaskOut;animation-duration:.2s;animation-timing-function:linear;animation-play-state:running;animation-fill-mode:both}.t-dialog-zoom__vue-enter-to .t-dialog,.t-dialog-zoom__vue-leave-to .t-dialog{animation-play-state:running;animation-fill-mode:both}.t-dialog-fade-enter,.t-dialog-fade-appear{opacity:0;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-fade-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:cubic-bezier(0,0,.15,1);animation-play-state:paused}.t-dialog-fade-enter.t-dialog-fade-enter-active,.t-dialog-fade-appear.t-dialog-fade-appear-active{animation-name:tDialogFadeIn;animation-play-state:running}.t-dialog-fade-exit.t-dialog-fade-exit-active{animation-name:tDialogFadeOut;animation-play-state:running}@keyframes tDialogFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tDialogFadeOut{0%{opacity:1}to{opacity:0}}.t-dialog{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;width:480px;background-color:var(--td-bg-color-container);position:relative;border:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-large)}.t-dialog .t-icon.t-is-info{color:var(--td-brand-color)}.t-dialog .t-icon.t-is-success{color:var(--td-success-color)}.t-dialog .t-icon.t-is-warning{color:var(--td-warning-color)}.t-dialog .t-icon.t-is-error{color:var(--td-error-color)}.t-dialog--lock{overflow:hidden}.t-dialog__header{color:var(--td-text-color-primary);font:var(--td-font-title-medium);font-weight:600;display:flex;align-items:center;word-break:break-word;gap:var(--td-comp-margin-s);box-sizing:border-box}.t-dialog__header .t-dialog__header-content{display:flex;align-items:flex-start;width:100%}.t-dialog__header .t-icon:not(.t-icon-close){font-size:calc(var(--td-font-size-body-large) + 8px);display:inline-flex;align-items:center;margin-right:var(--td-comp-margin-s);flex-shrink:0}.t-dialog__header--fullscreen{background-color:var(--td-bg-color-secondarycontainer);min-height:var(--td-comp-size-xxxl);justify-content:flex-end;display:flex;align-items:center;flex-direction:row;padding:0 var(--td-comp-paddingLR-xxl)}.t-dialog__header--fullscreen .t-dialog__header-content{box-sizing:border-box;display:flex;justify-content:center;align-items:center}.t-dialog__body{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin;color:var(--td-text-color-secondary);font:var(--td-font-body-medium);overflow:auto;padding:var(--td-comp-paddingTB-l) 0;word-break:break-word}.t-dialog__body::-webkit-scrollbar{width:6px;height:6px}.t-dialog__body::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-dialog__body::-webkit-scrollbar-thumb:vertical:hover,.t-dialog__body::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-dialog__body__icon,.t-dialog__body--icon{padding:var(--td-comp-paddingTB-l) 0}.t-dialog__body--fullscreen{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin;box-sizing:border-box;padding:var(--td-comp-paddingTB-xl) var(--td-comp-paddingLR-xxl);height:calc(100% - var(--td-comp-size-xxxl) - var(--td-comp-size-xxxxl));overflow:auto}.t-dialog__body--fullscreen::-webkit-scrollbar{width:6px;height:6px}.t-dialog__body--fullscreen::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-dialog__body--fullscreen::-webkit-scrollbar-thumb:vertical:hover,.t-dialog__body--fullscreen::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-dialog__body--fullscreen--without-footer{box-sizing:border-box;padding:var(--td-comp-paddingTB-xl) var(--td-comp-paddingLR-xxl);height:calc(100% - var(--td-comp-size-xxxl));overflow:auto}.t-dialog__footer{width:100%;text-align:right;padding:var(--td-comp-paddingTB-l) 0 0}.t-dialog__footer .t-button+.t-button{margin-left:var(--td-comp-margin-s)}.t-dialog__footer--fullscreen{min-height:var(--td-comp-size-xxxxl);padding:0 var(--td-comp-paddingLR-xxl) var(--td-comp-paddingTB-xxl);box-sizing:border-box}.t-dialog--default{padding:var(--td-comp-paddingTB-xxl) var(--td-comp-paddingLR-xxl)}.t-dialog__close{font-size:calc(var(--td-font-size-body-large) + 4px);color:var(--td-text-color-secondary);display:flex;width:calc(var(--td-font-size-body-large) + 4px);height:calc(var(--td-font-size-body-large) + 4px);align-items:center;border-radius:var(--td-radius-default);transition:all .2s linear;padding:var(--td-comp-paddingTB-xxs) var(--td-comp-paddingLR-xxs)}.t-dialog__close:hover{cursor:pointer;background:var(--td-bg-color-container-hover)}.t-dialog__close:active{background:var(--td-bg-color-container-active)}.t-dialog__close--fullscreen{display:flex;background:transparent}.t-dialog__close--fullscreen:hover{cursor:pointer;background:var(--td-bg-color-secondarycontainer-hover)}.t-dialog__close--fullscreen:active{background:var(--td-bg-color-secondarycontainer-active)}.t-dialog.t-dialog--draggable:hover{cursor:move}.t-dialog.t-dialog--draggable .t-dialog__header:hover,.t-dialog.t-dialog--draggable .t-dialog__body:hover,.t-dialog.t-dialog--draggable .t-dialog__footer:hover{cursor:auto}.t-dialog__fullscreen{width:100%;border-radius:0}.t-dialog__ctx{pointer-events:auto;outline:none;top:0;left:0;width:100%;height:100%}.t-dialog__ctx.t-dialog__ctx--modeless{pointer-events:none}.t-dialog__ctx.t-dialog__ctx--fixed{position:fixed;z-index:2500}.t-dialog__ctx.t-dialog__ctx--absolute,.t-dialog__ctx.t-dialog__ctx--absolute .t-dialog__mask,.t-dialog__ctx.t-dialog__ctx--absolute .t-dialog__wrap{position:absolute}.t-dialog__ctx.t-is-visable{visibility:visible}.t-dialog__ctx.t-is-hidden{visibility:hidden}.t-dialog__ctx.t-is-display{display:block}.t-dialog__ctx.t-not-display{display:none}.t-dialog__ctx .t-dialog__mask{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;background:var(--td-mask-active);pointer-events:auto}.t-dialog__ctx .t-dialog__wrap{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;overflow:auto;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar{width:8px;height:8px}.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar-thumb{border:2px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:15px}.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar-thumb:vertical:hover,.t-dialog__ctx .t-dialog__wrap::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-dialog__ctx .t-dialog__position{display:flex;justify-content:center;min-height:100%;width:100%;position:relative;padding:48px 0;box-sizing:border-box}.t-dialog__ctx .t-dialog__position.t-dialog--top{align-items:flex-start;padding-top:20vh}.t-dialog__ctx .t-dialog__position.t-dialog--center{align-items:center}.t-dialog__ctx .t-dialog__position_fullscreen{display:flex;justify-content:center;min-height:100%;width:100%;position:relative;box-sizing:border-box}.t-dialog__ctx .t-is-hidden{background:none}.t-dialog__ctx .t-dialog{pointer-events:auto;z-index:2500}.t-progress{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none}.t-progress__inner{position:relative;height:100%;background:var(--td-brand-color);border-radius:var(--td-radius-round);transition:all .2s cubic-bezier(.38,0,.24,1)}.t-progress__info{margin-left:var(--td-comp-margin-s);color:var(--td-text-color-primary);white-space:nowrap;display:inline-flex}.t-progress__icon{font-size:calc(var(--td-font-size-body-medium) + 2px)}.t-progress__bar{width:100%;height:var(--td-size-3);overflow:hidden;background:var(--td-bg-color-component);border-radius:var(--td-radius-round)}.t-progress--thin{display:flex;justify-content:space-between;align-items:center}.t-progress--plump{height:var(--td-comp-size-xxs);border-radius:calc(var(--td-comp-size-xxs) / 2);display:flex;align-items:center}.t-progress--plump .t-progress__info{font-size:var(--td-font-size-body-small)}.t-progress--over-ten .t-progress__info{position:absolute;top:50%;z-index:10;right:var(--td-comp-margin-s);color:var(--td-text-color-anti);transform:translateY(-50%)}.t-progress--under-ten .t-progress__info,.t-progress--under-ten .t-progress__inner{display:inline-block}.t-progress--under-ten .t-progress__info{vertical-align:top}.t-progress--circle{position:relative}.t-progress--circle .t-progress__info{position:absolute;display:block;top:50%;left:50%;width:100%;margin:0;font-size:inherit;font-weight:600;line-height:1;text-align:center;transform:translate(-50%,-50%)}.t-progress--circle .t-progress__circle-outer{stroke:var(--td-bg-color-component)}.t-progress--circle .t-progress__circle-inner{stroke:var(--td-brand-color);transition:all .2s cubic-bezier(.38,0,.24,1)}.t-progress--circle .t-progress__icon{font-size:2.4em}.t-progress--status--active .t-progress__inner:before{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:"";animation:progress-active-animation 2s cubic-bezier(.23,.99,.86,.2) infinite;background:var(--td-text-color-anti);opacity:.2}.t-progress--status--success .t-progress__inner{background:var(--td-success-color)}.t-progress--status--success .t-progress__circle-inner{stroke:var(--td-success-color)}.t-progress--status--success .t-progress__icon{color:var(--td-success-color)}.t-progress--status--warning .t-progress__inner{background:var(--td-warning-color)}.t-progress--status--warning .t-progress__circle-inner{stroke:var(--td-warning-color)}.t-progress--status--warning .t-progress__icon{color:var(--td-warning-color)}.t-progress--status--error .t-progress__inner{background:var(--td-error-color)}.t-progress--status--error .t-progress__circle-inner{stroke:var(--td-error-color)}.t-progress--status--error .t-progress__icon{color:var(--td-error-color)}@keyframes progress-active-animation{0%{width:0;opacity:.1}35%{width:50%;opacity:.4}to{width:100%;opacity:0}}.scrollbar{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.scrollbar::-webkit-scrollbar{width:6px;height:6px}.scrollbar::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.scrollbar::-webkit-scrollbar-thumb:vertical:hover,.scrollbar::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.scrollbar.t-table__affixed-footer-elm::-webkit-scrollbar-track,.scrollbar.t-table__scrollbar--obvious::-webkit-scrollbar-track{background:var(--td-scroll-track-color)}.t-table__affixed-footer-wrap>.scrollbar.t-table__affixed-footer-elm::-webkit-scrollbar-thumb,.t-table--width-overflow.t-table--footer-affixed .t-table__content::-webkit-scrollbar-thumb,.t-table--width-overflow.t-table--horizontal-bar-affixed .t-table__content::-webkit-scrollbar-thumb{background:transparent}.t-table.t-table--overflow-visible{overflow:initial}.t-table{box-sizing:border-box;margin:0;padding:0;list-style:none;width:100%;font:var(--td-font-body-medium);color:var(--td-text-color-primary);background-color:var(--td-bg-color-container);position:relative}.t-table:focus-visible{outline:none}.t-table .t-loading--full{z-index:72}.t-table.t-vertical-align-top th,.t-table.t-vertical-align-top td{vertical-align:top}.t-table.t-vertical-align-middle th,.t-table.t-vertical-align-middle td{vertical-align:middle}.t-table.t-vertical-align-bottom th,.t-table.t-vertical-align-bottom td{vertical-align:bottom}.t-table .t-table__resize-line{display:none;position:absolute;left:10px;width:0;border-left:1px solid var(--td-component-border);z-index:1001}.t-table__column-controller-trigger.t-align-top-right,.t-table__column-controller-trigger.t-align-bottom-right{text-align:right}.t-table__column-controller-trigger{padding:var(--td-comp-paddingTB-l) 0}.t-table__column-controller-item:not(:last-child){margin-bottom:var(--td-comp-margin-l)}.t-table__content{position:relative;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-table__content::-webkit-scrollbar{width:6px;height:6px}.t-table__content::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-table__content::-webkit-scrollbar-thumb:vertical:hover,.t-table__content::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-table__pagination{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);box-sizing:border-box}.t-table .t-icon{font-size:var(--td-font-size-body-large)}.t-table table{width:100%;border-spacing:0}.t-table .t-text-ellipsis{line-height:var(--td-line-height-body-medium);white-space:nowrap;word-wrap:normal;overflow:hidden;text-overflow:ellipsis}.t-table th,.t-table td{position:relative;padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);border-bottom:1px solid var(--td-component-border);line-height:var(--td-line-height-body-medium);font-weight:400;overflow-wrap:break-word;background-color:inherit;box-sizing:border-box;text-align:left}.t-table th.t-table__th-drag{padding:0;height:0;text-align:center}.t-table thead td,.t-table th{color:var(--td-text-color-placeholder)}.t-table td[key=row-select]{padding:13px 0 11px var(--td-comp-paddingLR-l)}.t-table td.t-align-left,.t-table th.t-align-left{text-align:left}.t-table td.t-align-right,.t-table th.t-align-right{text-align:right}.t-table td.t-align-center,.t-table th.t-align-center{text-align:center}.t-table tr{background-color:var(--td-bg-color-container)}.t-table.t-size-s th,.t-table.t-size-s td{padding:var(--td-comp-paddingTB-s) var(--td-comp-paddingLR-s)}.t-table.t-size-l th,.t-table.t-size-l td{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-xl)}.t-table .t-table__expandable-icon-cell,.t-table .t-table__selection-cell{padding:0;height:0}.t-table td.t-table__handle-draggable{text-align:center;height:0;padding:0}.t-table .t-table__cell--selectable>.t-checkbox{vertical-align:middle}.t-table .t-table__cell--selectable+td,.t-table .t-table__cell--selectable+th{padding-left:0}.t-table--bordered td,.t-table--bordered th{border-left:1px solid var(--td-component-border)}.t-table--bordered td.t-table__cell--fixed-left-last:before,.t-table--bordered th.t-table__cell--fixed-left-last:before{border-right:1px solid var(--td-component-border)}.t-table--bordered th:first-child,.t-table--bordered td.t-table__td-first-col{border-left-width:0}.t-table--bordered:not(.t-table--rowspan-colspan) td:first-child{border-left-width:0}.t-table--bordered .t-table__content{border-left:1px solid var(--td-component-border)}.t-table--bordered .t-table__content::-webkit-scrollbar-corner{background-color:transparent}.t-table--bordered .t-table__content{border:1px solid var(--td-component-border);border-radius:var(--td-radius-default)}.t-table--bordered .t-table--loading{border-bottom:1px solid var(--td-component-border)}.t-table--bordered .t-table__pagination{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l)}.t-table--bordered .t-table__bottom-content+.t-table__pagination{padding:0}.t-table--bordered.t-table__header--fixed .t-table__content{border-bottom:1px solid var(--td-component-border)}.t-table--bordered .t-table__td-last-row{border-bottom:none}.t-table--striped:not(.t-table--bordered) th,.t-table--striped:not(.t-table--bordered) td{border-bottom:none}.t-table--striped.t-table--header-fixed>.t-table__content>table>tbody tr:nth-of-type(2n){background-color:var(--td-bg-color-secondarycontainer)}.t-table--striped:not(.t-table--header-fixed)>.t-table__content>table>tbody>tr:nth-of-type(odd):not(.t-table__expanded-row){background-color:var(--td-bg-color-secondarycontainer)}.t-table--striped.t-table--hoverable.t-table__header--fixed tbody tr:nth-of-type(2n):hover{background-color:var(--td-bg-color-secondarycontainer-hover)}.t-table--striped.t-table--hoverable:not(.t-table__header--fixed)>.t-table__content>table>tbody tr:nth-of-type(odd):hover{background-color:var(--td-bg-color-secondarycontainer-hover)}.t-table--striped.t-table--hoverable>.t-table__content>table>tbody tr{transition:background-color .2s linear}.t-table--striped.t-table--hoverable>.t-table__content>table>tbody tr:hover{background-color:var(--td-bg-color-container-hover)}.t-table--hoverable tbody tr{transition:background-color .2s linear}.t-table--hoverable tbody tr:hover{background-color:var(--td-bg-color-container-hover)}.t-table.t-table--align-top tbody td{vertical-align:top}.t-table .t-table__cell--highlight{background-color:var(--td-bg-color-secondarycontainer)}.t-table__header--fixed table{table-layout:fixed}.t-table__header--fixed th,.t-table__header--fixed td{overflow-wrap:break-word}.t-table__header--fixed.t-table__header,.t-table__header--fixed .t-table__header{width:fit-content;position:relative;z-index:5}.t-table__header--fixed .t-table__header{scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-table__header--fixed .t-table__header::-webkit-scrollbar{width:6px;height:6px}.t-table__header--fixed .t-table__header::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-table__header--fixed .t-table__header::-webkit-scrollbar-thumb:vertical:hover,.t-table__header--fixed .t-table__header::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-table__header--fixed .t-table__body{overflow-y:auto;width:fit-content;scrollbar-color:var(--td-scrollbar-color) transparent;scrollbar-width:thin}.t-table__header--fixed .t-table__body::-webkit-scrollbar{width:6px;height:6px}.t-table__header--fixed .t-table__body::-webkit-scrollbar-thumb{border:0px solid transparent;background-clip:content-box;background-color:var(--td-scrollbar-color);border-radius:11px}.t-table__header--fixed .t-table__body::-webkit-scrollbar-thumb:vertical:hover,.t-table__header--fixed .t-table__body::-webkit-scrollbar-thumb:horizontal:hover{background-color:var(--td-scrollbar-hover-color)}.t-table:not(.t-table--bordered) .t-table__cell--selectable+td,.t-table:not(.t-table--bordered) .t-table__cell--selectable+th{padding-left:0}.t-table__cell--fixed.t-table__header--fixed .t-table__header{overflow:hidden;width:100%}.t-table__cell--fixed.t-table__header--fixed .t-table__header .t-table__cell--fixed-left:last-child:after,.t-table__cell--fixed.t-table__header--fixed .t-table__header .t-table__cell--fixed-right:last-child:after{content:"";position:absolute;right:-6px;width:6px;height:100%;top:0;background-color:var(--td-bg-color-secondarycontainer)}.t-table__cell--fixed.t-table__header--fixed .t-table__body{overflow:auto scroll}.t-table__cell--fixed .t-table__content{overflow:auto hidden}.t-table__cell--fixed table{table-layout:fixed;min-width:100%}.t-table__cell--fixed th,.t-table__cell--fixed td{position:relative}.t-table__cell--fixed .t-table__cell--fixed-left-last:before{z-index:-1;background-color:inherit}.t-table__cell--fixed .t-table__cell--fixed-left-last:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table__cell--fixed .t-table__cell--fixed-left-last:after{right:0;transform:translate(100%)}.t-table__cell--fixed .t-table__cell--fixed-right-first:before{z-index:-1;background-color:inherit}.t-table__cell--fixed .t-table__cell--fixed-right-first:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table__cell--fixed .t-table__cell--fixed-right-first:after{left:0;transform:translate(-100%)}.t-table .t-table__cell-resizable{position:relative}.t-table .t-table__cell-resizable .t-table__cell--resizer{position:absolute;top:0;right:-5px;bottom:0;z-index:10;width:10px;cursor:col-resize}.t-table .t-table__row--disabled{color:var(--td-text-color-disabled)}.t-table .t-table__row--active{background-color:var(--td-brand-color-light)}.t-table .t-table__cell--title{display:flex;align-items:center}.t-table__column-controller-desc{margin-bottom:var(--td-comp-margin-xxl)}.t-table__column-controller-block{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);border:1px solid var(--td-component-border);border-bottom:1px solid var(--td-component-border)}.t-table__column-controller-block+.t-table__column-controller-block{border-top:0;padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);border-bottom:1px solid var(--td-component-border)}.t-table__column-controller--fixed .t-checkbox{width:108px}.t-table.t-table--hoverable .t-table__row--active:hover,.t-table.t-table--hoverable.t-table__row--active-multiple .t-table__row--active.t-table__row--hover{background-color:var(--td-brand-color-light-hover)}.t-table.t-table--row-expandable tbody>tr.t-table__row--hover:not(.t-table.t-table--row-expandable tbody>tr.t-table__row--active),.t-table.t-table--row-select tbody>tr.t-table__row--hover:not(.t-table.t-table--row-expandable tbody>tr.t-table__row--active),.t-table.t-table__row--active-multiple tbody>tr.t-table__row--hover:not(.t-table.t-table--row-expandable tbody>tr.t-table__row--active),.t-table.t-table--row-expandable tbody>tr.t-table__row--hover:not(.t-table.t-table--row-select tbody>tr.t-table__row--active),.t-table.t-table--row-select tbody>tr.t-table__row--hover:not(.t-table.t-table--row-select tbody>tr.t-table__row--active),.t-table.t-table__row--active-multiple tbody>tr.t-table__row--hover:not(.t-table.t-table--row-select tbody>tr.t-table__row--active),.t-table.t-table--row-expandable tbody>tr.t-table__row--hover:not(.t-table.t-table__row--active-multiple tbody>tr.t-table__row--active),.t-table.t-table--row-select tbody>tr.t-table__row--hover:not(.t-table.t-table__row--active-multiple tbody>tr.t-table__row--active),.t-table.t-table__row--active-multiple tbody>tr.t-table__row--hover:not(.t-table.t-table__row--active-multiple tbody>tr.t-table__row--active){background-color:var(--td-bg-color-container-hover)}.t-table--bordered .t-table__cell--sortable .t-table__cell--title,.t-table--bordered .t-table__cell--filterable .t-table__cell--title{justify-content:space-between}.t-table th.t-align-right .t-table__cell--title{justify-content:flex-end}.t-table__cell--sort-trigger{text-align:center;vertical-align:text-bottom}.t-table__cell--sort-trigger svg{vertical-align:initial}.t-table--loading{position:relative}.t-table--loading-progressbar{overflow:hidden;position:absolute;top:0;left:0;height:1px;background-color:var(--td-brand-color);animation:tTableProgressbar 2s ease-in-out;animation-fill-mode:both}.t-table--loading-message{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--td-text-color-placeholder)}.t-table__expanded-cell{padding-left:45px}.t-table__async-loading{text-align:center}.t-table__async-loading.t-is-load-more{cursor:pointer}.t-table__empty{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--td-text-color-disabled)}.t-table__filter-icon,.t-table__sort-icon{align-items:center;background-color:transparent;display:inline-flex;cursor:pointer;vertical-align:text-bottom;transition:.2s linear}.t-table__filter-icon>svg,.t-table__sort-icon>svg{margin-top:0}.t-table__sort-icon .t-is-focus,.t-table__sort-icon.t-is-focus,.t-table__sort-icon:hover{color:var(--td-brand-color);border-radius:var(--td-radius-circle);transition:.2s linear}.t-table__filter-icon .t-is-focus,.t-table__filter-icon.t-is-focus,.t-table__filter-icon:hover{color:var(--td-brand-color);transition:.2s linear}.t-table__filter-pop .t-popup__content{padding:0}.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-inner{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l)}.t-table__filter-pop .t-table__filter-pop-content .t-radio-group{display:block;height:auto}.t-table__filter-pop .t-table__filter-pop-content .t-checkbox-group{display:block}.t-table__filter-pop .t-table__filter-pop-content .t-checkbox,.t-table__filter-pop .t-table__filter-pop-content .t-radio{display:block;margin:var(--td-comp-margin-xs) 0}.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-button{border-top:1px solid var(--td-component-border);padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l)}.t-table__filter-pop .t-table__filter-pop-content .t-table__filter-pop-content-button .t-button+.t-button{margin-left:var(--td-comp-margin-l)}.t-table__filter-pop-content-inner>.t-input__wrap{width:200px}.t-table__filter-pop-content-inner>.t-date-range-picker__panel{margin:calc(0px - var(--td-comp-margin-l))}.t-table__sort-icon--active{color:var(--td-brand-color);transition:.2s linear}.t-table__double-icons{display:flex;flex-direction:column;justify-content:center}.t-table__double-icons .t-table__sort-icon{position:relative}.t-table__double-icons .t-table-sort-asc{top:var(--td-comp-margin-xxs)}.t-table__double-icons .t-table-sort-desc{bottom:var(--td-comp-margin-xxs)}.t-table__filter-icon-wrap{display:flex;align-items:center;pointer-events:all;height:var(--td-font-size-body-large);width:var(--td-font-size-body-large);margin-left:var(--td-comp-margin-s)}.t-table--bordered .t-table__filter-icon-wrap{justify-content:flex-end}.t-table--bordered .t-table__cell--sortable.t-table__cell--filterable .t-table__filter-icon-wrap{justify-content:space-between;flex:1}.t-table .t-align-center .t-table__cell--sortable,.t-table .t-align-center .t-table__cell--filterable{display:flex;justify-content:space-around}.t-table__expand-box{display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:var(--td-text-color-placeholder);cursor:pointer;transition:all .2s cubic-bezier(.38,0,.24,1) 0s}.t-table__expand-box:hover{color:var(--td-brand-color);transition:.2s linear}@keyframes tTableProgressbar{0%{width:0}to{width:100%}}.t-table__th-row-select .t-table__th-cell-inner{display:inline-flex;align-items:center}.t-table-expandable-icon-cell+.t-table__cell--selectable[key=row-select]{padding-left:var(--td-comp-margin-s)}.t-table__filter--bottom-buttons{display:flex;justify-content:flex-end;padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);border-top:1px solid var(--td-component-border)}.t-table__filter--bottom-buttons>.t-button+.t-button{margin-left:var(--td-comp-margin-s)}.t-table__row-filter-inner{position:sticky;left:0;text-align:center}.t-table__filter-result{display:flex;align-items:center;justify-content:center}.t-table__filter-result>.t-button{margin-left:var(--td-comp-margin-s)}.t-table--layout-fixed{table-layout:fixed}.t-table--layout-auto{table-layout:auto}.t-table__ellipsis{white-space:nowrap;width:100%}.t-table__content{overflow:auto}.t-table__content--scrollable-to-left .t-table__cell--fixed-left-last:after{border-right:2px solid var(--td-component-border)}.t-table__content--scrollable-to-right .t-table__cell--fixed-right-first:after{border-left:2px solid var(--td-component-border)}.t-table--bordered.t-table__content--scrollable-to-left .t-table__cell--fixed-left-last:after{border-right:4px solid var(--td-component-border)}.t-table--bordered.t-table__content--scrollable-to-right .t-table__cell--fixed-right-first:after{border-left:4px solid var(--td-component-border)}.t-table__scroll-bar-divider{position:absolute;bottom:0;right:0;height:100%;border-right:1px solid var(--td-component-border);z-index:71}.t-table__footer,.t-table__header.t-table__header--fixed{position:sticky;z-index:50}.t-table:not(.t-table--striped) .t-table__footer>tr{background-color:var(--td-bg-color-secondarycontainer)}.t-table__header--fixed:not(.t-table__header--multiple)>tr>th{background-color:var(--td-bg-color-secondarycontainer)}.t-table__row--fixed-top,.t-table__row--fixed-bottom{position:sticky;z-index:70}.t-table__row--fixed-bottom-first>td{border-top:1px solid var(--td-component-border)}.t-table--bordered .t-table__content .t-table__row--without-border-bottom>td{border-bottom:0}.t-table--bordered tbody>tr:last-child>td,.t-table--bordered tfoot>tr:last-child>td{border-bottom:0}.t-table--bordered tfoot>tr:first-child>td{border-top:1px solid var(--td-component-border)}.t-table__header.t-table__header--fixed{top:0}.t-table__footer.t-table__footer--fixed{bottom:0}.t-table--column-fixed .t-table__cell--fixed-left-last:before{z-index:-1;background-color:inherit}.t-table--column-fixed .t-table__cell--fixed-left-last:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table--column-fixed .t-table__cell--fixed-left-last:after{right:0;transform:translate(100%)}.t-table--column-fixed .t-table__cell--fixed-right-first:before{z-index:-1;background-color:inherit}.t-table--column-fixed .t-table__cell--fixed-right-first:after{position:absolute;top:0;bottom:0;content:"";transition:box-shadow .3s;pointer-events:none;z-index:-2}.t-table--column-fixed .t-table__cell--fixed-right-first:after{left:0;transform:translate(-100%)}.t-table--column-fixed .t-table__cell--fixed-left,.t-table--column-fixed .t-table__cell--fixed-right{position:sticky}.t-table--column-fixed .t-table__cell--fixed-left{z-index:30}.t-table--column-fixed .t-table__cell--fixed-right{z-index:31}.t-table__empty-row>td{padding:0;border:0}.t-table:not(.t-table--bordered) .t-table__header.t-table--bordered>tr:first-child>th{border-top:1px solid var(--td-component-border)}.t-table--multiple-header .t-table__header th.t-table__header-th--bordered{border-left-width:1px}.t-table__header.t-table__header--multiple>tr{background-color:var(--td-bg-color-container)}.t-table__tree-op-icon{margin-right:var(--td-comp-margin-s);cursor:pointer;display:inline-flex;vertical-align:-3px}.t-table__tree-op-icon:hover{color:var(--td-brand-color);transition:.2s linear}.t-table__tree-leaf-node .t-table__tree-op-icon{min-width:0;margin-right:var(--td-comp-margin-xxs)}.t-table__virtual-scroll-cursor{position:absolute;width:1px;height:1px;transition:transform .2s}.t-table__virtual-scroll-header{position:absolute;z-index:51;left:0}.t-table__affixed-header-elm-wrap{overflow:hidden}.t-table__affixed-header-elm-wrap,.t-table__affixed-header-elm{position:absolute;left:0;z-index:51}.t-table__affixed-header-elm{overflow:auto;transition:opacity .2s linear;opacity:1}.t-table__affixed-footer-elm{overflow:auto;z-index:50}.t-table--bordered .t-table__affixed-header-elm{border:1px solid var(--td-component-border);border-bottom:0;border-right:0}.t-table--bordered .t-table__affixed-footer-elm{border-left:1px solid var(--td-component-border);border-bottom:1px solid var(--td-component-border)}.t-table--multiple-header.t-table--bordered .t-table__affixed-header-elm{border-right:0}.t-is-hidden{display:none}.t-positive-rotate-90{transform:rotate(90deg)}.t-negative-rotate-180{transform:rotate(180deg)}.t-table__expanded-row>td,.t-table__row--full>td{padding:0}.t-table__row-full-element{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l)}.t-table__row-full-inner{position:sticky;left:0}.t-table__row-full-inner:not(.t-table__empty){display:inline-block}.t-table__tree-col{display:flex;align-items:center}.t-table__tree-col--inline{display:inline}.t-table--full-height{height:100%}.t-table--loading .t-table__content{min-height:168px}.t-table__handle-draggable:hover,.t-table--row-draggable tr,.t-table__th--drag-sort{cursor:move}.t-table__ele--draggable-chosen{box-shadow:var(--td-shadow-1)}.t-table:not(.t-table--row-edit) .t-table__cell--editable{min-height:22px;line-height:var(--td-line-height-body-medium);cursor:pointer}.t-table:not(.t-table--row-edit) .t-table__cell--editable .t-icon{margin-left:var(--td-comp-margin-s);font-size:var(--td-font-size-body-large);transition:.2s linear;color:var(--td-text-color-placeholder)}.t-table:not(.t-table--row-edit) .t-table__cell--editable .t-icon:hover{color:var(--td-brand-color)}.t-table:not(.t-table--row-edit) .t-table__cell--editable:hover{transition:.2s linear}.t-affix .t-table__pagination{background-color:var(--td-bg-color-container)}.t-table--bordered .t-affix .t-table__pagination{border-top:1px solid var(--td-component-border)}.t-table__bottom-content+.t-table__pagination-wrap .t-table__pagination{border:0;padding:0}.t-table--column-resizable:not(.t-table--bordered) th{border-top:1px solid transparent}.t-table--column-resizable:not(.t-table--bordered) thead.t-table__header:hover th:not(:last-child){border-right:1px solid var(--td-component-border)}.t-table--column-resizable:not(.t-table--bordered) thead.t-table__header:hover th{border-top:1px solid var(--td-component-border)}.t-table--column-resizable:not(.t-table--bordered).t-table__content--scrollable-to-left.t-table__content--scrollable-to-right thead.t-table__header:hover .t-table__cell--fixed-left-last:not(:last-child),.t-table--column-resizable:not(.t-table--bordered).t-table__content--scrollable-to-left thead.t-table__header:hover .t-table__cell--fixed-left-last:not(:last-child){border-right:0}.t-table td.t-table__cell-check,.t-table th.t-table__cell-check{padding:0;height:0}.t-table td.t-table__cell-check .t-radio__label:empty,.t-table th.t-table__cell-check .t-radio__label:empty,.t-table td.t-table__cell-check .t-checkbox__label:empty,.t-table th.t-table__cell-check .t-checkbox__label:empty{display:none}.t-table .t-table__cell-check .t-radio,.t-table .t-table__cell-check .t-checkbox,.t-table .t-table__cell-check .t-table__th-cell-inner{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.t-table td .t-input__tips{position:initial}.t-table .t-table__sort-column{background-color:var(--td-bg-color-secondarycontainer)}.t-table__ellipsis-content.t-size-s .t-popup__content{font:var(--td-font-body-medium)}.t-table--chrome.t-table--multiple-header .t-table__affixed-header-elm{margin-top:1px}.t-collapse{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;border:solid 1px var(--td-component-border);border-bottom:0;background:var(--td-bg-color-container)}.t-collapse.t--border-less{border:none}.t-collapse.t--border-less .t-collapse-panel__header{border-bottom:none}.t-collapse.t--border-less .t-collapse-panel__body{background:var(--td-bg-color-container);border:none}.t-collapse-panel__icon{transition:all .2s cubic-bezier(.38,0,.24,1);cursor:pointer;display:flex;align-items:center;justify-content:center}.t-collapse-panel__icon>.t-fake-arrow{transform:rotate(-90deg);transition:all .2s cubic-bezier(.38,0,.24,1)}.t-collapse-panel__icon--left{margin-right:var(--td-comp-margin-s)}.t-collapse-panel__icon--right{margin-left:var(--td-comp-margin-s)}.t-collapse-panel__icon--active>.t-fake-arrow{transform:rotate(0)}.t-collapse-panel__icon:hover{background-color:var(--td-bg-color-container-hover);border-radius:var(--td-radius-small)}.t-collapse-panel__wrapper{overflow:hidden}.t-collapse-panel__wrapper .t-collapse-panel__header{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l);border-bottom:solid 1px var(--td-component-border);font:var(--td-font-title-small);display:flex;align-items:center}.t-collapse-panel__wrapper .t-collapse-panel__header--blank{flex:1}.t-collapse-panel__wrapper .t-collapse-panel__header.t-is-clickable{cursor:pointer}.t-collapse-panel__wrapper .t-collapse-panel__header-left,.t-collapse-panel__wrapper .t-collapse-panel__header-right,.t-collapse-panel__wrapper .t-collapse-panel__header-right-content{display:flex}.t-collapse-panel__wrapper .t-collapse-panel__body{border-bottom:solid 1px var(--td-component-border);background:var(--td-bg-color-secondarycontainer);overflow:inherit}.t-collapse-panel__wrapper .t-collapse-panel__body--collapsed{border:none}.t-collapse-panel__wrapper .t-collapse-panel__content{padding:var(--td-comp-paddingTB-m) var(--td-comp-paddingLR-l) var(--td-comp-paddingTB-m) calc(var(--td-comp-paddingLR-l) + var(--td-comp-margin-xxl));color:var(--td-text-color-secondary)}.t-collapse-panel.t-is-disabled .t-collapse-panel__header{cursor:not-allowed;color:var(--td-text-color-disabled)}.t-collapse-panel.t-is-disabled .t-collapse-panel__icon{cursor:not-allowed;pointer-events:none}.t-collapse-panel.t-is-disabled .t-collapse-panel__body{background:var(--td-bg-color-component-disabled)}.t-collapse-panel.t-is-disabled .t-collapse-panel__content{color:var(--td-text-color-disabled)}.t-drawer-fade-enter,.t-drawer-fade-appear{opacity:0;animation-duration:.2s;animation-fill-mode:both;animation-timing-function:linear;animation-play-state:paused}.t-drawer-fade-exit{animation-duration:.2s;animation-fill-mode:both;animation-timing-function:linear;animation-play-state:paused}.t-drawer-fade-enter.t-drawer-fade-enter-active,.t-drawer-fade-enter.t-drawer-fade-enter-active.t-drawer-fade-enter-to,.t-drawer-fade-appear.t-drawer-fade-appear-active,.t-drawer-fade-appear.t-drawer-fade-appear-active.t-drawer-fade-appear-to{animation-name:tDrawerFadeIn;animation-duration:.2s;animation-play-state:running}.t-drawer-fade-exit.t-drawer-fade-exit-active,.t-drawer-fade-leave-active.t-drawer-fade-leave-to{animation-name:tDrawerFadeOut;animation-duration:.2s;animation-play-state:running}@keyframes tDrawerFadeIn{0%{opacity:0}to{opacity:1}}@keyframes tDrawerFadeOut{0%{opacity:1}to{opacity:0}}.t-drawer{font:var(--td-font-body-medium);color:var(--td-text-color-primary);box-sizing:border-box;margin:0;padding:0;list-style:none;position:fixed;z-index:1500;width:100%;height:100%;pointer-events:none;overflow:hidden;outline:none}.t-drawer--lock{overflow:hidden}.t-drawer--attach{position:absolute}.t-drawer--left,.t-drawer--right{top:0}.t-drawer--left{left:0}.t-drawer--right{right:0}.t-drawer--top,.t-drawer--bottom{left:0}.t-drawer--top{top:0}.t-drawer--bottom{bottom:0}.t-drawer__mask{position:absolute;top:0;left:0;width:100%;height:100%;background-color:var(--td-mask-active);transition:opacity .2s cubic-bezier(.38,0,.24,1);opacity:0}.t-drawer__content-wrapper{display:flex;flex-direction:column;background:var(--td-bg-color-container);width:16px;height:16px;font-size:var(--td-font-body-medium);color:var(--td-text-color-secondary);box-shadow:var(--td-shadow-2);overflow:hidden;pointer-events:auto;transition:transform .28s cubic-bezier(.38,0,.24,1),visibility .28s cubic-bezier(.38,0,.24,1);position:relative}.t-drawer .t-drawer__content-wrapper{position:absolute;width:100%;height:100%;visibility:hidden}.t-drawer .t-drawer__content-wrapper--left,.t-drawer .t-drawer__content-wrapper--right{top:0}.t-drawer .t-drawer__content-wrapper--left{left:0;transform:translate(-100%)}.t-drawer .t-drawer__content-wrapper--right{right:0;transform:translate(100%)}.t-drawer .t-drawer__content-wrapper--top,.t-drawer .t-drawer__content-wrapper--bottom{left:0}.t-drawer .t-drawer__content-wrapper--top{top:0;transform:translateY(-100%)}.t-drawer .t-drawer__content-wrapper--bottom{bottom:0;transform:translateY(100%)}.t-drawer__header{display:flex;align-items:center;min-height:var(--td-comp-size-xxxl);padding:0 var(--td-comp-paddingLR-l);font:var(--td-font-title-medium);color:var(--td-text-color-primary);border-bottom:1px solid var(--td-border-level-1-color);border-radius:var(--td-radius-small) var(--td-radius-small) 0 0;box-sizing:border-box}.t-drawer__body{padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);overflow:auto;flex:1}.t-drawer__footer{width:100%;padding:var(--td-comp-paddingTB-l) var(--td-comp-paddingLR-l);text-align:left;border-top:1px solid var(--td-border-level-1-color);background-color:var(--td-bg-color-container);box-sizing:border-box}.t-drawer__footer .t-button{margin-left:var(--td-comp-margin-s)}.t-drawer__footer .t-button:first-child{margin-left:0}.t-drawer__close-btn{position:absolute;display:flex;justify-content:center;align-items:center;width:var(--td-comp-size-xs);height:var(--td-comp-size-xs);top:calc((var(--td-comp-size-xxxl) - var(--td-comp-size-xs)) / 2);right:var(--td-comp-margin-s);color:var(--td-text-color-primary);background-color:var(--td-bg-color-container);border-radius:var(--td-radius-default);cursor:pointer;transition:background-color .2s}.t-drawer__close-btn:hover{background-color:var(--td-bg-color-container-hover)}.t-drawer__close-btn:active{background-color:var(--td-bg-color-container-active)}.t-drawer__close-btn .t-icon{font-size:calc(var(--td-font-size-body-medium) + 2px);vertical-align:unset}.t-drawer--open{width:100%;height:100%;pointer-events:auto}.t-drawer--open>.t-drawer__content-wrapper{visibility:visible}.t-drawer--open>.t-drawer__mask{opacity:1;width:100%;height:100%}.t-drawer--without-mask{pointer-events:none}[tabindex="-1"]:focus{outline:none!important}.tianyiCloud[data-v-7196713c]{height:100%;display:flex;flex-direction:column}.tianyiCloud_option[data-v-7196713c]{display:flex;align-items:center;margin:0 0 20px}.tianyiCloud_option_time[data-v-7196713c]{margin-left:10px}.tianyiCloud_result[data-v-7196713c]{flex:1;overflow:auto}.baiduCloud[data-v-09a4b72c]{height:100%;display:flex;flex-direction:column}.baiduCloud_option_item[data-v-09a4b72c]:nth-of-type(2){margin:14px 0}.baiduCloud_result[data-v-09a4b72c]{flex:1;overflow:auto}.cloud115[data-v-c2f69db3]{height:100%;display:flex;flex-direction:column}.cloud115_option[data-v-c2f69db3]{display:flex;align-items:center;margin:0 0 20px}.cloud115_option_time[data-v-c2f69db3]{margin-left:10px}.cloud115_result[data-v-c2f69db3]{flex:1;overflow:auto}.cloud123[data-v-99bbe20d]{height:100%;display:flex;flex-direction:column}.cloud123_option[data-v-99bbe20d]{margin:0 0 10px}.cloud123_option_item[data-v-99bbe20d]{display:flex;align-items:center}.cloud123_option_item_title[data-v-99bbe20d]{display:inline-block;width:100px}.cloud123_result[data-v-99bbe20d]{flex:1;overflow:auto}.lanzouCloud[data-v-f7d1ff6d]{height:100%;display:flex;flex-direction:column}.lanzouCloud_option[data-v-f7d1ff6d]{margin:0 0 10px}.lanzouCloud_option_item[data-v-f7d1ff6d]{display:flex;align-items:center}.lanzouCloud_option_item_title[data-v-f7d1ff6d]{display:inline-block;width:100px}.lanzouCloud_result[data-v-f7d1ff6d]{flex:1;overflow:auto}.quarkCloud[data-v-7808626c]{height:100%;display:flex;flex-direction:column}.quarkCloud_option_item[data-v-7808626c]{display:flex;align-items:center}.quarkCloud_result[data-v-7808626c]{flex:1;overflow:auto}.cloud139[data-v-67f5c0e4]{height:100%;display:flex;flex-direction:column}.cloud139_option[data-v-67f5c0e4]{margin:0 0 10px}.cloud139_option_item[data-v-67f5c0e4]{display:flex;align-items:center}.cloud139_option_item_title[data-v-67f5c0e4]{display:inline-block;width:100px}.cloud139_result[data-v-67f5c0e4]{flex:1;overflow:auto}.xunCloud[data-v-3eced9d8]{height:100%;display:flex;flex-direction:column}.xunCloud_option_item[data-v-3eced9d8]{display:flex;align-items:center}.xunCloud_option_item_title[data-v-3eced9d8]{min-width:70px}.xunCloud_result[data-v-3eced9d8]{flex:1;overflow:auto}.aliCloud[data-v-cc7eb710]{height:100%;display:flex;flex-direction:column}.aliCloud_option_item[data-v-cc7eb710]{display:flex;align-items:center}.aliCloud_option_item_title[data-v-cc7eb710]{min-width:70px}.aliCloud_result[data-v-cc7eb710]{flex:1;overflow:auto} ');
(function (vue) {
'use strict';
function _defineProperty$3(obj, key2, value) {
if (key2 in obj) {
Object.defineProperty(obj, key2, {
value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key2] = value;
}
return obj;
}
function ownKeys$1n(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1m(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1n(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1n(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
function camel2Kebab(camelString) {
var covertArr = ["fillOpacity", "fillRule", "clipRule"];
if (covertArr.includes(camelString)) {
return camelString.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
}
return camelString;
}
function renderFn(node, props2) {
var kebabAttrs = Object.keys(node.attrs).reduce((result, key2) => {
result[camel2Kebab(key2)] = node.attrs[key2];
return result;
}, {});
return vue.h(node.tag, _objectSpread$1m(_objectSpread$1m({}, kebabAttrs), props2), (node.children || []).map((child) => renderFn(child, {})));
}
var DEFAULT_CLASS_PREFIX = "t";
var DEFAULT_LOCALE = "zh-CN";
var ConfigContext = {
classPrefix: DEFAULT_CLASS_PREFIX,
locale: DEFAULT_LOCALE
};
const ConfigContext$1 = ConfigContext;
function useCommonClassName$2() {
var {
classPrefix
} = ConfigContext$1;
return {
SIZE: {
default: "",
xs: "".concat(classPrefix, "-size-xs"),
small: "".concat(classPrefix, "-size-s"),
medium: "".concat(classPrefix, "-size-m"),
large: "".concat(classPrefix, "-size-l"),
xl: "".concat(classPrefix, "-size-xl"),
block: "".concat(classPrefix, "-size-full-width")
},
STATUS: {
loading: "".concat(classPrefix, "-is-loading"),
disabled: "".concat(classPrefix, "-is-disabled"),
focused: "".concat(classPrefix, "-is-focused"),
success: "".concat(classPrefix, "-is-success"),
error: "".concat(classPrefix, "-is-error"),
warning: "".concat(classPrefix, "-is-warning"),
selected: "".concat(classPrefix, "-is-selected"),
active: "".concat(classPrefix, "-is-active"),
checked: "".concat(classPrefix, "-is-checked"),
current: "".concat(classPrefix, "-is-current"),
hidden: "".concat(classPrefix, "-is-hidden"),
visible: "".concat(classPrefix, "-is-visible"),
expanded: "".concat(classPrefix, "-is-expanded"),
indeterminate: "".concat(classPrefix, "-is-indeterminate")
}
};
}
function useSizeProps(size) {
var COMMON_SIZE_CLASS_NAMES = useCommonClassName$2().SIZE;
var className = vue.computed(() => {
if (size.value in COMMON_SIZE_CLASS_NAMES) {
return COMMON_SIZE_CLASS_NAMES[size.value];
}
return "";
});
var style2 = vue.computed(() => {
if (size.value === void 0 || size.value in COMMON_SIZE_CLASS_NAMES) {
return {};
}
return {
fontSize: size.value
};
});
return {
style: style2,
className
};
}
function ownKeys$1m(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1l(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1m(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1m(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$s = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M2 2h20v20H2V2zm2 2v16h16V4H4zm9 2.5V11h4.5v2H13v4.5h-2V13H6.5v-2H11V6.5h2z"
}
}]
};
var addRectangle = vue.defineComponent({
name: "AddRectangleIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-add-rectangle", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1l(_objectSpread$1l({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$s, finalProps.value);
}
});
const AddRectangleIcon = addRectangle;
function ownKeys$1l(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1k(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1l(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1l(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$r = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M13 4v7h7v2h-7v7h-2v-7H4v-2h7V4h2z"
}
}]
};
var add$1 = vue.defineComponent({
name: "AddIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-add", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1k(_objectSpread$1k({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$r, finalProps.value);
}
});
const AddIcon = add$1;
function ownKeys$1k(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1j(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1k(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1k(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$q = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 26 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M4 1.59l6.17 6.17 7.07 7.07L23.41 21 22 22.41l-2.97-2.96A12.5 12.5 0 011.08 12.3L1 12l.1-.3c.77-2.4 2.24-4.5 4.18-6.02L2.59 3 4 1.59zM6.7 7.1A10.53 10.53 0 003.1 12a10.5 10.5 0 0014.45 5.97l-1.8-1.8a5 5 0 01-6.93-6.93L6.7 7.11zm3.6 3.6a3 3 0 004 4l-4-4zM13 5c-.58 0-1.14.05-1.7.14l-.98.16L10 3.32l.99-.16A12.5 12.5 0 0124.9 11.7l.1.31-.1.3c-.41 1.3-1.03 2.5-1.82 3.58l-.59.8-1.61-1.18.59-.8c.6-.82 1.08-1.73 1.42-2.7A10.5 10.5 0 0013 5zm.51 1.93l.96.29a5 5 0 013.31 3.31l.3.96-1.92.58-.3-.95a3 3 0 00-1.98-1.99l-.95-.3.58-1.9z"
}
}]
};
var browseOff = vue.defineComponent({
name: "BrowseOffIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-browse-off", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1j(_objectSpread$1j({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$q, finalProps.value);
}
});
const BrowseOffIcon = browseOff;
function ownKeys$1j(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1i(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1j(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1j(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$p = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "g",
"attrs": {
"clipPath": "url(#clip0_8726_7319)"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M2.1 12a10.5 10.5 0 0019.8 0 10.5 10.5 0 00-19.8 0zm-2.01-.3a12.5 12.5 0 0123.82 0l.1.3-.1.3a12.5 12.5 0 01-23.82 0l-.1-.3.1-.3zM12 9a3 3 0 100 6 3 3 0 000-6zm-5 3a5 5 0 1110 0 5 5 0 01-10 0z"
}
}]
}]
};
var browse = vue.defineComponent({
name: "BrowseIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-browse", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1i(_objectSpread$1i({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$p, finalProps.value);
}
});
const BrowseIcon = browse;
function ownKeys$1i(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1h(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1i(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1i(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$o = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M6 4V1.5h2V4h8V1.5h2V4h4v18H2V4h4zM4 6v3h16V6H4zm16 5H4v9h16v-9z"
}
}]
};
var calendar = vue.defineComponent({
name: "CalendarIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-calendar", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1h(_objectSpread$1h({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$o, finalProps.value);
}
});
const CalendarIcon = calendar;
function ownKeys$1h(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1g(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1h(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1h(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$n = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 23a11 11 0 100-22 11 11 0 000 22zM7.5 10.59l3 3 6-6L17.91 9l-7.41 7.41L6.09 12l1.41-1.41z"
}
}]
};
var checkCircleFilled = vue.defineComponent({
name: "CheckCircleFilledIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-check-circle-filled", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1g(_objectSpread$1g({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$n, finalProps.value);
}
});
const CheckCircleFilledIcon = checkCircleFilled;
function ownKeys$1g(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1f(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1g(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1g(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$m = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M20.99 7.38l-10.61 10.6L4 11.63l1.42-1.41 4.95 4.95 9.2-9.2 1.4 1.42z"
}
}]
};
var check = vue.defineComponent({
name: "CheckIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-check", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1f(_objectSpread$1f({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$m, finalProps.value);
}
});
const CheckIcon = check;
function ownKeys$1f(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1e(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1f(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1f(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$l = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M17.5 8.09l-5.5 5.5-5.5-5.5L5.09 9.5 12 16.41l6.91-6.91-1.41-1.41z"
}
}]
};
var chevronDown = vue.defineComponent({
name: "ChevronDownIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-down", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1e(_objectSpread$1e({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$l, finalProps.value);
}
});
const ChevronDownIcon = chevronDown;
function ownKeys$1e(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1d(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1e(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1e(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$k = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M18.41 7.5l-4.5 4.5 4.5 4.5L17 17.91 11.09 12 17 6.09l1.41 1.41zm-6.5 0L7.41 12l4.5 4.5-1.41 1.41L4.59 12l5.91-5.91 1.41 1.41z"
}
}]
};
var chevronLeftDouble = vue.defineComponent({
name: "ChevronLeftDoubleIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-left-double", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1d(_objectSpread$1d({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$k, finalProps.value);
}
});
const ChevronLeftDoubleIcon = chevronLeftDouble;
function ownKeys$1d(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1c(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1d(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1d(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$j = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M15.91 17.5l-5.5-5.5 5.5-5.5-1.41-1.41L7.59 12l6.91 6.91 1.41-1.41z"
}
}]
};
var chevronLeft = vue.defineComponent({
name: "ChevronLeftIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-left", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1c(_objectSpread$1c({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$j, finalProps.value);
}
});
const ChevronLeftIcon = chevronLeft;
function ownKeys$1c(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1b(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1c(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1c(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$i = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 3a9 9 0 100 18 9 9 0 000-18zM1 12a11 11 0 1122 0 11 11 0 01-22 0zm9.5-5.41L15.91 12l-5.41 5.41L9.09 16l4-4-4-4 1.41-1.41z"
}
}]
};
var chevronRightCircle = vue.defineComponent({
name: "ChevronRightCircleIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-right-circle", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1b(_objectSpread$1b({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$i, finalProps.value);
}
});
const ChevronRightCircleIcon = chevronRightCircle;
function ownKeys$1b(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$1a(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1b(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1b(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$h = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M5.59 16.5l4.5-4.5-4.5-4.5L7 6.09 12.91 12 7 17.91 5.59 16.5zm6.5 0l4.5-4.5-4.5-4.5 1.41-1.41L19.41 12l-5.91 5.91-1.41-1.41z"
}
}]
};
var chevronRightDouble = vue.defineComponent({
name: "ChevronRightDoubleIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-right-double", className.value]);
var finalStyle = vue.computed(() => _objectSpread$1a(_objectSpread$1a({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$h, finalProps.value);
}
});
const ChevronRightDoubleIcon = chevronRightDouble;
function ownKeys$1a(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$19(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$1a(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1a(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$g = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M8.09 17.5l5.5-5.5-5.5-5.5L9.5 5.09 16.41 12 9.5 18.91 8.09 17.5z"
}
}]
};
var chevronRight = vue.defineComponent({
name: "ChevronRightIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-right", className.value]);
var finalStyle = vue.computed(() => _objectSpread$19(_objectSpread$19({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$g, finalProps.value);
}
});
const ChevronRightIcon = chevronRight;
function ownKeys$19(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$18(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$19(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$19(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$f = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M17.5 15.91l-5.5-5.5-5.5 5.5-1.41-1.41L12 7.59l6.91 6.91-1.41 1.41z"
}
}]
};
var chevronUp = vue.defineComponent({
name: "ChevronUpIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-chevron-up", className.value]);
var finalStyle = vue.computed(() => _objectSpread$18(_objectSpread$18({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$f, finalProps.value);
}
});
const ChevronUpIcon = chevronUp;
function ownKeys$18(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$17(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$18(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$18(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$e = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 23a11 11 0 100-22 11 11 0 000 22zM8.82 7.4L12 10.6l3.18-3.19 1.42 1.42L13.4 12l3.19 3.18-1.42 1.42L12 13.4 8.82 16.6 7.4 15.18 10.6 12 7.4 8.82 8.82 7.4z"
}
}]
};
var closeCircleFilled = vue.defineComponent({
name: "CloseCircleFilledIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-close-circle-filled", className.value]);
var finalStyle = vue.computed(() => _objectSpread$17(_objectSpread$17({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$e, finalProps.value);
}
});
const CloseCircleFilledIcon = closeCircleFilled;
function ownKeys$17(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$16(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$17(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$17(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$d = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M7.05 5.64L12 10.59l4.95-4.95 1.41 1.41L13.41 12l4.95 4.95-1.41 1.41L12 13.41l-4.95 4.95-1.41-1.41L10.59 12 5.64 7.05l1.41-1.41z"
}
}]
};
var close = vue.defineComponent({
name: "CloseIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-close", className.value]);
var finalStyle = vue.computed(() => _objectSpread$16(_objectSpread$16({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$d, finalProps.value);
}
});
const CloseIcon = close;
function ownKeys$16(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$15(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$16(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$16(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$c = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M16.83 1.42l5.75 5.75L7.75 22H2v-5.75L16.83 1.42zm0 8.68l2.92-2.93-2.92-2.93-2.93 2.93 2.93 2.93zm-4.34-1.51L4 17.07V20h2.93l8.48-8.49L12.5 8.6z"
}
}]
};
var edit1 = vue.defineComponent({
name: "Edit1Icon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-edit-1", className.value]);
var finalStyle = vue.computed(() => _objectSpread$15(_objectSpread$15({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$c, finalProps.value);
}
});
const Edit1Icon = edit1;
function ownKeys$15(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$14(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$15(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$15(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$b = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M3 10.5h3v3H3v-3zm7.5 0h3v3h-3v-3zm7.5 0h3v3h-3v-3z"
}
}]
};
var ellipsis = vue.defineComponent({
name: "EllipsisIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-ellipsis", className.value]);
var finalStyle = vue.computed(() => _objectSpread$14(_objectSpread$14({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$b, finalProps.value);
}
});
const EllipsisIcon = ellipsis;
function ownKeys$14(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$13(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$14(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$14(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$a = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 1a11 11 0 110 22 11 11 0 010-22zm-1 13h2V6.5h-2V14zm2 1.5h-2v2h2v-2z"
}
}]
};
var errorCircleFilled = vue.defineComponent({
name: "ErrorCircleFilledIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-error-circle-filled", className.value]);
var finalStyle = vue.computed(() => _objectSpread$13(_objectSpread$13({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$a, finalProps.value);
}
});
const ErrorCircleFilledIcon = errorCircleFilled;
function ownKeys$13(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$12(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$13(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$13(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$9 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M13 2v14.5h-2V2h2zm-2 17h2v2h-2v-2z"
}
}]
};
var error = vue.defineComponent({
name: "ErrorIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-error", className.value]);
var finalStyle = vue.computed(() => _objectSpread$12(_objectSpread$12({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$9, finalProps.value);
}
});
const ErrorIcon = error;
function ownKeys$12(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$11(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$12(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$12(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$8 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M2.57 3h18.86l-6.93 9.82V21h-5v-8.18L2.57 3zm3.86 2l5.07 7.18V19h1v-6.82L17.57 5H6.43z"
}
}]
};
var filter = vue.defineComponent({
name: "FilterIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-filter", className.value]);
var finalStyle = vue.computed(() => _objectSpread$11(_objectSpread$11({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$8, finalProps.value);
}
});
const FilterIcon = filter;
function ownKeys$11(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$10(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$11(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$11(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$7 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 23a11 11 0 100-22 11 11 0 000 22zm-.17-11.11c.43-.53.97-.97 1.4-1.32A2 2 0 0012 7a2 2 0 00-1.89 1.33l-.33.95L7.9 8.6l.34-.94a4 4 0 116.24 4.47 7 7 0 00-1.1 1.01c-.27.34-.37.61-.37.85v1.25h-2V14c0-.87.39-1.57.83-2.11zM11 18.25v-2h2v2h-2z"
}
}]
};
var helpCircleFilled = vue.defineComponent({
name: "HelpCircleFilledIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-help-circle-filled", className.value]);
var finalStyle = vue.computed(() => _objectSpread$10(_objectSpread$10({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$7, finalProps.value);
}
});
const HelpCircleFilledIcon = helpCircleFilled;
function ownKeys$10(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$$(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$10(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$10(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$6 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 23a11 11 0 100-22 11 11 0 000 22zM11 8.5v-2h2v2h-2zm2 1.5v7.5h-2V10h2z"
}
}]
};
var infoCircleFilled = vue.defineComponent({
name: "InfoCircleFilledIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-info-circle-filled", className.value]);
var finalStyle = vue.computed(() => _objectSpread$$(_objectSpread$$({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$6, finalProps.value);
}
});
const InfoCircleFilledIcon = infoCircleFilled;
function ownKeys$$(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$_(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$$(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$$(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$5 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M2 2h20v20H2V2zm2 2v16h16V4H4zm2.5 7h11v2h-11v-2z"
}
}]
};
var minusRectangle = vue.defineComponent({
name: "MinusRectangleIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-minus-rectangle", className.value]);
var finalStyle = vue.computed(() => _objectSpread$_(_objectSpread$_({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$5, finalProps.value);
}
});
const MinusRectangleIcon = minusRectangle;
function ownKeys$_(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$Z(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$_(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$_(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$4 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M8.5 5v14h-2V5h2zm9.16 1.75L12.41 12l5.25 5.25-1.41 1.41L9.59 12l6.66-6.66 1.41 1.41z"
}
}]
};
var pageFirst = vue.defineComponent({
name: "PageFirstIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-page-first", className.value]);
var finalStyle = vue.computed(() => _objectSpread$Z(_objectSpread$Z({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$4, finalProps.value);
}
});
const PageFirstIcon = pageFirst;
function ownKeys$Z(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$Y(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$Z(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$Z(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$3 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M17.5 5v14h-2V5h2zm-9.75.34L14.41 12l-6.66 6.66-1.41-1.41L11.59 12 6.34 6.75l1.41-1.41z"
}
}]
};
var pageLast = vue.defineComponent({
name: "PageLastIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-page-last", className.value]);
var finalStyle = vue.computed(() => _objectSpread$Y(_objectSpread$Y({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$3, finalProps.value);
}
});
const PageLastIcon = pageLast;
function ownKeys$Y(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$X(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$Y(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$Y(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$2 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M4 11h16v2H4v-2z"
}
}]
};
var remove = vue.defineComponent({
name: "RemoveIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-remove", className.value]);
var finalStyle = vue.computed(() => _objectSpread$X(_objectSpread$X({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$2, finalProps.value);
}
});
const RemoveIcon = remove;
function ownKeys$X(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$W(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$X(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$X(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element$1 = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 6a6 6 0 100 12 6 6 0 000-12zm-8 6a8 8 0 1116 0 8 8 0 01-16 0z"
}
}]
};
var round$1 = vue.defineComponent({
name: "RoundIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-round", className.value]);
var finalStyle = vue.computed(() => _objectSpread$W(_objectSpread$W({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element$1, finalProps.value);
}
});
const RoundIcon = round$1;
function ownKeys$W(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
enumerableOnly && (symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
})), keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread$V(target) {
for (var i = 1; i < arguments.length; i++) {
var source = null != arguments[i] ? arguments[i] : {};
i % 2 ? ownKeys$W(Object(source), true).forEach(function(key2) {
_defineProperty$3(target, key2, source[key2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$W(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
return target;
}
var element = {
"tag": "svg",
"attrs": {
"fill": "none",
"viewBox": "0 0 24 24",
"width": "1em",
"height": "1em"
},
"children": [{
"tag": "path",
"attrs": {
"fill": "currentColor",
"d": "M12 .85l9.66 5.57v11.16L12 23.15l-9.66-5.57V6.42L12 .85zm0 2.3L4.34 7.58v8.84L12 20.85l7.66-4.43V7.58L12 3.15zM12 9a3 3 0 100 6 3 3 0 000-6zm-5 3a5 5 0 1110 0 5 5 0 01-10 0z"
}
}]
};
var setting = vue.defineComponent({
name: "SettingIcon",
props: {
size: {
type: String
},
onClick: {
type: Function
}
},
setup(props2, _ref) {
var {
attrs
} = _ref;
var propsSize = vue.computed(() => props2.size);
var {
className,
style: style2
} = useSizeProps(propsSize);
var finalCls = vue.computed(() => ["t-icon", "t-icon-setting", className.value]);
var finalStyle = vue.computed(() => _objectSpread$V(_objectSpread$V({}, style2.value), attrs.style));
var finalProps = vue.computed(() => ({
class: finalCls.value,
style: finalStyle.value,
onClick: (e) => {
var _props$onClick;
return (_props$onClick = props2.onClick) === null || _props$onClick === void 0 ? void 0 : _props$onClick.call(props2, {
e
});
}
}));
return () => renderFn(element, finalProps.value);
}
});
const SettingIcon = setting;
var isVue2 = false;
/*!
* pinia v2.1.6
* (c) 2023 Eduardo San Martin Morote
* @license MIT
*/
let activePinia;
const setActivePinia = (pinia) => activePinia = pinia;
const piniaSymbol = (
/* istanbul ignore next */
Symbol()
);
function isPlainObject$4(o) {
return o && typeof o === "object" && Object.prototype.toString.call(o) === "[object Object]" && typeof o.toJSON !== "function";
}
var MutationType;
(function(MutationType2) {
MutationType2["direct"] = "direct";
MutationType2["patchObject"] = "patch object";
MutationType2["patchFunction"] = "patch function";
})(MutationType || (MutationType = {}));
function createPinia() {
const scope = vue.effectScope(true);
const state = scope.run(() => vue.ref({}));
let _p = [];
let toBeInstalled = [];
const pinia = vue.markRaw({
install(app) {
setActivePinia(pinia);
{
pinia._a = app;
app.provide(piniaSymbol, pinia);
app.config.globalProperties.$pinia = pinia;
toBeInstalled.forEach((plugin) => _p.push(plugin));
toBeInstalled = [];
}
},
use(plugin) {
if (!this._a && !isVue2) {
toBeInstalled.push(plugin);
} else {
_p.push(plugin);
}
return this;
},
_p,
// it's actually undefined here
// @ts-expect-error
_a: null,
_e: scope,
_s: /* @__PURE__ */ new Map(),
state
});
return pinia;
}
const noop$3 = () => {
};
function addSubscription(subscriptions, callback, detached, onCleanup = noop$3) {
subscriptions.push(callback);
const removeSubscription = () => {
const idx = subscriptions.indexOf(callback);
if (idx > -1) {
subscriptions.splice(idx, 1);
onCleanup();
}
};
if (!detached && vue.getCurrentScope()) {
vue.onScopeDispose(removeSubscription);
}
return removeSubscription;
}
function triggerSubscriptions(subscriptions, ...args) {
subscriptions.slice().forEach((callback) => {
callback(...args);
});
}
const fallbackRunWithContext = (fn2) => fn2();
function mergeReactiveObjects(target, patchToApply) {
if (target instanceof Map && patchToApply instanceof Map) {
patchToApply.forEach((value, key2) => target.set(key2, value));
}
if (target instanceof Set && patchToApply instanceof Set) {
patchToApply.forEach(target.add, target);
}
for (const key2 in patchToApply) {
if (!patchToApply.hasOwnProperty(key2))
continue;
const subPatch = patchToApply[key2];
const targetValue = target[key2];
if (isPlainObject$4(targetValue) && isPlainObject$4(subPatch) && target.hasOwnProperty(key2) && !vue.isRef(subPatch) && !vue.isReactive(subPatch)) {
target[key2] = mergeReactiveObjects(targetValue, subPatch);
} else {
target[key2] = subPatch;
}
}
return target;
}
const skipHydrateSymbol = (
/* istanbul ignore next */
Symbol()
);
function shouldHydrate(obj) {
return !isPlainObject$4(obj) || !obj.hasOwnProperty(skipHydrateSymbol);
}
const { assign } = Object;
function isComputed(o) {
return !!(vue.isRef(o) && o.effect);
}
function createOptionsStore(id, options, pinia, hot) {
const { state, actions, getters } = options;
const initialState = pinia.state.value[id];
let store2;
function setup51() {
if (!initialState && true) {
{
pinia.state.value[id] = state ? state() : {};
}
}
const localState = vue.toRefs(pinia.state.value[id]);
return assign(localState, actions, Object.keys(getters || {}).reduce((computedGetters, name) => {
computedGetters[name] = vue.markRaw(vue.computed(() => {
setActivePinia(pinia);
const store3 = pinia._s.get(id);
return getters[name].call(store3, store3);
}));
return computedGetters;
}, {}));
}
store2 = createSetupStore(id, setup51, options, pinia, hot, true);
return store2;
}
function createSetupStore($id, setup51, options = {}, pinia, hot, isOptionsStore) {
let scope;
const optionsForPlugin = assign({ actions: {} }, options);
const $subscribeOptions = {
deep: true
// flush: 'post',
};
let isListening;
let isSyncListening;
let subscriptions = [];
let actionSubscriptions = [];
let debuggerEvents;
const initialState = pinia.state.value[$id];
if (!isOptionsStore && !initialState && true) {
{
pinia.state.value[$id] = {};
}
}
vue.ref({});
let activeListener;
function $patch(partialStateOrMutator) {
let subscriptionMutation;
isListening = isSyncListening = false;
if (typeof partialStateOrMutator === "function") {
partialStateOrMutator(pinia.state.value[$id]);
subscriptionMutation = {
type: MutationType.patchFunction,
storeId: $id,
events: debuggerEvents
};
} else {
mergeReactiveObjects(pinia.state.value[$id], partialStateOrMutator);
subscriptionMutation = {
type: MutationType.patchObject,
payload: partialStateOrMutator,
storeId: $id,
events: debuggerEvents
};
}
const myListenerId = activeListener = Symbol();
vue.nextTick().then(() => {
if (activeListener === myListenerId) {
isListening = true;
}
});
isSyncListening = true;
triggerSubscriptions(subscriptions, subscriptionMutation, pinia.state.value[$id]);
}
const $reset = isOptionsStore ? function $reset2() {
const { state } = options;
const newState = state ? state() : {};
this.$patch(($state) => {
assign($state, newState);
});
} : (
/* istanbul ignore next */
noop$3
);
function $dispose() {
scope.stop();
subscriptions = [];
actionSubscriptions = [];
pinia._s.delete($id);
}
function wrapAction(name, action) {
return function() {
setActivePinia(pinia);
const args = Array.from(arguments);
const afterCallbackList = [];
const onErrorCallbackList = [];
function after(callback) {
afterCallbackList.push(callback);
}
function onError(callback) {
onErrorCallbackList.push(callback);
}
triggerSubscriptions(actionSubscriptions, {
args,
name,
store: store2,
after,
onError
});
let ret;
try {
ret = action.apply(this && this.$id === $id ? this : store2, args);
} catch (error4) {
triggerSubscriptions(onErrorCallbackList, error4);
throw error4;
}
if (ret instanceof Promise) {
return ret.then((value) => {
triggerSubscriptions(afterCallbackList, value);
return value;
}).catch((error4) => {
triggerSubscriptions(onErrorCallbackList, error4);
return Promise.reject(error4);
});
}
triggerSubscriptions(afterCallbackList, ret);
return ret;
};
}
const partialStore = {
_p: pinia,
// _s: scope,
$id,
$onAction: addSubscription.bind(null, actionSubscriptions),
$patch,
$reset,
$subscribe(callback, options2 = {}) {
const removeSubscription = addSubscription(subscriptions, callback, options2.detached, () => stopWatcher());
const stopWatcher = scope.run(() => vue.watch(() => pinia.state.value[$id], (state) => {
if (options2.flush === "sync" ? isSyncListening : isListening) {
callback({
storeId: $id,
type: MutationType.direct,
events: debuggerEvents
}, state);
}
}, assign({}, $subscribeOptions, options2)));
return removeSubscription;
},
$dispose
};
const store2 = vue.reactive(partialStore);
pinia._s.set($id, store2);
const runWithContext = pinia._a && pinia._a.runWithContext || fallbackRunWithContext;
const setupStore = pinia._e.run(() => {
scope = vue.effectScope();
return runWithContext(() => scope.run(setup51));
});
for (const key2 in setupStore) {
const prop = setupStore[key2];
if (vue.isRef(prop) && !isComputed(prop) || vue.isReactive(prop)) {
if (!isOptionsStore) {
if (initialState && shouldHydrate(prop)) {
if (vue.isRef(prop)) {
prop.value = initialState[key2];
} else {
mergeReactiveObjects(prop, initialState[key2]);
}
}
{
pinia.state.value[$id][key2] = prop;
}
}
} else if (typeof prop === "function") {
const actionValue = wrapAction(key2, prop);
{
setupStore[key2] = actionValue;
}
optionsForPlugin.actions[key2] = prop;
} else
;
}
{
assign(store2, setupStore);
assign(vue.toRaw(store2), setupStore);
}
Object.defineProperty(store2, "$state", {
get: () => pinia.state.value[$id],
set: (state) => {
$patch(($state) => {
assign($state, state);
});
}
});
pinia._p.forEach((extender) => {
{
assign(store2, scope.run(() => extender({
store: store2,
app: pinia._a,
pinia,
options: optionsForPlugin
})));
}
});
if (initialState && isOptionsStore && options.hydrate) {
options.hydrate(store2.$state, initialState);
}
isListening = true;
isSyncListening = true;
return store2;
}
function defineStore(idOrOptions, setup51, setupOptions) {
let id;
let options;
const isSetupStore = typeof setup51 === "function";
if (typeof idOrOptions === "string") {
id = idOrOptions;
options = isSetupStore ? setupOptions : setup51;
} else {
options = idOrOptions;
id = idOrOptions.id;
}
function useStore(pinia, hot) {
const hasContext = vue.hasInjectionContext();
pinia = // in test mode, ignore the argument provided as we can always retrieve a
// pinia instance with getActivePinia()
pinia || (hasContext ? vue.inject(piniaSymbol, null) : null);
if (pinia)
setActivePinia(pinia);
pinia = activePinia;
if (!pinia._s.has(id)) {
if (isSetupStore) {
createSetupStore(id, setup51, options, pinia);
} else {
createOptionsStore(id, options, pinia);
}
}
const store2 = pinia._s.get(id);
return store2;
}
useStore.$id = id;
return useStore;
}
var CloudInfoEnum = /* @__PURE__ */ ((CloudInfoEnum2) => {
CloudInfoEnum2[CloudInfoEnum2["cloud115"] = 0] = "cloud115";
CloudInfoEnum2[CloudInfoEnum2["cloud123"] = 1] = "cloud123";
CloudInfoEnum2[CloudInfoEnum2["cloudBaidu"] = 2] = "cloudBaidu";
CloudInfoEnum2[CloudInfoEnum2["cloudLanZou"] = 3] = "cloudLanZou";
CloudInfoEnum2[CloudInfoEnum2["cloudTianyi"] = 4] = "cloudTianyi";
CloudInfoEnum2[CloudInfoEnum2["cloudQuark"] = 5] = "cloudQuark";
CloudInfoEnum2[CloudInfoEnum2["cloud139"] = 6] = "cloud139";
CloudInfoEnum2[CloudInfoEnum2["cloudXun"] = 7] = "cloudXun";
CloudInfoEnum2[CloudInfoEnum2["cloudAli"] = 8] = "cloudAli";
return CloudInfoEnum2;
})(CloudInfoEnum || {});
const ShareDOMSelect = {
"cloud115": {
select: "div.list-contents > ul li.selected",
idAttribute: ["file_id", "cate_id"]
},
"cloudTianyi": {
idAttribute: ["data-fileid"],
select: "li[data-selected=true].c-file-item",
fileNameSelect: ".file-item-name-fileName-span"
},
"cloudQuark": {
idAttribute: ["data-row-key"],
select: ".ant-table-row-selected",
fileNameSelect: ".filename-text"
}
};
const cloudUrlInfo = {
cloud123: ["https://www.123pan.com/"],
cloudBaidu: ["https://pan.baidu.com/disk/main"],
cloudLanZou: [
"https://pc.woozooo.com/",
"https:\\/\\/..*?\\.woozooo\\.com",
"https:\\/\\/.*?\\.lanzou.*?\\.com"
],
cloudTianyi: ["https://cloud.189.cn/web/main/"],
cloud115: ["https://115.com"],
cloudQuark: ["https://pan.quark.cn/"],
cloud139: ["https://yun.139.com/"],
cloudXun: ["https://pan.xunlei.com/"],
cloudAli: ["https://www.aliyundrive.com/"]
};
function generateRandomString(numDigits) {
const numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
const letters = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
let result = "";
for (let i = 0; i < numDigits; i++) {
const randomIndex = Math.floor(Math.random() * (numbers.length + letters.length));
if (randomIndex < numbers.length) {
result += String(numbers[randomIndex]);
} else {
result += letters[randomIndex - numbers.length];
}
}
return result;
}
function DownloadTxt(fileName, content) {
const element2 = document.createElement("a");
element2.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(content));
element2.setAttribute("download", fileName);
element2.style.display = "none";
document.body.append(element2);
element2.click();
document.body.removeChild(element2);
}
function CopyValueToClipBoard(content) {
return new Promise((resolve2, reject2) => {
if (window.isSecureContext) {
navigator.clipboard.writeText(content).then((res) => {
resolve2(res);
}).catch((err) => {
reject2(err);
});
} else {
reject2("很抱歉,暂时不支持在此网站上复制");
}
});
}
function get123CloudSecret() {
function v(t) {
return (v = "function" == typeof Symbol && "symbol" == typeof Symbol["iterator"] ? function(t2) {
return typeof t2;
} : function(t2) {
return t2 && "function" == typeof Symbol && t2.constructor === Symbol && t2 !== Symbol["prototype"] ? "symbol" : typeof t2;
})(t);
}
function A(t, e2) {
e2 = 1 < arguments.length && void 0 !== e2 ? e2 : 10;
for (var n2 = function() {
for (var t2 = [], e3 = 0; e3 < 256; e3++) {
for (var n3 = e3, r3 = 0; r3 < 8; r3++)
n3 = 1 & n3 ? 3988292384 ^ n3 >>> 1 : n3 >>> 1;
t2[e3] = n3;
}
return t2;
}(), r2 = function(t2) {
t2 = t2.replace(/\\r\\n/g, "\\n");
for (var e3 = "", n3 = 0; n3 < t2.length; n3++) {
var r3 = t2.charCodeAt(n3);
r3 < 128 ? e3 += String.fromCharCode(r3) : e3 = 127 < r3 && r3 < 2048 ? (e3 += String.fromCharCode(r3 >> 6 | 192)) + String.fromCharCode(63 & r3 | 128) : (e3 = (e3 += String.fromCharCode(r3 >> 12 | 224)) + String.fromCharCode(r3 >> 6 & 63 | 128)) + String.fromCharCode(63 & r3 | 128);
}
return e3;
}(t), a2 = -1, i2 = 0; i2 < r2.length; i2++)
a2 = a2 >>> 8 ^ n2[255 & (a2 ^ r2.charCodeAt(i2))];
return (a2 = (-1 ^ a2) >>> 0).toString(e2);
}
var a, i, o, s, l, c, u, d, f, p, h2, g;
var e = "/a/api/share/share/create";
var n = "web";
var r = 3;
function getRandom(t) {
for (; ; )
switch (t.prev = t.next) {
case 0:
for (p in a = Math.round(1e7 * Math.random()), o = Math.round(((/* @__PURE__ */ new Date()).getTime() + 60 * (/* @__PURE__ */ new Date()).getTimezoneOffset() * 1e3 + 288e5) / 1e3).toString(), sessionStorage.getItem("serverTimestamp") && (i = sessionStorage.getItem("serverTimestamp")), o = i && (m = i, 20 <= Math.abs(1e3 * o - 1e3 * m) / 1e3 / 60) ? i : o, s = atob((m = void 0, m = ["a", "d", "e", "f", "g", "h", "l", "m", "y", "i", "j", "n", "o", "p", "k", "q", "r", "s", "t", "u", "b", "c", "v", "w", "s", "z"].join(","), btoa(m))).split(","), u = function(t2, e2, n2) {
var r2;
n2 = 2 < arguments.length && void 0 !== n2 ? n2 : 8;
return 0 === arguments.length ? null : (r2 = "object" === v(t2) ? t2 : (10 === "".concat(t2).length && (t2 = 1e3 * Number.parseInt(t2)), new Date(t2)), t2 += 6e4 * new Date(t2).getTimezoneOffset(), {
y: (r2 = new Date(t2 + 36e5 * n2)).getFullYear(),
m: r2.getMonth() + 1 < 10 ? "0".concat(String(r2.getMonth() + 1)) : r2.getMonth() + 1,
d: r2.getDate() < 10 ? "0".concat(r2.getDate()) : r2.getDate(),
h: r2.getHours() < 10 ? "0".concat(r2.getHours()) : r2.getHours(),
f: r2.getMinutes() < 10 ? "0".concat(r2.getMinutes()) : r2.getMinutes()
});
}(o), h2 = u.y, g = u.m, l = u.d, c = u.h, u = u.f, d = [h2, g, l, c, u].join(""), f = [], d)
f.push(s[Number(d[p])]);
return h2 = A(f.join("")), g = A("".concat(o, "|").concat(a, "|").concat(e, "|").concat(n, "|").concat(String(r), "|").concat(h2)), t.abrupt("return", [h2, "".concat(o, "-").concat(a, "-").concat(g)]);
case 12:
case "end":
return t.stop();
}
var m;
}
const object = {
next: 0,
prev: 0,
arg: void 0,
abrupt: (str, result) => {
return result;
}
};
return getRandom(object);
}
function getDate123Cloud(day) {
function M(t) {
function e(t2) {
return ((t2 = Math.floor(Math.abs(t2))) < 10 ? "0" : "") + t2;
}
var n = -t.getTimezoneOffset(), r = 0 <= n ? "+" : "-";
return "".concat(t.getFullYear(), "-").concat(e(t.getMonth() + 1), "-").concat(e(t.getDate()), "T").concat(e(t.getHours()), ":").concat(e(t.getMinutes()), ":").concat(e(t.getSeconds())).concat(r).concat(e(n / 60), ":").concat(e(n % 60));
}
day = day * 1;
switch (day) {
case 1:
return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 864e5));
case 7:
return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 6048e5));
case 30:
return Object(M)(/* @__PURE__ */ new Date(+/* @__PURE__ */ new Date() + 2592e6));
case 99:
return Object(M)(/* @__PURE__ */ new Date("2099/12/12 08:00:00"));
}
}
function bodyParse(body) {
const result = (body == null ? void 0 : body.split("&")) ?? [];
let obj = {};
for (let item of result) {
const temp = (item == null ? void 0 : item.split("=")) ?? [];
if (temp.length > 1) {
obj[temp[0]] = temp[1];
}
}
return obj;
}
function findCloudProvider(url, cloudUrlInfos) {
for (const provider in cloudUrlInfos) {
const urls = cloudUrlInfos[provider];
for (const cloudUrl of urls) {
if (isMatchingUrl(url, cloudUrl)) {
return provider;
}
}
}
return null;
}
function isMatchingUrl(url, pattern2) {
if (pattern2.includes("*")) {
return new RegExp(pattern2, "g").test(url);
} else {
return url.startsWith(pattern2);
}
}
function observeDOMChanges(selector, callback, options = { interval: 300, observerOptions: { childList: true, subtree: true, attributes: true } }) {
if (!selector) {
throw new Error("请传入选择器");
}
let timer;
const startObserver = () => {
const targetDOM = document.querySelector(selector);
if (!targetDOM)
return;
clearInterval(timer);
const observer = new MutationObserver(() => {
console.log("执行回调");
callback(targetDOM);
observer.disconnect();
});
observer.observe(targetDOM, options.observerOptions);
};
timer = setInterval(startObserver, options.interval ?? 300);
}
function findLocalStorageKeysWithPrefix(prefix) {
let result = {};
for (const key2 in localStorage) {
if (localStorage.hasOwnProperty(key2) && key2.startsWith(prefix)) {
result = JSON.parse(localStorage[key2]);
}
}
return result;
}
const CloudInfoStore = defineStore({
id: "cloudinfo",
state: () => ({
currentCloud: "",
//当前的网盘对应索引值
cloudName: "",
//网盘名字
cloudKey: ""
//网盘key
}),
actions: {
//初始化网盘信息
initCloudInfo() {
const url = window.location.href;
console.log("当前网址", url);
const cloudKey = findCloudProvider(url, cloudUrlInfo) ?? "";
console.log("所属网盘", cloudKey);
if (!cloudKey) {
throw new Error("初始化网盘信息出错");
}
this.cloudKey = cloudKey;
this.currentCloud = CloudInfoEnum[cloudKey];
switch (this.currentCloud) {
case CloudInfoEnum.cloudLanZou:
{
this.cloudName = "蓝奏云";
}
break;
case CloudInfoEnum.cloudTianyi:
{
this.cloudName = "天翼云";
}
break;
case CloudInfoEnum.cloudBaidu:
{
this.cloudName = "百度云";
}
break;
case CloudInfoEnum.cloud115:
{
this.cloudName = "115云";
}
break;
case CloudInfoEnum.cloud123:
{
this.cloudName = "123云";
}
break;
case CloudInfoEnum.cloudQuark:
{
this.cloudName = "夸克网盘";
}
break;
case CloudInfoEnum.cloud139:
{
this.cloudName = "中国移动(139)网盘";
}
break;
case CloudInfoEnum.cloudXun:
{
this.cloudName = "迅雷网盘";
}
break;
case CloudInfoEnum.cloudAli:
{
this.cloudName = "阿里云盘";
}
break;
default:
this.cloudName = "未知网盘";
}
}
}
});
const store = createPinia();
const Pinia = (app) => {
app.use(store);
};
const cloudInfoStore = CloudInfoStore(store);
cloudInfoStore.initCloudInfo();
var ExpireTimeEnum$7 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 2099] = "forever";
return ExpireTimeEnum2;
})(ExpireTimeEnum$7 || {});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _arrayLikeToArray$3(arr, len2) {
if (len2 == null || len2 > arr.length)
len2 = arr.length;
for (var i = 0, arr2 = new Array(len2); i < len2; i++)
arr2[i] = arr[i];
return arr2;
}
function _unsupportedIterableToArray$3(o, minLen) {
if (!o)
return;
if (typeof o === "string")
return _arrayLikeToArray$3(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor)
n = o.constructor.name;
if (n === "Map" || n === "Set")
return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray$3(o, minLen);
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _arrayWithoutHoles(arr) {
if (Array.isArray(arr))
return _arrayLikeToArray$3(arr);
}
function _iterableToArray(iter) {
if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null)
return Array.from(iter);
}
function _nonIterableSpread() {
throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _toConsumableArray(arr) {
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$3(arr) || _nonIterableSpread();
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _typeof$2(o) {
"@babel/helpers - typeof";
return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
return typeof o2;
} : function(o2) {
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
}, _typeof$2(o);
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _toPrimitive(input, hint) {
if (_typeof$2(input) !== "object" || input === null)
return input;
var prim = input[Symbol.toPrimitive];
if (prim !== void 0) {
var res = prim.call(input, hint || "default");
if (_typeof$2(res) !== "object")
return res;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return (hint === "string" ? String : Number)(input);
}
function _toPropertyKey(arg) {
var key2 = _toPrimitive(arg, "string");
return _typeof$2(key2) === "symbol" ? key2 : String(key2);
}
function _defineProperty$2(obj, key2, value) {
key2 = _toPropertyKey(key2);
if (key2 in obj) {
Object.defineProperty(obj, key2, {
value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key2] = value;
}
return obj;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _arrayWithHoles(arr) {
if (Array.isArray(arr))
return arr;
}
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e, n, i, u, a = [], f = true, o = false;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t)
return;
f = false;
} else
for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = true)
;
} catch (r2) {
o = true, n = r2;
} finally {
try {
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u))
return;
} finally {
if (o)
throw n;
}
}
return a;
}
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _slicedToArray(arr, i) {
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray$3(arr, i) || _nonIterableRest();
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function setStyle$1(el, styles) {
var keys2 = Object.keys(styles);
keys2.forEach(function(key2) {
el.style[key2] = styles[key2];
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _objectWithoutPropertiesLoose$1(source, excluded) {
if (source == null)
return {};
var target = {};
var sourceKeys = Object.keys(source);
var key2, i;
for (i = 0; i < sourceKeys.length; i++) {
key2 = sourceKeys[i];
if (excluded.indexOf(key2) >= 0)
continue;
target[key2] = source[key2];
}
return target;
}
function _objectWithoutProperties$1(source, excluded) {
if (source == null)
return {};
var target = _objectWithoutPropertiesLoose$1(source, excluded);
var key2, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key2 = sourceSymbolKeys[i];
if (excluded.indexOf(key2) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key2))
continue;
target[key2] = source[key2];
}
}
return target;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var commonjsGlobal$1 = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
function getDefaultExportFromCjs$1(x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var freeGlobal$1 = _typeof$2(commonjsGlobal$1) == "object" && commonjsGlobal$1 && commonjsGlobal$1.Object === Object && commonjsGlobal$1;
var _freeGlobal = freeGlobal$1;
var freeGlobal = _freeGlobal;
var freeSelf = (typeof self === "undefined" ? "undefined" : _typeof$2(self)) == "object" && self && self.Object === Object && self;
var root$1$3 = freeGlobal || freeSelf || Function("return this")();
var _root = root$1$3;
var root$7 = _root;
var _Symbol2 = root$7.Symbol;
var _Symbol$2$1 = _Symbol2;
var _Symbol$1$1 = _Symbol$2$1;
var objectProto$1$4 = Object.prototype;
var hasOwnProperty$a = objectProto$1$4.hasOwnProperty;
var nativeObjectToString$1 = objectProto$1$4.toString;
var symToStringTag$1 = _Symbol$1$1 ? _Symbol$1$1.toStringTag : void 0;
function getRawTag$1(value) {
var isOwn = hasOwnProperty$a.call(value, symToStringTag$1), tag = value[symToStringTag$1];
try {
value[symToStringTag$1] = void 0;
var unmasked = true;
} catch (e) {
}
var result = nativeObjectToString$1.call(value);
if (unmasked) {
if (isOwn) {
value[symToStringTag$1] = tag;
} else {
delete value[symToStringTag$1];
}
}
return result;
}
var _getRawTag = getRawTag$1;
var objectProto$a = Object.prototype;
var nativeObjectToString = objectProto$a.toString;
function objectToString$1(value) {
return nativeObjectToString.call(value);
}
var _objectToString = objectToString$1;
var _Symbol$3 = _Symbol$2$1, getRawTag = _getRawTag, objectToString = _objectToString;
var nullTag = "[object Null]", undefinedTag = "[object Undefined]";
var symToStringTag = _Symbol$3 ? _Symbol$3.toStringTag : void 0;
function baseGetTag$9(value) {
if (value == null) {
return value === void 0 ? undefinedTag : nullTag;
}
return symToStringTag && symToStringTag in Object(value) ? getRawTag(value) : objectToString(value);
}
var _baseGetTag = baseGetTag$9;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isArray$a = Array.isArray;
var isArray_1 = isArray$a;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function isObjectLike$9(value) {
return value != null && _typeof$2(value) == "object";
}
var isObjectLike_1 = isObjectLike$9;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag$8 = _baseGetTag, isArray$9 = isArray_1, isObjectLike$8 = isObjectLike_1;
var stringTag$3 = "[object String]";
function isString$1(value) {
return typeof value == "string" || !isArray$9(value) && isObjectLike$8(value) && baseGetTag$8(value) == stringTag$3;
}
var isString_1 = isString$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function isUndefined$1(value) {
return value === void 0;
}
var isUndefined_1 = isUndefined$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag$7 = _baseGetTag, isObjectLike$7 = isObjectLike_1;
var numberTag$3 = "[object Number]";
function isNumber$2(value) {
return typeof value == "number" || isObjectLike$7(value) && baseGetTag$7(value) == numberTag$3;
}
var isNumber_1 = isNumber$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function getIEVersion() {
if (typeof navigator === "undefined" || !navigator)
return Number.MAX_SAFE_INTEGER;
var _navigator = navigator, userAgent2 = _navigator.userAgent;
var isIE = userAgent2.indexOf("compatible") > -1 && userAgent2.indexOf("MSIE") > -1;
var isIE11 = userAgent2.indexOf("Trident") > -1 && userAgent2.indexOf("rv:11.0") > -1;
if (isIE) {
var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
var match = userAgent2.match(reIE);
if (!match)
return -1;
var fIEVersion = parseFloat(match[1]);
return fIEVersion < 7 ? 6 : fIEVersion;
}
if (isIE11) {
return 11;
}
return Number.MAX_SAFE_INTEGER;
}
function getCharacterLength$1(str, maxCharacter) {
var hasMaxCharacter = isNumber_1(maxCharacter);
if (!str || str.length === 0) {
if (hasMaxCharacter) {
return {
length: 0,
characters: str
};
}
return 0;
}
var len2 = 0;
for (var i = 0; i < str.length; i++) {
var currentStringLength = 0;
if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
currentStringLength = 2;
} else {
currentStringLength = 1;
}
if (hasMaxCharacter && len2 + currentStringLength > maxCharacter) {
return {
length: len2,
characters: str.slice(0, i)
};
}
len2 += currentStringLength;
}
if (hasMaxCharacter) {
return {
length: len2,
characters: str
};
}
return len2;
}
function getUnicodeLength(str) {
return _toConsumableArray(str !== null && str !== void 0 ? str : "").length;
}
function limitUnicodeMaxLength(str, maxLength, oldStr) {
if (_toConsumableArray(oldStr !== null && oldStr !== void 0 ? oldStr : "").slice().length === maxLength)
return oldStr || "";
return _toConsumableArray(str !== null && str !== void 0 ? str : "").slice(0, maxLength).join("");
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$V(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$U(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$V(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$V(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function circleAdapter(circleElem) {
var _window, _window$getComputedSt2, _window2;
var basicStyle = {};
if (!circleElem || typeof window === "undefined") {
return;
}
var _window$getComputedSt = (_window = window) === null || _window === void 0 || (_window$getComputedSt2 = _window.getComputedStyle) === null || _window$getComputedSt2 === void 0 ? void 0 : _window$getComputedSt2.call(_window, circleElem), color = _window$getComputedSt.color, fontSize = _window$getComputedSt.fontSize;
var ua = (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.navigator) === null || _window2 === void 0 ? void 0 : _window2.userAgent;
var isSafari = /Safari/.test(ua) && !/Chrome/.test(ua);
var isIosWechat = /(?=.*iPhone)[?=.*MicroMessenger]/.test(ua) && !/Chrome/.test(ua);
if (isSafari || isIosWechat) {
basicStyle = {
transformOrigin: "0px 0px",
transform: "scale(".concat(parseInt(fontSize, 10) / 12, ")")
};
}
if (color && getIEVersion() > 11) {
var matched = color.match(/[\d.]+/g);
var endColor = matched ? "rgba(".concat(matched[0], ", ").concat(matched[1], ", ").concat(matched[2], ", 0)") : "";
setStyle$1(circleElem, _objectSpread$U(_objectSpread$U({}, basicStyle), {}, {
background: "conic-gradient(from 90deg at 50% 50%,".concat(endColor, " 0deg, ").concat(color, " 360deg)")
}));
} else {
setStyle$1(circleElem, _objectSpread$U(_objectSpread$U({}, basicStyle), {}, {
background: ""
}));
}
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function isObject$b(value) {
var type = _typeof$2(value);
return value != null && (type == "object" || type == "function");
}
var isObject_1 = isObject$b;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag$6 = _baseGetTag, isObject$a = isObject_1;
var asyncTag = "[object AsyncFunction]", funcTag$2 = "[object Function]", genTag$1 = "[object GeneratorFunction]", proxyTag = "[object Proxy]";
function isFunction$4(value) {
if (!isObject$a(value)) {
return false;
}
var tag = baseGetTag$6(value);
return tag == funcTag$2 || tag == genTag$1 || tag == asyncTag || tag == proxyTag;
}
var isFunction_1 = isFunction$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var root$1$2 = _root;
var coreJsData$1 = root$1$2["__core-js_shared__"];
var _coreJsData = coreJsData$1;
var coreJsData = _coreJsData;
var maskSrcKey = function() {
var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || "");
return uid ? "Symbol(src)_1." + uid : "";
}();
function isMasked$1(func) {
return !!maskSrcKey && maskSrcKey in func;
}
var _isMasked = isMasked$1;
var funcProto$1 = Function.prototype;
var funcToString$1 = funcProto$1.toString;
function toSource$1(func) {
if (func != null) {
try {
return funcToString$1.call(func);
} catch (e) {
}
try {
return func + "";
} catch (e) {
}
}
return "";
}
var _toSource = toSource$1;
var isFunction$3 = isFunction_1, isMasked = _isMasked, isObject$9 = isObject_1, toSource$2 = _toSource;
var reRegExpChar = /[\\^$.*+?()[\]{}|]/g;
var reIsHostCtor = /^\[object .+?Constructor\]$/;
var funcProto$2 = Function.prototype, objectProto$9 = Object.prototype;
var funcToString$2 = funcProto$2.toString;
var hasOwnProperty$9 = objectProto$9.hasOwnProperty;
var reIsNative = RegExp("^" + funcToString$2.call(hasOwnProperty$9).replace(reRegExpChar, "\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, "$1.*?") + "$");
function baseIsNative$1(value) {
if (!isObject$9(value) || isMasked(value)) {
return false;
}
var pattern2 = isFunction$3(value) ? reIsNative : reIsHostCtor;
return pattern2.test(toSource$2(value));
}
var _baseIsNative = baseIsNative$1;
function getValue$1(object, key2) {
return object == null ? void 0 : object[key2];
}
var _getValue = getValue$1;
var baseIsNative = _baseIsNative, getValue = _getValue;
function getNative$1$1(object, key2) {
var value = getValue(object, key2);
return baseIsNative(value) ? value : void 0;
}
var _getNative = getNative$1$1;
var getNative$6 = _getNative, root$6 = _root;
var Map$4 = getNative$6(root$6, "Map");
var _Map = Map$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function eq$4(value, other) {
return value === other || value !== value && other !== other;
}
var eq_1 = eq$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function listCacheClear$1() {
this.__data__ = [];
this.size = 0;
}
var _listCacheClear = listCacheClear$1;
var eq$3 = eq_1;
function assocIndexOf$4(array, key2) {
var length = array.length;
while (length--) {
if (eq$3(array[length][0], key2)) {
return length;
}
}
return -1;
}
var _assocIndexOf = assocIndexOf$4;
var assocIndexOf$3 = _assocIndexOf;
var arrayProto = Array.prototype;
var splice = arrayProto.splice;
function listCacheDelete$1(key2) {
var data2 = this.__data__, index2 = assocIndexOf$3(data2, key2);
if (index2 < 0) {
return false;
}
var lastIndex = data2.length - 1;
if (index2 == lastIndex) {
data2.pop();
} else {
splice.call(data2, index2, 1);
}
--this.size;
return true;
}
var _listCacheDelete = listCacheDelete$1;
var assocIndexOf$2 = _assocIndexOf;
function listCacheGet$1(key2) {
var data2 = this.__data__, index2 = assocIndexOf$2(data2, key2);
return index2 < 0 ? void 0 : data2[index2][1];
}
var _listCacheGet = listCacheGet$1;
var assocIndexOf$1 = _assocIndexOf;
function listCacheHas$1(key2) {
return assocIndexOf$1(this.__data__, key2) > -1;
}
var _listCacheHas = listCacheHas$1;
var assocIndexOf = _assocIndexOf;
function listCacheSet$1(key2, value) {
var data2 = this.__data__, index2 = assocIndexOf(data2, key2);
if (index2 < 0) {
++this.size;
data2.push([key2, value]);
} else {
data2[index2][1] = value;
}
return this;
}
var _listCacheSet = listCacheSet$1;
var listCacheClear = _listCacheClear, listCacheDelete = _listCacheDelete, listCacheGet = _listCacheGet, listCacheHas = _listCacheHas, listCacheSet = _listCacheSet;
function ListCache$1$1(entries) {
var index2 = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index2 < length) {
var entry = entries[index2];
this.set(entry[0], entry[1]);
}
}
ListCache$1$1.prototype.clear = listCacheClear;
ListCache$1$1.prototype["delete"] = listCacheDelete;
ListCache$1$1.prototype.get = listCacheGet;
ListCache$1$1.prototype.has = listCacheHas;
ListCache$1$1.prototype.set = listCacheSet;
var _ListCache = ListCache$1$1;
var getNative$5 = _getNative;
var nativeCreate$4 = getNative$5(Object, "create");
var _nativeCreate = nativeCreate$4;
var nativeCreate$3 = _nativeCreate;
function hashClear$1() {
this.__data__ = nativeCreate$3 ? nativeCreate$3(null) : {};
this.size = 0;
}
var _hashClear = hashClear$1;
function hashDelete$1(key2) {
var result = this.has(key2) && delete this.__data__[key2];
this.size -= result ? 1 : 0;
return result;
}
var _hashDelete = hashDelete$1;
var nativeCreate$2 = _nativeCreate;
var HASH_UNDEFINED$1 = "__lodash_hash_undefined__";
var objectProto$1$3 = Object.prototype;
var hasOwnProperty$1$2 = objectProto$1$3.hasOwnProperty;
function hashGet$1(key2) {
var data2 = this.__data__;
if (nativeCreate$2) {
var result = data2[key2];
return result === HASH_UNDEFINED$1 ? void 0 : result;
}
return hasOwnProperty$1$2.call(data2, key2) ? data2[key2] : void 0;
}
var _hashGet = hashGet$1;
var nativeCreate$1 = _nativeCreate;
var objectProto$8 = Object.prototype;
var hasOwnProperty$8 = objectProto$8.hasOwnProperty;
function hashHas$1(key2) {
var data2 = this.__data__;
return nativeCreate$1 ? data2[key2] !== void 0 : hasOwnProperty$8.call(data2, key2);
}
var _hashHas = hashHas$1;
var nativeCreate = _nativeCreate;
var HASH_UNDEFINED$2 = "__lodash_hash_undefined__";
function hashSet$1(key2, value) {
var data2 = this.__data__;
this.size += this.has(key2) ? 0 : 1;
data2[key2] = nativeCreate && value === void 0 ? HASH_UNDEFINED$2 : value;
return this;
}
var _hashSet = hashSet$1;
var hashClear = _hashClear, hashDelete = _hashDelete, hashGet = _hashGet, hashHas = _hashHas, hashSet = _hashSet;
function Hash$1(entries) {
var index2 = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index2 < length) {
var entry = entries[index2];
this.set(entry[0], entry[1]);
}
}
Hash$1.prototype.clear = hashClear;
Hash$1.prototype["delete"] = hashDelete;
Hash$1.prototype.get = hashGet;
Hash$1.prototype.has = hashHas;
Hash$1.prototype.set = hashSet;
var _Hash = Hash$1;
var Hash = _Hash, ListCache$3 = _ListCache, Map$3 = _Map;
function mapCacheClear$1() {
this.size = 0;
this.__data__ = {
"hash": new Hash(),
"map": new (Map$3 || ListCache$3)(),
"string": new Hash()
};
}
var _mapCacheClear = mapCacheClear$1;
function isKeyable$1(value) {
var type = _typeof$2(value);
return type == "string" || type == "number" || type == "symbol" || type == "boolean" ? value !== "__proto__" : value === null;
}
var _isKeyable = isKeyable$1;
var isKeyable = _isKeyable;
function getMapData$4(map, key2) {
var data2 = map.__data__;
return isKeyable(key2) ? data2[typeof key2 == "string" ? "string" : "hash"] : data2.map;
}
var _getMapData = getMapData$4;
var getMapData$3 = _getMapData;
function mapCacheDelete$1(key2) {
var result = getMapData$3(this, key2)["delete"](key2);
this.size -= result ? 1 : 0;
return result;
}
var _mapCacheDelete = mapCacheDelete$1;
var getMapData$2 = _getMapData;
function mapCacheGet$1(key2) {
return getMapData$2(this, key2).get(key2);
}
var _mapCacheGet = mapCacheGet$1;
var getMapData$1 = _getMapData;
function mapCacheHas$1(key2) {
return getMapData$1(this, key2).has(key2);
}
var _mapCacheHas = mapCacheHas$1;
var getMapData = _getMapData;
function mapCacheSet$1(key2, value) {
var data2 = getMapData(this, key2), size = data2.size;
data2.set(key2, value);
this.size += data2.size == size ? 0 : 1;
return this;
}
var _mapCacheSet = mapCacheSet$1;
var mapCacheClear = _mapCacheClear, mapCacheDelete = _mapCacheDelete, mapCacheGet = _mapCacheGet, mapCacheHas = _mapCacheHas, mapCacheSet = _mapCacheSet;
function MapCache$3(entries) {
var index2 = -1, length = entries == null ? 0 : entries.length;
this.clear();
while (++index2 < length) {
var entry = entries[index2];
this.set(entry[0], entry[1]);
}
}
MapCache$3.prototype.clear = mapCacheClear;
MapCache$3.prototype["delete"] = mapCacheDelete;
MapCache$3.prototype.get = mapCacheGet;
MapCache$3.prototype.has = mapCacheHas;
MapCache$3.prototype.set = mapCacheSet;
var _MapCache = MapCache$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var getNative$4 = _getNative;
var defineProperty$2 = function() {
try {
var func = getNative$4(Object, "defineProperty");
func({}, "", {});
return func;
} catch (e) {
}
}();
var _defineProperty$1 = defineProperty$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var defineProperty$1 = _defineProperty$1;
function baseAssignValue$1$1(object, key2, value) {
if (key2 == "__proto__" && defineProperty$1) {
defineProperty$1(object, key2, {
"configurable": true,
"enumerable": true,
"value": value,
"writable": true
});
} else {
object[key2] = value;
}
}
var _baseAssignValue = baseAssignValue$1$1;
var baseAssignValue$2 = _baseAssignValue, eq$2 = eq_1;
var objectProto$7 = Object.prototype;
var hasOwnProperty$7 = objectProto$7.hasOwnProperty;
function assignValue$3(object, key2, value) {
var objValue = object[key2];
if (!(hasOwnProperty$7.call(object, key2) && eq$2(objValue, value)) || value === void 0 && !(key2 in object)) {
baseAssignValue$2(object, key2, value);
}
}
var _assignValue = assignValue$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag$5 = _baseGetTag, isObjectLike$1$2 = isObjectLike_1;
var argsTag$2 = "[object Arguments]";
function baseIsArguments$1(value) {
return isObjectLike$1$2(value) && baseGetTag$5(value) == argsTag$2;
}
var _baseIsArguments = baseIsArguments$1;
var baseIsArguments = _baseIsArguments, isObjectLike$6 = isObjectLike_1;
var objectProto$6 = Object.prototype;
var hasOwnProperty$6 = objectProto$6.hasOwnProperty;
var propertyIsEnumerable$1 = objectProto$6.propertyIsEnumerable;
var isArguments$5 = baseIsArguments(function() {
return arguments;
}()) ? baseIsArguments : function(value) {
return isObjectLike$6(value) && hasOwnProperty$6.call(value, "callee") && !propertyIsEnumerable$1.call(value, "callee");
};
var isArguments_1 = isArguments$5;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var MAX_SAFE_INTEGER$1 = 9007199254740991;
function isLength$3(value) {
return typeof value == "number" && value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER$1;
}
var isLength_1 = isLength$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function baseUnary$4(func) {
return function(value) {
return func(value);
};
}
var _baseUnary = baseUnary$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isBuffer$5 = { exports: {} };
function stubFalse() {
return false;
}
var stubFalse_1 = stubFalse;
(function(module, exports) {
var root2 = _root, stubFalse2 = stubFalse_1;
var freeExports = exports && !exports.nodeType && exports;
var freeModule = freeExports && true && module && !module.nodeType && module;
var moduleExports = freeModule && freeModule.exports === freeExports;
var Buffer2 = moduleExports ? root2.Buffer : void 0;
var nativeIsBuffer = Buffer2 ? Buffer2.isBuffer : void 0;
var isBuffer2 = nativeIsBuffer || stubFalse2;
module.exports = isBuffer2;
})(isBuffer$5, isBuffer$5.exports);
isBuffer$5.exports;
var baseGetTag$4 = _baseGetTag, isLength$2 = isLength_1, isObjectLike$5 = isObjectLike_1;
var argsTag$1 = "[object Arguments]", arrayTag$1 = "[object Array]", boolTag$3 = "[object Boolean]", dateTag$2 = "[object Date]", errorTag$1 = "[object Error]", funcTag$1 = "[object Function]", mapTag$5 = "[object Map]", numberTag$2 = "[object Number]", objectTag$3 = "[object Object]", regexpTag$2 = "[object RegExp]", setTag$5 = "[object Set]", stringTag$2 = "[object String]", weakMapTag$2 = "[object WeakMap]";
var arrayBufferTag$2 = "[object ArrayBuffer]", dataViewTag$3 = "[object DataView]", float32Tag$2 = "[object Float32Array]", float64Tag$2 = "[object Float64Array]", int8Tag$2 = "[object Int8Array]", int16Tag$2 = "[object Int16Array]", int32Tag$2 = "[object Int32Array]", uint8Tag$2 = "[object Uint8Array]", uint8ClampedTag$2 = "[object Uint8ClampedArray]", uint16Tag$2 = "[object Uint16Array]", uint32Tag$2 = "[object Uint32Array]";
var typedArrayTags = {};
typedArrayTags[float32Tag$2] = typedArrayTags[float64Tag$2] = typedArrayTags[int8Tag$2] = typedArrayTags[int16Tag$2] = typedArrayTags[int32Tag$2] = typedArrayTags[uint8Tag$2] = typedArrayTags[uint8ClampedTag$2] = typedArrayTags[uint16Tag$2] = typedArrayTags[uint32Tag$2] = true;
typedArrayTags[argsTag$1] = typedArrayTags[arrayTag$1] = typedArrayTags[arrayBufferTag$2] = typedArrayTags[boolTag$3] = typedArrayTags[dataViewTag$3] = typedArrayTags[dateTag$2] = typedArrayTags[errorTag$1] = typedArrayTags[funcTag$1] = typedArrayTags[mapTag$5] = typedArrayTags[numberTag$2] = typedArrayTags[objectTag$3] = typedArrayTags[regexpTag$2] = typedArrayTags[setTag$5] = typedArrayTags[stringTag$2] = typedArrayTags[weakMapTag$2] = false;
function baseIsTypedArray$1(value) {
return isObjectLike$5(value) && isLength$2(value.length) && !!typedArrayTags[baseGetTag$4(value)];
}
var _baseIsTypedArray = baseIsTypedArray$1;
var _nodeUtil$1 = { exports: {} };
(function(module, exports) {
var freeGlobal2 = _freeGlobal;
var freeExports = exports && !exports.nodeType && exports;
var freeModule = freeExports && true && module && !module.nodeType && module;
var moduleExports = freeModule && freeModule.exports === freeExports;
var freeProcess = moduleExports && freeGlobal2.process;
var nodeUtil2 = function() {
try {
var types = freeModule && freeModule.require && freeModule.require("util").types;
if (types) {
return types;
}
return freeProcess && freeProcess.binding && freeProcess.binding("util");
} catch (e) {
}
}();
module.exports = nodeUtil2;
})(_nodeUtil$1, _nodeUtil$1.exports);
_nodeUtil$1.exports;
var baseIsTypedArray = _baseIsTypedArray, baseUnary$3 = _baseUnary, nodeUtil$2 = _nodeUtil$1.exports;
var nodeIsTypedArray = nodeUtil$2 && nodeUtil$2.isTypedArray;
var isTypedArray$4 = nodeIsTypedArray ? baseUnary$3(nodeIsTypedArray) : baseIsTypedArray;
var isTypedArray_1 = isTypedArray$4;
var objectProto$5 = Object.prototype;
function isPrototype$3(value) {
var Ctor = value && value.constructor, proto = typeof Ctor == "function" && Ctor.prototype || objectProto$5;
return value === proto;
}
var _isPrototype = isPrototype$3;
function overArg$2(func, transform) {
return function(arg) {
return func(transform(arg));
};
}
var _overArg = overArg$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var MAX_SAFE_INTEGER = 9007199254740991;
var reIsUint = /^(?:0|[1-9]\d*)$/;
function isIndex$4(value, length) {
var type = _typeof$2(value);
length = length == null ? MAX_SAFE_INTEGER : length;
return !!length && (type == "number" || type != "symbol" && reIsUint.test(value)) && value > -1 && value % 1 == 0 && value < length;
}
var _isIndex = isIndex$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isFunction$2 = isFunction_1, isLength$1 = isLength_1;
function isArrayLike$5(value) {
return value != null && isLength$1(value.length) && !isFunction$2(value);
}
var isArrayLike_1 = isArrayLike$5;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var ListCache$2 = _ListCache;
function stackClear$1() {
this.__data__ = new ListCache$2();
this.size = 0;
}
var _stackClear = stackClear$1;
function stackDelete$1(key2) {
var data2 = this.__data__, result = data2["delete"](key2);
this.size = data2.size;
return result;
}
var _stackDelete = stackDelete$1;
function stackGet$1(key2) {
return this.__data__.get(key2);
}
var _stackGet = stackGet$1;
function stackHas$1(key2) {
return this.__data__.has(key2);
}
var _stackHas = stackHas$1;
var ListCache$1 = _ListCache, Map$2 = _Map, MapCache$2 = _MapCache;
var LARGE_ARRAY_SIZE$2 = 200;
function stackSet$1(key2, value) {
var data2 = this.__data__;
if (data2 instanceof ListCache$1) {
var pairs = data2.__data__;
if (!Map$2 || pairs.length < LARGE_ARRAY_SIZE$2 - 1) {
pairs.push([key2, value]);
this.size = ++data2.size;
return this;
}
data2 = this.__data__ = new MapCache$2(pairs);
}
data2.set(key2, value);
this.size = data2.size;
return this;
}
var _stackSet = stackSet$1;
var ListCache = _ListCache, stackClear = _stackClear, stackDelete = _stackDelete, stackGet = _stackGet, stackHas = _stackHas, stackSet = _stackSet;
function Stack$2(entries) {
var data2 = this.__data__ = new ListCache(entries);
this.size = data2.size;
}
Stack$2.prototype.clear = stackClear;
Stack$2.prototype["delete"] = stackDelete;
Stack$2.prototype.get = stackGet;
Stack$2.prototype.has = stackHas;
Stack$2.prototype.set = stackSet;
var _Stack = Stack$2;
var assignValue$2 = _assignValue, baseAssignValue$1 = _baseAssignValue;
function copyObject$5(source, props2, object, customizer) {
var isNew = !object;
object || (object = {});
var index2 = -1, length = props2.length;
while (++index2 < length) {
var key2 = props2[index2];
var newValue = customizer ? customizer(object[key2], source[key2], key2, object, source) : void 0;
if (newValue === void 0) {
newValue = source[key2];
}
if (isNew) {
baseAssignValue$1(object, key2, newValue);
} else {
assignValue$2(object, key2, newValue);
}
}
return object;
}
var _copyObject = copyObject$5;
function baseTimes$1(n, iteratee) {
var index2 = -1, result = Array(n);
while (++index2 < n) {
result[index2] = iteratee(index2);
}
return result;
}
var _baseTimes = baseTimes$1;
var baseTimes = _baseTimes, isArguments$4 = isArguments_1, isArray$8 = isArray_1, isBuffer$4 = isBuffer$5.exports, isIndex$3 = _isIndex, isTypedArray$3 = isTypedArray_1;
var objectProto$1$2 = Object.prototype;
var hasOwnProperty$1$1 = objectProto$1$2.hasOwnProperty;
function arrayLikeKeys$1(value, inherited) {
var isArr = isArray$8(value), isArg = !isArr && isArguments$4(value), isBuff = !isArr && !isArg && isBuffer$4(value), isType = !isArr && !isArg && !isBuff && isTypedArray$3(value), skipIndexes = isArr || isArg || isBuff || isType, result = skipIndexes ? baseTimes(value.length, String) : [], length = result.length;
for (var key2 in value) {
if ((inherited || hasOwnProperty$1$1.call(value, key2)) && !(skipIndexes && // Safari 9 has enumerable `arguments.length` in strict mode.
(key2 == "length" || // Node.js 0.10 has enumerable non-index properties on buffers.
isBuff && (key2 == "offset" || key2 == "parent") || // PhantomJS 2 has enumerable non-index properties on typed arrays.
isType && (key2 == "buffer" || key2 == "byteLength" || key2 == "byteOffset") || // Skip index properties.
isIndex$3(key2, length)))) {
result.push(key2);
}
}
return result;
}
var _arrayLikeKeys = arrayLikeKeys$1;
function nativeKeysIn$1(object) {
var result = [];
if (object != null) {
for (var key2 in Object(object)) {
result.push(key2);
}
}
return result;
}
var _nativeKeysIn = nativeKeysIn$1;
var isObject$1$2 = isObject_1, isPrototype$1$1 = _isPrototype, nativeKeysIn = _nativeKeysIn;
var objectProto$4 = Object.prototype;
var hasOwnProperty$5 = objectProto$4.hasOwnProperty;
function baseKeysIn$1(object) {
if (!isObject$1$2(object)) {
return nativeKeysIn(object);
}
var isProto = isPrototype$1$1(object), result = [];
for (var key2 in object) {
if (!(key2 == "constructor" && (isProto || !hasOwnProperty$5.call(object, key2)))) {
result.push(key2);
}
}
return result;
}
var _baseKeysIn = baseKeysIn$1;
var arrayLikeKeys$2 = _arrayLikeKeys, baseKeysIn = _baseKeysIn, isArrayLike$4 = isArrayLike_1;
function keysIn$4(object) {
return isArrayLike$4(object) ? arrayLikeKeys$2(object, true) : baseKeysIn(object);
}
var keysIn_1 = keysIn$4;
var _cloneBuffer$1 = { exports: {} };
(function(module, exports) {
var root2 = _root;
var freeExports = exports && !exports.nodeType && exports;
var freeModule = freeExports && true && module && !module.nodeType && module;
var moduleExports = freeModule && freeModule.exports === freeExports;
var Buffer2 = moduleExports ? root2.Buffer : void 0, allocUnsafe = Buffer2 ? Buffer2.allocUnsafe : void 0;
function cloneBuffer2(buffer, isDeep) {
if (isDeep) {
return buffer.slice();
}
var length = buffer.length, result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);
buffer.copy(result);
return result;
}
module.exports = cloneBuffer2;
})(_cloneBuffer$1, _cloneBuffer$1.exports);
_cloneBuffer$1.exports;
function copyArray$2(source, array) {
var index2 = -1, length = source.length;
array || (array = Array(length));
while (++index2 < length) {
array[index2] = source[index2];
}
return array;
}
var _copyArray = copyArray$2;
var overArg$1 = _overArg;
var getPrototype$1$1 = overArg$1(Object.getPrototypeOf, Object);
var _getPrototype = getPrototype$1$1;
var root$5 = _root;
var Uint8Array$1 = root$5.Uint8Array;
var _Uint8Array = Uint8Array$1;
var Uint8Array$2 = _Uint8Array;
function cloneArrayBuffer$1$1(arrayBuffer) {
var result = new arrayBuffer.constructor(arrayBuffer.byteLength);
new Uint8Array$2(result).set(new Uint8Array$2(arrayBuffer));
return result;
}
var _cloneArrayBuffer = cloneArrayBuffer$1$1;
var cloneArrayBuffer$2 = _cloneArrayBuffer;
function cloneTypedArray$2(typedArray, isDeep) {
var buffer = isDeep ? cloneArrayBuffer$2(typedArray.buffer) : typedArray.buffer;
return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);
}
var _cloneTypedArray = cloneTypedArray$2;
var isObject$8 = isObject_1;
var objectCreate = Object.create;
var baseCreate$1 = function() {
function object() {
}
return function(proto) {
if (!isObject$8(proto)) {
return {};
}
if (objectCreate) {
return objectCreate(proto);
}
object.prototype = proto;
var result = new object();
object.prototype = void 0;
return result;
};
}();
var _baseCreate = baseCreate$1;
var baseCreate = _baseCreate, getPrototype$2 = _getPrototype, isPrototype$2 = _isPrototype;
function initCloneObject$2(object) {
return typeof object.constructor == "function" && !isPrototype$2(object) ? baseCreate(getPrototype$2(object)) : {};
}
var _initCloneObject = initCloneObject$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var getNative$3 = _getNative, root$4 = _root;
var Set$3 = getNative$3(root$4, "Set");
var _Set = Set$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var overArg = _overArg;
var nativeKeys$1 = overArg(Object.keys, Object);
var _nativeKeys = nativeKeys$1;
var isPrototype$1 = _isPrototype, nativeKeys = _nativeKeys;
var objectProto$3 = Object.prototype;
var hasOwnProperty$4 = objectProto$3.hasOwnProperty;
function baseKeys$2(object) {
if (!isPrototype$1(object)) {
return nativeKeys(object);
}
var result = [];
for (var key2 in Object(object)) {
if (hasOwnProperty$4.call(object, key2) && key2 != "constructor") {
result.push(key2);
}
}
return result;
}
var _baseKeys = baseKeys$2;
var getNative$2 = _getNative, root$2 = _root;
var DataView$1 = getNative$2(root$2, "DataView");
var _DataView = DataView$1;
var getNative$1 = _getNative, root$1$1 = _root;
var Promise$2 = getNative$1(root$1$1, "Promise");
var _Promise = Promise$2;
var getNative = _getNative, root$3 = _root;
var WeakMap$1 = getNative(root$3, "WeakMap");
var _WeakMap = WeakMap$1;
var DataView = _DataView, Map$1 = _Map, Promise$1 = _Promise, Set$2 = _Set, WeakMap$2 = _WeakMap, baseGetTag$3 = _baseGetTag, toSource = _toSource;
var mapTag$4 = "[object Map]", objectTag$2 = "[object Object]", promiseTag = "[object Promise]", setTag$4 = "[object Set]", weakMapTag$1 = "[object WeakMap]";
var dataViewTag$2 = "[object DataView]";
var dataViewCtorString = toSource(DataView), mapCtorString = toSource(Map$1), promiseCtorString = toSource(Promise$1), setCtorString = toSource(Set$2), weakMapCtorString = toSource(WeakMap$2);
var getTag$4 = baseGetTag$3;
if (DataView && getTag$4(new DataView(new ArrayBuffer(1))) != dataViewTag$2 || Map$1 && getTag$4(new Map$1()) != mapTag$4 || Promise$1 && getTag$4(Promise$1.resolve()) != promiseTag || Set$2 && getTag$4(new Set$2()) != setTag$4 || WeakMap$2 && getTag$4(new WeakMap$2()) != weakMapTag$1) {
getTag$4 = function getTag2(value) {
var result = baseGetTag$3(value), Ctor = result == objectTag$2 ? value.constructor : void 0, ctorString = Ctor ? toSource(Ctor) : "";
if (ctorString) {
switch (ctorString) {
case dataViewCtorString:
return dataViewTag$2;
case mapCtorString:
return mapTag$4;
case promiseCtorString:
return promiseTag;
case setCtorString:
return setTag$4;
case weakMapCtorString:
return weakMapTag$1;
}
}
return result;
};
}
var _getTag = getTag$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function arrayFilter$2(array, predicate) {
var index2 = -1, length = array == null ? 0 : array.length, resIndex = 0, result = [];
while (++index2 < length) {
var value = array[index2];
if (predicate(value, index2, array)) {
result[resIndex++] = value;
}
}
return result;
}
var _arrayFilter = arrayFilter$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function arrayPush$3(array, values) {
var index2 = -1, length = values.length, offset2 = array.length;
while (++index2 < length) {
array[offset2 + index2] = values[index2];
}
return array;
}
var _arrayPush = arrayPush$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function arrayEach$1(array, iteratee) {
var index2 = -1, length = array == null ? 0 : array.length;
while (++index2 < length) {
if (iteratee(array[index2], index2, array) === false) {
break;
}
}
return array;
}
var _arrayEach = arrayEach$1;
var arrayLikeKeys = _arrayLikeKeys, baseKeys$1 = _baseKeys, isArrayLike$3 = isArrayLike_1;
function keys$3(object) {
return isArrayLike$3(object) ? arrayLikeKeys(object) : baseKeys$1(object);
}
var keys_1 = keys$3;
var copyObject$3 = _copyObject, keys$2 = keys_1;
function baseAssign$1(object, source) {
return object && copyObject$3(source, keys$2(source), object);
}
var _baseAssign = baseAssign$1;
var copyObject$2 = _copyObject, keysIn$2 = keysIn_1;
function baseAssignIn$1(object, source) {
return object && copyObject$2(source, keysIn$2(source), object);
}
var _baseAssignIn = baseAssignIn$1;
function stubArray$2() {
return [];
}
var stubArray_1 = stubArray$2;
var arrayFilter$1 = _arrayFilter, stubArray$1 = stubArray_1;
var objectProto$1$1 = Object.prototype;
var propertyIsEnumerable = objectProto$1$1.propertyIsEnumerable;
var nativeGetSymbols$1 = Object.getOwnPropertySymbols;
var getSymbols$3 = !nativeGetSymbols$1 ? stubArray$1 : function(object) {
if (object == null) {
return [];
}
object = Object(object);
return arrayFilter$1(nativeGetSymbols$1(object), function(symbol) {
return propertyIsEnumerable.call(object, symbol);
});
};
var _getSymbols = getSymbols$3;
var copyObject$1$1 = _copyObject, getSymbols$2 = _getSymbols;
function copySymbols$1(source, object) {
return copyObject$1$1(source, getSymbols$2(source), object);
}
var _copySymbols = copySymbols$1;
var arrayPush$1 = _arrayPush, getPrototype$1 = _getPrototype, getSymbols$1 = _getSymbols, stubArray = stubArray_1;
var nativeGetSymbols = Object.getOwnPropertySymbols;
var getSymbolsIn$2 = !nativeGetSymbols ? stubArray : function(object) {
var result = [];
while (object) {
arrayPush$1(result, getSymbols$1(object));
object = getPrototype$1(object);
}
return result;
};
var _getSymbolsIn = getSymbolsIn$2;
var copyObject$4 = _copyObject, getSymbolsIn$1 = _getSymbolsIn;
function copySymbolsIn$1(source, object) {
return copyObject$4(source, getSymbolsIn$1(source), object);
}
var _copySymbolsIn = copySymbolsIn$1;
var arrayPush$2 = _arrayPush, isArray$1$2 = isArray_1;
function baseGetAllKeys$2(object, keysFunc, symbolsFunc) {
var result = keysFunc(object);
return isArray$1$2(object) ? result : arrayPush$2(result, symbolsFunc(object));
}
var _baseGetAllKeys = baseGetAllKeys$2;
var baseGetAllKeys$1 = _baseGetAllKeys, getSymbols = _getSymbols, keys$1 = keys_1;
function getAllKeys$1(object) {
return baseGetAllKeys$1(object, keys$1, getSymbols);
}
var _getAllKeys = getAllKeys$1;
var baseGetAllKeys = _baseGetAllKeys, getSymbolsIn = _getSymbolsIn, keysIn$1$1 = keysIn_1;
function getAllKeysIn$1(object) {
return baseGetAllKeys(object, keysIn$1$1, getSymbolsIn);
}
var _getAllKeysIn = getAllKeysIn$1;
var objectProto$2 = Object.prototype;
var hasOwnProperty$3 = objectProto$2.hasOwnProperty;
function initCloneArray$1(array) {
var length = array.length, result = new array.constructor(length);
if (length && typeof array[0] == "string" && hasOwnProperty$3.call(array, "index")) {
result.index = array.index;
result.input = array.input;
}
return result;
}
var _initCloneArray = initCloneArray$1;
var cloneArrayBuffer$1 = _cloneArrayBuffer;
function cloneDataView$1(dataView, isDeep) {
var buffer = isDeep ? cloneArrayBuffer$1(dataView.buffer) : dataView.buffer;
return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);
}
var _cloneDataView = cloneDataView$1;
var reFlags = /\w*$/;
function cloneRegExp$1(regexp) {
var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));
result.lastIndex = regexp.lastIndex;
return result;
}
var _cloneRegExp = cloneRegExp$1;
var _Symbol$2 = _Symbol$2$1;
var symbolProto$1 = _Symbol$2 ? _Symbol$2.prototype : void 0, symbolValueOf = symbolProto$1 ? symbolProto$1.valueOf : void 0;
function cloneSymbol$1(symbol) {
return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};
}
var _cloneSymbol = cloneSymbol$1;
var cloneArrayBuffer = _cloneArrayBuffer, cloneDataView = _cloneDataView, cloneRegExp = _cloneRegExp, cloneSymbol = _cloneSymbol, cloneTypedArray$1 = _cloneTypedArray;
var boolTag$1 = "[object Boolean]", dateTag$1 = "[object Date]", mapTag$2 = "[object Map]", numberTag$1 = "[object Number]", regexpTag$1 = "[object RegExp]", setTag$2 = "[object Set]", stringTag$1 = "[object String]", symbolTag$1 = "[object Symbol]";
var arrayBufferTag$1 = "[object ArrayBuffer]", dataViewTag$1 = "[object DataView]", float32Tag$1 = "[object Float32Array]", float64Tag$1 = "[object Float64Array]", int8Tag$1 = "[object Int8Array]", int16Tag$1 = "[object Int16Array]", int32Tag$1 = "[object Int32Array]", uint8Tag$1 = "[object Uint8Array]", uint8ClampedTag$1 = "[object Uint8ClampedArray]", uint16Tag$1 = "[object Uint16Array]", uint32Tag$1 = "[object Uint32Array]";
function initCloneByTag$1(object, tag, isDeep) {
var Ctor = object.constructor;
switch (tag) {
case arrayBufferTag$1:
return cloneArrayBuffer(object);
case boolTag$1:
case dateTag$1:
return new Ctor(+object);
case dataViewTag$1:
return cloneDataView(object, isDeep);
case float32Tag$1:
case float64Tag$1:
case int8Tag$1:
case int16Tag$1:
case int32Tag$1:
case uint8Tag$1:
case uint8ClampedTag$1:
case uint16Tag$1:
case uint32Tag$1:
return cloneTypedArray$1(object, isDeep);
case mapTag$2:
return new Ctor();
case numberTag$1:
case stringTag$1:
return new Ctor(object);
case regexpTag$1:
return cloneRegExp(object);
case setTag$2:
return new Ctor();
case symbolTag$1:
return cloneSymbol(object);
}
}
var _initCloneByTag = initCloneByTag$1;
var getTag$2 = _getTag, isObjectLike$1$1 = isObjectLike_1;
var mapTag$1 = "[object Map]";
function baseIsMap$1(value) {
return isObjectLike$1$1(value) && getTag$2(value) == mapTag$1;
}
var _baseIsMap = baseIsMap$1;
var baseIsMap = _baseIsMap, baseUnary$1$1 = _baseUnary, nodeUtil$1 = _nodeUtil$1.exports;
var nodeIsMap = nodeUtil$1 && nodeUtil$1.isMap;
var isMap$1 = nodeIsMap ? baseUnary$1$1(nodeIsMap) : baseIsMap;
var isMap_1 = isMap$1;
var getTag$1 = _getTag, isObjectLike$4 = isObjectLike_1;
var setTag$1 = "[object Set]";
function baseIsSet$1(value) {
return isObjectLike$4(value) && getTag$1(value) == setTag$1;
}
var _baseIsSet = baseIsSet$1;
var baseIsSet = _baseIsSet, baseUnary$2 = _baseUnary, nodeUtil = _nodeUtil$1.exports;
var nodeIsSet = nodeUtil && nodeUtil.isSet;
var isSet$1 = nodeIsSet ? baseUnary$2(nodeIsSet) : baseIsSet;
var isSet_1 = isSet$1;
var Stack$1 = _Stack, arrayEach = _arrayEach, assignValue$1 = _assignValue, baseAssign = _baseAssign, baseAssignIn = _baseAssignIn, cloneBuffer$1 = _cloneBuffer$1.exports, copyArray$1 = _copyArray, copySymbols = _copySymbols, copySymbolsIn = _copySymbolsIn, getAllKeys = _getAllKeys, getAllKeysIn$2 = _getAllKeysIn, getTag$3 = _getTag, initCloneArray = _initCloneArray, initCloneByTag = _initCloneByTag, initCloneObject$1 = _initCloneObject, isArray$7 = isArray_1, isBuffer$3 = isBuffer$5.exports, isMap = isMap_1, isObject$7 = isObject_1, isSet = isSet_1, keys = keys_1, keysIn$3 = keysIn_1;
var CLONE_DEEP_FLAG$2 = 1, CLONE_FLAT_FLAG$1 = 2, CLONE_SYMBOLS_FLAG$2 = 4;
var argsTag = "[object Arguments]", arrayTag = "[object Array]", boolTag$2 = "[object Boolean]", dateTag = "[object Date]", errorTag = "[object Error]", funcTag = "[object Function]", genTag = "[object GeneratorFunction]", mapTag$3 = "[object Map]", numberTag = "[object Number]", objectTag$1 = "[object Object]", regexpTag = "[object RegExp]", setTag$3 = "[object Set]", stringTag = "[object String]", symbolTag$2 = "[object Symbol]", weakMapTag = "[object WeakMap]";
var arrayBufferTag = "[object ArrayBuffer]", dataViewTag = "[object DataView]", float32Tag = "[object Float32Array]", float64Tag = "[object Float64Array]", int8Tag = "[object Int8Array]", int16Tag = "[object Int16Array]", int32Tag = "[object Int32Array]", uint8Tag = "[object Uint8Array]", uint8ClampedTag = "[object Uint8ClampedArray]", uint16Tag = "[object Uint16Array]", uint32Tag = "[object Uint32Array]";
var cloneableTags = {};
cloneableTags[argsTag] = cloneableTags[arrayTag] = cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = cloneableTags[boolTag$2] = cloneableTags[dateTag] = cloneableTags[float32Tag] = cloneableTags[float64Tag] = cloneableTags[int8Tag] = cloneableTags[int16Tag] = cloneableTags[int32Tag] = cloneableTags[mapTag$3] = cloneableTags[numberTag] = cloneableTags[objectTag$1] = cloneableTags[regexpTag] = cloneableTags[setTag$3] = cloneableTags[stringTag] = cloneableTags[symbolTag$2] = cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;
cloneableTags[errorTag] = cloneableTags[funcTag] = cloneableTags[weakMapTag] = false;
function baseClone$2(value, bitmask, customizer, key2, object, stack2) {
var result, isDeep = bitmask & CLONE_DEEP_FLAG$2, isFlat = bitmask & CLONE_FLAT_FLAG$1, isFull = bitmask & CLONE_SYMBOLS_FLAG$2;
if (customizer) {
result = object ? customizer(value, key2, object, stack2) : customizer(value);
}
if (result !== void 0) {
return result;
}
if (!isObject$7(value)) {
return value;
}
var isArr = isArray$7(value);
if (isArr) {
result = initCloneArray(value);
if (!isDeep) {
return copyArray$1(value, result);
}
} else {
var tag = getTag$3(value), isFunc = tag == funcTag || tag == genTag;
if (isBuffer$3(value)) {
return cloneBuffer$1(value, isDeep);
}
if (tag == objectTag$1 || tag == argsTag || isFunc && !object) {
result = isFlat || isFunc ? {} : initCloneObject$1(value);
if (!isDeep) {
return isFlat ? copySymbolsIn(value, baseAssignIn(result, value)) : copySymbols(value, baseAssign(result, value));
}
} else {
if (!cloneableTags[tag]) {
return object ? value : {};
}
result = initCloneByTag(value, tag, isDeep);
}
}
stack2 || (stack2 = new Stack$1());
var stacked = stack2.get(value);
if (stacked) {
return stacked;
}
stack2.set(value, result);
if (isSet(value)) {
value.forEach(function(subValue) {
result.add(baseClone$2(subValue, bitmask, customizer, subValue, value, stack2));
});
} else if (isMap(value)) {
value.forEach(function(subValue, key3) {
result.set(key3, baseClone$2(subValue, bitmask, customizer, key3, value, stack2));
});
}
var keysFunc = isFull ? isFlat ? getAllKeysIn$2 : getAllKeys : isFlat ? keysIn$3 : keys;
var props2 = isArr ? void 0 : keysFunc(value);
arrayEach(props2 || value, function(subValue, key3) {
if (props2) {
key3 = subValue;
subValue = value[key3];
}
assignValue$1(result, key3, baseClone$2(subValue, bitmask, customizer, key3, value, stack2));
});
return result;
}
var _baseClone = baseClone$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseClone$1 = _baseClone;
var CLONE_DEEP_FLAG$1 = 1, CLONE_SYMBOLS_FLAG$1 = 4;
function cloneDeep(value) {
return baseClone$1(value, CLONE_DEEP_FLAG$1 | CLONE_SYMBOLS_FLAG$1);
}
var cloneDeep_1 = cloneDeep;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function identity$1(value) {
return value;
}
var identity_1 = identity$1;
function apply$1(func, thisArg, args) {
switch (args.length) {
case 0:
return func.call(thisArg);
case 1:
return func.call(thisArg, args[0]);
case 2:
return func.call(thisArg, args[0], args[1]);
case 3:
return func.call(thisArg, args[0], args[1], args[2]);
}
return func.apply(thisArg, args);
}
var _apply = apply$1;
var apply = _apply;
var nativeMax$1 = Math.max;
function overRest$2(func, start2, transform) {
start2 = nativeMax$1(start2 === void 0 ? func.length - 1 : start2, 0);
return function() {
var args = arguments, index2 = -1, length = nativeMax$1(args.length - start2, 0), array = Array(length);
while (++index2 < length) {
array[index2] = args[start2 + index2];
}
index2 = -1;
var otherArgs = Array(start2 + 1);
while (++index2 < start2) {
otherArgs[index2] = args[index2];
}
otherArgs[start2] = transform(array);
return apply(func, this, otherArgs);
};
}
var _overRest = overRest$2;
function constant$1(value) {
return function() {
return value;
};
}
var constant_1 = constant$1;
var constant = constant_1, defineProperty = _defineProperty$1, identity$2 = identity_1;
var baseSetToString$1 = !defineProperty ? identity$2 : function(func, string) {
return defineProperty(func, "toString", {
"configurable": true,
"enumerable": false,
"value": constant(string),
"writable": true
});
};
var _baseSetToString = baseSetToString$1;
var HOT_COUNT = 800, HOT_SPAN = 16;
var nativeNow = Date.now;
function shortOut$1(func) {
var count = 0, lastCalled = 0;
return function() {
var stamp = nativeNow(), remaining = HOT_SPAN - (stamp - lastCalled);
lastCalled = stamp;
if (remaining > 0) {
if (++count >= HOT_COUNT) {
return arguments[0];
}
} else {
count = 0;
}
return func.apply(void 0, arguments);
};
}
var _shortOut = shortOut$1;
var baseSetToString = _baseSetToString, shortOut = _shortOut;
var setToString$2 = shortOut(baseSetToString);
var _setToString = setToString$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isArrayLike$2 = isArrayLike_1, isObjectLike$3 = isObjectLike_1;
function isArrayLikeObject$3(value) {
return isObjectLike$3(value) && isArrayLike$2(value);
}
var isArrayLikeObject_1 = isArrayLikeObject$3;
var identity = identity_1, overRest$1 = _overRest, setToString$1 = _setToString;
function baseRest$3(func, start2) {
return setToString$1(overRest$1(func, start2, identity), func + "");
}
var _baseRest = baseRest$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag$2 = _baseGetTag, getPrototype = _getPrototype, isObjectLike$2 = isObjectLike_1;
var objectTag = "[object Object]";
var funcProto = Function.prototype, objectProto$1 = Object.prototype;
var funcToString = funcProto.toString;
var hasOwnProperty$2 = objectProto$1.hasOwnProperty;
var objectCtorString = funcToString.call(Object);
function isPlainObject$3(value) {
if (!isObjectLike$2(value) || baseGetTag$2(value) != objectTag) {
return false;
}
var proto = getPrototype(value);
if (proto === null) {
return true;
}
var Ctor = hasOwnProperty$2.call(proto, "constructor") && proto.constructor;
return typeof Ctor == "function" && Ctor instanceof Ctor && funcToString.call(Ctor) == objectCtorString;
}
var isPlainObject_1 = isPlainObject$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var eq$1 = eq_1, isArrayLike$1 = isArrayLike_1, isIndex$2 = _isIndex, isObject$6 = isObject_1;
function isIterateeCall$1(value, index2, object) {
if (!isObject$6(object)) {
return false;
}
var type = _typeof$2(index2);
if (type == "number" ? isArrayLike$1(object) && isIndex$2(index2, object.length) : type == "string" && index2 in object) {
return eq$1(object[index2], value);
}
return false;
}
var _isIterateeCall = isIterateeCall$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var defaultConfig = {
classPrefix: "t",
animation: {
include: ["ripple", "expand", "fade"],
exclude: []
},
calendar: {
firstDayOfWeek: 1,
fillWithZero: true,
controllerConfig: void 0
},
icon: {},
input: {
autocomplete: ""
},
dialog: {
closeOnEscKeydown: true,
closeOnOverlayClick: true,
confirmBtnTheme: {
"default": "primary",
info: "primary",
warning: "primary",
danger: "primary",
success: "primary"
}
},
message: {},
popconfirm: {
confirmBtnTheme: {
"default": "primary",
warning: "primary",
danger: "primary"
}
},
table: {
expandIcon: void 0,
sortIcon: void 0,
filterIcon: void 0,
treeExpandAndFoldIcon: void 0,
hideSortTips: false
},
select: {
clearIcon: void 0,
filterable: false
},
drawer: {
closeOnEscKeydown: true,
closeOnOverlayClick: true,
size: "small"
},
tree: {
folderIcon: void 0
},
datePicker: {
firstDayOfWeek: 1
},
steps: {
checkIcon: void 0,
errorIcon: void 0
},
tag: {
closeIcon: void 0
},
form: {
requiredMark: void 0
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var dayjs_min$1 = { exports: {} };
(function(module, exports) {
!function(t, e) {
module.exports = e();
}(commonjsGlobal$1, function() {
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = {
name: "en",
weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
ordinal: function ordinal(t2) {
var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
}
}, m = function m2(t2, e2, n2) {
var r2 = String(t2);
return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
}, v = {
s: m,
z: function z(t2) {
var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
},
m: function t2(e2, n2) {
if (e2.date() < n2.date())
return -t2(n2, e2);
var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
},
a: function a2(t2) {
return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
},
p: function p2(t2) {
return {
M: c,
y: h2,
w: o,
d: a,
D: d,
h: u,
m: s,
s: i,
ms: r,
Q: f
}[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
},
u: function u2(t2) {
return void 0 === t2;
}
}, g = "en", D = {};
D[g] = M;
var p = "$isDayjsObject", S = function S2(t2) {
return t2 instanceof _ || !(!t2 || !t2[p]);
}, w = function t2(e2, n2, r2) {
var i2;
if (!e2)
return g;
if ("string" == typeof e2) {
var s2 = e2.toLowerCase();
D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
var u2 = e2.split("-");
if (!i2 && u2.length > 1)
return t2(u2[0]);
} else {
var a2 = e2.name;
D[a2] = e2, i2 = a2;
}
return !r2 && i2 && (g = i2), i2 || !r2 && g;
}, O = function O2(t2, e2) {
if (S(t2))
return t2.clone();
var n2 = "object" == _typeof$2(e2) ? e2 : {};
return n2.date = t2, n2.args = arguments, new _(n2);
}, b = v;
b.l = w, b.i = S, b.w = function(t2, e2) {
return O(t2, {
locale: e2.$L,
utc: e2.$u,
x: e2.$x,
$offset: e2.$offset
});
};
var _ = function() {
function M2(t2) {
this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
}
var m2 = M2.prototype;
return m2.parse = function(t2) {
this.$d = function(t3) {
var e2 = t3.date, n2 = t3.utc;
if (null === e2)
return /* @__PURE__ */ new Date(NaN);
if (b.u(e2))
return /* @__PURE__ */ new Date();
if (e2 instanceof Date)
return new Date(e2);
if ("string" == typeof e2 && !/Z$/i.test(e2)) {
var r2 = e2.match($);
if (r2) {
var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
}
}
return new Date(e2);
}(t2), this.init();
}, m2.init = function() {
var t2 = this.$d;
this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
}, m2.$utils = function() {
return b;
}, m2.isValid = function() {
return !(this.$d.toString() === l);
}, m2.isSame = function(t2, e2) {
var n2 = O(t2);
return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
}, m2.isAfter = function(t2, e2) {
return O(t2) < this.startOf(e2);
}, m2.isBefore = function(t2, e2) {
return this.endOf(e2) < O(t2);
}, m2.$g = function(t2, e2, n2) {
return b.u(t2) ? this[e2] : this.set(n2, t2);
}, m2.unix = function() {
return Math.floor(this.valueOf() / 1e3);
}, m2.valueOf = function() {
return this.$d.getTime();
}, m2.startOf = function(t2, e2) {
var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function l3(t3, e3) {
var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
return r2 ? i2 : i2.endOf(a);
}, $2 = function $3(t3, e3) {
return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
}, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
switch (f2) {
case h2:
return r2 ? l2(1, 0) : l2(31, 11);
case c:
return r2 ? l2(1, M3) : l2(0, M3 + 1);
case o:
var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
case a:
case d:
return $2(v2 + "Hours", 0);
case u:
return $2(v2 + "Minutes", 1);
case s:
return $2(v2 + "Seconds", 2);
case i:
return $2(v2 + "Milliseconds", 3);
default:
return this.clone();
}
}, m2.endOf = function(t2) {
return this.startOf(t2, false);
}, m2.$set = function(t2, e2) {
var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
if (o2 === c || o2 === h2) {
var y2 = this.clone().set(d, 1);
y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
} else
l2 && this.$d[l2]($2);
return this.init(), this;
}, m2.set = function(t2, e2) {
return this.clone().$set(t2, e2);
}, m2.get = function(t2) {
return this[b.p(t2)]();
}, m2.add = function(r2, f2) {
var d2, l2 = this;
r2 = Number(r2);
var $2 = b.p(f2), y2 = function y3(t2) {
var e2 = O(l2);
return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
};
if ($2 === c)
return this.set(c, this.$M + r2);
if ($2 === h2)
return this.set(h2, this.$y + r2);
if ($2 === a)
return y2(1);
if ($2 === o)
return y2(7);
var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
return b.w(m3, this);
}, m2.subtract = function(t2, e2) {
return this.add(-1 * t2, e2);
}, m2.format = function(t2) {
var e2 = this, n2 = this.$locale();
if (!this.isValid())
return n2.invalidDate || l;
var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function h4(t3, n3, i3, s3) {
return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
}, d2 = function d3(t3) {
return b.s(s2 % 12 || 12, t3, "0");
}, $2 = f2 || function(t3, e3, n3) {
var r3 = t3 < 12 ? "AM" : "PM";
return n3 ? r3.toLowerCase() : r3;
};
return r2.replace(y, function(t3, r3) {
return r3 || function(t4) {
switch (t4) {
case "YY":
return String(e2.$y).slice(-2);
case "YYYY":
return b.s(e2.$y, 4, "0");
case "M":
return a2 + 1;
case "MM":
return b.s(a2 + 1, 2, "0");
case "MMM":
return h3(n2.monthsShort, a2, c2, 3);
case "MMMM":
return h3(c2, a2);
case "D":
return e2.$D;
case "DD":
return b.s(e2.$D, 2, "0");
case "d":
return String(e2.$W);
case "dd":
return h3(n2.weekdaysMin, e2.$W, o2, 2);
case "ddd":
return h3(n2.weekdaysShort, e2.$W, o2, 3);
case "dddd":
return o2[e2.$W];
case "H":
return String(s2);
case "HH":
return b.s(s2, 2, "0");
case "h":
return d2(1);
case "hh":
return d2(2);
case "a":
return $2(s2, u2, true);
case "A":
return $2(s2, u2, false);
case "m":
return String(u2);
case "mm":
return b.s(u2, 2, "0");
case "s":
return String(e2.$s);
case "ss":
return b.s(e2.$s, 2, "0");
case "SSS":
return b.s(e2.$ms, 3, "0");
case "Z":
return i2;
}
return null;
}(t3) || i2.replace(":", "");
});
}, m2.utcOffset = function() {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, m2.diff = function(r2, d2, l2) {
var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function D3() {
return b.m(y2, m3);
};
switch (M3) {
case h2:
$2 = D2() / 12;
break;
case c:
$2 = D2();
break;
case f:
$2 = D2() / 3;
break;
case o:
$2 = (g2 - v2) / 6048e5;
break;
case a:
$2 = (g2 - v2) / 864e5;
break;
case u:
$2 = g2 / n;
break;
case s:
$2 = g2 / e;
break;
case i:
$2 = g2 / t;
break;
default:
$2 = g2;
}
return l2 ? $2 : b.a($2);
}, m2.daysInMonth = function() {
return this.endOf(c).$D;
}, m2.$locale = function() {
return D[this.$L];
}, m2.locale = function(t2, e2) {
if (!t2)
return this.$L;
var n2 = this.clone(), r2 = w(t2, e2, true);
return r2 && (n2.$L = r2), n2;
}, m2.clone = function() {
return b.w(this.$d, this);
}, m2.toDate = function() {
return new Date(this.valueOf());
}, m2.toJSON = function() {
return this.isValid() ? this.toISOString() : null;
}, m2.toISOString = function() {
return this.$d.toISOString();
}, m2.toString = function() {
return this.$d.toUTCString();
}, M2;
}(), k = _.prototype;
return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) {
k[t2[1]] = function(e2) {
return this.$g(e2, t2[0], t2[1]);
};
}), O.extend = function(t2, e2) {
return t2.$i || (t2(e2, _, O), t2.$i = true), O;
}, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
return O(1e3 * t2);
}, O.en = D[g], O.Ls = D, O.p = {}, O;
});
})(dayjs_min$1);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var zhCn$2 = { exports: {} };
(function(module, exports) {
!function(e, _) {
module.exports = _(dayjs_min$1.exports);
}(commonjsGlobal$1, function(e) {
function _(e2) {
return e2 && "object" == _typeof$2(e2) && "default" in e2 ? e2 : {
"default": e2
};
}
var t = _(e), d = {
name: "zh-cn",
weekdays: "星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),
weekdaysShort: "周日_周一_周二_周三_周四_周五_周六".split("_"),
weekdaysMin: "日_一_二_三_四_五_六".split("_"),
months: "一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),
monthsShort: "1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),
ordinal: function ordinal(e2, _2) {
return "W" === _2 ? e2 + "周" : e2 + "日";
},
weekStart: 1,
yearStart: 4,
formats: {
LT: "HH:mm",
LTS: "HH:mm:ss",
L: "YYYY/MM/DD",
LL: "YYYY年M月D日",
LLL: "YYYY年M月D日Ah点mm分",
LLLL: "YYYY年M月D日ddddAh点mm分",
l: "YYYY/M/D",
ll: "YYYY年M月D日",
lll: "YYYY年M月D日 HH:mm",
llll: "YYYY年M月D日dddd HH:mm"
},
relativeTime: {
future: "%s内",
past: "%s前",
s: "几秒",
m: "1 分钟",
mm: "%d 分钟",
h: "1 小时",
hh: "%d 小时",
d: "1 天",
dd: "%d 天",
M: "1 个月",
MM: "%d 个月",
y: "1 年",
yy: "%d 年"
},
meridiem: function meridiem(e2, _2) {
var t2 = 100 * e2 + _2;
return t2 < 600 ? "凌晨" : t2 < 900 ? "早上" : t2 < 1100 ? "上午" : t2 < 1300 ? "中午" : t2 < 1800 ? "下午" : "晚上";
}
};
return t["default"].locale(d, null, true), d;
});
})(zhCn$2);
var zhCn = {
pagination: {
itemsPerPage: "{size} 条/页",
jumpTo: "跳至",
page: "页",
total: "共 {total} 项数据"
},
cascader: {
empty: "暂无数据",
loadingText: "加载中",
placeholder: "请选择"
},
calendar: {
yearSelection: "{year} 年",
monthSelection: "{month} 月",
yearRadio: "年",
monthRadio: "月",
hideWeekend: "隐藏周末",
showWeekend: "显示周末",
today: "今天",
thisMonth: "本月",
week: "一,二,三,四,五,六,日",
cellMonth: "1 月,2 月,3 月,4 月,5 月,6 月,7 月,8 月,9 月,10 月,11 月,12 月"
},
transfer: {
title: "{checked} / {total} 项",
empty: "暂无数据",
placeholder: "请输入关键词搜索"
},
timePicker: {
dayjsLocale: "zh-cn",
now: "此刻",
confirm: "确定",
anteMeridiem: "上午",
postMeridiem: "下午",
placeholder: "选择时间"
},
dialog: {
confirm: "确认",
cancel: "取消"
},
drawer: {
confirm: "确认",
cancel: "取消"
},
popconfirm: {
confirm: {
content: "确定"
},
cancel: {
content: "取消"
}
},
table: {
empty: "暂无数据",
loadingText: "正在加载中,请稍后",
loadingMoreText: "点击加载更多",
filterInputPlaceholder: "请输入内容(无默认值)",
sortAscendingOperationText: "点击升序",
sortCancelOperationText: "点击取消排序",
sortDescendingOperationText: "点击降序",
clearFilterResultButtonText: "清空筛选",
columnConfigButtonText: "列配置",
columnConfigTitleText: "表格列配置",
columnConfigDescriptionText: "请选择需要在表格中显示的数据列",
confirmText: "确认",
cancelText: "取消",
resetText: "重置",
selectAllText: "全选",
searchResultText: "搜索“{result}”,找到 {count} 条结果"
},
select: {
empty: "暂无数据",
loadingText: "加载中",
placeholder: "请选择"
},
tree: {
empty: "暂无数据"
},
treeSelect: {
empty: "暂无数据",
loadingText: "加载中",
placeholder: "请选择"
},
datePicker: {
dayjsLocale: "zh-cn",
placeholder: {
date: "请选择日期",
month: "请选择月份",
year: "请选择年份"
},
weekdays: ["一", "二", "三", "四", "五", "六", "日"],
months: ["1 月", "2 月", "3 月", "4 月", "5 月", "6 月", "7 月", "8 月", "9 月", "10 月", "11 月", "12 月"],
quarters: ["一季度", "二季度", "三季度", "四季度"],
rangeSeparator: " - ",
direction: "ltr",
format: "YYYY-MM-DD",
dayAriaLabel: "日",
weekAbbreviation: "周",
yearAriaLabel: "年",
monthAriaLabel: "月",
confirm: "确定",
selectTime: "选择时间",
selectDate: "选择日期",
nextYear: "下一年",
preYear: "上一年",
nextMonth: "下个月",
preMonth: "上个月",
preDecade: "上个十年",
nextDecade: "下个十年",
now: "当前"
},
upload: {
sizeLimitMessage: "文件大小不能超过 {sizeLimit}",
cancelUploadText: "取消上传",
triggerUploadText: {
fileInput: "选择文件",
image: "点击上传图片",
normal: "点击上传",
reupload: "重新选择",
continueUpload: "继续选择",
"delete": "删除",
uploading: "上传中"
},
dragger: {
dragDropText: "释放鼠标",
draggingText: "拖拽到此区域",
clickAndDragText: "点击上方“选择文件”或将文件拖拽到此区域"
},
file: {
fileNameText: "文件名",
fileSizeText: "文件大小",
fileStatusText: "状态",
fileOperationText: "操作",
fileOperationDateText: "上传日期"
},
progress: {
uploadingText: "上传中",
waitingText: "待上传",
failText: "上传失败",
successText: "上传成功"
}
},
form: {
errorMessage: {
date: "请输入正确的${name}",
url: "请输入正确的${name}",
required: "${name}必填",
max: "${name}字符长度不能超过 ${validate} 个字符,一个中文等于两个字符",
min: "${name}字符长度不能少于 ${validate} 个字符,一个中文等于两个字符",
len: "${name}字符长度必须是 ${validate}",
"enum": "${name}只能是${validate}等",
idcard: "请输入正确的${name}",
telnumber: "请输入正确的${name}",
pattern: "请输入正确的${name}",
validator: "${name}不符合要求",
"boolean": "${name}数据类型必须是布尔类型",
number: "${name}必须是数字"
}
},
input: {
placeholder: "请输入"
},
list: {
loadingText: "正在加载中,请稍等",
loadingMoreText: "点击加载更多"
},
alert: {
expandText: "展开更多",
collapseText: "收起"
},
anchor: {
copySuccessText: "链接复制成功",
copyText: "复制链接"
},
colorPicker: {
swatchColorTitle: "系统预设颜色",
recentColorTitle: "最近使用颜色",
clearConfirmText: "确定清空最近使用的颜色吗?"
},
guide: {
finishButtonProps: {
content: "完成",
theme: "primary"
},
nextButtonProps: {
content: "下一步",
theme: "primary"
},
skipButtonProps: {
content: "跳过",
theme: "default"
},
prevButtonProps: {
content: "上一步",
theme: "default"
}
},
image: {
errorText: "图片无法显示",
loadingText: "图片加载中"
},
imageViewer: {
errorText: "图片加载失败,可尝试重新加载",
mirrorTipText: "镜像",
rotateTipText: "旋转",
originalSizeTipText: "原始大小"
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseAssignValue = _baseAssignValue, eq = eq_1;
function assignMergeValue$2(object, key2, value) {
if (value !== void 0 && !eq(object[key2], value) || value === void 0 && !(key2 in object)) {
baseAssignValue(object, key2, value);
}
}
var _assignMergeValue = assignMergeValue$2;
function createBaseFor$1(fromRight) {
return function(object, iteratee, keysFunc) {
var index2 = -1, iterable = Object(object), props2 = keysFunc(object), length = props2.length;
while (length--) {
var key2 = props2[fromRight ? length : ++index2];
if (iteratee(iterable[key2], key2, iterable) === false) {
break;
}
}
return object;
};
}
var _createBaseFor = createBaseFor$1;
var createBaseFor = _createBaseFor;
var baseFor$1 = createBaseFor();
var _baseFor = baseFor$1;
function safeGet$2(object, key2) {
if (key2 === "constructor" && typeof object[key2] === "function") {
return;
}
if (key2 == "__proto__") {
return;
}
return object[key2];
}
var _safeGet = safeGet$2;
var copyObject$1 = _copyObject, keysIn$1 = keysIn_1;
function toPlainObject$1(value) {
return copyObject$1(value, keysIn$1(value));
}
var toPlainObject_1 = toPlainObject$1;
var assignMergeValue$1 = _assignMergeValue, cloneBuffer = _cloneBuffer$1.exports, cloneTypedArray = _cloneTypedArray, copyArray = _copyArray, initCloneObject = _initCloneObject, isArguments$3 = isArguments_1, isArray$6 = isArray_1, isArrayLikeObject$2 = isArrayLikeObject_1, isBuffer$2 = isBuffer$5.exports, isFunction$1 = isFunction_1, isObject$1$1 = isObject_1, isPlainObject$2 = isPlainObject_1, isTypedArray$2 = isTypedArray_1, safeGet$1 = _safeGet, toPlainObject = toPlainObject_1;
function baseMergeDeep$1(object, source, key2, srcIndex, mergeFunc, customizer, stack2) {
var objValue = safeGet$1(object, key2), srcValue = safeGet$1(source, key2), stacked = stack2.get(srcValue);
if (stacked) {
assignMergeValue$1(object, key2, stacked);
return;
}
var newValue = customizer ? customizer(objValue, srcValue, key2 + "", object, source, stack2) : void 0;
var isCommon = newValue === void 0;
if (isCommon) {
var isArr = isArray$6(srcValue), isBuff = !isArr && isBuffer$2(srcValue), isTyped = !isArr && !isBuff && isTypedArray$2(srcValue);
newValue = srcValue;
if (isArr || isBuff || isTyped) {
if (isArray$6(objValue)) {
newValue = objValue;
} else if (isArrayLikeObject$2(objValue)) {
newValue = copyArray(objValue);
} else if (isBuff) {
isCommon = false;
newValue = cloneBuffer(srcValue, true);
} else if (isTyped) {
isCommon = false;
newValue = cloneTypedArray(srcValue, true);
} else {
newValue = [];
}
} else if (isPlainObject$2(srcValue) || isArguments$3(srcValue)) {
newValue = objValue;
if (isArguments$3(objValue)) {
newValue = toPlainObject(objValue);
} else if (!isObject$1$1(objValue) || isFunction$1(objValue)) {
newValue = initCloneObject(srcValue);
}
} else {
isCommon = false;
}
}
if (isCommon) {
stack2.set(srcValue, newValue);
mergeFunc(newValue, srcValue, srcIndex, customizer, stack2);
stack2["delete"](srcValue);
}
assignMergeValue$1(object, key2, newValue);
}
var _baseMergeDeep = baseMergeDeep$1;
var Stack = _Stack, assignMergeValue = _assignMergeValue, baseFor = _baseFor, baseMergeDeep = _baseMergeDeep, isObject$5 = isObject_1, keysIn = keysIn_1, safeGet = _safeGet;
function baseMerge$2(object, source, srcIndex, customizer, stack2) {
if (object === source) {
return;
}
baseFor(source, function(srcValue, key2) {
stack2 || (stack2 = new Stack());
if (isObject$5(srcValue)) {
baseMergeDeep(object, source, key2, srcIndex, baseMerge$2, customizer, stack2);
} else {
var newValue = customizer ? customizer(safeGet(object, key2), srcValue, key2 + "", object, source, stack2) : void 0;
if (newValue === void 0) {
newValue = srcValue;
}
assignMergeValue(object, key2, newValue);
}
}, keysIn);
}
var _baseMerge = baseMerge$2;
var baseRest$2 = _baseRest, isIterateeCall = _isIterateeCall;
function createAssigner$2(assigner) {
return baseRest$2(function(object, sources) {
var index2 = -1, length = sources.length, customizer = length > 1 ? sources[length - 1] : void 0, guard = length > 2 ? sources[2] : void 0;
customizer = assigner.length > 3 && typeof customizer == "function" ? (length--, customizer) : void 0;
if (guard && isIterateeCall(sources[0], sources[1], guard)) {
customizer = length < 3 ? void 0 : customizer;
length = 1;
}
object = Object(object);
while (++index2 < length) {
var source = sources[index2];
if (source) {
assigner(object, source, index2, customizer);
}
}
return object;
});
}
var _createAssigner = createAssigner$2;
var baseMerge$1 = _baseMerge, createAssigner$1 = _createAssigner;
createAssigner$1(function(object, source, srcIndex, customizer) {
baseMerge$1(object, source, srcIndex, customizer);
});
var baseMerge = _baseMerge, createAssigner = _createAssigner;
var merge$2 = createAssigner(function(object, source, srcIndex) {
baseMerge(object, source, srcIndex);
});
var merge_1 = merge$2;
var EAnimationType = /* @__PURE__ */ function(EAnimationType2) {
EAnimationType2["ripple"] = "ripple";
EAnimationType2["expand"] = "expand";
EAnimationType2["fade"] = "fade";
return EAnimationType2;
}(EAnimationType || {});
var defaultGlobalConfig = merge_1(defaultConfig, zhCn);
var configProviderInjectKey = Symbol("configProvide");
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var globalConfigCopy = vue.ref();
function useConfig() {
var componentName = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : void 0;
var componentLocale = arguments.length > 1 ? arguments[1] : void 0;
var injectGlobalConfig = vue.getCurrentInstance() ? vue.inject(configProviderInjectKey, null) : globalConfigCopy;
var mergedGlobalConfig = vue.computed(function() {
return (injectGlobalConfig === null || injectGlobalConfig === void 0 ? void 0 : injectGlobalConfig.value) || defaultGlobalConfig;
});
var globalConfig = vue.computed(function() {
return Object.assign({}, mergedGlobalConfig.value[componentName], componentLocale);
});
var classPrefix = vue.computed(function() {
return mergedGlobalConfig.value.classPrefix;
});
var t = function t2(pattern2) {
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
var data2 = args[0];
if (isString_1(pattern2)) {
if (!data2)
return pattern2;
var regular = /\{\s*([\w-]+)\s*\}/g;
var translated = pattern2.replace(regular, function(match, key2) {
if (data2) {
return String(data2[key2]);
}
return "";
});
return translated;
}
if (isFunction_1(pattern2)) {
if (!args.length)
return pattern2(vue.h);
return pattern2.apply(void 0, args);
}
return "";
};
return {
t,
global: globalConfig,
globalConfig,
classPrefix
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function usePrefixClass(componentName) {
var _useConfig = useConfig("classPrefix"), classPrefix = _useConfig.classPrefix;
return vue.computed(function() {
return componentName ? "".concat(classPrefix.value, "-").concat(componentName) : classPrefix.value;
});
}
function useCommonClassName$1() {
var _useConfig2 = useConfig("classPrefix"), classPrefix = _useConfig2.classPrefix;
return {
SIZE: vue.computed(function() {
return {
small: "".concat(classPrefix.value, "-size-s"),
medium: "".concat(classPrefix.value, "-size-m"),
large: "".concat(classPrefix.value, "-size-l"),
"default": "",
xs: "".concat(classPrefix.value, "-size-xs"),
xl: "".concat(classPrefix.value, "-size-xl"),
block: "".concat(classPrefix.value, "-size-full-width")
};
}),
STATUS: vue.computed(function() {
return {
loading: "".concat(classPrefix.value, "-is-loading"),
loadMore: "".concat(classPrefix.value, "-is-load-more"),
disabled: "".concat(classPrefix.value, "-is-disabled"),
focused: "".concat(classPrefix.value, "-is-focused"),
success: "".concat(classPrefix.value, "-is-success"),
error: "".concat(classPrefix.value, "-is-error"),
warning: "".concat(classPrefix.value, "-is-warning"),
selected: "".concat(classPrefix.value, "-is-selected"),
active: "".concat(classPrefix.value, "-is-active"),
checked: "".concat(classPrefix.value, "-is-checked"),
current: "".concat(classPrefix.value, "-is-current"),
hidden: "".concat(classPrefix.value, "-is-hidden"),
visible: "".concat(classPrefix.value, "-is-visible"),
expanded: "".concat(classPrefix.value, "-is-expanded"),
indeterminate: "".concat(classPrefix.value, "-is-indeterminate")
};
})
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var GradientIcon = vue.defineComponent({
name: "TLoadingGradient",
setup: function setup() {
var classPrefix = usePrefixClass();
vue.onMounted(function() {
var circleElem = vue.getCurrentInstance().refs.circle;
vue.nextTick(function() {
circleAdapter(circleElem);
});
});
return {
classPrefix
};
},
render: function render() {
var classPrefix = this.classPrefix;
var name = "".concat(classPrefix, "-loading__gradient");
var classes = [name, "".concat(classPrefix, "-icon-loading")];
return vue.createVNode("svg", {
"class": classes,
"viewBox": "0 0 12 12",
"version": "1.1",
"width": "1em",
"height": "1em",
"xmlns": "http://www.w3.org/2000/svg"
}, [vue.createVNode("foreignObject", {
"x": "0",
"y": "0",
"width": "12",
"height": "12"
}, [vue.createVNode("div", {
"class": "".concat(name, "-conic"),
"ref": "circle"
}, null)])]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var raf$2 = { exports: {} };
var performanceNow$1 = { exports: {} };
(function() {
var getNanoSeconds, hrtime, loadTime, moduleLoadTime, nodeLoadTime, upTime;
if (typeof performance !== "undefined" && performance !== null && performance.now) {
performanceNow$1.exports = function() {
return performance.now();
};
} else if (typeof process !== "undefined" && process !== null && process.hrtime) {
performanceNow$1.exports = function() {
return (getNanoSeconds() - nodeLoadTime) / 1e6;
};
hrtime = process.hrtime;
getNanoSeconds = function getNanoSeconds2() {
var hr;
hr = hrtime();
return hr[0] * 1e9 + hr[1];
};
moduleLoadTime = getNanoSeconds();
upTime = process.uptime() * 1e9;
nodeLoadTime = moduleLoadTime - upTime;
} else if (Date.now) {
performanceNow$1.exports = function() {
return Date.now() - loadTime;
};
loadTime = Date.now();
} else {
performanceNow$1.exports = function() {
return (/* @__PURE__ */ new Date()).getTime() - loadTime;
};
loadTime = (/* @__PURE__ */ new Date()).getTime();
}
}).call(commonjsGlobal$1);
var now$2 = performanceNow$1.exports, root$1 = typeof window === "undefined" ? commonjsGlobal$1 : window, vendors = ["moz", "webkit"], suffix = "AnimationFrame", raf = root$1["request" + suffix], caf = root$1["cancel" + suffix] || root$1["cancelRequest" + suffix];
for (var i = 0; !raf && i < vendors.length; i++) {
raf = root$1[vendors[i] + "Request" + suffix];
caf = root$1[vendors[i] + "Cancel" + suffix] || root$1[vendors[i] + "CancelRequest" + suffix];
}
if (!raf || !caf) {
var last$3 = 0, id = 0, queue = [], frameDuration = 1e3 / 60;
raf = function raf2(callback) {
if (queue.length === 0) {
var _now = now$2(), next = Math.max(0, frameDuration - (_now - last$3));
last$3 = next + _now;
setTimeout(function() {
var cp = queue.slice(0);
queue.length = 0;
var _loop = function _loop2() {
if (!cp[i].cancelled) {
try {
cp[i].callback(last$3);
} catch (e) {
setTimeout(function() {
throw e;
}, 0);
}
}
};
for (var i = 0; i < cp.length; i++) {
_loop();
}
}, Math.round(next));
}
queue.push({
handle: ++id,
callback,
cancelled: false
});
return id;
};
caf = function caf2(handle) {
for (var i = 0; i < queue.length; i++) {
if (queue[i].handle === handle) {
queue[i].cancelled = true;
}
}
};
}
raf$2.exports = function(fn2) {
return raf.call(root$1, fn2);
};
raf$2.exports.cancel = function() {
caf.apply(root$1, arguments);
};
raf$2.exports.polyfill = function(object) {
if (!object) {
object = root$1;
}
object.requestAnimationFrame = raf;
object.cancelAnimationFrame = caf;
};
var isServer = typeof window === "undefined";
var trim$2 = function trim(str) {
return (str || "").replace(/^[\s\uFEFF]+|[\s\uFEFF]+$/g, "");
};
var on$1 = function() {
if (!isServer && document.addEventListener) {
return function(element2, event, handler, options) {
if (element2 && event && handler) {
element2.addEventListener(event, handler, options);
}
};
}
return function(element2, event, handler) {
if (element2 && event && handler) {
element2.attachEvent("on".concat(event), handler);
}
};
}();
var off$1 = function() {
if (!isServer && document.removeEventListener) {
return function(element2, event, handler, options) {
if (element2 && event) {
element2.removeEventListener(event, handler, options);
}
};
}
return function(element2, event, handler) {
if (element2 && event) {
element2.detachEvent("on".concat(event), handler);
}
};
}();
function once(element2, event, handler, options) {
var handlerFn = isFunction_1(handler) ? handler : handler.handleEvent;
var callback = function callback2(evt) {
handlerFn(evt);
off$1(element2, event, callback2, options);
};
on$1(element2, event, callback, options);
}
function hasClass(el, cls) {
if (!el || !cls)
return false;
if (cls.indexOf(" ") !== -1)
throw new Error("className should not contain space.");
if (el.classList) {
return el.classList.contains(cls);
}
return " ".concat(el.className, " ").indexOf(" ".concat(cls, " ")) > -1;
}
function addClass(el, cls) {
if (!el)
return;
var curClass = el.className;
var classes = (cls || "").split(" ");
for (var i = 0, j = classes.length; i < j; i++) {
var clsName = classes[i];
if (!clsName)
continue;
if (el.classList) {
el.classList.add(clsName);
} else if (!hasClass(el, clsName)) {
curClass += " ".concat(clsName);
}
}
if (!el.classList) {
el.className = curClass;
}
}
function removeClass(el, cls) {
if (!el || !cls)
return;
var classes = cls.split(" ");
var curClass = " ".concat(el.className, " ");
for (var i = 0, j = classes.length; i < j; i++) {
var clsName = classes[i];
if (!clsName)
continue;
if (el.classList) {
el.classList.remove(clsName);
} else if (hasClass(el, clsName)) {
curClass = curClass.replace(" ".concat(clsName, " "), " ");
}
}
if (!el.classList) {
el.className = trim$2(curClass);
}
}
var getAttach = function getAttach2(node, triggerNode) {
var attachNode = isFunction_1(node) ? node(triggerNode) : node;
if (!attachNode) {
return document.body;
}
if (isString_1(attachNode)) {
return document.querySelector(attachNode);
}
if (attachNode instanceof HTMLElement) {
return attachNode;
}
return document.body;
};
var getSSRAttach = function getSSRAttach2() {
};
var getScrollContainer = function getScrollContainer2() {
var container = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "body";
if (isString_1(container)) {
return document.querySelector(container);
}
if (isFunction_1(container)) {
return container();
}
return container;
};
var isNodeOverflow = function isNodeOverflow2(ele) {
var _ele$clientWidth = ele.clientWidth, clientWidth = _ele$clientWidth === void 0 ? 0 : _ele$clientWidth, _ele$scrollWidth = ele.scrollWidth, scrollWidth = _ele$scrollWidth === void 0 ? 0 : _ele$scrollWidth;
return scrollWidth > clientWidth;
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseKeys = _baseKeys, getTag = _getTag, isArguments$2 = isArguments_1, isArray$5 = isArray_1, isArrayLike = isArrayLike_1, isBuffer$1 = isBuffer$5.exports, isPrototype = _isPrototype, isTypedArray$1 = isTypedArray_1;
var mapTag = "[object Map]", setTag = "[object Set]";
var objectProto = Object.prototype;
var hasOwnProperty$1 = objectProto.hasOwnProperty;
function isEmpty(value) {
if (value == null) {
return true;
}
if (isArrayLike(value) && (isArray$5(value) || typeof value == "string" || typeof value.splice == "function" || isBuffer$1(value) || isTypedArray$1(value) || isArguments$2(value))) {
return !value.length;
}
var tag = getTag(value);
if (tag == mapTag || tag == setTag) {
return !value.size;
}
if (isPrototype(value)) {
return !baseKeys(value).length;
}
for (var key2 in value) {
if (hasOwnProperty$1.call(value, key2)) {
return false;
}
}
return true;
}
var isEmpty_1 = isEmpty;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag$1 = _baseGetTag, isObjectLike$1 = isObjectLike_1;
var symbolTag = "[object Symbol]";
function isSymbol$4(value) {
return _typeof$2(value) == "symbol" || isObjectLike$1(value) && baseGetTag$1(value) == symbolTag;
}
var isSymbol_1 = isSymbol$4;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function arrayMap$1$1(array, iteratee) {
var index2 = -1, length = array == null ? 0 : array.length, result = Array(length);
while (++index2 < length) {
result[index2] = iteratee(array[index2], index2, array);
}
return result;
}
var _arrayMap = arrayMap$1$1;
var _Symbol$1 = _Symbol$2$1, arrayMap$4 = _arrayMap, isArray$4 = isArray_1, isSymbol$3 = isSymbol_1;
var INFINITY$2 = 1 / 0;
var symbolProto = _Symbol$1 ? _Symbol$1.prototype : void 0, symbolToString = symbolProto ? symbolProto.toString : void 0;
function baseToString$1(value) {
if (typeof value == "string") {
return value;
}
if (isArray$4(value)) {
return arrayMap$4(value, baseToString$1) + "";
}
if (isSymbol$3(value)) {
return symbolToString ? symbolToString.call(value) : "";
}
var result = value + "";
return result == "0" && 1 / value == -INFINITY$2 ? "-0" : result;
}
var _baseToString = baseToString$1;
var baseToString = _baseToString;
function toString$5(value) {
return value == null ? "" : baseToString(value);
}
var toString_1 = toString$5;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function baseSlice$2(array, start2, end2) {
var index2 = -1, length = array.length;
if (start2 < 0) {
start2 = -start2 > length ? 0 : length + start2;
}
end2 = end2 > length ? length : end2;
if (end2 < 0) {
end2 += length;
}
length = start2 > end2 ? 0 : end2 - start2 >>> 0;
start2 >>>= 0;
var result = Array(length);
while (++index2 < length) {
result[index2] = array[index2 + start2];
}
return result;
}
var _baseSlice = baseSlice$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseSlice$1 = _baseSlice;
function castSlice$1(array, start2, end2) {
var length = array.length;
end2 = end2 === void 0 ? length : end2;
return !start2 && end2 >= length ? array : baseSlice$1(array, start2, end2);
}
var _castSlice = castSlice$1;
var rsAstralRange$1 = "\\ud800-\\udfff", rsComboMarksRange$1$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1$1 = "\\u20d0-\\u20ff", rsComboRange$1$1 = rsComboMarksRange$1$1 + reComboHalfMarksRange$1$1 + rsComboSymbolsRange$1$1, rsVarRange$1 = "\\ufe0e\\ufe0f";
var rsZWJ$1 = "\\u200d";
var reHasUnicode = RegExp("[" + rsZWJ$1 + rsAstralRange$1 + rsComboRange$1$1 + rsVarRange$1 + "]");
function hasUnicode$1(string) {
return reHasUnicode.test(string);
}
var _hasUnicode = hasUnicode$1;
function asciiToArray$1(string) {
return string.split("");
}
var _asciiToArray = asciiToArray$1;
var rsAstralRange$2 = "\\ud800-\\udfff", rsComboMarksRange$2 = "\\u0300-\\u036f", reComboHalfMarksRange$2 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$2 = "\\u20d0-\\u20ff", rsComboRange$2 = rsComboMarksRange$2 + reComboHalfMarksRange$2 + rsComboSymbolsRange$2, rsVarRange$2 = "\\ufe0e\\ufe0f";
var rsAstral = "[" + rsAstralRange$2 + "]", rsCombo$2 = "[" + rsComboRange$2 + "]", rsFitz$1 = "\\ud83c[\\udffb-\\udfff]", rsModifier$1 = "(?:" + rsCombo$2 + "|" + rsFitz$1 + ")", rsNonAstral$1 = "[^" + rsAstralRange$2 + "]", rsRegional$1 = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair$1 = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsZWJ$2 = "\\u200d";
var reOptMod$1 = rsModifier$1 + "?", rsOptVar$1 = "[" + rsVarRange$2 + "]?", rsOptJoin$1 = "(?:" + rsZWJ$2 + "(?:" + [rsNonAstral$1, rsRegional$1, rsSurrPair$1].join("|") + ")" + rsOptVar$1 + reOptMod$1 + ")*", rsSeq$1 = rsOptVar$1 + reOptMod$1 + rsOptJoin$1, rsSymbol = "(?:" + [rsNonAstral$1 + rsCombo$2 + "?", rsCombo$2, rsRegional$1, rsSurrPair$1, rsAstral].join("|") + ")";
var reUnicode = RegExp(rsFitz$1 + "(?=" + rsFitz$1 + ")|" + rsSymbol + rsSeq$1, "g");
function unicodeToArray$1(string) {
return string.match(reUnicode) || [];
}
var _unicodeToArray = unicodeToArray$1;
var asciiToArray = _asciiToArray, hasUnicode$2 = _hasUnicode, unicodeToArray = _unicodeToArray;
function stringToArray$1(string) {
return hasUnicode$2(string) ? unicodeToArray(string) : asciiToArray(string);
}
var _stringToArray = stringToArray$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var castSlice = _castSlice, hasUnicode = _hasUnicode, stringToArray = _stringToArray, toString$4 = toString_1;
function createCaseFirst$1(methodName) {
return function(string) {
string = toString$4(string);
var strSymbols = hasUnicode(string) ? stringToArray(string) : void 0;
var chr = strSymbols ? strSymbols[0] : string.charAt(0);
var trailing = strSymbols ? castSlice(strSymbols, 1).join("") : string.slice(1);
return chr[methodName]() + trailing;
};
}
var _createCaseFirst = createCaseFirst$1;
var createCaseFirst = _createCaseFirst;
var upperFirst$1 = createCaseFirst("toUpperCase");
var upperFirst_1 = upperFirst$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function arrayReduce$1(array, iteratee, accumulator, initAccum) {
var index2 = -1, length = array == null ? 0 : array.length;
if (initAccum && length) {
accumulator = array[++index2];
}
while (++index2 < length) {
accumulator = iteratee(accumulator, array[index2], index2, array);
}
return accumulator;
}
var _arrayReduce = arrayReduce$1;
function basePropertyOf$1(object) {
return function(key2) {
return object == null ? void 0 : object[key2];
};
}
var _basePropertyOf = basePropertyOf$1;
var basePropertyOf = _basePropertyOf;
var deburredLetters = {
// Latin-1 Supplement block.
"À": "A",
"Á": "A",
"Â": "A",
"Ã": "A",
"Ä": "A",
"Å": "A",
"à": "a",
"á": "a",
"â": "a",
"ã": "a",
"ä": "a",
"å": "a",
"Ç": "C",
"ç": "c",
"Ð": "D",
"ð": "d",
"È": "E",
"É": "E",
"Ê": "E",
"Ë": "E",
"è": "e",
"é": "e",
"ê": "e",
"ë": "e",
"Ì": "I",
"Í": "I",
"Î": "I",
"Ï": "I",
"ì": "i",
"í": "i",
"î": "i",
"ï": "i",
"Ñ": "N",
"ñ": "n",
"Ò": "O",
"Ó": "O",
"Ô": "O",
"Õ": "O",
"Ö": "O",
"Ø": "O",
"ò": "o",
"ó": "o",
"ô": "o",
"õ": "o",
"ö": "o",
"ø": "o",
"Ù": "U",
"Ú": "U",
"Û": "U",
"Ü": "U",
"ù": "u",
"ú": "u",
"û": "u",
"ü": "u",
"Ý": "Y",
"ý": "y",
"ÿ": "y",
"Æ": "Ae",
"æ": "ae",
"Þ": "Th",
"þ": "th",
"ß": "ss",
// Latin Extended-A block.
"Ā": "A",
"Ă": "A",
"Ą": "A",
"ā": "a",
"ă": "a",
"ą": "a",
"Ć": "C",
"Ĉ": "C",
"Ċ": "C",
"Č": "C",
"ć": "c",
"ĉ": "c",
"ċ": "c",
"č": "c",
"Ď": "D",
"Đ": "D",
"ď": "d",
"đ": "d",
"Ē": "E",
"Ĕ": "E",
"Ė": "E",
"Ę": "E",
"Ě": "E",
"ē": "e",
"ĕ": "e",
"ė": "e",
"ę": "e",
"ě": "e",
"Ĝ": "G",
"Ğ": "G",
"Ġ": "G",
"Ģ": "G",
"ĝ": "g",
"ğ": "g",
"ġ": "g",
"ģ": "g",
"Ĥ": "H",
"Ħ": "H",
"ĥ": "h",
"ħ": "h",
"Ĩ": "I",
"Ī": "I",
"Ĭ": "I",
"Į": "I",
"İ": "I",
"ĩ": "i",
"ī": "i",
"ĭ": "i",
"į": "i",
"ı": "i",
"Ĵ": "J",
"ĵ": "j",
"Ķ": "K",
"ķ": "k",
"ĸ": "k",
"Ĺ": "L",
"Ļ": "L",
"Ľ": "L",
"Ŀ": "L",
"Ł": "L",
"ĺ": "l",
"ļ": "l",
"ľ": "l",
"ŀ": "l",
"ł": "l",
"Ń": "N",
"Ņ": "N",
"Ň": "N",
"Ŋ": "N",
"ń": "n",
"ņ": "n",
"ň": "n",
"ŋ": "n",
"Ō": "O",
"Ŏ": "O",
"Ő": "O",
"ō": "o",
"ŏ": "o",
"ő": "o",
"Ŕ": "R",
"Ŗ": "R",
"Ř": "R",
"ŕ": "r",
"ŗ": "r",
"ř": "r",
"Ś": "S",
"Ŝ": "S",
"Ş": "S",
"Š": "S",
"ś": "s",
"ŝ": "s",
"ş": "s",
"š": "s",
"Ţ": "T",
"Ť": "T",
"Ŧ": "T",
"ţ": "t",
"ť": "t",
"ŧ": "t",
"Ũ": "U",
"Ū": "U",
"Ŭ": "U",
"Ů": "U",
"Ű": "U",
"Ų": "U",
"ũ": "u",
"ū": "u",
"ŭ": "u",
"ů": "u",
"ű": "u",
"ų": "u",
"Ŵ": "W",
"ŵ": "w",
"Ŷ": "Y",
"ŷ": "y",
"Ÿ": "Y",
"Ź": "Z",
"Ż": "Z",
"Ž": "Z",
"ź": "z",
"ż": "z",
"ž": "z",
"IJ": "IJ",
"ij": "ij",
"Œ": "Oe",
"œ": "oe",
"ʼn": "'n",
"ſ": "s"
};
var deburrLetter$1 = basePropertyOf(deburredLetters);
var _deburrLetter = deburrLetter$1;
var deburrLetter = _deburrLetter, toString$1$1 = toString_1;
var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g;
var rsComboMarksRange$1 = "\\u0300-\\u036f", reComboHalfMarksRange$1 = "\\ufe20-\\ufe2f", rsComboSymbolsRange$1 = "\\u20d0-\\u20ff", rsComboRange$1 = rsComboMarksRange$1 + reComboHalfMarksRange$1 + rsComboSymbolsRange$1;
var rsCombo$1 = "[" + rsComboRange$1 + "]";
var reComboMark = RegExp(rsCombo$1, "g");
function deburr$1(string) {
string = toString$1$1(string);
return string && string.replace(reLatin, deburrLetter).replace(reComboMark, "");
}
var deburr_1 = deburr$1;
var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;
function asciiWords$1(string) {
return string.match(reAsciiWord) || [];
}
var _asciiWords = asciiWords$1;
var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;
function hasUnicodeWord$1(string) {
return reHasUnicodeWord.test(string);
}
var _hasUnicodeWord = hasUnicodeWord$1;
var rsAstralRange = "\\ud800-\\udfff", rsComboMarksRange = "\\u0300-\\u036f", reComboHalfMarksRange = "\\ufe20-\\ufe2f", rsComboSymbolsRange = "\\u20d0-\\u20ff", rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, rsDingbatRange = "\\u2700-\\u27bf", rsLowerRange = "a-z\\xdf-\\xf6\\xf8-\\xff", rsMathOpRange = "\\xac\\xb1\\xd7\\xf7", rsNonCharRange = "\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf", rsPunctuationRange = "\\u2000-\\u206f", rsSpaceRange = " \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000", rsUpperRange = "A-Z\\xc0-\\xd6\\xd8-\\xde", rsVarRange = "\\ufe0e\\ufe0f", rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;
var rsApos$1 = "['’]", rsBreak = "[" + rsBreakRange + "]", rsCombo = "[" + rsComboRange + "]", rsDigits = "\\d+", rsDingbat = "[" + rsDingbatRange + "]", rsLower = "[" + rsLowerRange + "]", rsMisc = "[^" + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + "]", rsFitz = "\\ud83c[\\udffb-\\udfff]", rsModifier = "(?:" + rsCombo + "|" + rsFitz + ")", rsNonAstral = "[^" + rsAstralRange + "]", rsRegional = "(?:\\ud83c[\\udde6-\\uddff]){2}", rsSurrPair = "[\\ud800-\\udbff][\\udc00-\\udfff]", rsUpper = "[" + rsUpperRange + "]", rsZWJ = "\\u200d";
var rsMiscLower = "(?:" + rsLower + "|" + rsMisc + ")", rsMiscUpper = "(?:" + rsUpper + "|" + rsMisc + ")", rsOptContrLower = "(?:" + rsApos$1 + "(?:d|ll|m|re|s|t|ve))?", rsOptContrUpper = "(?:" + rsApos$1 + "(?:D|LL|M|RE|S|T|VE))?", reOptMod = rsModifier + "?", rsOptVar = "[" + rsVarRange + "]?", rsOptJoin = "(?:" + rsZWJ + "(?:" + [rsNonAstral, rsRegional, rsSurrPair].join("|") + ")" + rsOptVar + reOptMod + ")*", rsOrdLower = "\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])", rsOrdUpper = "\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])", rsSeq = rsOptVar + reOptMod + rsOptJoin, rsEmoji = "(?:" + [rsDingbat, rsRegional, rsSurrPair].join("|") + ")" + rsSeq;
var reUnicodeWord = RegExp([rsUpper + "?" + rsLower + "+" + rsOptContrLower + "(?=" + [rsBreak, rsUpper, "$"].join("|") + ")", rsMiscUpper + "+" + rsOptContrUpper + "(?=" + [rsBreak, rsUpper + rsMiscLower, "$"].join("|") + ")", rsUpper + "?" + rsMiscLower + "+" + rsOptContrLower, rsUpper + "+" + rsOptContrUpper, rsOrdUpper, rsOrdLower, rsDigits, rsEmoji].join("|"), "g");
function unicodeWords$1(string) {
return string.match(reUnicodeWord) || [];
}
var _unicodeWords = unicodeWords$1;
var asciiWords = _asciiWords, hasUnicodeWord = _hasUnicodeWord, toString$3 = toString_1, unicodeWords = _unicodeWords;
function words$1(string, pattern2, guard) {
string = toString$3(string);
pattern2 = guard ? void 0 : pattern2;
if (pattern2 === void 0) {
return hasUnicodeWord(string) ? unicodeWords(string) : asciiWords(string);
}
return string.match(pattern2) || [];
}
var words_1 = words$1;
var arrayReduce = _arrayReduce, deburr = deburr_1, words = words_1;
var rsApos = "['’]";
var reApos = RegExp(rsApos, "g");
function createCompounder$2(callback) {
return function(string) {
return arrayReduce(words(deburr(string).replace(reApos, "")), callback, "");
};
}
var _createCompounder = createCompounder$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var toString$2 = toString_1, upperFirst = upperFirst_1;
function capitalize$1(string) {
return upperFirst(toString$2(string).toLowerCase());
}
var capitalize_1 = capitalize$1;
var capitalize = capitalize_1, createCompounder$1 = _createCompounder;
var camelCase = createCompounder$1(function(result, word, index2) {
word = word.toLowerCase();
return result + (index2 ? capitalize(word) : word);
});
var camelCase_1 = camelCase;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var createCompounder = _createCompounder;
var kebabCase = createCompounder(function(result, word, index2) {
return result + (index2 ? "-" : "") + word.toLowerCase();
});
var kebabCase_1 = kebabCase;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function getDefaultNode(options) {
var defaultNode;
if (isObject_1(options) && "defaultNode" in options) {
defaultNode = options.defaultNode;
} else if (vue.isVNode(options) || isString_1(options)) {
defaultNode = options;
}
return defaultNode;
}
function getParams(options) {
return isObject_1(options) && "params" in options ? options.params : {};
}
function getSlotFirst(options) {
return isObject_1(options) && "slotFirst" in options ? options.slotFirst : {};
}
function handleSlots$1(instance, params, name) {
var _instance$$slots$came, _instance$$slots, _instance$$slots$keba, _instance$$slots2;
var node = (_instance$$slots$came = (_instance$$slots = instance.$slots)[camelCase_1(name)]) === null || _instance$$slots$came === void 0 ? void 0 : _instance$$slots$came.call(_instance$$slots, params);
if (node)
return node;
node = (_instance$$slots$keba = (_instance$$slots2 = instance.$slots)[kebabCase_1(name)]) === null || _instance$$slots$keba === void 0 ? void 0 : _instance$$slots$keba.call(_instance$$slots2, params);
if (node)
return node;
return null;
}
var renderTNodeJSX = function renderTNodeJSX2(instance, name, options) {
var params = getParams(options);
var defaultNode = getDefaultNode(options);
var propsNode;
if (name in instance) {
propsNode = instance[name];
}
if (propsNode === false)
return;
if (propsNode === true && defaultNode) {
return handleSlots$1(instance, params, name) || defaultNode;
}
if (isFunction_1(propsNode))
return propsNode(vue.h, params);
var isPropsEmpty = [void 0, params, ""].includes(propsNode);
if (isPropsEmpty && (instance.$slots[camelCase_1(name)] || instance.$slots[kebabCase_1(name)])) {
return handleSlots$1(instance, params, name);
}
return propsNode;
};
var renderContent = function renderContent2(vm, name1, name2, options) {
var params = getParams(options);
var defaultNode = getDefaultNode(options);
var toParams = params ? {
params
} : void 0;
var node1 = renderTNodeJSX(vm, name1, toParams);
var node2 = renderTNodeJSX(vm, name2, toParams);
var res = isEmpty_1(node1) ? node2 : node1;
return isEmpty_1(res) ? defaultNode : res;
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$r = {
attach: {
type: [String, Function],
"default": ""
},
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
delay: {
type: Number,
"default": 0
},
fullscreen: Boolean,
indicator: {
type: [Boolean, Function],
"default": true
},
inheritColor: Boolean,
loading: {
type: Boolean,
"default": true
},
preventScrollThrough: {
type: Boolean,
"default": true
},
showOverlay: {
type: Boolean,
"default": true
},
size: {
type: String,
"default": "medium"
},
text: {
type: [String, Function]
},
zIndex: {
type: Number
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var useTeleport = function useTeleport2(attach, triggerNode) {
var to = isFunction_1(attach) ? vue.computed(attach) : vue.ref(attach);
var innerTriggerNode = isFunction_1(triggerNode) ? vue.computed(triggerNode) : vue.ref(triggerNode);
var element2 = vue.ref();
var getElement = function getElement2() {
element2.value = getSSRAttach() || getAttach(to.value, innerTriggerNode.value);
};
vue.onMounted(function() {
return getElement();
});
vue.watch([to, innerTriggerNode], function() {
return getElement();
});
return element2;
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var useComponentClassName$2 = function useComponentClassName() {
return {
name: usePrefixClass("loading"),
centerClass: usePrefixClass("loading--center"),
fullscreenClass: usePrefixClass("loading__fullscreen"),
lockClass: usePrefixClass("loading--lock"),
overlayClass: usePrefixClass("loading__overlay"),
relativeClass: usePrefixClass("loading__parent"),
fullClass: usePrefixClass("loading--full"),
inheritColorClass: usePrefixClass("loading--inherit-color")
};
};
var _Loading = vue.defineComponent({
name: "TLoading",
inheritAttrs: false,
props: props$r,
setup: function setup2(props2, _ref) {
var slots = _ref.slots;
var delayShowLoading = vue.ref(false);
var _useComponentClassNam = useComponentClassName$2(), name = _useComponentClassNam.name, centerClass = _useComponentClassNam.centerClass, fullscreenClass = _useComponentClassNam.fullscreenClass, lockClass = _useComponentClassNam.lockClass, overlayClass = _useComponentClassNam.overlayClass, relativeClass = _useComponentClassNam.relativeClass, fullClass = _useComponentClassNam.fullClass, inheritColorClass = _useComponentClassNam.inheritColorClass;
var classPrefix = usePrefixClass();
var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
var countDelay = function countDelay2() {
delayShowLoading.value = false;
var timer = setTimeout(function() {
delayShowLoading.value = true;
clearTimeout(timer);
}, props2.delay);
};
var teleportElement = useTeleport(function() {
return props2.attach;
});
var delayCounted = vue.computed(function() {
return Boolean(!props2.delay || props2.delay && delayShowLoading.value);
});
var styles = vue.computed(function() {
var styles2 = {};
if (props2.zIndex !== void 0) {
styles2.zIndex = props2.zIndex;
}
if (!["small", "medium", "large"].includes(props2.size)) {
styles2["font-size"] = props2.size;
}
return styles2;
});
var hasContent = vue.computed(function() {
return Boolean(props2["default"] || slots["default"] || props2.content || slots.content);
});
var lockFullscreen = vue.computed(function() {
return props2.preventScrollThrough && props2.fullscreen;
});
var showText = vue.computed(function() {
return Boolean(props2.text || slots.text);
});
var showWrapLoading = vue.computed(function() {
return hasContent.value && props2.loading && delayCounted.value;
});
var showFullScreenLoading = vue.computed(function() {
return props2.fullscreen && props2.loading && delayCounted.value;
});
var showNormalLoading = vue.computed(function() {
return props2.attach && props2.loading && delayCounted.value;
});
var showAttachedLoading = vue.computed(function() {
return props2.attach && props2.loading && delayCounted.value;
});
var classes = vue.computed(function() {
var baseClasses = [centerClass.value, SIZE.value[props2.size], _defineProperty$2({}, inheritColorClass.value, props2.inheritColor)];
var fullScreenClasses = [name.value, fullscreenClass.value, centerClass.value, overlayClass.value];
return {
baseClasses,
attachClasses: baseClasses.concat([name.value, fullClass.value, _defineProperty$2({}, overlayClass.value, props2.showOverlay)]),
withContentClasses: baseClasses.concat([name.value, fullClass.value, _defineProperty$2({}, overlayClass.value, props2.showOverlay)]),
fullScreenClasses,
normalClasses: baseClasses.concat([name.value])
};
});
var _toRefs = vue.toRefs(props2), loading2 = _toRefs.loading;
vue.watch([loading2], function(_ref5) {
var _ref6 = _slicedToArray(_ref5, 1), isLoading = _ref6[0];
if (isLoading) {
countDelay();
lockFullscreen.value && addClass(document.body, lockClass.value);
} else {
lockFullscreen.value && removeClass(document.body, lockClass.value);
}
});
vue.onMounted(function() {
props2.delay && countDelay();
});
return {
classPrefix,
relativeClass,
delayShowLoading,
styles,
showText,
hasContent,
classes,
lockFullscreen,
showWrapLoading,
showNormalLoading,
showFullScreenLoading,
showAttachedLoading,
teleportElement
};
},
render: function render2() {
var _this = this;
var _this$classes = this.classes, fullScreenClasses = _this$classes.fullScreenClasses, baseClasses = _this$classes.baseClasses, withContentClasses = _this$classes.withContentClasses, attachClasses = _this$classes.attachClasses, normalClasses = _this$classes.normalClasses;
var defaultIndicator = vue.createVNode(GradientIcon, {
"size": this.size
}, null);
var indicator = this.loading && renderTNodeJSX(this, "indicator", defaultIndicator);
var text = this.showText && vue.createVNode("div", {
"class": "".concat(this.classPrefix, "-loading__text")
}, [renderTNodeJSX(this, "text")]);
if (this.fullscreen) {
if (!this.showFullScreenLoading || !this.loading)
return null;
return vue.createVNode(vue.Teleport, {
"disabled": !this.attach || !this.teleportElement,
"to": this.teleportElement
}, {
"default": function _default16() {
return [vue.createVNode("div", vue.mergeProps({
"class": fullScreenClasses,
"style": _this.styles
}, _this.$attrs), [vue.createVNode("div", {
"class": baseClasses
}, [indicator, text])])];
}
});
}
if (this.hasContent) {
return vue.createVNode("div", vue.mergeProps({
"class": this.relativeClass
}, this.$attrs), [renderContent(this, "default", "content"), this.showWrapLoading && vue.createVNode("div", {
"class": withContentClasses,
"style": this.styles
}, [indicator, text])]);
}
if (this.attach) {
if (!this.showAttachedLoading || !this.loading)
return null;
return vue.createVNode(vue.Teleport, {
"disabled": !this.attach || !this.teleportElement,
"to": this.teleportElement
}, {
"default": function _default16() {
return [vue.createVNode("div", vue.mergeProps({
"class": attachClasses,
"style": _this.styles
}, _this.$attrs), [indicator, text])];
}
});
}
return this.loading ? vue.createVNode("div", vue.mergeProps({
"class": normalClasses,
"style": this.styles
}, this.$attrs), [indicator, text]) : null;
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$U(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$T(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$U(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$U(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var fullScreenLoadingInstance = null;
function createLoading(props2) {
var component = vue.defineComponent({
setup: function setup51() {
var loadingOptions = vue.reactive(props2);
return {
loadingOptions
};
},
render: function render16() {
return vue.h(_Loading, _objectSpread$T({}, this.loadingOptions));
}
});
var attach = getAttach(props2.attach);
var loading2 = vue.createApp(component).mount(document.createElement("div"));
var parentRelativeClass = usePrefixClass("loading__parent--relative").value;
var prefixClass = usePrefixClass("loading");
if (attach) {
addClass(attach, parentRelativeClass);
} else {
console.error("attach is not exist");
}
var loadingInstance = {
hide: function hide2() {
var _attach$querySelector;
loading2.loading = false;
(_attach$querySelector = attach.querySelectorAll(".".concat(prefixClass.value))) === null || _attach$querySelector === void 0 || _attach$querySelector.forEach(function(item) {
item.remove();
});
removeClass(attach, parentRelativeClass);
}
};
return loadingInstance;
}
function produceLoading(props2) {
var lockClass = usePrefixClass("loading--lock");
if (props2 === true) {
fullScreenLoadingInstance = createLoading({
fullscreen: true,
loading: true,
attach: "body"
});
return fullScreenLoadingInstance;
}
removeClass(document.body, lockClass.value);
if (props2 === false) {
removeClass(document.body, lockClass.value);
fullScreenLoadingInstance.hide();
fullScreenLoadingInstance = null;
return;
}
return createLoading(props2);
}
var LoadingPlugin = produceLoading;
LoadingPlugin.install = function(app) {
app.config.globalProperties.$loading = produceLoading;
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var INSTANCE_KEY = Symbol("TdLoading");
var createInstance$1 = function createInstance(el, binding) {
var _binding$modifiers = binding.modifiers, fullscreen = _binding$modifiers.fullscreen, inheritColor = _binding$modifiers.inheritColor;
var options = {
attach: function attach() {
return el;
},
fullscreen: fullscreen !== null && fullscreen !== void 0 ? fullscreen : false,
inheritColor: inheritColor !== null && inheritColor !== void 0 ? inheritColor : false,
loading: binding.value
};
el[INSTANCE_KEY] = {
options,
instance: LoadingPlugin(options)
};
};
var vLoading = {
mounted: function mounted(el, binding) {
if (binding.value) {
createInstance$1(el, binding);
}
},
updated: function updated(el, binding) {
var instance = el[INSTANCE_KEY];
var value = binding.value, oldValue = binding.oldValue;
if (!!oldValue !== !!value) {
if (value) {
createInstance$1(el, binding);
} else {
instance === null || instance === void 0 || instance.instance.hide();
}
}
},
unmounted: function unmounted(el) {
var _el$INSTANCE_KEY;
(_el$INSTANCE_KEY = el[INSTANCE_KEY]) === null || _el$INSTANCE_KEY === void 0 || _el$INSTANCE_KEY.instance.hide();
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function withInstall(comp, alias, directive) {
var componentPlugin = comp;
componentPlugin.install = function(app, name) {
app.component(alias || name || componentPlugin.name, comp);
directive && app.directive(directive.name, directive.comp);
};
return componentPlugin;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Loading = withInstall(_Loading, _Loading.name, {
name: "loading",
comp: vLoading
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$q = {
block: Boolean,
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
disabled: {
type: Boolean,
"default": void 0
},
ghost: Boolean,
href: {
type: String,
"default": ""
},
icon: {
type: Function
},
loading: Boolean,
shape: {
type: String,
"default": "rectangle",
validator: function validator(val) {
if (!val)
return true;
return ["rectangle", "square", "round", "circle"].includes(val);
}
},
size: {
type: String,
"default": "medium",
validator: function validator2(val) {
if (!val)
return true;
return ["extra-small", "small", "medium", "large"].includes(val);
}
},
suffix: {
type: Function
},
tag: {
type: String,
validator: function validator3(val) {
if (!val)
return true;
return ["button", "a", "div"].includes(val);
}
},
theme: {
type: String,
validator: function validator4(val) {
if (!val)
return true;
return ["default", "primary", "danger", "warning", "success"].includes(val);
}
},
type: {
type: String,
"default": "button",
validator: function validator5(val) {
if (!val)
return true;
return ["submit", "reset", "button"].includes(val);
}
},
variant: {
type: String,
"default": "base",
validator: function validator6(val) {
if (!val)
return true;
return ["base", "outline", "dashed", "text"].includes(val);
}
},
onClick: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var expand = EAnimationType.expand, ripple = EAnimationType.ripple, fade = EAnimationType.fade;
function useKeepAnimation() {
var _useConfig = useConfig("animation"), globalConfig = _useConfig.globalConfig;
var keepAnimation = function keepAnimation2(type) {
var _animationConfig$excl, _animationConfig$incl;
var animationConfig = globalConfig.value;
return animationConfig && !((_animationConfig$excl = animationConfig.exclude) !== null && _animationConfig$excl !== void 0 && _animationConfig$excl.includes(type)) && ((_animationConfig$incl = animationConfig.include) === null || _animationConfig$incl === void 0 ? void 0 : _animationConfig$incl.includes(type));
};
return {
keepExpand: keepAnimation(expand),
keepRipple: keepAnimation(ripple),
keepFade: keepAnimation(fade)
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function setStyle(el, styles) {
var keys2 = Object.keys(styles);
keys2.forEach(function(key2) {
el.style[key2] = styles[key2];
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var period = 200;
var noneRippleBg = "rgba(0, 0, 0, 0)";
var defaultRippleColor = "rgba(0, 0, 0, 0.35)";
var getRippleColor = function getRippleColor2(el, fixedRippleColor) {
var _el$dataset;
if (fixedRippleColor) {
return fixedRippleColor;
}
if (el !== null && el !== void 0 && (_el$dataset = el.dataset) !== null && _el$dataset !== void 0 && _el$dataset.ripple) {
var rippleColor = el.dataset.ripple;
return rippleColor;
}
var cssVariable = getComputedStyle(el).getPropertyValue("--ripple-color");
if (cssVariable) {
return cssVariable;
}
return defaultRippleColor;
};
function useRipple(el, fixedRippleColor) {
var rippleContainer = vue.ref(null);
var classPrefix = usePrefixClass();
var _useKeepAnimation = useKeepAnimation(), keepRipple = _useKeepAnimation.keepRipple;
var handleAddRipple = function handleAddRipple2(e) {
var dom = el.value;
var rippleColor = getRippleColor(dom, fixedRippleColor === null || fixedRippleColor === void 0 ? void 0 : fixedRippleColor.value);
if (e.button !== 0 || !el || !keepRipple)
return;
if (dom.classList.contains("".concat(classPrefix.value, "-is-active")) || dom.classList.contains("".concat(classPrefix.value, "-is-disabled")) || dom.classList.contains("".concat(classPrefix.value, "-is-checked")) || dom.classList.contains("".concat(classPrefix.value, "-is-loading")))
return;
var elStyle = getComputedStyle(dom);
var elBorder = parseInt(elStyle.borderWidth, 10);
var border = elBorder > 0 ? elBorder : 0;
var width = dom.offsetWidth;
var height = dom.offsetHeight;
if (rippleContainer.value.parentNode === null) {
setStyle(rippleContainer.value, {
position: "absolute",
left: "".concat(0 - border, "px"),
top: "".concat(0 - border, "px"),
width: "".concat(width, "px"),
height: "".concat(height, "px"),
borderRadius: elStyle.borderRadius,
pointerEvents: "none",
overflow: "hidden"
});
dom.appendChild(rippleContainer.value);
}
var ripple2 = document.createElement("div");
setStyle(ripple2, {
marginTop: "0",
marginLeft: "0",
right: "".concat(width, "px"),
width: "".concat(width + 20, "px"),
height: "100%",
transition: "transform ".concat(period, "ms cubic-bezier(.38, 0, .24, 1), background ").concat(period * 2, "ms linear"),
transform: "skewX(-8deg)",
pointerEvents: "none",
position: "absolute",
zIndex: 0,
backgroundColor: rippleColor,
opacity: "0.9"
});
var elMap = /* @__PURE__ */ new WeakMap();
for (var n = dom.children.length, i = 0; i < n; ++i) {
var child = dom.children[i];
if (child.style.zIndex === "" && child !== rippleContainer.value) {
child.style.zIndex = "1";
elMap.set(child, true);
}
}
var initPosition = dom.style.position ? dom.style.position : getComputedStyle(dom).position;
if (initPosition === "" || initPosition === "static") {
dom.style.position = "relative";
}
rippleContainer.value.insertBefore(ripple2, rippleContainer.value.firstChild);
setTimeout(function() {
ripple2.style.transform = "translateX(".concat(width, "px)");
}, 0);
var handleClearRipple = function handleClearRipple2() {
ripple2.style.backgroundColor = noneRippleBg;
if (!el.value)
return;
el.value.removeEventListener("pointerup", handleClearRipple2, false);
el.value.removeEventListener("pointerleave", handleClearRipple2, false);
setTimeout(function() {
ripple2.remove();
if (rippleContainer.value.children.length === 0)
rippleContainer.value.remove();
}, period * 2 + 100);
};
el.value.addEventListener("pointerup", handleClearRipple, false);
el.value.addEventListener("pointerleave", handleClearRipple, false);
};
vue.onMounted(function() {
var dom = el === null || el === void 0 ? void 0 : el.value;
if (!dom)
return;
rippleContainer.value = document.createElement("div");
dom.addEventListener("pointerdown", handleAddRipple, false);
});
vue.onUnmounted(function() {
var _el$value;
el === null || el === void 0 || (_el$value = el.value) === null || _el$value === void 0 || _el$value.removeEventListener("pointerdown", handleAddRipple, false);
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function handleSlots(instance, name, params) {
var _instance$slots$camel, _instance$slots, _instance$slots$kebab, _instance$slots2;
var node = (_instance$slots$camel = (_instance$slots = instance.slots)[camelCase_1(name)]) === null || _instance$slots$camel === void 0 ? void 0 : _instance$slots$camel.call(_instance$slots, params);
if (node && node.filter(function(t) {
return t.type.toString() !== "Symbol(v-cmt)";
}).length)
return node;
node = (_instance$slots$kebab = (_instance$slots2 = instance.slots)[kebabCase_1(name)]) === null || _instance$slots$kebab === void 0 ? void 0 : _instance$slots$kebab.call(_instance$slots2, params);
if (node && node.filter(function(t) {
return t.type.toString() !== "Symbol(v-cmt)";
}).length)
return node;
return null;
}
function isEmptyNode(node) {
if ([void 0, null, ""].includes(node))
return true;
var innerNodes = node instanceof Array ? node : [node];
var r = innerNodes.filter(function(node2) {
var _node2$type;
return (node2 === null || node2 === void 0 || (_node2$type = node2.type) === null || _node2$type === void 0 ? void 0 : _node2$type.toString()) !== "Symbol(Comment)";
});
return !r.length;
}
var useTNodeJSX = function useTNodeJSX2() {
var instance = vue.getCurrentInstance();
return function(name, options) {
var params = getParams(options);
var defaultNode = getDefaultNode(options);
var slotFirst = getSlotFirst(options);
var propsNode;
if (Object.keys(instance.props).includes(name)) {
propsNode = instance.props[name];
}
if (propsNode === false)
return;
if (propsNode === true) {
return handleSlots(instance, name, params) || defaultNode;
}
if (isFunction_1(propsNode))
return propsNode(vue.h, params);
var isPropsEmpty = [void 0, params, ""].includes(propsNode);
if ((isPropsEmpty || slotFirst) && (instance.slots[camelCase_1(name)] || instance.slots[kebabCase_1(name)])) {
return handleSlots(instance, name, params);
}
return propsNode;
};
};
var useTNodeDefault = function useTNodeDefault2() {
var renderTNodeJSX3 = useTNodeJSX();
return function(name, options) {
var defaultNode = getDefaultNode(options);
return renderTNodeJSX3(name, options) || defaultNode;
};
};
var useContent = function useContent2() {
var renderTNodeJSX3 = useTNodeJSX();
return function(name1, name2, options) {
var params = getParams(options);
var defaultNode = getDefaultNode(options);
var toParams = params ? {
params
} : void 0;
var node1 = renderTNodeJSX3(name1, toParams);
var node2 = renderTNodeJSX3(name2, toParams);
var res = isEmptyNode(node1) ? node2 : node1;
return isEmptyNode(res) ? defaultNode : res;
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGetTag = _baseGetTag, isObjectLike = isObjectLike_1;
var boolTag = "[object Boolean]";
function isBoolean$1(value) {
return value === true || value === false || isObjectLike(value) && baseGetTag(value) == boolTag;
}
var isBoolean_1 = isBoolean$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useDisabled(context) {
var currentInstance = vue.getCurrentInstance();
var componentDisabled = vue.computed(function() {
return currentInstance.props.disabled;
});
var formDisabled = vue.inject("formDisabled", /* @__PURE__ */ Object.create(null));
return vue.computed(function() {
var _formDisabled$disable;
if (isBoolean_1(context === null || context === void 0 ? void 0 : context.beforeDisabled.value))
return context.beforeDisabled.value;
if (isBoolean_1(componentDisabled.value))
return componentDisabled.value;
if (isBoolean_1(context === null || context === void 0 ? void 0 : context.afterDisabled.value))
return context.afterDisabled.value;
if (isBoolean_1((_formDisabled$disable = formDisabled.disabled) === null || _formDisabled$disable === void 0 ? void 0 : _formDisabled$disable.value))
return formDisabled.disabled.value;
return false;
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$T(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$S(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$T(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$T(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var TButton = vue.defineComponent({
name: "TButton",
props: props$q,
setup: function setup3(props2, _ref) {
var attrs = _ref.attrs, slots = _ref.slots;
var renderTNodeJSX3 = useTNodeJSX();
var renderContent3 = useContent();
var COMPONENT_NAME = usePrefixClass("button");
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
var btnRef = vue.ref();
useRipple(btnRef);
var isDisabled = useDisabled();
var mergeTheme = vue.computed(function() {
var theme = props2.theme, variant = props2.variant;
if (theme)
return theme;
if (variant === "base")
return "primary";
return "default";
});
var buttonClass = vue.computed(function() {
var _ref2;
return ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "--variant-").concat(props2.variant), "".concat(COMPONENT_NAME.value, "--theme-").concat(mergeTheme.value), (_ref2 = {}, _defineProperty$2(_ref2, SIZE.value[props2.size], props2.size !== "medium"), _defineProperty$2(_ref2, STATUS.value.disabled, isDisabled.value), _defineProperty$2(_ref2, STATUS.value.loading, props2.loading), _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--shape-").concat(props2.shape), props2.shape !== "rectangle"), _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--ghost"), props2.ghost), _defineProperty$2(_ref2, SIZE.value.block, props2.block), _ref2)];
});
return function() {
var buttonContent = renderContent3("default", "content");
var icon = props2.loading ? vue.createVNode(Loading, {
"inheritColor": true
}, null) : renderTNodeJSX3("icon");
var iconOnly = icon && !buttonContent;
var suffix2 = props2.suffix || slots.suffix ? vue.createVNode("span", {
"className": "".concat(COMPONENT_NAME.value, "__suffix")
}, [renderTNodeJSX3("suffix")]) : null;
buttonContent = buttonContent ? vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__text")
}, [buttonContent]) : "";
if (icon) {
buttonContent = [icon, buttonContent];
}
if (suffix2) {
buttonContent = [buttonContent].concat(suffix2);
}
var renderTag = function renderTag2() {
if (!props2.tag && props2.href)
return "a";
return props2.tag || "button";
};
var buttonAttrs = {
"class": [].concat(_toConsumableArray(buttonClass.value), [_defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--icon-only"), iconOnly)]),
type: props2.type,
disabled: isDisabled.value || props2.loading,
href: props2.href,
tabindex: isDisabled.value ? void 0 : "0"
};
return vue.h(renderTag(), _objectSpread$S(_objectSpread$S(_objectSpread$S({
ref: btnRef
}, attrs), buttonAttrs), {}, {
onClick: props2.onClick
}), [buttonContent]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Button = withInstall(TButton);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$p = {
align: {
type: String,
validator: function validator7(val) {
if (!val)
return true;
return ["start", "end", "center", "baseline"].includes(val);
}
},
breakLine: Boolean,
direction: {
type: String,
"default": "horizontal",
validator: function validator8(val) {
if (!val)
return true;
return ["vertical", "horizontal"].includes(val);
}
},
separator: {
type: [String, Function]
},
size: {
type: [String, Number, Array],
"default": "medium"
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useChildComponentSlots() {
var instance = vue.getCurrentInstance();
return function(childComponentName, slots) {
var _slots, _slots$default;
if (!slots) {
slots = instance.slots;
}
var content = ((_slots = slots) === null || _slots === void 0 || (_slots$default = _slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(_slots)) || [];
var childList = [];
var getChildren = function getChildren2(content2) {
if (!isArray_1(content2))
return;
content2.forEach(function(item) {
if (item.children && isArray_1(item.children)) {
if (item.type !== vue.Fragment)
return;
getChildren2(item.children);
} else {
childList.push(item);
}
});
return childList;
};
return getChildren(content).filter(function(item) {
var _item$type$name;
return (_item$type$name = item.type.name) === null || _item$type$name === void 0 ? void 0 : _item$type$name.endsWith(childComponentName);
});
};
}
function useChildSlots() {
var instance = vue.getCurrentInstance();
return function() {
var _slots$default2;
var slots = instance.slots;
var content = (slots === null || slots === void 0 || (_slots$default2 = slots["default"]) === null || _slots$default2 === void 0 ? void 0 : _slots$default2.call(slots)) || [];
return content.filter(function(item) {
if (_typeof$2(item.type) === "symbol" && !item.children) {
return false;
}
return item.type !== vue.Comment;
}).map(function(item) {
if (item.children && isArray_1(item.children) && item.type === vue.Fragment)
return item.children;
return item;
}).flat();
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$S(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$R(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$S(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$S(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _Space = vue.defineComponent({
name: "TSpace",
props: _objectSpread$R({}, props$p),
setup: function setup4(props2) {
var COMPONENT_NAME = usePrefixClass("space");
var renderTNodeJSX3 = useTNodeJSX();
var getChildSlots = useChildSlots();
var renderStyle = vue.computed(function() {
var sizeMap = {
small: "8px",
medium: "16px",
large: "24px"
};
var renderGap = "";
if (isArray_1(props2.size)) {
renderGap = props2.size.map(function(s) {
if (isNumber_1(s))
return "".concat(s, "px");
if (isString_1(s))
return sizeMap[s] || s;
return s;
}).join(" ");
} else if (isString_1(props2.size)) {
renderGap = sizeMap[props2.size] || props2.size;
} else if (isNumber_1(props2.size)) {
renderGap = "".concat(props2.size, "px");
}
return _objectSpread$R({
gap: renderGap
}, props2.breakLine ? {
"flex-wrap": "wrap"
} : {});
});
function renderChildren() {
var children = getChildSlots();
var separatorContent = renderTNodeJSX3("separator");
return children.map(function(child, index2) {
var showSeparator = index2 + 1 !== children.length && separatorContent;
return vue.createVNode(vue.Fragment, null, [vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-item")
}, [child]), showSeparator && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "-item-separator")
}, [separatorContent])]);
});
}
return function() {
var _ref;
var spaceClassNames = ["".concat(COMPONENT_NAME.value), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "-align-").concat(props2.align), props2.align), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "-").concat(props2.direction), props2.direction), _ref)];
return vue.createVNode("div", {
"class": spaceClassNames,
"style": renderStyle.value
}, [renderChildren()]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Space = withInstall(_Space);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function asyncGeneratorStep(gen, resolve2, reject2, _next, _throw, key2, arg) {
try {
var info3 = gen[key2](arg);
var value = info3.value;
} catch (error4) {
reject2(error4);
return;
}
if (info3.done) {
resolve2(value);
} else {
Promise.resolve(value).then(_next, _throw);
}
}
function _asyncToGenerator(fn2) {
return function() {
var self2 = this, args = arguments;
return new Promise(function(resolve2, reject2) {
var gen = fn2.apply(self2, args);
function _next(value) {
asyncGeneratorStep(gen, resolve2, reject2, _next, _throw, "next", value);
}
function _throw(err) {
asyncGeneratorStep(gen, resolve2, reject2, _next, _throw, "throw", err);
}
_next(void 0);
});
};
}
var regeneratorRuntime$2 = { exports: {} };
var _typeof$1 = { exports: {} };
(function(module) {
function _typeof2(o) {
"@babel/helpers - typeof";
return module.exports = _typeof2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) {
return typeof o2;
} : function(o2) {
return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2;
}, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof2(o);
}
module.exports = _typeof2, module.exports.__esModule = true, module.exports["default"] = module.exports;
})(_typeof$1);
(function(module) {
var _typeof2 = _typeof$1.exports["default"];
function _regeneratorRuntime() {
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
module.exports = _regeneratorRuntime = function _regeneratorRuntime2() {
return e;
}, module.exports.__esModule = true, module.exports["default"] = module.exports;
var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function(t2, e2, r2) {
t2[e2] = r2.value;
}, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag";
function define(t2, e2, r2) {
return Object.defineProperty(t2, e2, {
value: r2,
enumerable: true,
configurable: true,
writable: true
}), t2[e2];
}
try {
define({}, "");
} catch (t2) {
define = function define2(t3, e2, r2) {
return t3[e2] = r2;
};
}
function wrap(t2, e2, r2, n2) {
var i2 = e2 && e2.prototype instanceof Generator ? e2 : Generator, a2 = Object.create(i2.prototype), c2 = new Context(n2 || []);
return o(a2, "_invoke", {
value: makeInvokeMethod(t2, r2, c2)
}), a2;
}
function tryCatch(t2, e2, r2) {
try {
return {
type: "normal",
arg: t2.call(e2, r2)
};
} catch (t3) {
return {
type: "throw",
arg: t3
};
}
}
e.wrap = wrap;
var h2 = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {};
function Generator() {
}
function GeneratorFunction() {
}
function GeneratorFunctionPrototype() {
}
var p = {};
define(p, a, function() {
return this;
});
var d = Object.getPrototypeOf, v = d && d(d(values([])));
v && v !== r && n.call(v, a) && (p = v);
var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
function defineIteratorMethods(t2) {
["next", "throw", "return"].forEach(function(e2) {
define(t2, e2, function(t3) {
return this._invoke(e2, t3);
});
});
}
function AsyncIterator(t2, e2) {
function invoke(r3, o2, i2, a2) {
var c2 = tryCatch(t2[r3], t2, o2);
if ("throw" !== c2.type) {
var u2 = c2.arg, h3 = u2.value;
return h3 && "object" == _typeof2(h3) && n.call(h3, "__await") ? e2.resolve(h3.__await).then(function(t3) {
invoke("next", t3, i2, a2);
}, function(t3) {
invoke("throw", t3, i2, a2);
}) : e2.resolve(h3).then(function(t3) {
u2.value = t3, i2(u2);
}, function(t3) {
return invoke("throw", t3, i2, a2);
});
}
a2(c2.arg);
}
var r2;
o(this, "_invoke", {
value: function value(t3, n2) {
function callInvokeWithMethodAndArg() {
return new e2(function(e3, r3) {
invoke(t3, n2, e3, r3);
});
}
return r2 = r2 ? r2.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}
});
}
function makeInvokeMethod(e2, r2, n2) {
var o2 = h2;
return function(i2, a2) {
if (o2 === f)
throw new Error("Generator is already running");
if (o2 === s) {
if ("throw" === i2)
throw a2;
return {
value: t,
done: true
};
}
for (n2.method = i2, n2.arg = a2; ; ) {
var c2 = n2.delegate;
if (c2) {
var u2 = maybeInvokeDelegate(c2, n2);
if (u2) {
if (u2 === y)
continue;
return u2;
}
}
if ("next" === n2.method)
n2.sent = n2._sent = n2.arg;
else if ("throw" === n2.method) {
if (o2 === h2)
throw o2 = s, n2.arg;
n2.dispatchException(n2.arg);
} else
"return" === n2.method && n2.abrupt("return", n2.arg);
o2 = f;
var p2 = tryCatch(e2, r2, n2);
if ("normal" === p2.type) {
if (o2 = n2.done ? s : l, p2.arg === y)
continue;
return {
value: p2.arg,
done: n2.done
};
}
"throw" === p2.type && (o2 = s, n2.method = "throw", n2.arg = p2.arg);
}
};
}
function maybeInvokeDelegate(e2, r2) {
var n2 = r2.method, o2 = e2.iterator[n2];
if (o2 === t)
return r2.delegate = null, "throw" === n2 && e2.iterator["return"] && (r2.method = "return", r2.arg = t, maybeInvokeDelegate(e2, r2), "throw" === r2.method) || "return" !== n2 && (r2.method = "throw", r2.arg = new TypeError("The iterator does not provide a '" + n2 + "' method")), y;
var i2 = tryCatch(o2, e2.iterator, r2.arg);
if ("throw" === i2.type)
return r2.method = "throw", r2.arg = i2.arg, r2.delegate = null, y;
var a2 = i2.arg;
return a2 ? a2.done ? (r2[e2.resultName] = a2.value, r2.next = e2.nextLoc, "return" !== r2.method && (r2.method = "next", r2.arg = t), r2.delegate = null, y) : a2 : (r2.method = "throw", r2.arg = new TypeError("iterator result is not an object"), r2.delegate = null, y);
}
function pushTryEntry(t2) {
var e2 = {
tryLoc: t2[0]
};
1 in t2 && (e2.catchLoc = t2[1]), 2 in t2 && (e2.finallyLoc = t2[2], e2.afterLoc = t2[3]), this.tryEntries.push(e2);
}
function resetTryEntry(t2) {
var e2 = t2.completion || {};
e2.type = "normal", delete e2.arg, t2.completion = e2;
}
function Context(t2) {
this.tryEntries = [{
tryLoc: "root"
}], t2.forEach(pushTryEntry, this), this.reset(true);
}
function values(e2) {
if (e2 || "" === e2) {
var r2 = e2[a];
if (r2)
return r2.call(e2);
if ("function" == typeof e2.next)
return e2;
if (!isNaN(e2.length)) {
var o2 = -1, i2 = function next() {
for (; ++o2 < e2.length; )
if (n.call(e2, o2))
return next.value = e2[o2], next.done = false, next;
return next.value = t, next.done = true, next;
};
return i2.next = i2;
}
}
throw new TypeError(_typeof2(e2) + " is not iterable");
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
value: GeneratorFunctionPrototype,
configurable: true
}), o(GeneratorFunctionPrototype, "constructor", {
value: GeneratorFunction,
configurable: true
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function(t2) {
var e2 = "function" == typeof t2 && t2.constructor;
return !!e2 && (e2 === GeneratorFunction || "GeneratorFunction" === (e2.displayName || e2.name));
}, e.mark = function(t2) {
return Object.setPrototypeOf ? Object.setPrototypeOf(t2, GeneratorFunctionPrototype) : (t2.__proto__ = GeneratorFunctionPrototype, define(t2, u, "GeneratorFunction")), t2.prototype = Object.create(g), t2;
}, e.awrap = function(t2) {
return {
__await: t2
};
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function() {
return this;
}), e.AsyncIterator = AsyncIterator, e.async = function(t2, r2, n2, o2, i2) {
void 0 === i2 && (i2 = Promise);
var a2 = new AsyncIterator(wrap(t2, r2, n2, o2), i2);
return e.isGeneratorFunction(r2) ? a2 : a2.next().then(function(t3) {
return t3.done ? t3.value : a2.next();
});
}, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function() {
return this;
}), define(g, "toString", function() {
return "[object Generator]";
}), e.keys = function(t2) {
var e2 = Object(t2), r2 = [];
for (var n2 in e2)
r2.push(n2);
return r2.reverse(), function next() {
for (; r2.length; ) {
var t3 = r2.pop();
if (t3 in e2)
return next.value = t3, next.done = false, next;
}
return next.done = true, next;
};
}, e.values = values, Context.prototype = {
constructor: Context,
reset: function reset(e2) {
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = false, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e2)
for (var r2 in this)
"t" === r2.charAt(0) && n.call(this, r2) && !isNaN(+r2.slice(1)) && (this[r2] = t);
},
stop: function stop() {
this.done = true;
var t2 = this.tryEntries[0].completion;
if ("throw" === t2.type)
throw t2.arg;
return this.rval;
},
dispatchException: function dispatchException(e2) {
if (this.done)
throw e2;
var r2 = this;
function handle(n2, o3) {
return a2.type = "throw", a2.arg = e2, r2.next = n2, o3 && (r2.method = "next", r2.arg = t), !!o3;
}
for (var o2 = this.tryEntries.length - 1; o2 >= 0; --o2) {
var i2 = this.tryEntries[o2], a2 = i2.completion;
if ("root" === i2.tryLoc)
return handle("end");
if (i2.tryLoc <= this.prev) {
var c2 = n.call(i2, "catchLoc"), u2 = n.call(i2, "finallyLoc");
if (c2 && u2) {
if (this.prev < i2.catchLoc)
return handle(i2.catchLoc, true);
if (this.prev < i2.finallyLoc)
return handle(i2.finallyLoc);
} else if (c2) {
if (this.prev < i2.catchLoc)
return handle(i2.catchLoc, true);
} else {
if (!u2)
throw new Error("try statement without catch or finally");
if (this.prev < i2.finallyLoc)
return handle(i2.finallyLoc);
}
}
}
},
abrupt: function abrupt(t2, e2) {
for (var r2 = this.tryEntries.length - 1; r2 >= 0; --r2) {
var o2 = this.tryEntries[r2];
if (o2.tryLoc <= this.prev && n.call(o2, "finallyLoc") && this.prev < o2.finallyLoc) {
var i2 = o2;
break;
}
}
i2 && ("break" === t2 || "continue" === t2) && i2.tryLoc <= e2 && e2 <= i2.finallyLoc && (i2 = null);
var a2 = i2 ? i2.completion : {};
return a2.type = t2, a2.arg = e2, i2 ? (this.method = "next", this.next = i2.finallyLoc, y) : this.complete(a2);
},
complete: function complete(t2, e2) {
if ("throw" === t2.type)
throw t2.arg;
return "break" === t2.type || "continue" === t2.type ? this.next = t2.arg : "return" === t2.type ? (this.rval = this.arg = t2.arg, this.method = "return", this.next = "end") : "normal" === t2.type && e2 && (this.next = e2), y;
},
finish: function finish(t2) {
for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
var r2 = this.tryEntries[e2];
if (r2.finallyLoc === t2)
return this.complete(r2.completion, r2.afterLoc), resetTryEntry(r2), y;
}
},
"catch": function _catch(t2) {
for (var e2 = this.tryEntries.length - 1; e2 >= 0; --e2) {
var r2 = this.tryEntries[e2];
if (r2.tryLoc === t2) {
var n2 = r2.completion;
if ("throw" === n2.type) {
var o2 = n2.arg;
resetTryEntry(r2);
}
return o2;
}
}
throw new Error("illegal catch attempt");
},
delegateYield: function delegateYield(e2, r2, n2) {
return this.delegate = {
iterator: values(e2),
resultName: r2,
nextLoc: n2
}, "next" === this.method && (this.arg = t), y;
}
}, e;
}
module.exports = _regeneratorRuntime, module.exports.__esModule = true, module.exports["default"] = module.exports;
})(regeneratorRuntime$2);
/* @__PURE__ */ getDefaultExportFromCjs$1(regeneratorRuntime$2.exports);
var runtime = regeneratorRuntime$2.exports();
var regenerator = runtime;
try {
regeneratorRuntime = runtime;
} catch (accidentalStrictMode) {
if ((typeof globalThis === "undefined" ? "undefined" : _typeof$2(globalThis)) === "object") {
globalThis.regeneratorRuntime = runtime;
} else {
Function("r", "regeneratorRuntime = r")(runtime);
}
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$o = {
container: {
type: [String, Function],
"default": function _default() {
return function() {
return window;
};
}
},
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
offsetBottom: {
type: Number,
"default": 0
},
offsetTop: {
type: Number,
"default": 0
},
zIndex: {
type: Number
},
onFixedChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _Affix = vue.defineComponent({
name: "TAffix",
props: props$o,
emits: ["fixedChange"],
setup: function setup5(props2, context) {
var _document;
var COMPONENT_NAME = usePrefixClass("affix");
var renderTNodeJSX3 = useTNodeJSX();
var affixWrapRef = vue.ref(null);
var affixRef = vue.ref(null);
var placeholderEL = vue.ref((_document = document) === null || _document === void 0 ? void 0 : _document.createElement("div"));
var ticking = vue.ref(false);
var binded = vue.ref(false);
var scrollContainer = vue.ref();
var affixStyle = vue.ref();
var rAFId = 0;
var handleScroll = function handleScroll2() {
if (!ticking.value) {
rAFId = window.requestAnimationFrame(function() {
var _affixWrapRef$value$g;
rAFId = 0;
var _ref = (_affixWrapRef$value$g = affixWrapRef.value.getBoundingClientRect()) !== null && _affixWrapRef$value$g !== void 0 ? _affixWrapRef$value$g : {
top: 0,
width: 0,
height: 0
}, wrapToTop = _ref.top, wrapWidth = _ref.width, wrapHeight = _ref.height;
var containerTop = 0;
if (scrollContainer.value instanceof HTMLElement) {
containerTop = scrollContainer.value.getBoundingClientRect().top;
}
var fixedTop;
var calcTop = wrapToTop - containerTop;
var containerHeight = scrollContainer.value[scrollContainer.value instanceof Window ? "innerHeight" : "clientHeight"] - wrapHeight;
var calcBottom = containerTop + containerHeight - props2.offsetBottom;
if (!isUndefined_1(props2.offsetTop) && calcTop <= props2.offsetTop) {
fixedTop = containerTop + props2.offsetTop;
} else if (!isUndefined_1(props2.offsetBottom) && wrapToTop >= calcBottom) {
fixedTop = calcBottom;
} else {
fixedTop = false;
}
if (affixRef.value) {
var affixed = fixedTop !== false;
var placeholderStatus = affixWrapRef.value.contains(placeholderEL.value);
if (affixed) {
affixRef.value.className = COMPONENT_NAME.value;
affixStyle.value = {
top: "".concat(fixedTop, "px"),
width: "".concat(wrapWidth, "px"),
height: "".concat(wrapHeight, "px"),
zIndex: props2.zIndex
};
if (!placeholderStatus) {
placeholderEL.value.style.width = "".concat(wrapWidth, "px");
placeholderEL.value.style.height = "".concat(wrapHeight, "px");
affixWrapRef.value.appendChild(placeholderEL.value);
}
} else {
affixRef.value.removeAttribute("class");
affixStyle.value = void 0;
placeholderStatus && placeholderEL.value.remove();
}
context.emit("fixedChange", affixed, {
top: Number(fixedTop)
});
if (isFunction_1(props2.onFixedChange))
props2.onFixedChange(affixed, {
top: Number(fixedTop)
});
}
ticking.value = false;
});
ticking.value = true;
}
};
var bindScroll = /* @__PURE__ */ function() {
var _ref2 = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee() {
return regenerator.wrap(function _callee$(_context) {
while (1)
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return vue.nextTick();
case 2:
if (!binded.value) {
_context.next = 4;
break;
}
return _context.abrupt("return");
case 4:
scrollContainer.value = getScrollContainer(props2.container);
on$1(scrollContainer.value, "scroll", handleScroll);
on$1(window, "resize", handleScroll);
binded.value = true;
case 8:
case "end":
return _context.stop();
}
}, _callee);
}));
return function bindScroll2() {
return _ref2.apply(this, arguments);
};
}();
var unbindScroll = function unbindScroll2() {
if (!scrollContainer.value || !binded.value)
return;
off$1(scrollContainer.value, "scroll", handleScroll);
off$1(window, "resize", handleScroll);
if (rAFId) {
window.cancelAnimationFrame(rAFId);
}
binded.value = false;
};
vue.watch(function() {
return props2.offsetTop;
}, function() {
handleScroll();
});
vue.watch(function() {
return props2.offsetBottom;
}, function() {
handleScroll();
});
vue.watch(function() {
return props2.zIndex;
}, function() {
handleScroll();
});
vue.onMounted(bindScroll);
vue.onActivated(bindScroll);
vue.onDeactivated(unbindScroll);
vue.onBeforeUnmount(unbindScroll);
return {
affixWrapRef,
affixRef,
bindScroll,
unbindScroll,
handleScroll,
scrollContainer,
renderTNodeJSX: renderTNodeJSX3,
affixStyle
};
},
render: function render3() {
return vue.createVNode("div", {
"ref": "affixWrapRef"
}, [vue.createVNode("div", {
"ref": "affixRef",
"style": this.affixStyle
}, [this.renderTNodeJSX("default")])]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Affix = withInstall(_Affix);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var THEME_LIST = ["info", "success", "warning", "error", "question", "loading"];
var DISTANCE = "32px";
var PLACEMENT_OFFSET = {
top: {
top: DISTANCE,
left: "50%",
transform: "translateX(-50%)"
},
center: {
left: "50%",
top: "50%",
transform: "translateX(-50%) translateY(-50%)"
},
left: {
left: DISTANCE,
top: "50%",
transform: "translateY(-50%)"
},
bottom: {
bottom: DISTANCE,
left: "50%",
transform: "translateX(-50%)"
},
right: {
right: DISTANCE,
top: "50%",
transform: "translateY(-50%)",
display: "flex",
flexDirection: "column",
alignItems: "flex-end"
},
"top-left": {
left: DISTANCE,
top: DISTANCE
},
"top-right": {
right: DISTANCE,
top: DISTANCE,
display: "flex",
flexDirection: "column",
alignItems: "flex-end"
},
"bottom-right": {
right: DISTANCE,
bottom: DISTANCE,
display: "flex",
flexDirection: "column",
alignItems: "flex-end"
},
"bottom-left": {
left: DISTANCE,
bottom: DISTANCE
}
};
var PLACEMENT_LIST = Object.keys(PLACEMENT_OFFSET);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$n = {
closeBtn: {
type: [String, Boolean, Function],
"default": void 0
},
content: {
type: [String, Function]
},
duration: {
type: Number,
"default": 3e3
},
icon: {
type: [Boolean, Function],
"default": true
},
theme: {
type: String,
"default": "info",
validator: function validator9(val) {
if (!val)
return true;
return ["info", "success", "warning", "error", "question", "loading"].includes(val);
}
},
onClose: Function,
onCloseBtnClick: Function,
onDurationEnd: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useGlobalIcon(tdIcon) {
var _useConfig = useConfig("icon"), globalConfig = _useConfig.globalConfig;
var resultIcon = {};
Object.keys(tdIcon).forEach(function(key2) {
var _globalConfig$value;
resultIcon[key2] = ((_globalConfig$value = globalConfig.value) === null || _globalConfig$value === void 0 ? void 0 : _globalConfig$value[key2]) || tdIcon[key2];
});
return resultIcon;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var ANIMATION_OPTION = {
duration: 200,
easing: "linear"
};
function fadeIn(dom, placement) {
if (!dom)
return;
var offsetWidth = (dom === null || dom === void 0 ? void 0 : dom.offsetWidth) || 0;
var offsetHeight = (dom === null || dom === void 0 ? void 0 : dom.offsetHeight) || 0;
var fadeInKeyframes = getFadeInKeyframes(placement, offsetWidth, offsetHeight);
if (!fadeInKeyframes)
return;
var styleAfterFadeIn = fadeInKeyframes[fadeInKeyframes.length - 1];
setDomStyleAfterAnimation(dom, styleAfterFadeIn);
dom.animate && dom.animate(fadeInKeyframes, ANIMATION_OPTION);
}
function fadeOut(dom, placement, onFinish) {
if (!dom)
return;
var offsetHeight = (dom === null || dom === void 0 ? void 0 : dom.offsetHeight) || 0;
var fadeOutKeyframes = getFadeOutKeyframes(placement, offsetHeight);
if (!fadeOutKeyframes)
return onFinish();
var styleAfterFadeOut = fadeOutKeyframes[fadeOutKeyframes.length - 1];
setDomStyleAfterAnimation(dom, styleAfterFadeOut);
var animation = dom.animate && dom.animate(fadeOutKeyframes, ANIMATION_OPTION);
if (animation) {
animation.onfinish = function() {
dom.style.display = "none";
onFinish();
};
} else {
dom.style.display = "none";
onFinish();
}
}
function setDomStyleAfterAnimation(dom, styleAfterAnimation) {
var keys2 = Object.keys(styleAfterAnimation);
for (var i = 0; i < keys2.length; i += 1) {
var key2 = keys2[i];
dom.style[key2] = styleAfterAnimation[key2];
}
}
function getFadeInKeyframes(placement, offsetWidth, offsetHeight) {
if (!PLACEMENT_LIST.includes(placement))
return null;
if (["top-left", "left", "bottom-left"].includes(placement)) {
return [{
opacity: 0,
marginLeft: "-".concat(offsetWidth, "px")
}, {
opacity: 1,
marginLeft: "0"
}];
}
if (["top-right", "right", "bottom-right"].includes(placement)) {
return [{
opacity: 0,
marginRight: "-".concat(offsetWidth, "px")
}, {
opacity: 1,
marginRight: "0"
}];
}
if (["top", "center"].includes(placement)) {
return [{
opacity: 0,
marginTop: "-".concat(offsetHeight, "px")
}, {
opacity: 1,
marginTop: "0"
}];
}
if (["bottom"].includes(placement)) {
return [{
opacity: 0,
transform: "translate3d(0, ".concat(offsetHeight, "px, 0)")
}, {
opacity: 1,
transform: "translate3d(0, 0, 0)"
}];
}
}
function getFadeOutKeyframes(placement, offsetHeight) {
if (!PLACEMENT_LIST.includes(placement))
return null;
if (["bottom-left", "bottom", "bottom-right"].includes(placement)) {
var marginOffset2 = "".concat(offsetHeight, "px");
return [{
opacity: 1,
marginTop: "0px"
}, {
opacity: 0,
marginTop: marginOffset2
}];
}
var marginOffset = "-".concat(offsetHeight, "px");
return [{
opacity: 1,
marginTop: "0px"
}, {
opacity: 0,
marginTop: marginOffset
}];
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$R(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$Q(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$R(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$R(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _Message = vue.defineComponent({
name: "TMessage",
props: _objectSpread$Q(_objectSpread$Q({}, props$n), {}, {
placement: String
}),
setup: function setup6(props2, _ref) {
var slots = _ref.slots, expose = _ref.expose;
var COMPONENT_NAME = usePrefixClass("message");
var _useGlobalIcon = useGlobalIcon({
InfoCircleFilledIcon,
CheckCircleFilledIcon,
ErrorCircleFilledIcon,
HelpCircleFilledIcon,
CloseIcon
}), InfoCircleFilledIcon$1 = _useGlobalIcon.InfoCircleFilledIcon, CheckCircleFilledIcon$1 = _useGlobalIcon.CheckCircleFilledIcon, ErrorCircleFilledIcon$1 = _useGlobalIcon.ErrorCircleFilledIcon, HelpCircleFilledIcon$1 = _useGlobalIcon.HelpCircleFilledIcon, CloseIcon$1 = _useGlobalIcon.CloseIcon;
var classPrefix = usePrefixClass();
var renderTNode = useTNodeJSX();
var renderContent3 = useContent();
var msgRef = vue.ref(null);
var timer = vue.ref(null);
var classes = vue.computed(function() {
var status = {};
THEME_LIST.forEach(function(t) {
return status["".concat(classPrefix.value, "-is-").concat(t)] = props2.theme === t;
});
return [COMPONENT_NAME.value, status, _defineProperty$2({}, "".concat(classPrefix.value, "-is-closable"), props2.closeBtn || slots.closeBtn)];
});
var close3 = function close4(e) {
var _props2$onClose, _props2$onCloseBtnCli;
(_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, {
trigger: "close-click",
e
});
(_props2$onCloseBtnCli = props2.onCloseBtnClick) === null || _props2$onCloseBtnCli === void 0 || _props2$onCloseBtnCli.call(props2, {
e
});
};
var clearTimer = function clearTimer2() {
props2.duration && clearTimeout(timer.value);
};
var setTimer = function setTimer2() {
if (!props2.duration) {
return;
}
timer.value = Number(setTimeout(function() {
clearTimer();
var msgDom = msgRef.value;
fadeOut(msgDom, props2.placement, function() {
var _props2$onClose2, _props2$onDurationEnd;
(_props2$onClose2 = props2.onClose) === null || _props2$onClose2 === void 0 || _props2$onClose2.call(props2, {
trigger: "duration-end"
});
(_props2$onDurationEnd = props2.onDurationEnd) === null || _props2$onDurationEnd === void 0 || _props2$onDurationEnd.call(props2);
});
}, props2.duration));
};
var renderClose = function renderClose2() {
var defaultClose = vue.createVNode(CloseIcon$1, null, null);
return vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__close"),
"onClick": close3
}, [renderTNode("closeBtn", defaultClose)]);
};
var renderIcon = function renderIcon2() {
if (props2.icon === false)
return;
if (isFunction_1(props2.icon))
return props2.icon(vue.h);
if (slots.icon) {
return slots.icon(null);
}
var Icon = {
info: InfoCircleFilledIcon$1,
success: CheckCircleFilledIcon$1,
warning: ErrorCircleFilledIcon$1,
error: ErrorCircleFilledIcon$1,
question: HelpCircleFilledIcon$1,
loading: Loading
}[props2.theme];
return vue.createVNode(Icon, null, null);
};
vue.onBeforeMount(function() {
props2.duration && setTimer();
});
vue.onMounted(function() {
var msgDom = msgRef.value;
fadeIn(msgDom, props2.placement);
});
expose({
close: close3
});
return function() {
return vue.createVNode("div", {
"ref": msgRef,
"class": classes.value,
"onMouseenter": clearTimer,
"onMouseleave": setTimer
}, [renderIcon(), renderContent3("content", "default"), renderClose()]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$Q(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$P(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$Q(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$Q(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var DEFAULT_Z_INDEX = 6e3;
var getUniqueId = function() {
var id = 0;
return function() {
id += 1;
return id;
};
}();
var MessageList = vue.defineComponent({
name: "TMessageList",
props: {
zIndex: {
type: Number,
"default": 0
},
placement: {
type: String,
"default": ""
}
},
setup: function setup7(props2, _ref) {
var expose = _ref.expose;
var COMPONENT_NAME = usePrefixClass("message__list");
var list = vue.ref([]);
var messageList = vue.ref([]);
var styles = vue.computed(function() {
return _objectSpread$P(_objectSpread$P({}, PLACEMENT_OFFSET[props2.placement]), {}, {
zIndex: props2.zIndex !== DEFAULT_Z_INDEX ? props2.zIndex : DEFAULT_Z_INDEX
});
});
var add2 = function add3(msg) {
var mg = _objectSpread$P(_objectSpread$P({}, msg), {}, {
key: getUniqueId()
});
list.value.push(mg);
return mg.key;
};
var remove2 = function remove3(index2) {
list.value.splice(index2, 1);
};
var removeAll = function removeAll2() {
list.value = [];
};
var getOffset = function getOffset2(val) {
if (!val)
return;
return isNaN(Number(val)) ? val : "".concat(val, "px");
};
var msgStyles = function msgStyles2(item) {
return item.offset && {
position: "relative",
left: getOffset(item.offset[0]),
top: getOffset(item.offset[1])
};
};
var getProps = function getProps2(index2, item) {
return _objectSpread$P(_objectSpread$P({}, item), {}, {
onCloseBtnClick: function onCloseBtnClick(e) {
if (item.onCloseBtnClick) {
item.onCloseBtnClick(e);
}
return remove2(index2);
},
onDurationEnd: function onDurationEnd() {
if (item.onDurationEnd) {
item.onDurationEnd();
}
return remove2(index2);
}
});
};
var addChild = function addChild2(el) {
if (el) {
messageList.value.push(el);
}
};
expose({
add: add2,
removeAll,
list,
messageList
});
return function() {
if (!list.value.length)
return;
return vue.createVNode("div", {
"class": COMPONENT_NAME.value,
"style": styles.value
}, [list.value.map(function(item, index2) {
return vue.createVNode(_Message, vue.mergeProps({
"key": item.key,
"style": msgStyles(item),
"ref": addChild
}, getProps(index2, item)), null);
})]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$P(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$O(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$P(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$P(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var instanceMap = /* @__PURE__ */ new Map();
function handleParams(params) {
var options = _objectSpread$O({
duration: 3e3,
attach: "body",
zIndex: DEFAULT_Z_INDEX,
placement: "top"
}, params);
options.content = params.content;
return options;
}
var MessageFunction = function MessageFunction2(props2) {
var options = handleParams(props2);
var attach = options.attach, placement = options.placement;
var attachDom = getAttach(attach);
if (!instanceMap.get(attachDom)) {
instanceMap.set(attachDom, {});
}
var p = instanceMap.get(attachDom)[placement];
var mgKey;
if (!p) {
var wrapper = document.createElement("div");
var instance = vue.createApp(MessageList, {
zIndex: options.zIndex,
placement: options.placement
}).mount(wrapper);
mgKey = instance.add(options);
instanceMap.get(attachDom)[placement] = instance;
attachDom.appendChild(wrapper);
} else {
mgKey = p.add(options);
}
return new Promise(function(resolve2) {
var ins = instanceMap.get(attachDom)[placement];
vue.nextTick(function() {
var msg = ins.messageList;
resolve2(msg === null || msg === void 0 ? void 0 : msg.find(function(mg) {
var _mg$$;
return ((_mg$$ = mg.$) === null || _mg$$ === void 0 || (_mg$$ = _mg$$.vnode) === null || _mg$$ === void 0 ? void 0 : _mg$$.key) === mgKey;
}));
});
});
};
var showThemeMessage = function showThemeMessage2(theme, params, duration) {
var options = {
theme
};
if (isString_1(params)) {
options.content = params;
} else if (isObject_1(params) && !(params instanceof Array)) {
options = _objectSpread$O(_objectSpread$O({}, options), params);
}
(duration || duration === 0) && (options.duration = duration);
return MessageFunction(options);
};
var extraApi$1 = {
info: function info(params, duration) {
return showThemeMessage("info", params, duration);
},
success: function success(params, duration) {
return showThemeMessage("success", params, duration);
},
warning: function warning(params, duration) {
return showThemeMessage("warning", params, duration);
},
error: function error2(params, duration) {
return showThemeMessage("error", params, duration);
},
question: function question(params, duration) {
return showThemeMessage("question", params, duration);
},
loading: function loading(params, duration) {
return showThemeMessage("loading", params, duration);
},
close: function close2(promise) {
promise.then(function(instance) {
return instance === null || instance === void 0 ? void 0 : instance.close();
});
},
closeAll: function closeAll() {
if (instanceMap instanceof Map) {
instanceMap.forEach(function(attach) {
Object.keys(attach).forEach(function(placement) {
var instance = attach[placement];
instance.list = [];
});
});
}
}
};
var MessagePlugin = showThemeMessage;
MessagePlugin.install = function(app) {
app.config.globalProperties.$message = showThemeMessage;
Object.keys(extraApi$1).forEach(function(funcName) {
app.config.globalProperties.$message[funcName] = extraApi$1[funcName];
});
};
Object.keys(extraApi$1).forEach(function(funcName) {
MessagePlugin[funcName] = extraApi$1[funcName];
});
var top = "top";
var bottom = "bottom";
var right = "right";
var left = "left";
var auto = "auto";
var basePlacements = [top, bottom, right, left];
var start = "start";
var end = "end";
var clippingParents = "clippingParents";
var viewport = "viewport";
var popper = "popper";
var reference = "reference";
var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) {
return acc.concat([placement + "-" + start, placement + "-" + end]);
}, []);
var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) {
return acc.concat([placement, placement + "-" + start, placement + "-" + end]);
}, []);
var beforeRead = "beforeRead";
var read = "read";
var afterRead = "afterRead";
var beforeMain = "beforeMain";
var main = "main";
var afterMain = "afterMain";
var beforeWrite = "beforeWrite";
var write = "write";
var afterWrite = "afterWrite";
var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];
function getNodeName(element2) {
return element2 ? (element2.nodeName || "").toLowerCase() : null;
}
function getWindow(node) {
if (node == null) {
return window;
}
if (node.toString() !== "[object Window]") {
var ownerDocument = node.ownerDocument;
return ownerDocument ? ownerDocument.defaultView || window : window;
}
return node;
}
function isElement(node) {
var OwnElement = getWindow(node).Element;
return node instanceof OwnElement || node instanceof Element;
}
function isHTMLElement(node) {
var OwnElement = getWindow(node).HTMLElement;
return node instanceof OwnElement || node instanceof HTMLElement;
}
function isShadowRoot(node) {
if (typeof ShadowRoot === "undefined") {
return false;
}
var OwnElement = getWindow(node).ShadowRoot;
return node instanceof OwnElement || node instanceof ShadowRoot;
}
function applyStyles(_ref) {
var state = _ref.state;
Object.keys(state.elements).forEach(function(name) {
var style2 = state.styles[name] || {};
var attributes = state.attributes[name] || {};
var element2 = state.elements[name];
if (!isHTMLElement(element2) || !getNodeName(element2)) {
return;
}
Object.assign(element2.style, style2);
Object.keys(attributes).forEach(function(name2) {
var value = attributes[name2];
if (value === false) {
element2.removeAttribute(name2);
} else {
element2.setAttribute(name2, value === true ? "" : value);
}
});
});
}
function effect$2(_ref2) {
var state = _ref2.state;
var initialStyles = {
popper: {
position: state.options.strategy,
left: "0",
top: "0",
margin: "0"
},
arrow: {
position: "absolute"
},
reference: {}
};
Object.assign(state.elements.popper.style, initialStyles.popper);
state.styles = initialStyles;
if (state.elements.arrow) {
Object.assign(state.elements.arrow.style, initialStyles.arrow);
}
return function() {
Object.keys(state.elements).forEach(function(name) {
var element2 = state.elements[name];
var attributes = state.attributes[name] || {};
var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]);
var style2 = styleProperties.reduce(function(style3, property) {
style3[property] = "";
return style3;
}, {});
if (!isHTMLElement(element2) || !getNodeName(element2)) {
return;
}
Object.assign(element2.style, style2);
Object.keys(attributes).forEach(function(attribute) {
element2.removeAttribute(attribute);
});
});
};
}
const applyStyles$1 = {
name: "applyStyles",
enabled: true,
phase: "write",
fn: applyStyles,
effect: effect$2,
requires: ["computeStyles"]
};
function getBasePlacement(placement) {
return placement.split("-")[0];
}
var max = Math.max;
var min$1 = Math.min;
var round = Math.round;
function getUAString() {
var uaData = navigator.userAgentData;
if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {
return uaData.brands.map(function(item) {
return item.brand + "/" + item.version;
}).join(" ");
}
return navigator.userAgent;
}
function isLayoutViewport() {
return !/^((?!chrome|android).)*safari/i.test(getUAString());
}
function getBoundingClientRect(element2, includeScale, isFixedStrategy) {
if (includeScale === void 0) {
includeScale = false;
}
if (isFixedStrategy === void 0) {
isFixedStrategy = false;
}
var clientRect = element2.getBoundingClientRect();
var scaleX = 1;
var scaleY = 1;
if (includeScale && isHTMLElement(element2)) {
scaleX = element2.offsetWidth > 0 ? round(clientRect.width) / element2.offsetWidth || 1 : 1;
scaleY = element2.offsetHeight > 0 ? round(clientRect.height) / element2.offsetHeight || 1 : 1;
}
var _ref = isElement(element2) ? getWindow(element2) : window, visualViewport = _ref.visualViewport;
var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;
var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;
var width = clientRect.width / scaleX;
var height = clientRect.height / scaleY;
return {
width,
height,
top: y,
right: x + width,
bottom: y + height,
left: x,
x,
y
};
}
function getLayoutRect(element2) {
var clientRect = getBoundingClientRect(element2);
var width = element2.offsetWidth;
var height = element2.offsetHeight;
if (Math.abs(clientRect.width - width) <= 1) {
width = clientRect.width;
}
if (Math.abs(clientRect.height - height) <= 1) {
height = clientRect.height;
}
return {
x: element2.offsetLeft,
y: element2.offsetTop,
width,
height
};
}
function contains(parent2, child) {
var rootNode = child.getRootNode && child.getRootNode();
if (parent2.contains(child)) {
return true;
} else if (rootNode && isShadowRoot(rootNode)) {
var next = child;
do {
if (next && parent2.isSameNode(next)) {
return true;
}
next = next.parentNode || next.host;
} while (next);
}
return false;
}
function getComputedStyle$1(element2) {
return getWindow(element2).getComputedStyle(element2);
}
function isTableElement(element2) {
return ["table", "td", "th"].indexOf(getNodeName(element2)) >= 0;
}
function getDocumentElement(element2) {
return ((isElement(element2) ? element2.ownerDocument : (
// $FlowFixMe[prop-missing]
element2.document
)) || window.document).documentElement;
}
function getParentNode(element2) {
if (getNodeName(element2) === "html") {
return element2;
}
return (
// this is a quicker (but less type safe) way to save quite some bytes from the bundle
// $FlowFixMe[incompatible-return]
// $FlowFixMe[prop-missing]
element2.assignedSlot || // step into the shadow DOM of the parent of a slotted node
element2.parentNode || // DOM Element detected
(isShadowRoot(element2) ? element2.host : null) || // ShadowRoot detected
// $FlowFixMe[incompatible-call]: HTMLElement is a Node
getDocumentElement(element2)
);
}
function getTrueOffsetParent(element2) {
if (!isHTMLElement(element2) || // https://github.com/popperjs/popper-core/issues/837
getComputedStyle$1(element2).position === "fixed") {
return null;
}
return element2.offsetParent;
}
function getContainingBlock(element2) {
var isFirefox = /firefox/i.test(getUAString());
var isIE = /Trident/i.test(getUAString());
if (isIE && isHTMLElement(element2)) {
var elementCss = getComputedStyle$1(element2);
if (elementCss.position === "fixed") {
return null;
}
}
var currentNode = getParentNode(element2);
if (isShadowRoot(currentNode)) {
currentNode = currentNode.host;
}
while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) {
var css2 = getComputedStyle$1(currentNode);
if (css2.transform !== "none" || css2.perspective !== "none" || css2.contain === "paint" || ["transform", "perspective"].indexOf(css2.willChange) !== -1 || isFirefox && css2.willChange === "filter" || isFirefox && css2.filter && css2.filter !== "none") {
return currentNode;
} else {
currentNode = currentNode.parentNode;
}
}
return null;
}
function getOffsetParent(element2) {
var window2 = getWindow(element2);
var offsetParent = getTrueOffsetParent(element2);
while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === "static") {
offsetParent = getTrueOffsetParent(offsetParent);
}
if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle$1(offsetParent).position === "static")) {
return window2;
}
return offsetParent || getContainingBlock(element2) || window2;
}
function getMainAxisFromPlacement(placement) {
return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y";
}
function within(min3, value, max$1) {
return max(min3, min$1(value, max$1));
}
function withinMaxClamp(min3, value, max3) {
var v = within(min3, value, max3);
return v > max3 ? max3 : v;
}
function getFreshSideObject() {
return {
top: 0,
right: 0,
bottom: 0,
left: 0
};
}
function mergePaddingObject(paddingObject) {
return Object.assign({}, getFreshSideObject(), paddingObject);
}
function expandToHashMap(value, keys2) {
return keys2.reduce(function(hashMap, key2) {
hashMap[key2] = value;
return hashMap;
}, {});
}
var toPaddingObject = function toPaddingObject2(padding, state) {
padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, {
placement: state.placement
})) : padding;
return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
};
function arrow(_ref) {
var _state$modifiersData$;
var state = _ref.state, name = _ref.name, options = _ref.options;
var arrowElement = state.elements.arrow;
var popperOffsets2 = state.modifiersData.popperOffsets;
var basePlacement = getBasePlacement(state.placement);
var axis = getMainAxisFromPlacement(basePlacement);
var isVertical = [left, right].indexOf(basePlacement) >= 0;
var len2 = isVertical ? "height" : "width";
if (!arrowElement || !popperOffsets2) {
return;
}
var paddingObject = toPaddingObject(options.padding, state);
var arrowRect = getLayoutRect(arrowElement);
var minProp = axis === "y" ? top : left;
var maxProp = axis === "y" ? bottom : right;
var endDiff = state.rects.reference[len2] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len2];
var startDiff = popperOffsets2[axis] - state.rects.reference[axis];
var arrowOffsetParent = getOffsetParent(arrowElement);
var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
var centerToReference = endDiff / 2 - startDiff / 2;
var min3 = paddingObject[minProp];
var max3 = clientSize - arrowRect[len2] - paddingObject[maxProp];
var center = clientSize / 2 - arrowRect[len2] / 2 + centerToReference;
var offset2 = within(min3, center, max3);
var axisProp = axis;
state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$);
}
function effect$1(_ref2) {
var state = _ref2.state, options = _ref2.options;
var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element;
if (arrowElement == null) {
return;
}
if (typeof arrowElement === "string") {
arrowElement = state.elements.popper.querySelector(arrowElement);
if (!arrowElement) {
return;
}
}
if (!contains(state.elements.popper, arrowElement)) {
return;
}
state.elements.arrow = arrowElement;
}
const arrow$1 = {
name: "arrow",
enabled: true,
phase: "main",
fn: arrow,
effect: effect$1,
requires: ["popperOffsets"],
requiresIfExists: ["preventOverflow"]
};
function getVariation(placement) {
return placement.split("-")[1];
}
var unsetSides = {
top: "auto",
right: "auto",
bottom: "auto",
left: "auto"
};
function roundOffsetsByDPR(_ref, win) {
var x = _ref.x, y = _ref.y;
var dpr = win.devicePixelRatio || 1;
return {
x: round(x * dpr) / dpr || 0,
y: round(y * dpr) / dpr || 0
};
}
function mapToStyles(_ref2) {
var _Object$assign2;
var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed;
var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y;
var _ref3 = typeof roundOffsets === "function" ? roundOffsets({
x,
y
}) : {
x,
y
};
x = _ref3.x;
y = _ref3.y;
var hasX = offsets.hasOwnProperty("x");
var hasY = offsets.hasOwnProperty("y");
var sideX = left;
var sideY = top;
var win = window;
if (adaptive) {
var offsetParent = getOffsetParent(popper2);
var heightProp = "clientHeight";
var widthProp = "clientWidth";
if (offsetParent === getWindow(popper2)) {
offsetParent = getDocumentElement(popper2);
if (getComputedStyle$1(offsetParent).position !== "static" && position === "absolute") {
heightProp = "scrollHeight";
widthProp = "scrollWidth";
}
}
offsetParent = offsetParent;
if (placement === top || (placement === left || placement === right) && variation === end) {
sideY = bottom;
var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : (
// $FlowFixMe[prop-missing]
offsetParent[heightProp]
);
y -= offsetY - popperRect.height;
y *= gpuAcceleration ? 1 : -1;
}
if (placement === left || (placement === top || placement === bottom) && variation === end) {
sideX = right;
var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : (
// $FlowFixMe[prop-missing]
offsetParent[widthProp]
);
x -= offsetX - popperRect.width;
x *= gpuAcceleration ? 1 : -1;
}
}
var commonStyles = Object.assign({
position
}, adaptive && unsetSides);
var _ref4 = roundOffsets === true ? roundOffsetsByDPR({
x,
y
}, getWindow(popper2)) : {
x,
y
};
x = _ref4.x;
y = _ref4.y;
if (gpuAcceleration) {
var _Object$assign;
return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign));
}
return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2));
}
function computeStyles(_ref5) {
var state = _ref5.state, options = _ref5.options;
var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;
var commonStyles = {
placement: getBasePlacement(state.placement),
variation: getVariation(state.placement),
popper: state.elements.popper,
popperRect: state.rects.popper,
gpuAcceleration,
isFixed: state.options.strategy === "fixed"
};
if (state.modifiersData.popperOffsets != null) {
state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {
offsets: state.modifiersData.popperOffsets,
position: state.options.strategy,
adaptive,
roundOffsets
})));
}
if (state.modifiersData.arrow != null) {
state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {
offsets: state.modifiersData.arrow,
position: "absolute",
adaptive: false,
roundOffsets
})));
}
state.attributes.popper = Object.assign({}, state.attributes.popper, {
"data-popper-placement": state.placement
});
}
const computeStyles$1 = {
name: "computeStyles",
enabled: true,
phase: "beforeWrite",
fn: computeStyles,
data: {}
};
var passive = {
passive: true
};
function effect(_ref) {
var state = _ref.state, instance = _ref.instance, options = _ref.options;
var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize;
var window2 = getWindow(state.elements.popper);
var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);
if (scroll) {
scrollParents.forEach(function(scrollParent) {
scrollParent.addEventListener("scroll", instance.update, passive);
});
}
if (resize) {
window2.addEventListener("resize", instance.update, passive);
}
return function() {
if (scroll) {
scrollParents.forEach(function(scrollParent) {
scrollParent.removeEventListener("scroll", instance.update, passive);
});
}
if (resize) {
window2.removeEventListener("resize", instance.update, passive);
}
};
}
const eventListeners = {
name: "eventListeners",
enabled: true,
phase: "write",
fn: function fn() {
},
effect,
data: {}
};
var hash$1 = {
left: "right",
right: "left",
bottom: "top",
top: "bottom"
};
function getOppositePlacement(placement) {
return placement.replace(/left|right|bottom|top/g, function(matched) {
return hash$1[matched];
});
}
var hash = {
start: "end",
end: "start"
};
function getOppositeVariationPlacement(placement) {
return placement.replace(/start|end/g, function(matched) {
return hash[matched];
});
}
function getWindowScroll(node) {
var win = getWindow(node);
var scrollLeft = win.pageXOffset;
var scrollTop = win.pageYOffset;
return {
scrollLeft,
scrollTop
};
}
function getWindowScrollBarX(element2) {
return getBoundingClientRect(getDocumentElement(element2)).left + getWindowScroll(element2).scrollLeft;
}
function getViewportRect(element2, strategy) {
var win = getWindow(element2);
var html = getDocumentElement(element2);
var visualViewport = win.visualViewport;
var width = html.clientWidth;
var height = html.clientHeight;
var x = 0;
var y = 0;
if (visualViewport) {
width = visualViewport.width;
height = visualViewport.height;
var layoutViewport = isLayoutViewport();
if (layoutViewport || !layoutViewport && strategy === "fixed") {
x = visualViewport.offsetLeft;
y = visualViewport.offsetTop;
}
}
return {
width,
height,
x: x + getWindowScrollBarX(element2),
y
};
}
function getDocumentRect(element2) {
var _element$ownerDocumen;
var html = getDocumentElement(element2);
var winScroll = getWindowScroll(element2);
var body = (_element$ownerDocumen = element2.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
var x = -winScroll.scrollLeft + getWindowScrollBarX(element2);
var y = -winScroll.scrollTop;
if (getComputedStyle$1(body || html).direction === "rtl") {
x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
}
return {
width,
height,
x,
y
};
}
function isScrollParent(element2) {
var _getComputedStyle = getComputedStyle$1(element2), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY;
return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
}
function getScrollParent(node) {
if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) {
return node.ownerDocument.body;
}
if (isHTMLElement(node) && isScrollParent(node)) {
return node;
}
return getScrollParent(getParentNode(node));
}
function listScrollParents(element2, list) {
var _element$ownerDocumen;
if (list === void 0) {
list = [];
}
var scrollParent = getScrollParent(element2);
var isBody = scrollParent === ((_element$ownerDocumen = element2.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);
var win = getWindow(scrollParent);
var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;
var updatedList = list.concat(target);
return isBody ? updatedList : (
// $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here
updatedList.concat(listScrollParents(getParentNode(target)))
);
}
function rectToClientRect(rect) {
return Object.assign({}, rect, {
left: rect.x,
top: rect.y,
right: rect.x + rect.width,
bottom: rect.y + rect.height
});
}
function getInnerBoundingClientRect(element2, strategy) {
var rect = getBoundingClientRect(element2, false, strategy === "fixed");
rect.top = rect.top + element2.clientTop;
rect.left = rect.left + element2.clientLeft;
rect.bottom = rect.top + element2.clientHeight;
rect.right = rect.left + element2.clientWidth;
rect.width = element2.clientWidth;
rect.height = element2.clientHeight;
rect.x = rect.left;
rect.y = rect.top;
return rect;
}
function getClientRectFromMixedType(element2, clippingParent, strategy) {
return clippingParent === viewport ? rectToClientRect(getViewportRect(element2, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element2)));
}
function getClippingParents(element2) {
var clippingParents2 = listScrollParents(getParentNode(element2));
var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle$1(element2).position) >= 0;
var clipperElement = canEscapeClipping && isHTMLElement(element2) ? getOffsetParent(element2) : element2;
if (!isElement(clipperElement)) {
return [];
}
return clippingParents2.filter(function(clippingParent) {
return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body";
});
}
function getClippingRect(element2, boundary, rootBoundary, strategy) {
var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element2) : [].concat(boundary);
var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]);
var firstClippingParent = clippingParents2[0];
var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) {
var rect = getClientRectFromMixedType(element2, clippingParent, strategy);
accRect.top = max(rect.top, accRect.top);
accRect.right = min$1(rect.right, accRect.right);
accRect.bottom = min$1(rect.bottom, accRect.bottom);
accRect.left = max(rect.left, accRect.left);
return accRect;
}, getClientRectFromMixedType(element2, firstClippingParent, strategy));
clippingRect.width = clippingRect.right - clippingRect.left;
clippingRect.height = clippingRect.bottom - clippingRect.top;
clippingRect.x = clippingRect.left;
clippingRect.y = clippingRect.top;
return clippingRect;
}
function computeOffsets(_ref) {
var reference2 = _ref.reference, element2 = _ref.element, placement = _ref.placement;
var basePlacement = placement ? getBasePlacement(placement) : null;
var variation = placement ? getVariation(placement) : null;
var commonX = reference2.x + reference2.width / 2 - element2.width / 2;
var commonY = reference2.y + reference2.height / 2 - element2.height / 2;
var offsets;
switch (basePlacement) {
case top:
offsets = {
x: commonX,
y: reference2.y - element2.height
};
break;
case bottom:
offsets = {
x: commonX,
y: reference2.y + reference2.height
};
break;
case right:
offsets = {
x: reference2.x + reference2.width,
y: commonY
};
break;
case left:
offsets = {
x: reference2.x - element2.width,
y: commonY
};
break;
default:
offsets = {
x: reference2.x,
y: reference2.y
};
}
var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;
if (mainAxis != null) {
var len2 = mainAxis === "y" ? "height" : "width";
switch (variation) {
case start:
offsets[mainAxis] = offsets[mainAxis] - (reference2[len2] / 2 - element2[len2] / 2);
break;
case end:
offsets[mainAxis] = offsets[mainAxis] + (reference2[len2] / 2 - element2[len2] / 2);
break;
}
}
return offsets;
}
function detectOverflow(state, options) {
if (options === void 0) {
options = {};
}
var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$strategy = _options.strategy, strategy = _options$strategy === void 0 ? state.strategy : _options$strategy, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding;
var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements));
var altContext = elementContext === popper ? reference : popper;
var popperRect = state.rects.popper;
var element2 = state.elements[altBoundary ? altContext : elementContext];
var clippingClientRect = getClippingRect(isElement(element2) ? element2 : element2.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);
var referenceClientRect = getBoundingClientRect(state.elements.reference);
var popperOffsets2 = computeOffsets({
reference: referenceClientRect,
element: popperRect,
strategy: "absolute",
placement
});
var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2));
var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect;
var overflowOffsets = {
top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
right: elementClientRect.right - clippingClientRect.right + paddingObject.right
};
var offsetData = state.modifiersData.offset;
if (elementContext === popper && offsetData) {
var offset2 = offsetData[placement];
Object.keys(overflowOffsets).forEach(function(key2) {
var multiply = [right, bottom].indexOf(key2) >= 0 ? 1 : -1;
var axis = [top, bottom].indexOf(key2) >= 0 ? "y" : "x";
overflowOffsets[key2] += offset2[axis] * multiply;
});
}
return overflowOffsets;
}
function computeAutoPlacement(state, options) {
if (options === void 0) {
options = {};
}
var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP;
var variation = getVariation(placement);
var placements$1 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) {
return getVariation(placement2) === variation;
}) : basePlacements;
var allowedPlacements = placements$1.filter(function(placement2) {
return allowedAutoPlacements.indexOf(placement2) >= 0;
});
if (allowedPlacements.length === 0) {
allowedPlacements = placements$1;
}
var overflows = allowedPlacements.reduce(function(acc, placement2) {
acc[placement2] = detectOverflow(state, {
placement: placement2,
boundary,
rootBoundary,
padding
})[getBasePlacement(placement2)];
return acc;
}, {});
return Object.keys(overflows).sort(function(a, b) {
return overflows[a] - overflows[b];
});
}
function getExpandedFallbackPlacements(placement) {
if (getBasePlacement(placement) === auto) {
return [];
}
var oppositePlacement = getOppositePlacement(placement);
return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];
}
function flip(_ref) {
var state = _ref.state, options = _ref.options, name = _ref.name;
if (state.modifiersData[name]._skip) {
return;
}
var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements;
var preferredPlacement = state.options.placement;
var basePlacement = getBasePlacement(preferredPlacement);
var isBasePlacement = basePlacement === preferredPlacement;
var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));
var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) {
return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, {
placement: placement2,
boundary,
rootBoundary,
padding,
flipVariations,
allowedAutoPlacements
}) : placement2);
}, []);
var referenceRect = state.rects.reference;
var popperRect = state.rects.popper;
var checksMap = /* @__PURE__ */ new Map();
var makeFallbackChecks = true;
var firstFittingPlacement = placements2[0];
for (var i = 0; i < placements2.length; i++) {
var placement = placements2[i];
var _basePlacement = getBasePlacement(placement);
var isStartVariation = getVariation(placement) === start;
var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;
var len2 = isVertical ? "width" : "height";
var overflow = detectOverflow(state, {
placement,
boundary,
rootBoundary,
altBoundary,
padding
});
var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;
if (referenceRect[len2] > popperRect[len2]) {
mainVariationSide = getOppositePlacement(mainVariationSide);
}
var altVariationSide = getOppositePlacement(mainVariationSide);
var checks = [];
if (checkMainAxis) {
checks.push(overflow[_basePlacement] <= 0);
}
if (checkAltAxis) {
checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);
}
if (checks.every(function(check2) {
return check2;
})) {
firstFittingPlacement = placement;
makeFallbackChecks = false;
break;
}
checksMap.set(placement, checks);
}
if (makeFallbackChecks) {
var numberOfChecks = flipVariations ? 3 : 1;
var _loop = function _loop2(_i2) {
var fittingPlacement = placements2.find(function(placement2) {
var checks2 = checksMap.get(placement2);
if (checks2) {
return checks2.slice(0, _i2).every(function(check2) {
return check2;
});
}
});
if (fittingPlacement) {
firstFittingPlacement = fittingPlacement;
return "break";
}
};
for (var _i = numberOfChecks; _i > 0; _i--) {
var _ret = _loop(_i);
if (_ret === "break")
break;
}
}
if (state.placement !== firstFittingPlacement) {
state.modifiersData[name]._skip = true;
state.placement = firstFittingPlacement;
state.reset = true;
}
}
const flip$1 = {
name: "flip",
enabled: true,
phase: "main",
fn: flip,
requiresIfExists: ["offset"],
data: {
_skip: false
}
};
function getSideOffsets(overflow, rect, preventedOffsets) {
if (preventedOffsets === void 0) {
preventedOffsets = {
x: 0,
y: 0
};
}
return {
top: overflow.top - rect.height - preventedOffsets.y,
right: overflow.right - rect.width + preventedOffsets.x,
bottom: overflow.bottom - rect.height + preventedOffsets.y,
left: overflow.left - rect.width - preventedOffsets.x
};
}
function isAnySideFullyClipped(overflow) {
return [top, right, bottom, left].some(function(side) {
return overflow[side] >= 0;
});
}
function hide(_ref) {
var state = _ref.state, name = _ref.name;
var referenceRect = state.rects.reference;
var popperRect = state.rects.popper;
var preventedOffsets = state.modifiersData.preventOverflow;
var referenceOverflow = detectOverflow(state, {
elementContext: "reference"
});
var popperAltOverflow = detectOverflow(state, {
altBoundary: true
});
var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);
var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);
var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);
var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);
state.modifiersData[name] = {
referenceClippingOffsets,
popperEscapeOffsets,
isReferenceHidden,
hasPopperEscaped
};
state.attributes.popper = Object.assign({}, state.attributes.popper, {
"data-popper-reference-hidden": isReferenceHidden,
"data-popper-escaped": hasPopperEscaped
});
}
const hide$1 = {
name: "hide",
enabled: true,
phase: "main",
requiresIfExists: ["preventOverflow"],
fn: hide
};
function distanceAndSkiddingToXY(placement, rects, offset2) {
var basePlacement = getBasePlacement(placement);
var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;
var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, {
placement
})) : offset2, skidding = _ref[0], distance2 = _ref[1];
skidding = skidding || 0;
distance2 = (distance2 || 0) * invertDistance;
return [left, right].indexOf(basePlacement) >= 0 ? {
x: distance2,
y: skidding
} : {
x: skidding,
y: distance2
};
}
function offset(_ref2) {
var state = _ref2.state, options = _ref2.options, name = _ref2.name;
var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset;
var data2 = placements.reduce(function(acc, placement) {
acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2);
return acc;
}, {});
var _data$state$placement = data2[state.placement], x = _data$state$placement.x, y = _data$state$placement.y;
if (state.modifiersData.popperOffsets != null) {
state.modifiersData.popperOffsets.x += x;
state.modifiersData.popperOffsets.y += y;
}
state.modifiersData[name] = data2;
}
const offset$1 = {
name: "offset",
enabled: true,
phase: "main",
requires: ["popperOffsets"],
fn: offset
};
function popperOffsets(_ref) {
var state = _ref.state, name = _ref.name;
state.modifiersData[name] = computeOffsets({
reference: state.rects.reference,
element: state.rects.popper,
strategy: "absolute",
placement: state.placement
});
}
const popperOffsets$1 = {
name: "popperOffsets",
enabled: true,
phase: "read",
fn: popperOffsets,
data: {}
};
function getAltAxis(axis) {
return axis === "x" ? "y" : "x";
}
function preventOverflow(_ref) {
var state = _ref.state, options = _ref.options, name = _ref.name;
var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;
var overflow = detectOverflow(state, {
boundary,
rootBoundary,
padding,
altBoundary
});
var basePlacement = getBasePlacement(state.placement);
var variation = getVariation(state.placement);
var isBasePlacement = !variation;
var mainAxis = getMainAxisFromPlacement(basePlacement);
var altAxis = getAltAxis(mainAxis);
var popperOffsets2 = state.modifiersData.popperOffsets;
var referenceRect = state.rects.reference;
var popperRect = state.rects.popper;
var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, {
placement: state.placement
})) : tetherOffset;
var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? {
mainAxis: tetherOffsetValue,
altAxis: tetherOffsetValue
} : Object.assign({
mainAxis: 0,
altAxis: 0
}, tetherOffsetValue);
var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;
var data2 = {
x: 0,
y: 0
};
if (!popperOffsets2) {
return;
}
if (checkMainAxis) {
var _offsetModifierState$;
var mainSide = mainAxis === "y" ? top : left;
var altSide = mainAxis === "y" ? bottom : right;
var len2 = mainAxis === "y" ? "height" : "width";
var offset2 = popperOffsets2[mainAxis];
var min3 = offset2 + overflow[mainSide];
var max$1 = offset2 - overflow[altSide];
var additive = tether ? -popperRect[len2] / 2 : 0;
var minLen = variation === start ? referenceRect[len2] : popperRect[len2];
var maxLen = variation === start ? -popperRect[len2] : -referenceRect[len2];
var arrowElement = state.elements.arrow;
var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {
width: 0,
height: 0
};
var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject();
var arrowPaddingMin = arrowPaddingObject[mainSide];
var arrowPaddingMax = arrowPaddingObject[altSide];
var arrowLen = within(0, referenceRect[len2], arrowRect[len2]);
var minOffset = isBasePlacement ? referenceRect[len2] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;
var maxOffset = isBasePlacement ? -referenceRect[len2] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;
var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);
var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;
var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;
var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset;
var tetherMax = offset2 + maxOffset - offsetModifierValue;
var preventedOffset = within(tether ? min$1(min3, tetherMin) : min3, offset2, tether ? max(max$1, tetherMax) : max$1);
popperOffsets2[mainAxis] = preventedOffset;
data2[mainAxis] = preventedOffset - offset2;
}
if (checkAltAxis) {
var _offsetModifierState$2;
var _mainSide = mainAxis === "x" ? top : left;
var _altSide = mainAxis === "x" ? bottom : right;
var _offset = popperOffsets2[altAxis];
var _len = altAxis === "y" ? "height" : "width";
var _min = _offset + overflow[_mainSide];
var _max = _offset - overflow[_altSide];
var isOriginSide = [top, left].indexOf(basePlacement) !== -1;
var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;
var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;
var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;
var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);
popperOffsets2[altAxis] = _preventedOffset;
data2[altAxis] = _preventedOffset - _offset;
}
state.modifiersData[name] = data2;
}
const preventOverflow$1 = {
name: "preventOverflow",
enabled: true,
phase: "main",
fn: preventOverflow,
requiresIfExists: ["offset"]
};
function getHTMLElementScroll(element2) {
return {
scrollLeft: element2.scrollLeft,
scrollTop: element2.scrollTop
};
}
function getNodeScroll(node) {
if (node === getWindow(node) || !isHTMLElement(node)) {
return getWindowScroll(node);
} else {
return getHTMLElementScroll(node);
}
}
function isElementScaled(element2) {
var rect = element2.getBoundingClientRect();
var scaleX = round(rect.width) / element2.offsetWidth || 1;
var scaleY = round(rect.height) / element2.offsetHeight || 1;
return scaleX !== 1 || scaleY !== 1;
}
function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {
if (isFixed === void 0) {
isFixed = false;
}
var isOffsetParentAnElement = isHTMLElement(offsetParent);
var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);
var documentElement = getDocumentElement(offsetParent);
var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);
var scroll = {
scrollLeft: 0,
scrollTop: 0
};
var offsets = {
x: 0,
y: 0
};
if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078
isScrollParent(documentElement)) {
scroll = getNodeScroll(offsetParent);
}
if (isHTMLElement(offsetParent)) {
offsets = getBoundingClientRect(offsetParent, true);
offsets.x += offsetParent.clientLeft;
offsets.y += offsetParent.clientTop;
} else if (documentElement) {
offsets.x = getWindowScrollBarX(documentElement);
}
}
return {
x: rect.left + scroll.scrollLeft - offsets.x,
y: rect.top + scroll.scrollTop - offsets.y,
width: rect.width,
height: rect.height
};
}
function order(modifiers) {
var map = /* @__PURE__ */ new Map();
var visited = /* @__PURE__ */ new Set();
var result = [];
modifiers.forEach(function(modifier) {
map.set(modifier.name, modifier);
});
function sort2(modifier) {
visited.add(modifier.name);
var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);
requires.forEach(function(dep) {
if (!visited.has(dep)) {
var depModifier = map.get(dep);
if (depModifier) {
sort2(depModifier);
}
}
});
result.push(modifier);
}
modifiers.forEach(function(modifier) {
if (!visited.has(modifier.name)) {
sort2(modifier);
}
});
return result;
}
function orderModifiers(modifiers) {
var orderedModifiers = order(modifiers);
return modifierPhases.reduce(function(acc, phase) {
return acc.concat(orderedModifiers.filter(function(modifier) {
return modifier.phase === phase;
}));
}, []);
}
function debounce$2(fn2) {
var pending;
return function() {
if (!pending) {
pending = new Promise(function(resolve2) {
Promise.resolve().then(function() {
pending = void 0;
resolve2(fn2());
});
});
}
return pending;
};
}
function mergeByName(modifiers) {
var merged = modifiers.reduce(function(merged2, current) {
var existing = merged2[current.name];
merged2[current.name] = existing ? Object.assign({}, existing, current, {
options: Object.assign({}, existing.options, current.options),
data: Object.assign({}, existing.data, current.data)
}) : current;
return merged2;
}, {});
return Object.keys(merged).map(function(key2) {
return merged[key2];
});
}
var DEFAULT_OPTIONS = {
placement: "bottom",
modifiers: [],
strategy: "absolute"
};
function areValidElements() {
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return !args.some(function(element2) {
return !(element2 && typeof element2.getBoundingClientRect === "function");
});
}
function popperGenerator(generatorOptions) {
if (generatorOptions === void 0) {
generatorOptions = {};
}
var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;
return function createPopper2(reference2, popper2, options) {
if (options === void 0) {
options = defaultOptions;
}
var state = {
placement: "bottom",
orderedModifiers: [],
options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),
modifiersData: {},
elements: {
reference: reference2,
popper: popper2
},
attributes: {},
styles: {}
};
var effectCleanupFns = [];
var isDestroyed = false;
var instance = {
state,
setOptions: function setOptions(setOptionsAction) {
var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction;
cleanupModifierEffects();
state.options = Object.assign({}, defaultOptions, state.options, options2);
state.scrollParents = {
reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [],
popper: listScrollParents(popper2)
};
var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers)));
state.orderedModifiers = orderedModifiers.filter(function(m) {
return m.enabled;
});
runModifierEffects();
return instance.update();
},
// Sync update – it will always be executed, even if not necessary. This
// is useful for low frequency updates where sync behavior simplifies the
// logic.
// For high frequency updates (e.g. `resize` and `scroll` events), always
// prefer the async Popper#update method
forceUpdate: function forceUpdate() {
if (isDestroyed) {
return;
}
var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper;
if (!areValidElements(reference3, popper3)) {
return;
}
state.rects = {
reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"),
popper: getLayoutRect(popper3)
};
state.reset = false;
state.placement = state.options.placement;
state.orderedModifiers.forEach(function(modifier) {
return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);
});
for (var index2 = 0; index2 < state.orderedModifiers.length; index2++) {
if (state.reset === true) {
state.reset = false;
index2 = -1;
continue;
}
var _state$orderedModifie = state.orderedModifiers[index2], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name;
if (typeof fn2 === "function") {
state = fn2({
state,
options: _options,
name,
instance
}) || state;
}
}
},
// Async and optimistically optimized update – it will not be executed if
// not necessary (debounced to run at most once-per-tick)
update: debounce$2(function() {
return new Promise(function(resolve2) {
instance.forceUpdate();
resolve2(state);
});
}),
destroy: function destroy2() {
cleanupModifierEffects();
isDestroyed = true;
}
};
if (!areValidElements(reference2, popper2)) {
return instance;
}
instance.setOptions(options).then(function(state2) {
if (!isDestroyed && options.onFirstUpdate) {
options.onFirstUpdate(state2);
}
});
function runModifierEffects() {
state.orderedModifiers.forEach(function(_ref) {
var name = _ref.name, _ref$options = _ref.options, options2 = _ref$options === void 0 ? {} : _ref$options, effect2 = _ref.effect;
if (typeof effect2 === "function") {
var cleanupFn = effect2({
state,
name,
instance,
options: options2
});
var noopFn = function noopFn2() {
};
effectCleanupFns.push(cleanupFn || noopFn);
}
});
}
function cleanupModifierEffects() {
effectCleanupFns.forEach(function(fn2) {
return fn2();
});
effectCleanupFns = [];
}
return instance;
};
}
var defaultModifiers = [eventListeners, popperOffsets$1, computeStyles$1, applyStyles$1, offset$1, flip$1, preventOverflow$1, arrow$1, hide$1];
var createPopper = /* @__PURE__ */ popperGenerator({
defaultModifiers
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var reWhitespace = /\s/;
function trimmedEndIndex$1(string) {
var index2 = string.length;
while (index2-- && reWhitespace.test(string.charAt(index2))) {
}
return index2;
}
var _trimmedEndIndex = trimmedEndIndex$1;
var trimmedEndIndex = _trimmedEndIndex;
var reTrimStart = /^\s+/;
function baseTrim$1(string) {
return string ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, "") : string;
}
var _baseTrim = baseTrim$1;
var baseTrim = _baseTrim, isObject$4 = isObject_1, isSymbol$2 = isSymbol_1;
var NAN = 0 / 0;
var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
var reIsBinary = /^0b[01]+$/i;
var reIsOctal = /^0o[0-7]+$/i;
var freeParseInt = parseInt;
function toNumber$1(value) {
if (typeof value == "number") {
return value;
}
if (isSymbol$2(value)) {
return NAN;
}
if (isObject$4(value)) {
var other = typeof value.valueOf == "function" ? value.valueOf() : value;
value = isObject$4(other) ? other + "" : other;
}
if (typeof value != "string") {
return value === 0 ? value : +value;
}
value = baseTrim(value);
var isBinary = reIsBinary.test(value);
return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;
}
var toNumber_1 = toNumber$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var root = _root;
var now$1 = function now() {
return root.Date.now();
};
var now_1 = now$1;
var isObject$3 = isObject_1, now2 = now_1, toNumber = toNumber_1;
var FUNC_ERROR_TEXT$2 = "Expected a function";
var nativeMax = Math.max, nativeMin$1 = Math.min;
function debounce$1(func, wait, options) {
var lastArgs, lastThis, maxWait, result, timerId, lastCallTime, lastInvokeTime = 0, leading = false, maxing = false, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT$2);
}
wait = toNumber(wait) || 0;
if (isObject$3(options)) {
leading = !!options.leading;
maxing = "maxWait" in options;
maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
function invokeFunc(time) {
var args = lastArgs, thisArg = lastThis;
lastArgs = lastThis = void 0;
lastInvokeTime = time;
result = func.apply(thisArg, args);
return result;
}
function leadingEdge(time) {
lastInvokeTime = time;
timerId = setTimeout(timerExpired, wait);
return leading ? invokeFunc(time) : result;
}
function remainingWait(time) {
var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime, timeWaiting = wait - timeSinceLastCall;
return maxing ? nativeMin$1(timeWaiting, maxWait - timeSinceLastInvoke) : timeWaiting;
}
function shouldInvoke(time) {
var timeSinceLastCall = time - lastCallTime, timeSinceLastInvoke = time - lastInvokeTime;
return lastCallTime === void 0 || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;
}
function timerExpired() {
var time = now2();
if (shouldInvoke(time)) {
return trailingEdge(time);
}
timerId = setTimeout(timerExpired, remainingWait(time));
}
function trailingEdge(time) {
timerId = void 0;
if (trailing && lastArgs) {
return invokeFunc(time);
}
lastArgs = lastThis = void 0;
return result;
}
function cancel() {
if (timerId !== void 0) {
clearTimeout(timerId);
}
lastInvokeTime = 0;
lastArgs = lastCallTime = lastThis = timerId = void 0;
}
function flush() {
return timerId === void 0 ? result : trailingEdge(now2());
}
function debounced() {
var time = now2(), isInvoking = shouldInvoke(time);
lastArgs = arguments;
lastThis = this;
lastCallTime = time;
if (isInvoking) {
if (timerId === void 0) {
return leadingEdge(lastCallTime);
}
if (maxing) {
clearTimeout(timerId);
timerId = setTimeout(timerExpired, wait);
return invokeFunc(lastCallTime);
}
}
if (timerId === void 0) {
timerId = setTimeout(timerExpired, wait);
}
return result;
}
debounced.cancel = cancel;
debounced.flush = flush;
return debounced;
}
var debounce_1 = debounce$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useCommonClassName() {
var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix;
var sizeClassNames = {
small: "".concat(classPrefix.value, "-size-s"),
medium: "".concat(classPrefix.value, "-size-m"),
large: "".concat(classPrefix.value, "-size-l"),
"default": "",
xs: "".concat(classPrefix.value, "-size-xs"),
xl: "".concat(classPrefix.value, "-size-xl"),
block: "".concat(classPrefix.value, "-size-full-width")
};
var statusClassNames = {
loading: "".concat(classPrefix.value, "-is-loading"),
loadMore: "".concat(classPrefix.value, "-is-load-more"),
disabled: "".concat(classPrefix.value, "-is-disabled"),
focused: "".concat(classPrefix.value, "-is-focused"),
success: "".concat(classPrefix.value, "-is-success"),
error: "".concat(classPrefix.value, "-is-error"),
warning: "".concat(classPrefix.value, "-is-warning"),
selected: "".concat(classPrefix.value, "-is-selected"),
active: "".concat(classPrefix.value, "-is-active"),
checked: "".concat(classPrefix.value, "-is-checked"),
current: "".concat(classPrefix.value, "-is-current"),
hidden: "".concat(classPrefix.value, "-is-hidden"),
visible: "".concat(classPrefix.value, "-is-visible"),
expanded: "".concat(classPrefix.value, "-is-expanded"),
indeterminate: "".concat(classPrefix.value, "-is-indeterminate")
};
return {
classPrefix,
sizeClassNames,
statusClassNames,
classNames: {
size: sizeClassNames,
status: statusClassNames
}
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useDefaultValue(value, defaultValue, onChange, propsName) {
var _getCurrentInstance = vue.getCurrentInstance(), emit = _getCurrentInstance.emit, vnode = _getCurrentInstance.vnode;
var internalValue = vue.ref();
var vProps = vnode.props || {};
var isVMP = Object.prototype.hasOwnProperty.call(vProps, propsName) || Object.prototype.hasOwnProperty.call(vProps, kebabCase_1(propsName));
if (isVMP) {
return [value, function(newValue) {
emit("update:".concat(propsName), newValue);
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
}];
}
internalValue.value = defaultValue;
return [internalValue, function(newValue) {
internalValue.value = newValue;
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
}];
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var TDisplayNoneElementRefresh = "t-display-none-element-refresh";
function useDestroyOnClose() {
var refresh = vue.ref(0);
vue.provide(TDisplayNoneElementRefresh, refresh);
vue.onUpdated(function() {
refresh.value += 1;
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$O(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$N(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$O(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$O(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var useVirtualScroll$1 = function useVirtualScroll(_ref) {
var data2 = _ref.data, container = _ref.container, _ref$fixedHeight = _ref.fixedHeight, fixedHeight = _ref$fixedHeight === void 0 ? false : _ref$fixedHeight, _ref$lineHeight = _ref.lineHeight, lineHeight = _ref$lineHeight === void 0 ? 30 : _ref$lineHeight, _ref$bufferSize = _ref.bufferSize, bufferSize = _ref$bufferSize === void 0 ? 20 : _ref$bufferSize, _ref$threshold = _ref.threshold, threshold = _ref$threshold === void 0 ? 100 : _ref$threshold;
var state = vue.reactive({
visibleData: [],
cachedHeight: [],
cachedScrollY: []
});
var isVirtual = vue.computed(function() {
return data2.value.length > threshold;
});
var updateId = vue.ref(0);
var trs = /* @__PURE__ */ new Map();
var visibleCount = 0;
var beforeScrollTop = 0;
var index2 = 0;
var offset2 = 0;
var start2 = 0;
var last2 = 0;
var reset = function reset2() {
data2.value.forEach(function(item, i) {
item.$index = i;
if (fixedHeight) {
state.cachedScrollY[i] = i * lineHeight;
}
});
if (!fixedHeight) {
state.cachedScrollY[data2.value.length - 1] = void 0;
}
};
reset();
var scrollHeight = vue.computed(function() {
var cachedHeight = state.cachedHeight;
var length = cachedHeight.length;
if (length) {
var maxScrollY = cachedHeight.reduce(function(sum, v) {
return sum + v || lineHeight;
}, 0);
if (cachedHeight.length === data2.value.length) {
return maxScrollY;
}
var average = maxScrollY / cachedHeight.length;
return maxScrollY + (data2.value.length - cachedHeight.length) * average;
}
return isVirtual.value ? data2.value.length * lineHeight : 0;
});
var translateY = vue.computed(function() {
var visibleData = state.visibleData;
var firstRow = visibleData[0];
if (firstRow) {
return visibleData.length === 1 ? 0 : state.cachedScrollY[firstRow.$index];
}
return 0;
});
var updateVisibleData = function updateVisibleData2() {
last2 = Math.min(start2 + visibleCount + bufferSize * 2, data2.value.length);
state.visibleData = data2.value.slice(start2, last2);
};
var calculateScrollY = function calculateScrollY2() {
var _anchorDom$getBoundin;
var anchorDom = trs.get(index2);
if (!anchorDom) {
return;
}
var anchorDomHeight = anchorDom === null || anchorDom === void 0 || (_anchorDom$getBoundin = anchorDom.getBoundingClientRect()) === null || _anchorDom$getBoundin === void 0 ? void 0 : _anchorDom$getBoundin.height;
state.cachedScrollY[index2] = container.value.scrollTop - offset2;
state.cachedHeight[index2] = anchorDomHeight;
for (var i = index2 + 1; i <= ((_state$visibleData = state.visibleData[state.visibleData.length - 1]) === null || _state$visibleData === void 0 ? void 0 : _state$visibleData.$index); i++) {
var _state$visibleData;
var tr = trs.get(i);
var _ref2 = (tr === null || tr === void 0 ? void 0 : tr.getBoundingClientRect()) || {}, height = _ref2.height;
state.cachedHeight[i] = height;
var scrollY = state.cachedScrollY[i - 1] + state.cachedHeight[i - 1];
state.cachedScrollY.splice(i, 1, scrollY);
}
for (var _i = index2 - 1; _i >= ((_state$visibleData$ = state.visibleData[0]) === null || _state$visibleData$ === void 0 ? void 0 : _state$visibleData$.$index); _i--) {
var _state$visibleData$;
var _tr = trs.get(_i);
var _ref3 = (_tr === null || _tr === void 0 ? void 0 : _tr.getBoundingClientRect()) || {}, _height = _ref3.height;
state.cachedHeight[_i] = _height;
var _scrollY = state.cachedScrollY[_i + 1] - state.cachedHeight[_i];
state.cachedScrollY.splice(_i, 1, _scrollY);
}
if (state.cachedScrollY[0] > 0) {
var distance2 = state.cachedScrollY[0];
var length = Math.min(last2, data2.value.length);
for (var _i2 = 0; _i2 < length; _i2++) {
state.cachedScrollY.splice(_i2, 1, state.cachedScrollY[_i2] - distance2);
}
var scrollTop = state.cachedScrollY[index2 - 1] ? state.cachedScrollY[index2 - 1] + offset2 : offset2;
container.value.scrollTop = scrollTop;
beforeScrollTop = scrollTop;
}
if (state.cachedScrollY[start2] < 0) {
var s = state.cachedHeight.slice(0, Math.max(0, index2)).reduce(function(sum, v) {
return sum + v;
}, 0) + offset2;
container.value.scrollTop = s;
beforeScrollTop = s;
if (s === 0) {
index2 = 0;
offset2 = 0;
}
}
vue.nextTick(function() {
var _container$value = container.value, scrollTop2 = _container$value.scrollTop, scrollHeight2 = _container$value.scrollHeight, clientHeight = _container$value.clientHeight;
if (scrollTop2 + clientHeight === scrollHeight2) {
for (var _i3 = last2 - 1; _i3 >= start2; _i3--) {
if (_i3 === last2 - 1) {
state.cachedScrollY.splice(_i3, 1, scrollHeight2.value - state.cachedHeight[_i3]);
} else {
state.cachedScrollY.splice(_i3, 1, state.cachedScrollY[_i3 + 1] - state.cachedHeight[_i3]);
}
}
}
});
};
var handleScroll = function handleScroll2() {
if (!isVirtual.value)
return;
var scrollTop = container.value.scrollTop;
var distance2 = scrollTop - beforeScrollTop;
beforeScrollTop = scrollTop;
distance2 += offset2;
var lastIndex = index2;
if (!distance2)
return;
if (distance2 >= 0) {
while (lastIndex < data2.value.length && distance2 > (state.cachedHeight[lastIndex] || lineHeight)) {
if (!state.cachedHeight[lastIndex]) {
state.cachedHeight[lastIndex] = lineHeight;
}
distance2 -= state.cachedHeight[lastIndex];
lastIndex++;
}
if (lastIndex >= data2.value.length) {
index2 = data2.value.length - 1;
offset2 = 0;
} else {
index2 = lastIndex;
offset2 = distance2;
}
var _container$value2 = container.value, clientHeight = _container$value2.clientHeight, scrollHeight2 = _container$value2.scrollHeight;
if (scrollTop + clientHeight === scrollHeight2) {
index2 = data2.value.length - visibleCount + 1;
}
if (start2 <= index2 - bufferSize) {
start2 = Math.min(data2.value.length - visibleCount, index2 - bufferSize);
if (start2 < 0) {
start2 = 0;
}
}
} else {
while (distance2 < 0) {
lastIndex--;
if (!state.cachedHeight[lastIndex]) {
state.cachedHeight[lastIndex] = lineHeight;
}
distance2 += state.cachedHeight[lastIndex];
}
if (lastIndex < 0) {
index2 = 0;
offset2 = 0;
} else {
index2 = lastIndex;
offset2 = distance2;
}
calculateScrollY();
if (start2 > index2 - bufferSize) {
start2 = Math.max(0, index2 - bufferSize);
}
}
updateVisibleData();
};
!fixedHeight && vue.watch(updateId, calculateScrollY, {
flush: "post"
});
var handleRowMounted = function handleRowMounted2() {
if (!isVirtual.value)
return;
updateId.value++;
};
vue.watch(data2, function() {
reset();
state.visibleData = [];
state.cachedScrollY = [];
state.cachedHeight = [];
beforeScrollTop = 0;
index2 = 0;
offset2 = 0;
start2 = 0;
trs.clear();
if (data2.value.length <= threshold) {
state.visibleData = data2.value;
} else {
updateVisibleData();
}
container.value && (container.value.scrollTop = 0);
});
var mounted2 = false;
var refreshContainer = function refreshContainer2() {
if (mounted2) {
visibleCount = Math.ceil(container.value.offsetHeight / lineHeight);
updateVisibleData();
}
};
vue.onMounted(function() {
if (!window || !window.IntersectionObserver) {
return;
}
var ob = new window.IntersectionObserver(function(entries) {
var entry = entries[0];
if (entry.isIntersecting || entry.intersectionRatio) {
mounted2 = true;
isVirtual.value && refreshContainer();
ob.unobserve(container.value);
}
});
container.value && ob.observe(container.value);
});
return _objectSpread$N(_objectSpread$N({
trs,
scrollHeight
}, vue.toRefs(state)), {}, {
translateY,
handleScroll,
handleRowMounted,
refreshContainer,
fixedHeight,
calculateScrollY
});
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useVModel(value, modelValue, defaultValue, onChange) {
var propName = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : "value";
var _getCurrentInstance = vue.getCurrentInstance(), emit = _getCurrentInstance.emit, vnode = _getCurrentInstance.vnode;
var internalValue = vue.ref();
var vProps = vnode.props || {};
var isVM = Object.prototype.hasOwnProperty.call(vProps, "modelValue") || Object.prototype.hasOwnProperty.call(vProps, "model-value");
var isVMP = Object.prototype.hasOwnProperty.call(vProps, propName) || Object.prototype.hasOwnProperty.call(vProps, kebabCase_1(propName));
if (isVM) {
return [modelValue, function(newValue) {
emit("update:modelValue", newValue);
for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
args[_key - 1] = arguments[_key];
}
onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
}];
}
if (isVMP) {
return [value, function(newValue) {
emit("update:".concat(propName), newValue);
for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
args[_key2 - 1] = arguments[_key2];
}
onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
}];
}
internalValue.value = defaultValue;
return [internalValue, function(newValue) {
internalValue.value = newValue;
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
args[_key3 - 1] = arguments[_key3];
}
onChange === null || onChange === void 0 || onChange.apply(void 0, [newValue].concat(args));
}];
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var logSet = /* @__PURE__ */ new Set();
var log = {
warn: function warn(componentName, message) {
console.warn("TDesign ".concat(componentName, " Warn: ").concat(message));
},
warnOnce: function warnOnce(componentName, message) {
var msgContent = "TDesign ".concat(componentName, " Warn: ").concat(message);
if (logSet.has(msgContent))
return;
logSet.add(msgContent);
console.warn(msgContent);
},
error: function error3(componentName, message) {
console.error("TDesign ".concat(componentName, " Error: ").concat(message));
},
errorOnce: function errorOnce(componentName, message) {
var msgContent = "TDesign ".concat(componentName, " Error: ").concat(message);
if (logSet.has(msgContent))
return;
logSet.add(msgContent);
console.error(msgContent);
},
info: function info2(componentName, message) {
console.info("TDesign ".concat(componentName, " Info: ").concat(message));
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var popupProps = {
attach: {
type: [String, Function],
"default": "body"
},
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
delay: {
type: [Number, Array]
},
destroyOnClose: Boolean,
disabled: Boolean,
hideEmptyPopup: Boolean,
overlayClassName: {
type: [String, Object, Array]
},
overlayInnerClassName: {
type: [String, Object, Array]
},
overlayInnerStyle: {
type: [Boolean, Object, Function]
},
overlayStyle: {
type: [Boolean, Object, Function]
},
placement: {
type: String,
"default": "top"
},
popperOptions: {
type: Object
},
showArrow: Boolean,
trigger: {
type: String,
"default": "hover",
validator: function validator10(val) {
if (!val)
return true;
return ["hover", "click", "focus", "mousedown", "context-menu"].includes(val);
}
},
triggerElement: {
type: [String, Function]
},
visible: {
type: Boolean,
"default": void 0
},
modelValue: {
type: Boolean,
"default": void 0
},
defaultVisible: Boolean,
zIndex: {
type: Number
},
onScroll: Function,
onScrollToBottom: Function,
onVisibleChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useResizeObserver(container, callback) {
if (typeof window === "undefined")
return;
var isSupport = window && window.ResizeObserver;
if (!isSupport)
return;
var containerObserver = null;
var cleanupObserver = function cleanupObserver2() {
if (!containerObserver || !container.value)
return;
containerObserver.unobserve(container.value);
containerObserver.disconnect();
containerObserver = null;
};
var addObserver = function addObserver2(el) {
containerObserver = new ResizeObserver(callback);
containerObserver.observe(el);
};
if (container !== null && container !== void 0 && container.value) {
vue.watch(container, function(el) {
cleanupObserver();
el && addObserver(el);
}, {
immediate: true,
flush: "post"
});
}
vue.onBeforeUnmount(function() {
cleanupObserver();
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _isSlot$b(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
function filterEmpty() {
var children = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
var vnodes = [];
children.forEach(function(child) {
if (isArray_1(child)) {
vnodes.push.apply(vnodes, _toConsumableArray(child));
} else if (child.type === vue.Fragment) {
vnodes.push.apply(vnodes, _toConsumableArray(filterEmpty(child.children)));
} else {
vnodes.push(child);
}
});
return vnodes.filter(function(c) {
return !(c && (c.type === vue.Comment || c.type === vue.Fragment && c.children.length === 0 || c.type === vue.Text && c.children.trim() === ""));
});
}
function isRectChanged(rect1, rect2) {
if (!rect1 && !rect2)
return false;
if (!rect1 || !rect2)
return true;
if (["width", "height", "x", "y"].some(function(k) {
return rect1[k] !== rect2[k];
})) {
return true;
}
return false;
}
function useElement(getter) {
var instance = vue.getCurrentInstance();
var el = vue.ref();
vue.onMounted(function() {
el.value = getter(instance);
});
vue.onUpdated(function() {
var newEl = getter(instance);
if (el.value !== newEl) {
el.value = newEl;
}
});
return el;
}
var Trigger = vue.defineComponent({
name: "TPopupTrigger",
props: {
forwardRef: Function
},
emits: ["resize"],
setup: function setup8(props2, _ref) {
var emit = _ref.emit, slots = _ref.slots;
var el = useElement(function(vm) {
var containerNode = vm.parent.vnode;
return containerNode.el.nextElementSibling;
});
var contentRect = vue.ref();
vue.watch(el, function() {
var _props2$forwardRef;
(_props2$forwardRef = props2.forwardRef) === null || _props2$forwardRef === void 0 || _props2$forwardRef.call(props2, el.value);
});
useResizeObserver(el, function(_ref2) {
var _ref3 = _slicedToArray(_ref2, 1), newContentRect = _ref3[0].contentRect;
contentRect.value = newContentRect;
});
vue.watch(contentRect, function(newRect, oldRect) {
if (isRectChanged(newRect, oldRect)) {
emit("resize");
}
});
return function() {
var _slots$default, _children$;
var children = filterEmpty((_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots));
if (children.length > 1 || ((_children$ = children[0]) === null || _children$ === void 0 ? void 0 : _children$.type) === vue.Text) {
return vue.createVNode("span", null, [children]);
}
return children[0];
};
}
});
var Content = vue.defineComponent({
name: "TPopupContent",
emits: ["resize"],
setup: function setup9(props2, _ref4) {
var emit = _ref4.emit, slots = _ref4.slots;
var contentEl = useElement(function(vm) {
return vm.vnode.el.children[0];
});
useResizeObserver(contentEl, function() {
emit("resize");
});
return function() {
return vue.createVNode("div", {
"style": "position: absolute; top: 0px; left: 0px; width: 100%"
}, [slots["default"]()]);
};
}
});
var Container = vue.defineComponent({
name: "TPopupContainer",
inheritAttrs: false,
props: {
parent: Object,
visible: Boolean,
attach: popupProps.attach,
forwardRef: Function
},
emits: ["resize", "contentMounted"],
setup: function setup10(props2, _ref5) {
var emit = _ref5.emit, attrs = _ref5.attrs, slots = _ref5.slots, expose = _ref5.expose;
var triggerEl = vue.ref();
var mountContent = vue.ref(false);
function emitResize() {
emit("resize");
}
vue.onMounted(function() {
requestAnimationFrame(function() {
mountContent.value = props2.visible;
});
});
vue.watch(function() {
return props2.visible;
}, function(visible) {
if (visible) {
mountContent.value = props2.visible;
}
});
expose({
unmountContent: function unmountContent() {
mountContent.value = false;
}
});
return function() {
var _slot;
var getElement = function getElement2() {
return getSSRAttach() || getAttach(props2.attach, triggerEl.value);
};
return vue.createVNode(vue.Fragment, null, [vue.createVNode(Trigger, {
"class": attrs["class"],
"forwardRef": function forwardRef(el) {
props2.forwardRef(el);
triggerEl.value = el;
},
"onResize": emitResize
}, _isSlot$b(_slot = slots["default"]()) ? _slot : {
"default": function _default16() {
return [_slot];
}
}), mountContent.value && vue.createVNode(vue.Teleport, {
"disabled": !getElement(),
"to": getElement()
}, {
"default": function _default16() {
return [vue.createVNode(Content, {
"onResize": emitResize,
"onVnodeMounted": function onVnodeMounted() {
return emit("contentMounted");
}
}, {
"default": function _default17() {
return [slots.content && slots.content()];
}
})];
}
})]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$N(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$M(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$N(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$N(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$a(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var POPUP_ATTR_NAME = "data-td-popup";
var POPUP_PARENT_ATTR_NAME = "data-td-popup-parent";
function getPopperTree(id, upwards) {
var list = [];
var selectors = [POPUP_PARENT_ATTR_NAME, POPUP_ATTR_NAME];
if (!id)
return list;
if (upwards) {
selectors.unshift(selectors.pop());
}
recurse(id);
return list;
function recurse(id2) {
var children = document.querySelectorAll("[".concat(selectors[0], '="').concat(id2, '"]'));
children.forEach(function(el) {
list.push(el);
var childId = el.getAttribute(selectors[1]);
if (childId && childId !== id2) {
recurse(childId);
}
});
}
}
var parentKey = Symbol();
function getPopperPlacement(placement) {
return placement.replace(/-(left|top)$/, "-start").replace(/-(right|bottom)$/, "-end");
}
function attachListeners(elm) {
var offs = [];
return {
add: function add2(type, listener) {
if (!type)
return;
on$1(elm.value, type, listener);
offs.push(function() {
off$1(elm.value, type, listener);
});
},
clean: function clean() {
offs.forEach(function(handler) {
return handler === null || handler === void 0 ? void 0 : handler();
});
offs.length = 0;
}
};
}
var _Popup = vue.defineComponent({
name: "TPopup",
props: _objectSpread$M(_objectSpread$M({}, popupProps), {}, {
expandAnimation: {
type: Boolean
}
}),
setup: function setup11(props2, _ref) {
var _process$env;
var expose = _ref.expose;
var _toRefs = vue.toRefs(props2), propVisible = _toRefs.visible, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(propVisible, modelValue, props2.defaultVisible, props2.onVisibleChange, "visible"), _useVModel2 = _slicedToArray(_useVModel, 2), visible = _useVModel2[0], setVisible = _useVModel2[1];
var renderTNodeJSX3 = useTNodeJSX();
var renderContent3 = useContent();
var popper2;
var showTimeout;
var hideTimeout;
var triggerEl = vue.ref(null);
var overlayEl = vue.ref(null);
var popperEl = vue.ref(null);
var containerRef = vue.ref(null);
var id = typeof process !== "undefined" && (_process$env = process.env) !== null && _process$env !== void 0 && _process$env.TEST ? "" : Date.now().toString(36);
var parent2 = vue.inject(parentKey, void 0);
vue.provide(parentKey, {
id,
assertMouseLeave: onMouseLeave
});
var prefixCls = usePrefixClass("popup");
var _useCommonClassName = useCommonClassName$1(), commonCls = _useCommonClassName.STATUS;
var delay = vue.computed(function() {
var _props2$delay, _delay2$;
var delay2 = props2.trigger !== "hover" ? [0, 0] : [].concat((_props2$delay = props2.delay) !== null && _props2$delay !== void 0 ? _props2$delay : [250, 150]);
return {
show: delay2[0],
hide: (_delay2$ = delay2[1]) !== null && _delay2$ !== void 0 ? _delay2$ : delay2[0]
};
});
var trigger = attachListeners(triggerEl);
vue.watch(function() {
return [props2.trigger, triggerEl.value];
}, function() {
if (!triggerEl.value)
return;
trigger.clean();
trigger.add({
hover: "mouseenter",
focus: "focusin",
"context-menu": "contextmenu",
click: "click"
}[props2.trigger], function(ev) {
if (props2.disabled)
return;
if (ev.type === "contextmenu") {
ev.preventDefault();
}
if ((ev.type === "click" || ev.type === "contextmenu") && visible.value) {
hide2(ev);
return;
}
show(ev);
});
trigger.add({
hover: "mouseleave",
focus: "focusout"
}[props2.trigger], hide2);
});
vue.watch(function() {
return [props2.overlayStyle, props2.overlayInnerStyle, overlayEl.value];
}, function() {
updateOverlayInnerStyle();
updatePopper();
});
vue.watch(function() {
return props2.placement;
}, function() {
destroyPopper();
updatePopper();
});
vue.watch(function() {
return visible.value;
}, function(visible2) {
if (visible2) {
on$1(document, "mousedown", onDocumentMouseDown, true);
if (props2.trigger === "focus") {
once(triggerEl.value, "keydown", function(ev) {
var _process$env2;
var code = typeof process !== "undefined" && (_process$env2 = process.env) !== null && _process$env2 !== void 0 && _process$env2.TEST ? "27" : "Escape";
if (ev.code === code) {
hide2(ev);
}
});
}
return;
}
off$1(document, "mousedown", onDocumentMouseDown, true);
});
vue.onUnmounted(function() {
destroyPopper();
clearAllTimeout();
off$1(document, "mousedown", onDocumentMouseDown, true);
});
expose({
update: updatePopper,
close: function close3() {
return hide2();
},
getOverlay: function getOverlay() {
return overlayEl.value;
}
});
function getOverlayStyle() {
var overlayStyle = props2.overlayStyle;
if (!triggerEl.value || !overlayEl.value)
return;
if (isFunction_1(overlayStyle)) {
return overlayStyle(triggerEl.value, overlayEl.value);
}
if (isObject_1(overlayStyle)) {
return overlayStyle;
}
}
function updateOverlayInnerStyle() {
var overlayInnerStyle = props2.overlayInnerStyle;
if (!triggerEl.value || !overlayEl.value)
return;
if (isFunction_1(overlayInnerStyle)) {
setStyle$1(overlayEl.value, overlayInnerStyle(triggerEl.value, overlayEl.value));
} else if (isObject_1(overlayInnerStyle)) {
setStyle$1(overlayEl.value, overlayInnerStyle);
}
}
function updatePopper() {
if (!popperEl.value || !visible.value)
return;
if (popper2) {
var rect = triggerEl.value.getBoundingClientRect();
var parent22 = triggerEl.value;
while (parent22 && parent22 !== document.body) {
parent22 = parent22.parentElement;
}
var isHidden = parent22 !== document.body || rect.width === 0 && rect.height === 0;
if (!isHidden) {
popper2.state.elements.reference = triggerEl.value;
popper2.update();
} else {
setVisible(false, {
trigger: getTriggerType({
type: "mouseenter"
})
});
}
return;
}
popper2 = createPopper(triggerEl.value, popperEl.value, _objectSpread$M({
placement: getPopperPlacement(props2.placement),
onFirstUpdate: function onFirstUpdate() {
vue.nextTick(updatePopper);
}
}, props2.popperOptions));
}
function destroyPopper() {
if (popper2) {
var _popper;
(_popper = popper2) === null || _popper === void 0 || _popper.destroy();
popper2 = null;
}
if (props2.destroyOnClose) {
var _containerRef$value;
(_containerRef$value = containerRef.value) === null || _containerRef$value === void 0 || _containerRef$value.unmountContent();
}
}
function show(ev) {
clearAllTimeout();
showTimeout = setTimeout(function() {
setVisible(true, {
trigger: getTriggerType(ev)
});
}, delay.value.show);
}
function hide2(ev) {
clearAllTimeout();
hideTimeout = setTimeout(function() {
setVisible(false, {
trigger: getTriggerType(ev)
});
}, delay.value.hide);
}
function clearAllTimeout() {
clearTimeout(showTimeout);
clearTimeout(hideTimeout);
}
function getTriggerType(ev) {
switch (ev === null || ev === void 0 ? void 0 : ev.type) {
case "mouseenter":
case "mouseleave":
return "trigger-element-hover";
case "focusin":
return "trigger-element-focus";
case "focusout":
return "trigger-element-blur";
case "click":
return "trigger-element-click";
case "context-menu":
case "keydown":
return "keydown-esc";
case "mousedown":
return "document";
default:
return "trigger-element-close";
}
}
function onDocumentMouseDown(ev) {
if (popperEl.value.contains(ev.target)) {
return;
}
if (triggerEl.value.contains(ev.target)) {
return;
}
var activedPopper = getPopperTree(id).find(function(el) {
return el.contains(ev.target);
});
if (activedPopper && getPopperTree(activedPopper.getAttribute(POPUP_PARENT_ATTR_NAME), true).some(function(el) {
return el === popperEl.value;
})) {
return;
}
hide2(ev);
}
function onMouseLeave(ev) {
if (props2.trigger !== "hover" || triggerEl.value.contains(ev.target))
return;
var isCursorOverlaps = getPopperTree(id).some(function(el) {
var rect = el.getBoundingClientRect();
return ev.x > rect.x && ev.x < rect.x + rect.width && ev.y > rect.y && ev.y < rect.y + rect.height;
});
if (!isCursorOverlaps) {
hide2(ev);
parent2 === null || parent2 === void 0 || parent2.assertMouseLeave(ev);
}
}
var updateScrollTop = vue.inject("updateScrollTop", void 0);
function handleOnScroll(e) {
var _props2$onScroll;
var _e$target = e.target, scrollTop = _e$target.scrollTop, clientHeight = _e$target.clientHeight, scrollHeight = _e$target.scrollHeight;
var debounceOnScrollBottom = debounce_1(function(e2) {
var _props2$onScrollToBot;
return (_props2$onScrollToBot = props2.onScrollToBottom) === null || _props2$onScrollToBot === void 0 ? void 0 : _props2$onScrollToBot.call(props2, {
e: e2
});
}, 100);
if (clientHeight + Math.floor(scrollTop) === scrollHeight) {
debounceOnScrollBottom(e);
}
(_props2$onScroll = props2.onScroll) === null || _props2$onScroll === void 0 || _props2$onScroll.call(props2, {
e
});
}
vue.watch(function() {
return [visible.value, overlayEl.value];
}, function() {
if (visible.value && overlayEl.value && updateScrollTop) {
updateScrollTop === null || updateScrollTop === void 0 || updateScrollTop(overlayEl.value);
}
});
return function() {
var _ref2, _ref3;
var content = renderTNodeJSX3("content");
var hidePopup = props2.hideEmptyPopup && ["", void 0, null].includes(content);
var overlay = visible.value || !props2.destroyOnClose ? vue.withDirectives(vue.createVNode("div", vue.mergeProps((_ref2 = {}, _defineProperty$2(_ref2, POPUP_ATTR_NAME, id), _defineProperty$2(_ref2, POPUP_PARENT_ATTR_NAME, parent2 === null || parent2 === void 0 ? void 0 : parent2.id), _ref2), {
"class": [prefixCls.value, props2.overlayClassName],
"ref": function ref2(ref22) {
return popperEl.value = ref22;
},
"style": [{
zIndex: props2.zIndex
}, getOverlayStyle(), hidePopup && {
visibility: "hidden"
}]
}, props2.trigger === "hover" && {
onMouseenter: function onMouseenter() {
if (visible.value) {
clearAllTimeout();
}
},
onMouseleave: onMouseLeave
}), [vue.createVNode("div", {
"class": ["".concat(prefixCls.value, "__content"), (_ref3 = {}, _defineProperty$2(_ref3, "".concat(prefixCls.value, "__content--text"), isString_1(props2.content)), _defineProperty$2(_ref3, "".concat(prefixCls.value, "__content--arrow"), props2.showArrow), _defineProperty$2(_ref3, commonCls.value.disabled, props2.disabled), _ref3), props2.overlayInnerClassName],
"ref": overlayEl,
"onScroll": handleOnScroll
}, [content, props2.showArrow && vue.createVNode("div", {
"class": "".concat(prefixCls.value, "__arrow")
}, null)])]), [[vue.vShow, visible.value]]) : null;
return vue.createVNode(Container, {
"ref": function ref2(ref22) {
return containerRef.value = ref22;
},
"forwardRef": function forwardRef(ref2) {
return triggerEl.value = ref2;
},
"onContentMounted": function onContentMounted() {
if (visible.value) {
updatePopper();
var timer = setTimeout(function() {
updateOverlayInnerStyle();
clearTimeout(timer);
}, 60);
}
},
"onResize": function onResize() {
if (visible.value) {
updatePopper();
}
},
"visible": visible.value,
"attach": props2.attach
}, {
content: function content2() {
return vue.createVNode(vue.Transition, {
"name": "".concat(prefixCls.value, "--animation").concat(props2.expandAnimation ? "-expand" : ""),
"appear": true,
"onEnter": updatePopper,
"onAfterLeave": destroyPopper
}, _isSlot$a(overlay) ? overlay : {
"default": function _default16() {
return [overlay];
}
});
},
"default": function _default16() {
return renderContent3("default", "triggerElement");
}
});
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Popup = withInstall(_Popup);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isArray$1$1 = isArray_1, isSymbol$1 = isSymbol_1;
var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, reIsPlainProp = /^\w*$/;
function isKey$1(value, object) {
if (isArray$1$1(value)) {
return false;
}
var type = _typeof$2(value);
if (type == "number" || type == "symbol" || type == "boolean" || value == null || isSymbol$1(value)) {
return true;
}
return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || object != null && value in Object(object);
}
var _isKey = isKey$1;
var MapCache$1 = _MapCache;
var FUNC_ERROR_TEXT$1 = "Expected a function";
function memoize$1(func, resolver) {
if (typeof func != "function" || resolver != null && typeof resolver != "function") {
throw new TypeError(FUNC_ERROR_TEXT$1);
}
var memoized = function memoized2() {
var args = arguments, key2 = resolver ? resolver.apply(this, args) : args[0], cache = memoized2.cache;
if (cache.has(key2)) {
return cache.get(key2);
}
var result = func.apply(this, args);
memoized2.cache = cache.set(key2, result) || cache;
return result;
};
memoized.cache = new (memoize$1.Cache || MapCache$1)();
return memoized;
}
memoize$1.Cache = MapCache$1;
var memoize_1 = memoize$1;
var memoize = memoize_1;
var MAX_MEMOIZE_SIZE = 500;
function memoizeCapped$1(func) {
var result = memoize(func, function(key2) {
if (cache.size === MAX_MEMOIZE_SIZE) {
cache.clear();
}
return key2;
});
var cache = result.cache;
return result;
}
var _memoizeCapped = memoizeCapped$1;
var memoizeCapped = _memoizeCapped;
var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
var reEscapeChar = /\\(\\)?/g;
var stringToPath$1 = memoizeCapped(function(string) {
var result = [];
if (string.charCodeAt(0) === 46) {
result.push("");
}
string.replace(rePropName, function(match, number2, quote, subString) {
result.push(quote ? subString.replace(reEscapeChar, "$1") : number2 || match);
});
return result;
});
var _stringToPath = stringToPath$1;
var isArray$3 = isArray_1, isKey = _isKey, stringToPath = _stringToPath, toString$1 = toString_1;
function castPath$1$2(value, object) {
if (isArray$3(value)) {
return value;
}
return isKey(value, object) ? [value] : stringToPath(toString$1(value));
}
var _castPath = castPath$1$2;
var isSymbol = isSymbol_1;
var INFINITY$1 = 1 / 0;
function toKey$1$1(value) {
if (typeof value == "string" || isSymbol(value)) {
return value;
}
var result = value + "";
return result == "0" && 1 / value == -INFINITY$1 ? "-0" : result;
}
var _toKey = toKey$1$1;
var castPath$4 = _castPath, toKey$3 = _toKey;
function baseGet$3(object, path) {
path = castPath$4(path, object);
var index2 = 0, length = path.length;
while (object != null && index2 < length) {
object = object[toKey$3(path[index2++])];
}
return index2 && index2 == length ? object : void 0;
}
var _baseGet = baseGet$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function last$2(array) {
var length = array == null ? 0 : array.length;
return length ? array[length - 1] : void 0;
}
var last_1 = last$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _Symbol = _Symbol$2$1, isArguments$1 = isArguments_1, isArray$2 = isArray_1;
var spreadableSymbol = _Symbol ? _Symbol.isConcatSpreadable : void 0;
function isFlattenable$1(value) {
return isArray$2(value) || isArguments$1(value) || !!(spreadableSymbol && value && value[spreadableSymbol]);
}
var _isFlattenable = isFlattenable$1;
var arrayPush = _arrayPush, isFlattenable = _isFlattenable;
function baseFlatten$2(array, depth, predicate, isStrict, result) {
var index2 = -1, length = array.length;
predicate || (predicate = isFlattenable);
result || (result = []);
while (++index2 < length) {
var value = array[index2];
if (depth > 0 && predicate(value)) {
if (depth > 1) {
baseFlatten$2(value, depth - 1, predicate, isStrict, result);
} else {
arrayPush(result, value);
}
} else if (!isStrict) {
result[result.length] = value;
}
}
return result;
}
var _baseFlatten = baseFlatten$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseFlatten$1 = _baseFlatten;
function flatten$1(array) {
var length = array == null ? 0 : array.length;
return length ? baseFlatten$1(array, 1) : [];
}
var flatten_1 = flatten$1;
var flatten = flatten_1, overRest = _overRest, setToString = _setToString;
function flatRest$2(func) {
return setToString(overRest(func, void 0, flatten), func + "");
}
var _flatRest = flatRest$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGet$2 = _baseGet, baseSlice = _baseSlice;
function parent$1(object, path) {
return path.length < 2 ? object : baseGet$2(object, baseSlice(path, 0, -1));
}
var _parent = parent$1;
var castPath$1$1 = _castPath, last$1 = last_1, parent = _parent, toKey$2 = _toKey;
function baseUnset$1(object, path) {
path = castPath$1$1(path, object);
object = parent(object, path);
return object == null || delete object[toKey$2(last$1(path))];
}
var _baseUnset = baseUnset$1;
var isPlainObject$1 = isPlainObject_1;
function customOmitClone$1(value) {
return isPlainObject$1(value) ? void 0 : value;
}
var _customOmitClone = customOmitClone$1;
var arrayMap$3 = _arrayMap, baseClone = _baseClone, baseUnset = _baseUnset, castPath$3 = _castPath, copyObject = _copyObject, customOmitClone = _customOmitClone, flatRest$1 = _flatRest, getAllKeysIn = _getAllKeysIn;
var CLONE_DEEP_FLAG = 1, CLONE_FLAT_FLAG = 2, CLONE_SYMBOLS_FLAG = 4;
var omit$1 = flatRest$1(function(object, paths) {
var result = {};
if (object == null) {
return result;
}
var isDeep = false;
paths = arrayMap$3(paths, function(path) {
path = castPath$3(path, object);
isDeep || (isDeep = path.length > 1);
return path;
});
copyObject(object, getAllKeysIn(object), result);
if (isDeep) {
result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);
}
var length = paths.length;
while (length--) {
baseUnset(result, paths[length]);
}
return result;
});
var omit_1 = omit$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$m = {
delay: {
type: Number
},
destroyOnClose: {
type: Boolean,
"default": true
},
duration: {
type: Number
},
placement: {
type: String,
"default": "top"
},
showArrow: {
type: Boolean,
"default": true
},
theme: {
type: String,
"default": "default",
validator: function validator11(val) {
if (!val)
return true;
return ["default", "primary", "success", "danger", "warning", "light"].includes(val);
}
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var useMouse = function useMouse2() {
var x = vue.ref(0);
var y = vue.ref(0);
var onMouseMove = function onMouseMove2(e) {
x.value = e.clientX;
y.value = e.clientY;
};
if (!isServer) {
vue.onMounted(function() {
window.addEventListener("mousemove", onMouseMove, {
passive: true
});
});
vue.onUnmounted(function() {
window.removeEventListener("mousemove", onMouseMove);
});
}
return {
x,
y
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$M(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$L(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$M(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$M(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _Tooltip = vue.defineComponent({
name: "TTooltip",
props: _objectSpread$L(_objectSpread$L({}, popupProps), props$m),
setup: function setup12(props2, ctx) {
var timer = vue.ref(null);
var popupRef = vue.ref(null);
var _toRefs = vue.toRefs(props2), visible = _toRefs.visible, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(visible, modelValue, props2.defaultVisible, props2.onVisibleChange, "visible"), _useVModel2 = _slicedToArray(_useVModel, 2), innerVisible = _useVModel2[0], setInnerVisible = _useVModel2[1];
var vm = vue.getCurrentInstance();
var innerTooltipVisible = vue.ref(props2.visible || props2.defaultVisible);
var classPrefix = usePrefixClass();
var renderTNodeJSX3 = useTNodeJSX();
var renderContent3 = useContent();
var _useMouse = useMouse(), x = _useMouse.x;
var offsetX = vue.ref(x.value);
vue.onMounted(function() {
if (props2.duration && innerTooltipVisible.value) {
timer.value = setTimeout(function() {
setInnerVisible(false, {});
clearTimeout(timer.value);
timer.value = null;
}, props2.duration);
}
});
var onTipVisibleChange = function onTipVisibleChange2(val, ctx2) {
if (timer.value && (ctx2 === null || ctx2 === void 0 ? void 0 : ctx2.trigger) !== "document")
return;
if (val) {
offsetX.value = x.value;
}
setInnerVisible(val, ctx2);
};
var tooltipOverlayClassName = vue.computed(function() {
return ["".concat(classPrefix.value, "-tooltip"), _defineProperty$2({}, "".concat(classPrefix.value, "-tooltip--").concat(props2.theme), props2.theme), props2.overlayClassName];
});
var popupProps2 = vue.computed(function() {
return _objectSpread$L(_objectSpread$L({}, (vm === null || vm === void 0 ? void 0 : vm.vnode.props) || {}), {}, {
placement: props2.placement === "mouse" ? "bottom-left" : props2.placement,
showArrow: props2.placement === "mouse" ? false : props2.showArrow,
overlayClassName: tooltipOverlayClassName.value,
onVisibleChange: onTipVisibleChange,
disabled: props2.disabled
});
});
var overlayInnerStyle = vue.computed(function() {
if (props2.placement !== "mouse" || offsetX.value === 0) {
return props2.overlayInnerStyle;
}
var offsetStyle = function offsetStyle2(triggerEl) {
return {
transform: "translateX(".concat(offsetX.value - triggerEl.getBoundingClientRect().left, "px)")
};
};
if (props2.overlayInnerStyle) {
return function(triggerEl, popupEl) {
return _objectSpread$L(_objectSpread$L({}, offsetStyle(triggerEl)), isFunction_1(props2.overlayInnerStyle) ? props2.overlayInnerStyle(triggerEl, popupEl) : props2.overlayInnerStyle);
};
}
return offsetStyle;
});
vue.watch(function() {
return innerTooltipVisible.value;
}, function() {
if (timer.value && !innerTooltipVisible.value) {
clearTimeout(timer.value);
timer.value = null;
}
});
var onPopupUpdate = function onPopupUpdate2() {
var _popupRef$value, _popupRef$value$updat;
(_popupRef$value = popupRef.value) === null || _popupRef$value === void 0 || (_popupRef$value$updat = _popupRef$value.update) === null || _popupRef$value$updat === void 0 || _popupRef$value$updat.call(_popupRef$value);
};
ctx.expose({
updatePopper: onPopupUpdate
});
return function() {
var _content = renderTNodeJSX3("content");
if (!_content && !props2.content) {
return renderContent3("default", "triggerElement");
}
return vue.createVNode(Popup, vue.mergeProps(omit_1(popupProps2.value, ["content", "default"]), {
"ref": popupRef,
"overlayInnerStyle": overlayInnerStyle.value,
"visible": innerVisible.value
}), {
"default": function _default16() {
return [renderContent3("default", "triggerElement")];
},
content: function content() {
return _content;
}
});
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Tooltip = withInstall(_Tooltip);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded$8 = ["from", "to", "direction"];
function ownKeys$L(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$K(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$L(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$L(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function omit(obj, fields) {
var shallowCopy = _objectSpread$K({}, obj);
for (var i = 0; i < fields.length; i++) {
var key2 = fields[i];
delete shallowCopy[key2];
}
return shallowCopy;
}
function getBackgroundColor(color) {
if (isString_1(color)) {
return color;
}
if (isArray_1(color)) {
if (color[0] && color[0][0] === "#") {
color.unshift("90deg");
}
return "linear-gradient( ".concat(color.join(","), " )");
}
var from = color.from, to = color.to, _color$direction = color.direction, direction = _color$direction === void 0 ? "to right" : _color$direction, rest = _objectWithoutProperties$1(color, _excluded$8);
var keys2 = Object.keys(rest);
if (keys2.length) {
keys2 = keys2.sort(function(a, b) {
return parseFloat(a.substr(0, a.length - 1)) - parseFloat(b.substr(0, b.length - 1));
});
var tempArr = keys2.map(function(key2) {
return "".concat(rest[key2], " ").concat(key2);
});
return "linear-gradient(".concat(direction, ", ").concat(tempArr.join(","), ")");
}
return "linear-gradient(".concat(direction, ", ").concat(from, ", ").concat(to, ")");
}
function getCharacterLength(str, maxCharacter) {
var hasMaxCharacter = isNumber_1(maxCharacter);
if (!str || str.length === 0) {
if (hasMaxCharacter) {
return {
length: 0,
characters: str
};
}
return 0;
}
var len2 = 0;
for (var i = 0; i < str.length; i++) {
var currentStringLength = 0;
if (str.charCodeAt(i) > 127 || str.charCodeAt(i) === 94) {
currentStringLength = 2;
} else {
currentStringLength = 1;
}
if (hasMaxCharacter && len2 + currentStringLength > maxCharacter) {
return {
length: len2,
characters: str.slice(0, i)
};
}
len2 += currentStringLength;
}
if (hasMaxCharacter) {
return {
length: len2,
characters: str
};
}
return len2;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
function _defineProperties(target, props2) {
for (var i = 0; i < props2.length; i++) {
var descriptor = props2[i];
descriptor.enumerable = descriptor.enumerable || false;
descriptor.configurable = true;
if ("value" in descriptor)
descriptor.writable = true;
Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);
}
}
function _createClass(Constructor, protoProps, staticProps) {
if (protoProps)
_defineProperties(Constructor.prototype, protoProps);
if (staticProps)
_defineProperties(Constructor, staticProps);
Object.defineProperty(Constructor, "prototype", {
writable: false
});
return Constructor;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var FakeArrow = vue.defineComponent({
name: "TFakeArrow",
props: {
isActive: {
type: Boolean
},
overlayClassName: {
type: [String, Object, Array]
},
overlayStyle: {
type: Object || String
}
},
setup: function setup13(props2) {
var COMPONENT_NAME = usePrefixClass("fake-arrow");
var classes = vue.computed(function() {
return [COMPONENT_NAME.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--active"), props2.isActive), props2.overlayClassName];
});
return {
classes
};
},
render: function render4() {
return vue.createVNode("svg", {
"class": this.classes,
"width": "16",
"height": "16",
"viewBox": "0 0 16 16",
"fill": "none",
"xmlns": "http://www.w3.org/2000/svg",
"style": this.overlayStyle
}, [vue.createVNode("path", {
"d": "M3.75 5.7998L7.99274 10.0425L12.2361 5.79921",
"stroke": "black",
"stroke-opacity": "0.9",
"stroke-width": "1.3"
}, null)]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useCollapseAnimation() {
var beforeEnter = function beforeEnter2(el) {
el.dataset.oldPaddingTop = el.style.paddingTop;
el.dataset.oldPaddingBottom = el.style.paddingBottom;
el.style.height = "0";
el.style.paddingTop = "0";
el.style.paddingBottom = "0";
};
var enter = function enter2(el) {
el.dataset.oldOverflow = el.style.overflow;
el.style.height = "".concat(el.scrollHeight, "px");
el.style.paddingTop = el.dataset.oldPaddingTop;
el.style.paddingBottom = el.dataset.oldPaddingBottom;
el.style.overflow = "hidden";
};
var afterEnter = function afterEnter2(el) {
el.style.height = "";
el.style.overflow = el.dataset.oldOverflow;
};
var beforeLeave = function beforeLeave2(el) {
el.dataset.oldPaddingTop = el.style.paddingTop;
el.dataset.oldPaddingBottom = el.style.paddingBottom;
el.dataset.oldOverflow = el.style.overflow;
el.style.height = "".concat(el.scrollHeight, "px");
el.style.overflow = "hidden";
};
var leave = function leave2(el) {
if (el.scrollHeight !== 0) {
el.style.height = "0";
el.style.paddingTop = "0";
el.style.paddingBottom = "0";
}
};
var afterLeave = function afterLeave2(el) {
el.style.height = "";
el.style.overflow = el.dataset.oldOverflow;
el.style.paddingTop = el.dataset.oldPaddingTop;
el.style.paddingBottom = el.dataset.oldPaddingBottom;
};
return {
beforeEnter,
enter,
afterEnter,
beforeLeave,
leave,
afterLeave
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$l = {
align: {
type: String,
"default": "left",
validator: function validator12(val) {
if (!val)
return true;
return ["left", "center", "right"].includes(val);
}
},
allowInputOverMax: Boolean,
autoWidth: Boolean,
autocomplete: {
type: String,
"default": void 0
},
autofocus: Boolean,
clearable: Boolean,
disabled: Boolean,
format: {
type: Function
},
inputClass: {
type: [String, Object, Array]
},
label: {
type: [String, Function]
},
maxcharacter: {
type: Number
},
maxlength: {
type: [Number, String]
},
name: {
type: String,
"default": ""
},
placeholder: {
type: String,
"default": void 0
},
prefixIcon: {
type: Function
},
readonly: Boolean,
showClearIconOnEmpty: Boolean,
showLimitNumber: Boolean,
size: {
type: String,
"default": "medium",
validator: function validator13(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
status: {
type: String,
"default": void 0,
validator: function validator14(val) {
if (!val)
return true;
return ["default", "success", "warning", "error"].includes(val);
}
},
suffix: {
type: [String, Function]
},
suffixIcon: {
type: Function
},
tips: {
type: [String, Function]
},
type: {
type: String,
"default": "text",
validator: function validator15(val) {
if (!val)
return true;
return ["text", "number", "url", "tel", "password", "search", "submit", "hidden"].includes(val);
}
},
value: {
type: String,
"default": void 0
},
modelValue: {
type: String,
"default": void 0
},
defaultValue: {
type: String,
"default": ""
},
onBlur: Function,
onChange: Function,
onClear: Function,
onClick: Function,
onCompositionend: Function,
onCompositionstart: Function,
onEnter: Function,
onFocus: Function,
onKeydown: Function,
onKeypress: Function,
onKeyup: Function,
onMouseenter: Function,
onMouseleave: Function,
onPaste: Function,
onValidate: Function,
onWheel: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useFormDisabled(extend2) {
var ctx = vue.getCurrentInstance();
var propsDisabled = vue.computed(function() {
return ctx.props.disabled;
});
var _inject = vue.inject("formDisabled", /* @__PURE__ */ Object.create(null)), disabled = _inject.disabled;
return vue.computed(function() {
return propsDisabled.value || (disabled === null || disabled === void 0 ? void 0 : disabled.value) || (extend2 === null || extend2 === void 0 ? void 0 : extend2.value) || false;
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var FormItemInjectionKey = Symbol("FormItemProvide");
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useLengthLimit(params) {
var getValueByLimitNumber = function getValueByLimitNumber2(inputValue) {
var _params$value = params.value, allowInputOverMax = _params$value.allowInputOverMax, maxlength = _params$value.maxlength, maxcharacter = _params$value.maxcharacter;
if (!(maxlength || maxcharacter) || allowInputOverMax || !inputValue)
return inputValue;
if (maxlength) {
return limitUnicodeMaxLength(inputValue, maxlength);
}
if (maxcharacter) {
var r = getCharacterLength$1(inputValue, maxcharacter);
if (isObject_1(r)) {
return r.characters;
}
}
};
var limitNumber = vue.computed(function() {
var _params$value2 = params.value, maxlength = _params$value2.maxlength, maxcharacter = _params$value2.maxcharacter, value = _params$value2.value;
if (isNumber_1(value))
return String(value);
if (maxlength && maxcharacter) {
log.warn("Input", "Pick one of maxlength and maxcharacter please.");
}
if (maxlength) {
var length = value !== null && value !== void 0 && value.length ? getUnicodeLength(value) : 0;
return "".concat(length, "/").concat(maxlength);
}
if (maxcharacter) {
return "".concat(getCharacterLength$1(value || ""), "/").concat(maxcharacter);
}
return "";
});
var innerStatus = vue.computed(function() {
if (limitNumber.value) {
var _limitNumber$value$sp = limitNumber.value.split("/"), _limitNumber$value$sp2 = _slicedToArray(_limitNumber$value$sp, 2), current = _limitNumber$value$sp2[0], total = _limitNumber$value$sp2[1];
return Number(current) > Number(total) ? "error" : "";
}
return "";
});
var tStatus = vue.computed(function() {
var status = params.value.status;
return status || innerStatus.value;
});
var onValidateChange = function onValidateChange2() {
var _params$value$onValid, _params$value3;
(_params$value$onValid = (_params$value3 = params.value).onValidate) === null || _params$value$onValid === void 0 || _params$value$onValid.call(_params$value3, {
error: innerStatus.value ? "exceed-maximum" : void 0
});
};
vue.watch(innerStatus, onValidateChange);
vue.onMounted(function() {
innerStatus.value && onValidateChange();
});
return {
tStatus,
limitNumber,
getValueByLimitNumber
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useInput(props2, expose) {
var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
var inputValue = vue.ref();
var isComposition = vue.ref(false);
var compositionValue = vue.ref();
var clearIconRef = vue.ref(null);
var innerClickElement = vue.ref();
var disabled = useFormDisabled();
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
var isHover = vue.ref(false);
var focused = vue.ref(false);
var renderType = vue.ref(props2.type);
var inputRef = vue.ref(null);
var limitParams = vue.computed(function() {
return {
value: [void 0, null].includes(innerValue.value) ? void 0 : String(innerValue.value),
status: props2.status,
maxlength: Number(props2.maxlength),
maxcharacter: props2.maxcharacter,
allowInputOverMax: props2.allowInputOverMax,
onValidate: props2.onValidate
};
});
var _useLengthLimit = useLengthLimit(limitParams), limitNumber = _useLengthLimit.limitNumber, getValueByLimitNumber = _useLengthLimit.getValueByLimitNumber, tStatus = _useLengthLimit.tStatus;
var showClear = vue.computed(function() {
return (innerValue.value && !disabled.value && props2.clearable && !props2.readonly || props2.showClearIconOnEmpty) && isHover.value;
});
var focus = function focus2() {
var _inputRef$value;
return (_inputRef$value = inputRef.value) === null || _inputRef$value === void 0 ? void 0 : _inputRef$value.focus();
};
var blur = function blur2() {
var _inputRef$value2;
return (_inputRef$value2 = inputRef.value) === null || _inputRef$value2 === void 0 ? void 0 : _inputRef$value2.blur();
};
var emitFocus = function emitFocus2(e) {
var _props$onFocus;
inputValue.value = innerValue.value;
if (props2.disabled)
return;
focused.value = true;
(_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, innerValue.value, {
e
});
};
var emitClear = function emitClear2(_ref) {
var _props$onClear;
var e = _ref.e;
setInnerValue("", {
e,
trigger: "clear"
});
(_props$onClear = props2.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props2, {
e
});
};
var onClearIconMousedown = function onClearIconMousedown2(e) {
innerClickElement.value = e.target;
};
var emitPassword = function emitPassword2() {
var toggleType = renderType.value === "password" ? "text" : "password";
renderType.value = toggleType;
};
var setInputElValue = function setInputElValue2() {
var v = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
var inputEl = inputRef.value;
if (!inputEl)
return;
var sV = String(v);
if (!inputEl.value) {
return;
}
if (inputEl.value !== sV) {
inputEl.value = sV;
}
};
var inputValueChangeHandle = function inputValueChangeHandle2(e) {
var _innerValue$value;
var target = e.target;
var val = target.value;
if (props2.type !== "number" && val.length > ((_innerValue$value = innerValue.value) === null || _innerValue$value === void 0 ? void 0 : _innerValue$value.length)) {
val = getValueByLimitNumber(val);
}
setInnerValue(val, {
e
});
vue.nextTick(function() {
setInputElValue(innerValue.value);
});
};
var handleInput = function handleInput2(e) {
var checkInputType = e.inputType && e.inputType === "insertCompositionText";
var val = e.currentTarget.value;
if (checkInputType || isComposition.value) {
compositionValue.value = val;
return;
}
inputValueChangeHandle(e);
};
var isClearIcon = function isClearIcon2() {
var _clearIconRef$value;
var tmp = innerClickElement.value;
if (!tmp || !tmp.tagName || !((_clearIconRef$value = clearIconRef.value) !== null && _clearIconRef$value !== void 0 && _clearIconRef$value.$el) || !["path", "svg"].includes(tmp.tagName))
return false;
while (tmp) {
var _clearIconRef$value2;
if (((_clearIconRef$value2 = clearIconRef.value) === null || _clearIconRef$value2 === void 0 ? void 0 : _clearIconRef$value2.$el) === tmp) {
return true;
}
tmp = tmp.parentNode;
}
return false;
};
var formItem = vue.inject(FormItemInjectionKey, void 0);
var formatAndEmitBlur = function formatAndEmitBlur2(e) {
if (props2.format) {
inputValue.value = props2.format(innerValue.value);
}
focused.value = false;
if (!isClearIcon() && props2.allowTriggerBlur) {
var _props$onBlur;
(_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, innerValue.value, {
e
});
formItem === null || formItem === void 0 || formItem.handleBlur();
}
};
var onHandleCompositionend = function onHandleCompositionend2(e) {
var _props$onCompositione;
isComposition.value = false;
compositionValue.value = "";
inputValueChangeHandle(e);
(_props$onCompositione = props2.onCompositionend) === null || _props$onCompositione === void 0 || _props$onCompositione.call(props2, innerValue.value, {
e
});
};
var onHandleCompositionstart = function onHandleCompositionstart2(e) {
var _props$onCompositions;
isComposition.value = true;
var value2 = e.currentTarget.value;
compositionValue.value = value2;
(_props$onCompositions = props2.onCompositionstart) === null || _props$onCompositions === void 0 || _props$onCompositions.call(props2, innerValue.value, {
e
});
};
var onRootClick = function onRootClick2(e) {
var _inputRef$value3, _props$onClick;
(_inputRef$value3 = inputRef.value) === null || _inputRef$value3 === void 0 || _inputRef$value3.focus();
(_props$onClick = props2.onClick) === null || _props$onClick === void 0 || _props$onClick.call(props2, {
e
});
};
vue.watch(function() {
return props2.autofocus;
}, function(value2) {
if (value2 === true) {
vue.nextTick(function() {
var _inputRef$value4;
(_inputRef$value4 = inputRef.value) === null || _inputRef$value4 === void 0 || _inputRef$value4.focus();
});
}
}, {
immediate: true
});
vue.watch(innerValue, function(val, oldVal) {
if (oldVal === void 0 && props2.format) {
inputValue.value = props2.format(val);
} else {
inputValue.value = val;
}
var newVal = getValueByLimitNumber(val);
if (newVal !== val && props2.type !== "number") {
setInnerValue(newVal, {
trigger: "initial"
});
}
}, {
immediate: true
});
vue.watch(function() {
return props2.type;
}, function(v) {
renderType.value = v;
}, {
immediate: true
});
expose({
inputRef,
focus,
blur
});
return {
isHover,
focused,
renderType,
showClear,
inputRef,
clearIconRef,
inputValue,
isComposition,
compositionValue,
limitNumber,
tStatus,
emitFocus,
formatAndEmitBlur,
onHandleCompositionend,
onHandleCompositionstart,
onRootClick,
emitPassword,
handleInput,
emitClear,
onClearIconMousedown,
innerValue
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useInputEventHandler(props2, isHover) {
var handleKeydown = function handleKeydown2(e) {
if (props2.disabled)
return;
var code = e.code;
if (/enter/i.test(code) || /enter/i.test(e.key)) {
var _props$onEnter;
(_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, e.currentTarget.value, {
e
});
} else {
var _props$onKeydown;
(_props$onKeydown = props2.onKeydown) === null || _props$onKeydown === void 0 || _props$onKeydown.call(props2, e.currentTarget.value, {
e
});
}
};
var handleKeyUp = function handleKeyUp2(e) {
var _props$onKeyup;
if (props2.disabled)
return;
(_props$onKeyup = props2.onKeyup) === null || _props$onKeyup === void 0 || _props$onKeyup.call(props2, e.currentTarget.value, {
e
});
};
var handleKeypress = function handleKeypress2(e) {
var _props$onKeypress;
if (props2.disabled)
return;
(_props$onKeypress = props2.onKeypress) === null || _props$onKeypress === void 0 || _props$onKeypress.call(props2, e.currentTarget.value, {
e
});
};
var onHandlePaste = function onHandlePaste2(e) {
var _props$onPaste;
if (props2.disabled)
return;
var clipData = e.clipboardData || window.clipboardData;
(_props$onPaste = props2.onPaste) === null || _props$onPaste === void 0 || _props$onPaste.call(props2, {
e,
pasteValue: clipData === null || clipData === void 0 ? void 0 : clipData.getData("text/plain")
});
};
var mouseEvent = function mouseEvent2(v) {
return isHover.value = v;
};
var onHandleMousewheel = function onHandleMousewheel2(e) {
var _props$onWheel;
return (_props$onWheel = props2.onWheel) === null || _props$onWheel === void 0 ? void 0 : _props$onWheel.call(props2, {
e
});
};
var onInputMouseenter = function onInputMouseenter2(e) {
var _props$onMouseenter;
mouseEvent(true);
(_props$onMouseenter = props2.onMouseenter) === null || _props$onMouseenter === void 0 || _props$onMouseenter.call(props2, {
e
});
};
var onInputMouseleave = function onInputMouseleave2(e) {
var _props$onMouseleave;
mouseEvent(false);
(_props$onMouseleave = props2.onMouseleave) === null || _props$onMouseleave === void 0 || _props$onMouseleave.call(props2, {
e
});
};
return {
handleKeydown,
handleKeyUp,
handleKeypress,
onHandlePaste,
onHandleMousewheel,
onInputMouseenter,
onInputMouseleave
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var ANIMATION_TIME = 100;
function useInputWidth(props2, inputRef, innerValue) {
var _toRefs = vue.toRefs(props2), autoWidth = _toRefs.autoWidth, placeholder = _toRefs.placeholder;
var inputPreRef = vue.ref(null);
var observerTimer = vue.ref(null);
var updateInputWidth = function updateInputWidth2() {
if (!inputPreRef.value || !inputRef.value)
return;
var _inputPreRef$value$ge = inputPreRef.value.getBoundingClientRect(), width = _inputPreRef$value$ge.width;
inputRef.value.style.width = "".concat(width || 0, "px");
};
useResizeObserver(inputRef, function() {
if (autoWidth.value) {
observerTimer.value = setTimeout(function() {
updateInputWidth();
clearTimeout(observerTimer.value);
}, ANIMATION_TIME);
}
});
vue.onBeforeUnmount(function() {
clearTimeout(observerTimer.value);
});
var addListeners = function addListeners2() {
vue.watch([innerValue, placeholder], function() {
if (!autoWidth.value)
return;
vue.nextTick(function() {
updateInputWidth();
});
}, {
immediate: true
});
};
vue.onMounted(function() {
if (autoWidth.value) {
addListeners();
}
});
return {
inputPreRef
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded$7 = ["isHover", "tStatus", "inputRef", "renderType", "showClear", "focused", "inputValue", "isComposition", "compositionValue", "innerValue", "limitNumber"];
function ownKeys$K(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$J(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$K(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$K(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function getValidAttrs$2(obj) {
var newObj = {};
Object.keys(obj).forEach(function(key2) {
if (!isUndefined_1(obj[key2])) {
newObj[key2] = obj[key2];
}
});
return newObj;
}
var _Input = vue.defineComponent({
name: "TInput",
props: _objectSpread$J(_objectSpread$J({}, props$l), {}, {
showInput: {
type: Boolean,
"default": true
},
keepWrapperWidth: {
type: Boolean,
"default": false
},
allowTriggerBlur: {
type: Boolean,
"default": true
}
}),
setup: function setup14(props2, _ref) {
var expose = _ref.expose;
var _useConfig = useConfig("input"), globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
BrowseIcon,
BrowseOffIcon,
CloseCircleFilledIcon
}), BrowseIcon$1 = _useGlobalIcon.BrowseIcon, BrowseOffIcon$1 = _useGlobalIcon.BrowseOffIcon, CloseCircleFilledIcon$1 = _useGlobalIcon.CloseCircleFilledIcon;
var disabled = useFormDisabled();
var COMPONENT_NAME = usePrefixClass("input");
var INPUT_WRAP_CLASS = usePrefixClass("input__wrap");
var INPUT_TIPS_CLASS = usePrefixClass("input__tips");
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
var classPrefix = usePrefixClass();
var renderTNodeJSX3 = useTNodeJSX();
var _useInput = useInput(props2, expose), isHover = _useInput.isHover, tStatus = _useInput.tStatus, inputRef = _useInput.inputRef, renderType = _useInput.renderType, showClear = _useInput.showClear, focused = _useInput.focused, inputValue = _useInput.inputValue, isComposition = _useInput.isComposition, compositionValue = _useInput.compositionValue, innerValue = _useInput.innerValue, limitNumber = _useInput.limitNumber, inputHandle = _objectWithoutProperties$1(_useInput, _excluded$7);
var _useInputWidth = useInputWidth(props2, inputRef, innerValue), inputPreRef = _useInputWidth.inputPreRef;
var inputEventHandler = useInputEventHandler(props2, isHover);
var tPlaceholder = vue.computed(function() {
var _props2$placeholder;
return (_props2$placeholder = props2.placeholder) !== null && _props2$placeholder !== void 0 ? _props2$placeholder : globalConfig.value.placeholder;
});
var inputAttrs = vue.computed(function() {
var _props2$autocomplete;
return getValidAttrs$2({
autofocus: props2.autofocus,
disabled: disabled.value,
readonly: props2.readonly,
placeholder: tPlaceholder.value,
maxlength: !props2.allowInputOverMax && props2.maxlength || void 0,
name: props2.name || void 0,
type: renderType.value,
autocomplete: (_props2$autocomplete = props2.autocomplete) !== null && _props2$autocomplete !== void 0 ? _props2$autocomplete : globalConfig.value.autocomplete || void 0,
unselectable: props2.readonly ? "on" : void 0
});
});
var wrapClasses = vue.computed(function() {
return [INPUT_WRAP_CLASS.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--auto-width"), props2.autoWidth && !props2.keepWrapperWidth)];
});
var inputEvents = getValidAttrs$2({
onFocus: function onFocus(e) {
return inputHandle.emitFocus(e);
},
onBlur: inputHandle.formatAndEmitBlur,
onKeydown: inputEventHandler.handleKeydown,
onKeyup: inputEventHandler.handleKeyUp,
onKeypress: inputEventHandler.handleKeypress,
onPaste: inputEventHandler.onHandlePaste,
onCompositionend: inputHandle.onHandleCompositionend,
onCompositionstart: inputHandle.onHandleCompositionstart
});
return function() {
var _ref4, _compositionValue$val, _inputValue$value;
var prefixIcon = renderTNodeJSX3("prefixIcon");
var suffixIcon = renderTNodeJSX3("suffixIcon");
var passwordIcon = renderTNodeJSX3("passwordIcon");
var label = renderTNodeJSX3("label", {
silent: true
});
var suffix2 = renderTNodeJSX3("suffix");
var limitNode = limitNumber.value && props2.showLimitNumber ? vue.createVNode("div", {
"class": ["".concat(classPrefix.value, "-input__limit-number"), _defineProperty$2({}, "".concat(classPrefix.value, "-is-disabled"), disabled.value)]
}, [limitNumber.value]) : null;
var labelContent = label ? vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__prefix")
}, [label]) : null;
var suffixContent = suffix2 || limitNode ? vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__suffix")
}, [suffix2, limitNode]) : null;
if (props2.type === "password") {
if (renderType.value === "password") {
suffixIcon = vue.createVNode(BrowseOffIcon$1, {
"class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
"onClick": inputHandle.emitPassword
}, null);
} else if (renderType.value === "text") {
suffixIcon = vue.createVNode(BrowseIcon$1, {
"class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
"onClick": inputHandle.emitPassword
}, null);
}
}
if (showClear.value) {
if (props2.type === "password") {
passwordIcon = vue.createVNode(CloseCircleFilledIcon$1, {
"ref": inputHandle.clearIconRef,
"class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
"onClick": inputHandle.emitClear,
"onMousedown": inputHandle.onClearIconMousedown
}, null);
} else {
suffixIcon = vue.createVNode(CloseCircleFilledIcon$1, {
"ref": inputHandle.clearIconRef,
"class": "".concat(COMPONENT_NAME.value, "__suffix-clear"),
"onClick": inputHandle.emitClear,
"onMousedown": inputHandle.onClearIconMousedown
}, null);
}
}
var classes = [COMPONENT_NAME.value, props2.inputClass, (_ref4 = {}, _defineProperty$2(_ref4, SIZE.value[props2.size], props2.size !== "medium"), _defineProperty$2(_ref4, STATUS.value.disabled, disabled.value), _defineProperty$2(_ref4, STATUS.value.focused, focused.value), _defineProperty$2(_ref4, "".concat(classPrefix.value, "-is-").concat(tStatus.value), tStatus.value && tStatus.value !== "default"), _defineProperty$2(_ref4, "".concat(classPrefix.value, "-align-").concat(props2.align), props2.align !== "left"), _defineProperty$2(_ref4, "".concat(classPrefix.value, "-is-readonly"), props2.readonly), _defineProperty$2(_ref4, "".concat(COMPONENT_NAME.value, "--prefix"), prefixIcon || labelContent), _defineProperty$2(_ref4, "".concat(COMPONENT_NAME.value, "--suffix"), suffixIcon || suffixContent), _defineProperty$2(_ref4, "".concat(COMPONENT_NAME.value, "--focused"), focused.value), _ref4)];
var tips = renderTNodeJSX3("tips");
var tipsClasses = [INPUT_TIPS_CLASS.value, "".concat(classPrefix.value, "-tips"), "".concat(classPrefix.value, "-is-").concat(tStatus.value || "default")];
return vue.withDirectives(vue.createVNode("div", {
"class": wrapClasses.value
}, [vue.createVNode("div", {
"class": classes,
"onClick": inputHandle.onRootClick,
"onMouseenter": inputEventHandler.onInputMouseenter,
"onMouseleave": inputEventHandler.onInputMouseleave,
"onWheel": inputEventHandler.onHandleMousewheel
}, [prefixIcon ? vue.createVNode("span", {
"class": ["".concat(COMPONENT_NAME.value, "__prefix"), "".concat(COMPONENT_NAME.value, "__prefix-icon")]
}, [prefixIcon]) : null, labelContent, props2.showInput && vue.createVNode("input", vue.mergeProps({
"class": "".concat(COMPONENT_NAME.value, "__inner")
}, inputAttrs.value, inputEvents, {
"ref": inputRef,
"value": isComposition.value ? (_compositionValue$val = compositionValue.value) !== null && _compositionValue$val !== void 0 ? _compositionValue$val : "" : (_inputValue$value = inputValue.value) !== null && _inputValue$value !== void 0 ? _inputValue$value : "",
"onInput": function onInput(e) {
return inputHandle.handleInput(e);
}
}), null), props2.autoWidth && vue.createVNode("span", {
"ref": inputPreRef,
"class": "".concat(classPrefix.value, "-input__input-pre")
}, [innerValue.value || tPlaceholder.value]), suffixContent, passwordIcon ? vue.createVNode("span", {
"class": ["".concat(COMPONENT_NAME.value, "__suffix"), "".concat(COMPONENT_NAME.value, "__suffix-icon"), "".concat(COMPONENT_NAME.value, "__clear")]
}, [passwordIcon]) : null, suffixIcon ? vue.createVNode("span", {
"class": ["".concat(COMPONENT_NAME.value, "__suffix"), "".concat(COMPONENT_NAME.value, "__suffix-icon"), _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "__clear"), showClear.value)]
}, [suffixIcon]) : null]), tips && vue.createVNode("div", {
"class": tipsClasses
}, [tips])]), [[vue.vShow, props2.type !== "hidden"]]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var inputGroupProps = {
separate: Boolean
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _InputGroup = vue.defineComponent({
name: "TInputGroup",
props: inputGroupProps,
setup: function setup15(props2) {
var COMPONENT_NAME = usePrefixClass("input-group");
var renderTNodeJSX3 = useTNodeJSX();
var CLASS = vue.computed(function() {
return [COMPONENT_NAME.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--separate"), props2.separate)];
});
return function() {
return vue.createVNode("div", {
"class": CLASS.value
}, [renderTNodeJSX3("default")]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Input = withInstall(_Input);
withInstall(_InputGroup);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$k = {
align: {
type: String,
validator: function validator16(val) {
if (!val)
return true;
return ["left", "center", "right"].includes(val);
}
},
allowInputOverLimit: {
type: Boolean,
"default": true
},
autoWidth: Boolean,
decimalPlaces: {
type: Number,
"default": void 0
},
disabled: Boolean,
format: {
type: Function
},
inputProps: {
type: Object
},
label: {
type: [String, Function]
},
largeNumber: Boolean,
max: {
type: [String, Number],
"default": Infinity
},
min: {
type: [String, Number],
"default": -Infinity
},
placeholder: {
type: String,
"default": void 0
},
readonly: Boolean,
size: {
type: String,
"default": "medium",
validator: function validator17(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
status: {
type: String,
"default": "default",
validator: function validator18(val) {
if (!val)
return true;
return ["default", "success", "warning", "error"].includes(val);
}
},
step: {
type: [String, Number],
"default": 1
},
suffix: {
type: [String, Function]
},
theme: {
type: String,
"default": "row",
validator: function validator19(val) {
if (!val)
return true;
return ["column", "row", "normal"].includes(val);
}
},
tips: {
type: [String, Function]
},
value: {
type: [String, Number],
"default": void 0
},
modelValue: {
type: [String, Number],
"default": void 0
},
defaultValue: {
type: [String, Number]
},
onBlur: Function,
onChange: Function,
onEnter: Function,
onFocus: Function,
onKeydown: Function,
onKeypress: Function,
onKeyup: Function,
onValidate: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function fillZero(length) {
return new Array(length).fill(0).join("");
}
function isInputNumber(num) {
if (!num)
return true;
if (isNumber_1(num))
return !Number.isNaN(num);
var r = /^[0-9|e|E|-]+\.*[0-9|e|E|-]*$/.test(num);
if (!r)
return false;
var eCount = 0;
var negativeCount = 0;
var dotCount = 0;
for (var i = 0, len2 = num.length; i < len2; i++) {
if (num[i] === ".") {
dotCount += 1;
if (dotCount > 1)
return false;
}
if (/(e|E)+/.test(num[i])) {
eCount += 1;
if (eCount > 1)
return false;
}
if (num[i] === "-") {
negativeCount += 1;
if (negativeCount > 2)
return false;
}
}
return true;
}
function removeInvalidZero(num) {
var decimal = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false;
if (num.indexOf(".") !== -1) {
log.error("InputNumber", "num is not a integer number.");
return num;
}
if (!num || num === "0" && decimal)
return "";
if (num === "0")
return num;
return (decimal ? num.replace(/0+$/, "") : num.replace(/^0+/, "")) || "0";
}
function largeIntNumberAdd(num1, num2) {
var decimal = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
var number1 = removeInvalidZero(num1, decimal);
var number2 = removeInvalidZero(num2, decimal);
var isFirstLarger = number1.length > number2.length;
var maxNumber = isFirstLarger ? number1 : number2;
var minNumber = isFirstLarger ? number2 : number1;
var newNumber = [];
var step = [];
var diff = decimal ? 0 : maxNumber.length - minNumber.length;
var len2 = decimal ? minNumber.length : maxNumber.length;
for (var i = len2 - 1; i >= 0; i--) {
var minIndex = i - diff;
var count = Number(maxNumber[i]) + (Number(minNumber[minIndex]) || 0) + (step[i] || 0);
if (count >= 10) {
step[i - 1] = 1;
}
newNumber.unshift(String(count % 10));
}
if (step[-1]) {
newNumber.unshift("1");
}
if (decimal) {
return newNumber.concat(maxNumber.slice(len2, maxNumber.length)).join("");
}
return newNumber.join("");
}
function largePositiveNumberAdd(num1, num2) {
var _num1$split = num1.split("."), _num1$split2 = _slicedToArray(_num1$split, 2), _num1$split2$ = _num1$split2[0], intNumber1 = _num1$split2$ === void 0 ? "0" : _num1$split2$, _num1$split2$2 = _num1$split2[1], decimalNumber1 = _num1$split2$2 === void 0 ? "0" : _num1$split2$2;
var _num2$split = num2.split("."), _num2$split2 = _slicedToArray(_num2$split, 2), _num2$split2$ = _num2$split2[0], intNumber2 = _num2$split2$ === void 0 ? "0" : _num2$split2$, _num2$split2$2 = _num2$split2[1], decimalNumber2 = _num2$split2$2 === void 0 ? "0" : _num2$split2$2;
var integerSum = largeIntNumberAdd(intNumber1, intNumber2);
if (decimalNumber1 === "0" && decimalNumber2 === "0")
return integerSum;
var newDecimalNumber1 = removeInvalidZero(decimalNumber1, true);
var newDecimalNumber2 = removeInvalidZero(decimalNumber2, true);
var decimalNumberSum = largeIntNumberAdd(newDecimalNumber1, newDecimalNumber2, true);
var decimalLength = decimalNumberSum.length;
if (decimalLength > newDecimalNumber1.length && decimalLength > newDecimalNumber2.length) {
return [removeInvalidZero(largeIntNumberAdd(integerSum, "1")), removeInvalidZero(decimalNumberSum.slice(1), true)].filter(function(v) {
return v;
}).join(".");
}
return [removeInvalidZero(integerSum), removeInvalidZero(decimalNumberSum, true)].filter(function(v) {
return v;
}).join(".");
}
function compareLargeIntegerNumber(num1, num2) {
var number1 = removeInvalidZero(num1);
var number2 = removeInvalidZero(num2);
if (number1.length === number2.length) {
for (var i = 0, len2 = number1.length; i < len2; i++) {
if (number1[i] > number2[i])
return 1;
if (number1[i] < number2[i])
return -1;
}
return 0;
}
return number1.length > number2.length ? 1 : -1;
}
function compareLargeDecimalNumber(num1, num2) {
var number1 = num1 && num1 !== "0" ? num1.replace(/0+$/, "") : "0";
var number2 = num2 && num2 !== "0" ? num2.replace(/0+$/, "") : "0";
var maxLength = Math.max(number1.length, number2.length);
for (var i = 0, len2 = maxLength; i < len2; i++) {
if ((number1[i] || 0) > (number2[i] || 0))
return 1;
if ((number1[i] || 0) < (number2[i] || 0))
return -1;
}
return 0;
}
function formatENumber(num) {
var _num$split = num.split("e"), _num$split2 = _slicedToArray(_num$split, 2), num1 = _num$split2[0], num2 = _num$split2[1];
if (!num2)
return num;
var _num$split3 = num.split("."), _num$split4 = _slicedToArray(_num$split3, 2), integer = _num$split4[0], _num$split4$ = _num$split4[1], initDecimal = _num$split4$ === void 0 ? "" : _num$split4$;
var zeroCount = Number(num2);
var _initDecimal$split = initDecimal.split("e"), _initDecimal$split2 = _slicedToArray(_initDecimal$split, 1), decimal = _initDecimal$split2[0];
if (zeroCount > decimal.length) {
var multipleZero = fillZero(zeroCount - decimal.length);
return num1.replace(/(^0+|\.)/g, "") + multipleZero;
}
var n1 = integer.replace(/^0+/, "") + decimal.slice(0, zeroCount);
var d2 = decimal.slice(zeroCount);
return d2 ? [n1, d2].join(".") : n1;
}
function compareLargeNumber(num1, num2) {
var _formatENumber$split = formatENumber(num1).split("."), _formatENumber$split2 = _slicedToArray(_formatENumber$split, 2), integer1 = _formatENumber$split2[0], decimal1 = _formatENumber$split2[1];
var _formatENumber$split3 = formatENumber(num2).split("."), _formatENumber$split4 = _slicedToArray(_formatENumber$split3, 2), integer2 = _formatENumber$split4[0], decimal2 = _formatENumber$split4[1];
var result = compareLargeIntegerNumber(integer1.replace("-", ""), integer2.replace("-", ""));
var integer1IsNegative = integer1.includes("-");
var integer2IsNegative = integer2.includes("-");
if (integer1IsNegative && !integer2IsNegative)
return -1;
if (!integer1IsNegative && integer2IsNegative)
return 1;
if (integer1IsNegative && integer2IsNegative) {
if (result === 0)
return 0;
return result > 0 ? -1 : 1;
}
if (result === 0) {
return compareLargeDecimalNumber(decimal1, decimal2);
}
return result;
}
function isInfinity(num) {
return [-Infinity, Infinity].includes(Number(num));
}
function isSafeNumber(num) {
return Number(num) < Number.MAX_SAFE_INTEGER && Number(num) > Number.MIN_SAFE_INTEGER;
}
function compareNumber(num1, num2, largeNumber) {
var isSafeNumberCompare = isSafeNumber(num1) && isSafeNumber(num2) && !largeNumber;
var isInfinityCompare = isInfinity(num1) || isInfinity(num2);
if (isSafeNumberCompare || isInfinityCompare) {
if (Number(num1) === Number(num2))
return 0;
return Number(num1) > Number(num2) ? 1 : -1;
}
return compareLargeNumber(String(num1), String(num2));
}
function largeIntegerNumberSubtract(num1, num2, p) {
if (num1 === num2)
return "0";
var _ref = p || {}, decimal = _ref.decimal, stayZero = _ref.stayZero;
var number1 = removeInvalidZero(num1);
var number2 = removeInvalidZero(num2);
var isFirstLarger = compareLargeIntegerNumber(number1, number2) > 0;
var maxNumber = isFirstLarger ? number1 : number2;
var minNumber = isFirstLarger ? number2 : number1;
var newNumber = [];
var step = [];
var diff = decimal ? 0 : maxNumber.length - minNumber.length;
var len2 = decimal ? minNumber.length : maxNumber.length;
for (var i = len2 - 1; i >= 0; i--) {
var minIndex = i - diff;
var count = Number(maxNumber[i]) - (Number(minNumber[minIndex]) || 0) - (step[i] || 0);
if (count < 0) {
step[i - 1] = 1;
count += 10;
}
newNumber.unshift(String(count));
}
if (decimal) {
return newNumber.concat(maxNumber.slice(len2, maxNumber.length)).join("");
}
var finalNumber = newNumber.join("");
if (!stayZero) {
finalNumber = finalNumber.replace(/^0+/, "");
}
return removeInvalidZero(isFirstLarger ? finalNumber : "-".concat(finalNumber));
}
function largePositiveNumberSubtract(num1, num2) {
if (num1 === num2)
return "0";
var isFirstLarger = compareNumber(num1, num2, true) > 0;
var maxNumber = isFirstLarger ? num1 : num2;
var minNumber = isFirstLarger ? num2 : num1;
var _maxNumber$split = maxNumber.split("."), _maxNumber$split2 = _slicedToArray(_maxNumber$split, 2), intNumber1 = _maxNumber$split2[0], _maxNumber$split2$ = _maxNumber$split2[1], decimalNumber1 = _maxNumber$split2$ === void 0 ? "0" : _maxNumber$split2$;
var _minNumber$split = minNumber.split("."), _minNumber$split2 = _slicedToArray(_minNumber$split, 2), intNumber2 = _minNumber$split2[0], _minNumber$split2$ = _minNumber$split2[1], decimalNumber2 = _minNumber$split2$ === void 0 ? "0" : _minNumber$split2$;
var integerNumber = largeIntegerNumberSubtract(intNumber1, intNumber2);
if (decimalNumber1 === "0" && decimalNumber2 === "0") {
return isFirstLarger ? integerNumber : "-".concat(integerNumber);
}
var decimalNumber = "";
var addOneNumber = decimalNumber1;
if (decimalNumber1.length < decimalNumber2.length) {
addOneNumber = "".concat(decimalNumber1).concat(fillZero(decimalNumber2.length - decimalNumber1.length));
}
if (compareLargeDecimalNumber(addOneNumber, decimalNumber2) >= 0) {
decimalNumber = largeIntegerNumberSubtract(addOneNumber, decimalNumber2, {
decimal: true
});
} else {
if (decimalNumber1.length < decimalNumber2.length || decimalNumber1 === "0") {
decimalNumber = largeIntegerNumberSubtract("1".concat(addOneNumber), decimalNumber2, {
stayZero: true
});
decimalNumber = fillZero(decimalNumber2.length - decimalNumber.length) + decimalNumber;
} else {
decimalNumber = largeIntegerNumberSubtract(decimalNumber1, decimalNumber2, {
decimal: true
});
}
integerNumber = largeIntegerNumberSubtract(integerNumber, "1");
}
var finalNumber = decimalNumber ? [integerNumber, decimalNumber].join(".") : integerNumber;
return isFirstLarger ? finalNumber : "-".concat(finalNumber);
}
function largeNumberSubtract(num1, num2) {
var isFirstNegative = num1[0] === "-";
var isSecondNegative = num2[0] === "-";
if (isFirstNegative && !isSecondNegative) {
var r = largePositiveNumberAdd(num1.slice(1), num2);
return "-".concat(r);
}
if (isFirstNegative && isSecondNegative) {
return largePositiveNumberSubtract(num2.slice(1), num1.slice(1));
}
if (!isFirstNegative && isSecondNegative) {
return largePositiveNumberAdd(num1, num2.slice(1));
}
return largePositiveNumberSubtract(num1, num2);
}
function largeNumberAdd(num1, num2) {
var isFirstNegative = num1[0] === "-";
var isSecondNegative = num2[0] === "-";
if (isFirstNegative && !isSecondNegative) {
return largePositiveNumberSubtract(num2, num1.slice(1));
}
if (isFirstNegative && isSecondNegative) {
var r = largePositiveNumberAdd(num2.slice(1), num1.slice(1));
return "-".concat(r);
}
if (!isFirstNegative && isSecondNegative) {
return largePositiveNumberSubtract(num1, num2.slice(1));
}
return largePositiveNumberAdd(num1, num2);
}
function largeNumberToFixed(number2) {
var decimalPlaces = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
var largeNumber = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true;
if (!largeNumber)
return Number(number2).toFixed(decimalPlaces);
if (!isString_1(number2))
return String(number2);
var _number$split = number2.split("."), _number$split2 = _slicedToArray(_number$split, 2), num1 = _number$split2[0], num2 = _number$split2[1];
if (!num2) {
return decimalPlaces ? [number2, fillZero(decimalPlaces)].join(".") : number2;
}
if (decimalPlaces === 0) {
return Number(num2[0]) >= 5 ? largePositiveNumberAdd(num1, "1") : num1;
}
var decimalNumber = num2.slice(0, decimalPlaces);
if (num2.length < decimalPlaces) {
decimalNumber += fillZero(decimalPlaces - num2.length);
} else {
decimalNumber = Number(num2[decimalPlaces]) >= 5 ? largePositiveNumberAdd(decimalNumber, "1") : decimalNumber;
}
return [num1, decimalNumber].join(".");
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function canAddNumber(num, max3) {
var largeNumber = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
if (!num && num !== 0)
return true;
if (largeNumber && isString_1(num)) {
return compareNumber(num, max3, largeNumber) < 0;
}
return num < max3;
}
function canReduceNumber(num, min3) {
var largeNumber = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : false;
if (!num && num !== 0)
return true;
if (largeNumber && isString_1(num)) {
return compareNumber(num, min3, largeNumber) > 0;
}
return num > min3;
}
function putInRangeNumber(val, params) {
if (val === "")
return void 0;
var max3 = params.max, min3 = params.min, lastValue = params.lastValue, largeNumber = params.largeNumber;
if (!isInputNumber(val))
return lastValue;
if (largeNumber && (isString_1(max3) || max3 === Infinity) && (isString_1(min3) || min3 === -Infinity)) {
if (compareNumber(max3, val, largeNumber) < 0)
return max3;
if (compareNumber(min3, val, largeNumber) > 0)
return min3;
return val;
}
return Math.max(Number(min3), Math.min(Number(max3), Number(val)));
}
function positiveAdd(num1, num2) {
var _num1$toString$split$, _num2$toString$split$;
if (!num1 || !num2)
return (num1 || 0) + (num2 || 0);
var r1 = ((_num1$toString$split$ = num1.toString().split(".")[1]) === null || _num1$toString$split$ === void 0 ? void 0 : _num1$toString$split$.length) || 0;
var r2 = ((_num2$toString$split$ = num2.toString().split(".")[1]) === null || _num2$toString$split$ === void 0 ? void 0 : _num2$toString$split$.length) || 0;
if (!r1 && !r2)
return num1 + num2;
var newNumber1 = num1;
var newNumber2 = num2;
var diff = Math.abs(r1 - r2);
var digit = Math.pow(10, Math.max(r1, r2));
if (diff > 0) {
var cm = Math.pow(10, diff);
if (r1 > r2) {
newNumber1 = Number(num1.toString().replace(".", ""));
newNumber2 = Number(num2.toString().replace(".", "")) * cm;
} else {
newNumber1 = Number(num1.toString().replace(".", "")) * cm;
newNumber2 = Number(num2.toString().replace(".", ""));
}
} else {
newNumber1 = Number(num1.toString().replace(".", ""));
newNumber2 = Number(num2.toString().replace(".", ""));
}
return (newNumber1 + newNumber2) / digit;
}
function positiveSubtract(num1, num2) {
var _num1$toString$split$2, _num2$toString$split$2;
if (!num1 || !num2)
return (num1 || 0) - (num2 || 0);
var r1 = ((_num1$toString$split$2 = num1.toString().split(".")[1]) === null || _num1$toString$split$2 === void 0 ? void 0 : _num1$toString$split$2.length) || 0;
var r2 = ((_num2$toString$split$2 = num2.toString().split(".")[1]) === null || _num2$toString$split$2 === void 0 ? void 0 : _num2$toString$split$2.length) || 0;
var digit = Math.pow(10, Math.max(r1, r2));
var n = r1 >= r2 ? r1 : r2;
return Number(((num1 * digit - num2 * digit) / digit).toFixed(n));
}
function add(num1, num2) {
if (num1 < 0 && num2 > 0)
return positiveSubtract(num2, Math.abs(num1));
if (num1 < 0 && num2 < 0)
return positiveAdd(Math.abs(num1), Math.abs(num2)) * -1;
if (num1 > 0 && num2 < 0)
return positiveSubtract(num1, Math.abs(num2));
return positiveAdd(num1, num2);
}
function subtract(num1, num2) {
if (num1 < 0 && num2 > 0)
return positiveAdd(Math.abs(num1), num2) * -1;
if (num1 < 0 && num2 < 0)
return positiveSubtract(Math.abs(num2), Math.abs(num1));
if (num1 > 0 && num2 < 0)
return positiveAdd(num1, Math.abs(num2));
return positiveSubtract(num1, num2);
}
function getStepValue(p) {
var op = p.op, step = p.step, lastValue = p.lastValue, max3 = p.max, min3 = p.min, largeNumber = p.largeNumber;
if (step <= 0) {
log.error("InputNumber", "step must be larger than 0.");
return lastValue;
}
var tStep = isNumber_1(step) ? String(step) : step;
var newVal;
if (op === "add") {
if (largeNumber && isString_1(lastValue)) {
newVal = largeNumberAdd(String(lastValue), String(tStep));
} else {
newVal = add(Number(lastValue || 0), Number(step));
}
} else if (op === "reduce") {
if (largeNumber && isString_1(lastValue)) {
newVal = largeNumberSubtract(String(lastValue), String(tStep));
} else {
newVal = subtract(Number(lastValue || 0), Number(step));
}
}
if (isUndefined_1(lastValue)) {
newVal = putInRangeNumber(newVal, {
max: max3,
min: min3,
lastValue,
largeNumber
});
}
return largeNumber ? newVal : Number(newVal);
}
function getMaxOrMinValidateResult(p) {
var largeNumber = p.largeNumber, value = p.value, max3 = p.max, min3 = p.min;
if (isUndefined_1(largeNumber))
return void 0;
if (largeNumber && isNumber_1(value)) {
log.warn("InputNumber", "largeNumber value must be a string.");
}
var error4;
if (compareNumber(value, max3, largeNumber) > 0) {
error4 = "exceed-maximum";
} else if (compareNumber(value, min3, largeNumber) < 0) {
error4 = "below-minimum";
} else {
error4 = void 0;
}
return error4;
}
var specialCode = ["-", ".", "e", "E", "+"];
function canInputNumber(number2, largeNumber) {
var _number$match;
if (["", null, void 0].includes(number2))
return true;
if (number2.slice(0, 2) === "00")
return false;
if (((_number$match = number2.match(/\./g)) === null || _number$match === void 0 ? void 0 : _number$match.length) > 1)
return false;
var tmpNumber = number2.slice(1);
if (/(\+|-)/.test(tmpNumber) && !/e+/i.test(tmpNumber))
return false;
var isNumber2 = largeNumber && isInputNumber(number2) || !Number.isNaN(Number(number2));
if (!isNumber2 && !specialCode.includes(number2.slice(-1)))
return false;
if (/e/i.test(number2) && !/\de/i.test(number2))
return false;
return true;
}
function canSetValue(number2, lastNumber) {
return parseFloat(number2) !== lastNumber && !Number.isNaN(Number(number2));
}
function formatUnCompleteNumber(number2) {
var extra = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
if (["", null, void 0].includes(number2) || !/\d+/.test(number2))
return void 0;
var decimalPlaces = extra.decimalPlaces, largeNumber = extra.largeNumber, isToFixed = extra.isToFixed;
var newNumber = number2.replace(/[.|+|\-|e]$/, "");
if (largeNumber) {
newNumber = formatENumber(newNumber);
}
if (decimalPlaces !== void 0) {
newNumber = largeNumberToFixed(newNumber, decimalPlaces, largeNumber);
}
if (largeNumber)
return newNumber;
return isToFixed ? newNumber : parseFloat(newNumber);
}
function formatThousandths(number2) {
var thousandthsRegExp = /^[-+]?\d{1,3}(,\d{3})*(\.(\d*))?$/;
if (thousandthsRegExp.test(number2))
return number2.replace(/,/g, "");
return number2;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useInputNumber(props2) {
var _useCommonClassName = useCommonClassName(), classPrefix = _useCommonClassName.classPrefix, sizeClassNames = _useCommonClassName.sizeClassNames, statusClassNames = _useCommonClassName.statusClassNames;
var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue, max3 = _toRefs.max, min3 = _toRefs.min;
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), tValue = _useVModel2[0], setTValue = _useVModel2[1];
var inputRef = vue.ref();
var userInput = vue.ref("");
var tDisabled = useFormDisabled();
var isError = vue.ref();
var disabledReduce = vue.computed(function() {
return tDisabled.value || !canReduceNumber(tValue.value, props2.min, props2.largeNumber);
});
var disabledAdd = vue.computed(function() {
return tDisabled.value || !canAddNumber(tValue.value, props2.max, props2.largeNumber);
});
var wrapClasses = vue.computed(function() {
var _ref;
return ["".concat(classPrefix.value, "-input-number"), sizeClassNames[props2.size], (_ref = {}, _defineProperty$2(_ref, statusClassNames.disabled, tDisabled.value), _defineProperty$2(_ref, "".concat(classPrefix.value, "-is-controls-right"), props2.theme === "column"), _defineProperty$2(_ref, "".concat(classPrefix.value, "-input-number--").concat(props2.theme), props2.theme), _defineProperty$2(_ref, "".concat(classPrefix.value, "-input-number--auto-width"), props2.autoWidth), _ref)];
});
var reduceClasses = vue.computed(function() {
return ["".concat(classPrefix.value, "-input-number__decrease"), _defineProperty$2({}, statusClassNames.disabled, disabledReduce.value)];
});
var addClasses = vue.computed(function() {
return ["".concat(classPrefix.value, "-input-number__increase"), _defineProperty$2({}, statusClassNames.disabled, disabledAdd.value)];
});
var getUserInput = function getUserInput2(value2) {
var _inputRef$value;
if (!value2 && value2 !== 0)
return "";
var inputStr = value2 || value2 === 0 ? String(value2) : "";
if (!((_inputRef$value = inputRef.value) !== null && _inputRef$value !== void 0 && (_inputRef$value = _inputRef$value.inputRef) !== null && _inputRef$value !== void 0 && _inputRef$value.contains(document.activeElement))) {
var num = formatUnCompleteNumber(inputStr, {
decimalPlaces: props2.decimalPlaces,
largeNumber: props2.largeNumber,
isToFixed: true
});
inputStr = num || num === 0 ? String(num) : "";
if (props2.format) {
inputStr = String(props2.format(value2, {
fixedNumber: inputStr
}));
}
}
return inputStr;
};
vue.watch(tValue, function(val) {
var largeNumber = props2.largeNumber, decimalPlaces = props2.decimalPlaces;
var inputValue = [void 0, null].includes(val) ? "" : String(val);
if (!largeNumber && !Number.isNaN(userInput.value)) {
if (parseFloat(userInput.value) !== val) {
userInput.value = getUserInput(inputValue);
}
var fixedNumber = Number(largeNumberToFixed(inputValue, decimalPlaces, largeNumber));
if (decimalPlaces !== void 0 && ![void 0, null].includes(val) && Number(fixedNumber) !== Number(tValue.value)) {
setTValue(fixedNumber, {
type: "props",
e: void 0
});
}
}
if (largeNumber) {
userInput.value = getUserInput(inputValue);
if (decimalPlaces !== void 0 && largeNumberToFixed(inputValue, decimalPlaces, largeNumber) !== val) {
setTValue(userInput.value, {
type: "props",
e: void 0
});
}
}
}, {
immediate: true
});
vue.watch([tValue, max3, min3], function() {
var _props$onValidate;
if ([void 0, "", null].includes(tValue.value))
return;
var max22 = props2.max, min22 = props2.min, largeNumber = props2.largeNumber;
var error4 = getMaxOrMinValidateResult({
value: tValue.value,
largeNumber,
max: max22,
min: min22
});
isError.value = error4;
(_props$onValidate = props2.onValidate) === null || _props$onValidate === void 0 || _props$onValidate.call(props2, {
error: error4
});
}, {
immediate: true
});
var handleStepValue = function handleStepValue2(op) {
var newValue = getStepValue({
op,
step: props2.step,
max: props2.max,
min: props2.min,
lastValue: tValue.value,
largeNumber: props2.largeNumber
});
var largeNumber = props2.largeNumber, max22 = props2.max, min22 = props2.min;
var overLimit = getMaxOrMinValidateResult({
value: newValue,
largeNumber,
max: max22,
min: min22
});
return {
overLimit,
newValue
};
};
var handleReduce = function handleReduce2(e) {
if (disabledReduce.value || props2.readonly)
return;
var r = handleStepValue("reduce");
if (r.overLimit && !props2.allowInputOverLimit)
return;
setTValue(r.newValue, {
type: "reduce",
e
});
};
var handleAdd = function handleAdd2(e) {
if (disabledAdd.value || props2.readonly)
return;
var r = handleStepValue("add");
if (r.overLimit && !props2.allowInputOverLimit)
return;
setTValue(r.newValue, {
type: "add",
e
});
};
var onInnerInputChange = function onInnerInputChange2(inputValue, _ref4) {
var e = _ref4.e;
var val = formatThousandths(inputValue);
if (!canInputNumber(val, props2.largeNumber))
return;
userInput.value = val;
if (props2.largeNumber) {
setTValue(val, {
type: "input",
e
});
return;
}
if (canSetValue(String(val), Number(tValue.value))) {
var newVal = val === "" ? void 0 : Number(val);
setTValue(newVal, {
type: "input",
e
});
}
};
var handleBlur = function handleBlur2(value2, ctx) {
var _props$onBlur;
var largeNumber = props2.largeNumber, max22 = props2.max, min22 = props2.min, decimalPlaces = props2.decimalPlaces;
if (!props2.allowInputOverLimit && tValue.value !== void 0) {
var r = getMaxOrMinValidateResult({
value: tValue.value,
largeNumber,
max: max22,
min: min22
});
if (r === "below-minimum") {
setTValue(min22, {
type: "blur",
e: ctx.e
});
return;
}
if (r === "exceed-maximum") {
setTValue(max22, {
type: "blur",
e: ctx.e
});
return;
}
}
var newValue = formatUnCompleteNumber(value2, {
decimalPlaces,
largeNumber
});
userInput.value = getUserInput(newValue);
if (newValue !== tValue.value) {
setTValue(newValue, {
type: "blur",
e: ctx.e
});
}
(_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, newValue, ctx);
};
var handleFocus = function handleFocus2(value2, ctx) {
var _props$onFocus;
userInput.value = tValue.value || tValue.value === 0 ? String(tValue.value) : "";
(_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, value2, ctx);
};
var handleKeydown = function handleKeydown2(value2, ctx) {
var _props$onKeydown;
if (tDisabled.value)
return;
var e = ctx.e;
var keyEvent = {
ArrowUp: handleAdd,
ArrowDown: handleReduce
};
var code = e.code || e.key;
if (keyEvent[code] !== void 0) {
keyEvent[code](e);
}
(_props$onKeydown = props2.onKeydown) === null || _props$onKeydown === void 0 || _props$onKeydown.call(props2, value2, ctx);
};
var handleKeyup = function handleKeyup2(value2, ctx) {
var _props$onKeyup;
(_props$onKeyup = props2.onKeyup) === null || _props$onKeyup === void 0 || _props$onKeyup.call(props2, value2, ctx);
};
var handleKeypress = function handleKeypress2(value2, ctx) {
var _props$onKeypress;
(_props$onKeypress = props2.onKeypress) === null || _props$onKeypress === void 0 || _props$onKeypress.call(props2, value2, ctx);
};
var handleEnter = function handleEnter2(value2, ctx) {
var _props$onEnter;
userInput.value = getUserInput(value2);
var newValue = formatUnCompleteNumber(value2, {
decimalPlaces: props2.decimalPlaces,
largeNumber: props2.largeNumber
});
if (newValue !== value2 && String(newValue) !== value2) {
setTValue(newValue, {
type: "enter",
e: ctx.e
});
}
(_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, newValue, ctx);
};
var focus = function focus2() {
inputRef.value.focus();
};
var blur = function blur2() {
inputRef.value.blur();
};
var listeners = {
onBlur: handleBlur,
onFocus: handleFocus,
onKeydown: handleKeydown,
onKeyup: handleKeyup,
onKeypress: handleKeypress,
onEnter: handleEnter,
onClick: focus
};
return {
classPrefix,
wrapClasses,
reduceClasses,
addClasses,
tDisabled,
isError,
listeners,
userInput,
tValue,
inputRef,
focus,
blur,
handleReduce,
handleAdd,
onInnerInputChange
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$J(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$I(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$J(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _InputNumber = vue.defineComponent({
name: "TInputNumber",
props: props$k,
setup: function setup16(props2, context) {
var renderTNodeJSX3 = useTNodeJSX();
var _useGlobalIcon = useGlobalIcon({
AddIcon,
RemoveIcon,
ChevronDownIcon,
ChevronUpIcon
}), AddIcon$1 = _useGlobalIcon.AddIcon, RemoveIcon$1 = _useGlobalIcon.RemoveIcon, ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon, ChevronUpIcon$1 = _useGlobalIcon.ChevronUpIcon;
var p = useInputNumber(props2);
var inputRef = p.inputRef;
context.expose(_objectSpread$I({}, p));
return function() {
var reduceIcon = props2.theme === "column" ? vue.createVNode(ChevronDownIcon$1, {
"size": props2.size
}, null) : vue.createVNode(RemoveIcon$1, {
"size": props2.size
}, null);
var addIcon = props2.theme === "column" ? vue.createVNode(ChevronUpIcon$1, {
"size": props2.size
}, null) : vue.createVNode(AddIcon$1, {
"size": props2.size
}, null);
var status = p.isError.value ? "error" : props2.status;
var classPrefix = p.classPrefix.value;
var tipsNode = renderTNodeJSX3("tips");
return vue.createVNode("div", {
"class": p.wrapClasses.value
}, [props2.theme !== "normal" && vue.createVNode(Button, {
"class": p.reduceClasses.value,
"disabled": p.tDisabled.value,
"onClick": p.handleReduce,
"variant": "outline",
"shape": "square",
"icon": function icon() {
return reduceIcon;
}
}, null), vue.createVNode(Input, vue.mergeProps({
"ref": inputRef,
"disabled": p.tDisabled.value,
"readonly": props2.readonly,
"autocomplete": "off",
"placeholder": props2.placeholder,
"unselectable": props2.readonly ? "on" : "off",
"autoWidth": props2.autoWidth,
"align": props2.align || (props2.theme === "row" ? "center" : void 0),
"status": status,
"label": props2.label,
"suffix": props2.suffix
}, p.listeners, props2.inputProps, {
"value": p.userInput.value,
"onChange": p.onInnerInputChange
}), context.slots), props2.theme !== "normal" && vue.createVNode(Button, {
"class": p.addClasses.value,
"disabled": p.tDisabled.value,
"onClick": p.handleAdd,
"variant": "outline",
"shape": "square",
"icon": function icon() {
return addIcon;
}
}, null), tipsNode && vue.createVNode("div", {
"class": "".concat(classPrefix, "-input__tips ").concat(classPrefix, "-tips ").concat(classPrefix, "-is-").concat(status)
}, [tipsNode])]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var InputNumber = withInstall(_InputNumber);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var assignValue = _assignValue, castPath$2 = _castPath, isIndex$1 = _isIndex, isObject$2 = isObject_1, toKey$1 = _toKey;
function baseSet$2(object, path, value, customizer) {
if (!isObject$2(object)) {
return object;
}
path = castPath$2(path, object);
var index2 = -1, length = path.length, lastIndex = length - 1, nested = object;
while (nested != null && ++index2 < length) {
var key2 = toKey$1(path[index2]), newValue = value;
if (key2 === "__proto__" || key2 === "constructor" || key2 === "prototype") {
return object;
}
if (index2 != lastIndex) {
var objValue = nested[key2];
newValue = customizer ? customizer(objValue, key2, nested) : void 0;
if (newValue === void 0) {
newValue = isObject$2(objValue) ? objValue : isIndex$1(path[index2 + 1]) ? [] : {};
}
}
assignValue(nested, key2, newValue);
nested = nested[key2];
}
return object;
}
var _baseSet = baseSet$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGet$1 = _baseGet, baseSet$1 = _baseSet, castPath$1 = _castPath;
function basePickBy$1(object, paths, predicate) {
var index2 = -1, length = paths.length, result = {};
while (++index2 < length) {
var path = paths[index2], value = baseGet$1(object, path);
if (predicate(value, path)) {
baseSet$1(result, castPath$1(path, object), value);
}
}
return result;
}
var _basePickBy = basePickBy$1;
function baseHasIn$1(object, key2) {
return object != null && key2 in Object(object);
}
var _baseHasIn = baseHasIn$1;
var castPath = _castPath, isArguments = isArguments_1, isArray$1 = isArray_1, isIndex = _isIndex, isLength = isLength_1, toKey = _toKey;
function hasPath$1(object, path, hasFunc) {
path = castPath(path, object);
var index2 = -1, length = path.length, result = false;
while (++index2 < length) {
var key2 = toKey(path[index2]);
if (!(result = object != null && hasFunc(object, key2))) {
break;
}
object = object[key2];
}
if (result || ++index2 != length) {
return result;
}
length = object == null ? 0 : object.length;
return !!length && isLength(length) && isIndex(key2, length) && (isArray$1(object) || isArguments(object));
}
var _hasPath = hasPath$1;
var baseHasIn = _baseHasIn, hasPath = _hasPath;
function hasIn$1(object, path) {
return object != null && hasPath(object, path, baseHasIn);
}
var hasIn_1 = hasIn$1;
var basePickBy = _basePickBy, hasIn = hasIn_1;
function basePick$1(object, paths) {
return basePickBy(object, paths, function(value, path) {
return hasIn(object, path);
});
}
var _basePick = basePick$1;
var basePick = _basePick, flatRest = _flatRest;
var pick = flatRest(function(object, paths) {
return object == null ? {} : basePick(object, paths);
});
var pick_1 = pick;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseGet = _baseGet;
function get(object, path, defaultValue) {
var result = object == null ? void 0 : baseGet(object, path);
return result === void 0 ? defaultValue : result;
}
var get_1 = get;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var HASH_UNDEFINED = "__lodash_hash_undefined__";
function setCacheAdd$1(value) {
this.__data__.set(value, HASH_UNDEFINED);
return this;
}
var _setCacheAdd = setCacheAdd$1;
function setCacheHas$1(value) {
return this.__data__.has(value);
}
var _setCacheHas = setCacheHas$1;
var MapCache = _MapCache, setCacheAdd = _setCacheAdd, setCacheHas = _setCacheHas;
function SetCache$3(values) {
var index2 = -1, length = values == null ? 0 : values.length;
this.__data__ = new MapCache();
while (++index2 < length) {
this.add(values[index2]);
}
}
SetCache$3.prototype.add = SetCache$3.prototype.push = setCacheAdd;
SetCache$3.prototype.has = setCacheHas;
var _SetCache = SetCache$3;
function baseFindIndex$1(array, predicate, fromIndex, fromRight) {
var length = array.length, index2 = fromIndex + (fromRight ? 1 : -1);
while (fromRight ? index2-- : ++index2 < length) {
if (predicate(array[index2], index2, array)) {
return index2;
}
}
return -1;
}
var _baseFindIndex = baseFindIndex$1;
function baseIsNaN$1(value) {
return value !== value;
}
var _baseIsNaN = baseIsNaN$1;
function strictIndexOf$1(array, value, fromIndex) {
var index2 = fromIndex - 1, length = array.length;
while (++index2 < length) {
if (array[index2] === value) {
return index2;
}
}
return -1;
}
var _strictIndexOf = strictIndexOf$1;
var baseFindIndex = _baseFindIndex, baseIsNaN = _baseIsNaN, strictIndexOf = _strictIndexOf;
function baseIndexOf$1(array, value, fromIndex) {
return value === value ? strictIndexOf(array, value, fromIndex) : baseFindIndex(array, baseIsNaN, fromIndex);
}
var _baseIndexOf = baseIndexOf$1;
var baseIndexOf = _baseIndexOf;
function arrayIncludes$3(array, value) {
var length = array == null ? 0 : array.length;
return !!length && baseIndexOf(array, value, 0) > -1;
}
var _arrayIncludes = arrayIncludes$3;
function arrayIncludesWith$3(array, value, comparator) {
var index2 = -1, length = array == null ? 0 : array.length;
while (++index2 < length) {
if (comparator(value, array[index2])) {
return true;
}
}
return false;
}
var _arrayIncludesWith = arrayIncludesWith$3;
function cacheHas$3(cache, key2) {
return cache.has(key2);
}
var _cacheHas = cacheHas$3;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var SetCache$2 = _SetCache, arrayIncludes$2 = _arrayIncludes, arrayIncludesWith$2 = _arrayIncludesWith, arrayMap$1 = _arrayMap, baseUnary$1 = _baseUnary, cacheHas$2 = _cacheHas;
var nativeMin = Math.min;
function baseIntersection$1(arrays, iteratee, comparator) {
var includes = comparator ? arrayIncludesWith$2 : arrayIncludes$2, length = arrays[0].length, othLength = arrays.length, othIndex = othLength, caches = Array(othLength), maxLength = Infinity, result = [];
while (othIndex--) {
var array = arrays[othIndex];
if (othIndex && iteratee) {
array = arrayMap$1(array, baseUnary$1(iteratee));
}
maxLength = nativeMin(array.length, maxLength);
caches[othIndex] = !comparator && (iteratee || length >= 120 && array.length >= 120) ? new SetCache$2(othIndex && array) : void 0;
}
array = arrays[0];
var index2 = -1, seen = caches[0];
outer:
while (++index2 < length && result.length < maxLength) {
var value = array[index2], computed2 = iteratee ? iteratee(value) : value;
value = comparator || value !== 0 ? value : 0;
if (!(seen ? cacheHas$2(seen, computed2) : includes(result, computed2, comparator))) {
othIndex = othLength;
while (--othIndex) {
var cache = caches[othIndex];
if (!(cache ? cacheHas$2(cache, computed2) : includes(arrays[othIndex], computed2, comparator))) {
continue outer;
}
}
if (seen) {
seen.push(computed2);
}
result.push(value);
}
}
return result;
}
var _baseIntersection = baseIntersection$1;
var isArrayLikeObject$1 = isArrayLikeObject_1;
function castArrayLikeObject$1(value) {
return isArrayLikeObject$1(value) ? value : [];
}
var _castArrayLikeObject = castArrayLikeObject$1;
var arrayMap$2 = _arrayMap, baseIntersection = _baseIntersection, baseRest$1 = _baseRest, castArrayLikeObject = _castArrayLikeObject;
var intersection = baseRest$1(function(arrays) {
var mapped = arrayMap$2(arrays, castArrayLikeObject);
return mapped.length && mapped[0] === arrays[0] ? baseIntersection(mapped) : [];
});
var intersection_1 = intersection;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$j = {
allowInput: Boolean,
autoWidth: Boolean,
autofocus: Boolean,
borderless: Boolean,
clearable: Boolean,
collapsedItems: {
type: Function
},
disabled: Boolean,
inputProps: {
type: Object
},
inputValue: {
type: [String, Number],
"default": void 0
},
defaultInputValue: {
type: [String, Number]
},
keys: {
type: Object
},
label: {
type: [String, Function]
},
loading: Boolean,
minCollapsedNum: {
type: Number,
"default": 0
},
multiple: Boolean,
panel: {
type: [String, Function]
},
placeholder: {
type: String,
"default": ""
},
popupProps: {
type: Object
},
popupVisible: {
type: Boolean,
"default": void 0
},
defaultPopupVisible: Boolean,
readonly: Boolean,
status: {
type: String,
"default": "default",
validator: function validator20(val) {
if (!val)
return true;
return ["default", "success", "warning", "error"].includes(val);
}
},
suffix: {
type: [String, Function]
},
suffixIcon: {
type: Function
},
tag: {
type: [String, Function]
},
tagInputProps: {
type: Object
},
tagProps: {
type: Object
},
tips: {
type: [String, Function]
},
value: {
type: [String, Number, Boolean, Object, Array, Date],
"default": void 0
},
valueDisplay: {
type: [String, Function]
},
valueDisplayOptions: {
type: Object
},
onBlur: Function,
onClear: Function,
onEnter: Function,
onFocus: Function,
onInputChange: Function,
onMouseenter: Function,
onMouseleave: Function,
onPaste: Function,
onPopupVisibleChange: Function,
onTagChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded$6 = ["tips"];
function ownKeys$I(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$H(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$I(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$I(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var COMMON_PROPERTIES = ["status", "clearable", "disabled", "label", "placeholder", "readonly", "suffix", "suffixIcon", "onPaste", "onMouseenter", "onMouseleave"];
var DEFAULT_KEYS$1 = {
label: "label",
value: "value",
children: "children"
};
function getInputValue(value, keys2) {
var iKeys = _objectSpread$H(_objectSpread$H({}, DEFAULT_KEYS$1), keys2);
return isObject_1(value) ? value[iKeys.label] : value;
}
function useSingle(props2, context) {
var _props$defaultInputVa;
var _toRefs = vue.toRefs(props2), value = _toRefs.value, keys2 = _toRefs.keys, propsInputValue = _toRefs.inputValue;
var classPrefix = usePrefixClass();
var inputRef = vue.ref();
var _useDefaultValue = useDefaultValue(propsInputValue, (_props$defaultInputVa = props2.defaultInputValue) !== null && _props$defaultInputVa !== void 0 ? _props$defaultInputVa : "", props2.onInputChange, "inputValue"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), inputValue = _useDefaultValue2[0], setInputValue = _useDefaultValue2[1];
var renderTNode = useTNodeJSX();
var disable = useFormDisabled();
var commonInputProps = vue.computed(function() {
return _objectSpread$H(_objectSpread$H({}, pick_1(props2, COMMON_PROPERTIES)), {}, {
disabled: disable.value
});
});
var onInnerClear = function onInnerClear2(context2) {
var _context2$e, _props$onClear;
context2 === null || context2 === void 0 || (_context2$e = context2.e) === null || _context2$e === void 0 || _context2$e.stopPropagation();
(_props$onClear = props2.onClear) === null || _props$onClear === void 0 || _props$onClear.call(props2, context2);
setInputValue("", {
trigger: "clear"
});
};
var onInnerInputChange = function onInnerInputChange2(value2, context2) {
if (props2.allowInput) {
setInputValue(value2, _objectSpread$H(_objectSpread$H({}, context2), {}, {
trigger: context2.trigger || "input"
}));
}
};
var renderSelectSingle = function renderSelectSingle2(popupVisible) {
var _context$attrs;
var singleValueDisplay = renderTNode("valueDisplay");
var displayedValue = popupVisible && props2.allowInput ? inputValue.value : getInputValue(value.value, keys2.value);
var prefixContent = renderPrefixContent(singleValueDisplay, popupVisible);
var inputProps = _objectSpread$H(_objectSpread$H({}, commonInputProps.value), {}, {
value: renderInputDisplay(singleValueDisplay, displayedValue, popupVisible),
label: prefixContent.length ? function() {
return prefixContent;
} : void 0,
autoWidth: props2.autoWidth,
readonly: !props2.allowInput || props2.readonly,
placeholder: renderPlaceholder(singleValueDisplay),
suffixIcon: !disable.value && props2.loading ? function() {
return vue.createVNode(Loading, {
"loading": true,
"size": "small"
}, null);
} : props2.suffixIcon,
showClearIconOnEmpty: Boolean(props2.clearable && (inputValue.value || displayedValue) && !disable.value && !props2.readonly),
allowTriggerBlur: props2.allowInput && !props2.readonly
}, props2.inputProps);
var _context$slots = context.slots;
_context$slots.tips;
var slots = _objectWithoutProperties$1(_context$slots, _excluded$6);
var inputClassProps = popupVisible ? ["".concat(classPrefix.value, "-input--focused"), "".concat(classPrefix.value, "-is-focused"), inputProps === null || inputProps === void 0 ? void 0 : inputProps.inputClass] : inputProps === null || inputProps === void 0 ? void 0 : inputProps.inputClass;
return vue.createVNode(Input, vue.mergeProps({
"ref": "inputRef",
"style": (_context$attrs = context.attrs) === null || _context$attrs === void 0 ? void 0 : _context$attrs.style
}, _objectSpread$H({
onChange: onInnerInputChange,
onClear: onInnerClear,
onBlur: function onBlur(val, context2) {
var _props$onBlur;
(_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, value.value, _objectSpread$H(_objectSpread$H({}, context2), {}, {
inputValue: val
}));
},
onEnter: function onEnter(val, context2) {
var _props$onEnter;
(_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, value.value, _objectSpread$H(_objectSpread$H({}, context2), {}, {
inputValue: val
}));
},
onFocus: function onFocus(val, context2) {
var _props$onFocus;
(_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, value.value, _objectSpread$H(_objectSpread$H({}, context2), {}, {
inputValue: val
}));
}
}, inputProps), {
"inputClass": inputClassProps
}), slots);
};
var renderPrefixContent = function renderPrefixContent2(singleValueDisplay, popupVisible) {
if (singleValueDisplay) {
var _props$valueDisplayOp, _props$valueDisplayOp2;
if ((_props$valueDisplayOp = props2.valueDisplayOptions) !== null && _props$valueDisplayOp !== void 0 && _props$valueDisplayOp.usePlaceholder && !value.value || (_props$valueDisplayOp2 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp2 !== void 0 && _props$valueDisplayOp2.useInputDisplay && popupVisible) {
return [renderTNode("label")];
}
}
return [renderTNode("label"), singleValueDisplay];
};
var renderInputDisplay = function renderInputDisplay2(singleValueDisplay, displayedValue, popupVisible) {
if (singleValueDisplay) {
var _props$valueDisplayOp3, _props$valueDisplayOp4;
if (!((_props$valueDisplayOp3 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp3 !== void 0 && _props$valueDisplayOp3.useInputDisplay) || (_props$valueDisplayOp4 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp4 !== void 0 && _props$valueDisplayOp4.useInputDisplay && !popupVisible) {
return void 0;
}
}
return displayedValue;
};
var renderPlaceholder = function renderPlaceholder2(singleValueDisplay) {
if (singleValueDisplay) {
var _props$valueDisplayOp5, _props$valueDisplayOp6;
if (!((_props$valueDisplayOp5 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp5 !== void 0 && _props$valueDisplayOp5.usePlaceholder) || (_props$valueDisplayOp6 = props2.valueDisplayOptions) !== null && _props$valueDisplayOp6 !== void 0 && _props$valueDisplayOp6.usePlaceholder && value.value) {
return "";
}
}
return props2.placeholder;
};
return {
inputRef,
commonInputProps,
onInnerClear,
renderSelectSingle
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$i = {
autoWidth: Boolean,
clearable: Boolean,
collapsedItems: {
type: Function
},
disabled: Boolean,
dragSort: Boolean,
excessTagsDisplayType: {
type: String,
"default": "break-line",
validator: function validator21(val) {
if (!val)
return true;
return ["scroll", "break-line"].includes(val);
}
},
inputProps: {
type: Object
},
inputValue: {
type: [String, Number],
"default": void 0
},
defaultInputValue: {
type: [String, Number],
"default": ""
},
label: {
type: [String, Function]
},
max: {
type: Number
},
minCollapsedNum: {
type: Number,
"default": 0
},
placeholder: {
type: String,
"default": void 0
},
readonly: Boolean,
size: {
type: String,
"default": "medium",
validator: function validator22(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
status: {
type: String,
validator: function validator23(val) {
if (!val)
return true;
return ["default", "success", "warning", "error"].includes(val);
}
},
suffix: {
type: [String, Function]
},
suffixIcon: {
type: Function
},
prefixIcon: {
type: Function
},
tag: {
type: [String, Function]
},
tagProps: {
type: Object
},
tips: {
type: [String, Function]
},
value: {
type: Array,
"default": void 0
},
modelValue: {
type: Array,
"default": void 0
},
defaultValue: {
type: Array,
"default": function _default2() {
return [];
}
},
valueDisplay: {
type: [String, Function]
},
onBlur: Function,
onChange: Function,
onClear: Function,
onClick: Function,
onDragSort: Function,
onEnter: Function,
onFocus: Function,
onInputChange: Function,
onMouseenter: Function,
onMouseleave: Function,
onPaste: Function,
onRemove: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useTagScroll(props2) {
var tagInputRef = vue.ref();
var _toRefs = vue.toRefs(props2), excessTagsDisplayType = _toRefs.excessTagsDisplayType, readonly = _toRefs.readonly, disabled = _toRefs.disabled;
var scrollDistance = vue.ref(0);
var scrollElement = vue.ref();
var mouseEnterTimer = vue.ref();
var updateScrollElement = function updateScrollElement2(element2) {
var inputElement = element2.children[0];
scrollElement.value = inputElement;
};
var updateScrollDistance = function updateScrollDistance2() {
scrollDistance.value = scrollElement.value.scrollWidth - scrollElement.value.clientWidth;
};
var scrollTo = function scrollTo2(distance2) {
var _scrollElement$value;
if (!isFunction_1((_scrollElement$value = scrollElement.value) === null || _scrollElement$value === void 0 ? void 0 : _scrollElement$value.scroll))
return;
scrollElement.value.scroll({
left: distance2,
behavior: "smooth"
});
};
var scrollToRight = function scrollToRight2() {
updateScrollDistance();
scrollTo(scrollDistance.value);
};
var scrollToLeft = function scrollToLeft2() {
scrollTo(0);
};
var onWheel = function onWheel2(_ref) {
var e = _ref.e;
if (readonly.value || disabled.value)
return;
if (!scrollElement.value)
return;
if (e.deltaX > 0) {
var distance2 = Math.min(scrollElement.value.scrollLeft + 120, scrollDistance.value);
scrollTo(distance2);
} else {
var _distance = Math.max(scrollElement.value.scrollLeft - 120, 0);
scrollTo(_distance);
}
};
var scrollToRightOnEnter = function scrollToRightOnEnter2() {
if (excessTagsDisplayType.value !== "scroll")
return;
mouseEnterTimer.value = setTimeout(function() {
scrollToRight();
clearTimeout(mouseEnterTimer.value);
}, 100);
};
var scrollToLeftOnLeave = function scrollToLeftOnLeave2() {
if (excessTagsDisplayType.value !== "scroll")
return;
scrollTo(0);
clearTimeout(mouseEnterTimer.value);
};
var init = function init2() {
var _tagInputRef$value;
var element2 = (_tagInputRef$value = tagInputRef.value) === null || _tagInputRef$value === void 0 ? void 0 : _tagInputRef$value.$el;
if (!element2)
return;
updateScrollElement(element2);
};
var clear = function clear2() {
clearTimeout(mouseEnterTimer.value);
};
vue.onMounted(init);
vue.onUnmounted(clear);
return {
tagInputRef,
scrollElement,
scrollDistance,
scrollTo,
scrollToRight,
scrollToLeft,
updateScrollElement,
updateScrollDistance,
onWheel,
scrollToRightOnEnter,
scrollToLeftOnLeave
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$h = {
closable: Boolean,
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
disabled: Boolean,
icon: {
type: Function,
"default": void 0
},
maxWidth: {
type: [String, Number]
},
shape: {
type: String,
"default": "square",
validator: function validator24(val) {
if (!val)
return true;
return ["square", "round", "mark"].includes(val);
}
},
size: {
type: String,
"default": "medium",
validator: function validator25(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
theme: {
type: String,
"default": "default",
validator: function validator26(val) {
if (!val)
return true;
return ["default", "primary", "warning", "danger", "success"].includes(val);
}
},
variant: {
type: String,
"default": "dark",
validator: function validator27(val) {
if (!val)
return true;
return ["dark", "light", "outline", "light-outline"].includes(val);
}
},
onClick: Function,
onClose: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _Tag = vue.defineComponent({
name: "TTag",
props: props$h,
setup: function setup17(props2) {
var _useConfig = useConfig("tag"), tagGlobalConfig = _useConfig.globalConfig;
var COMPONENT_NAME = usePrefixClass("tag");
var _useGlobalIcon = useGlobalIcon({
CloseIcon
}), CloseIcon$1 = _useGlobalIcon.CloseIcon;
var renderTNodeJSX3 = useTNodeJSX();
var renderContent3 = useContent();
var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
var tagClass = vue.computed(function() {
var _ref;
return ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "--").concat(props2.theme), "".concat(COMPONENT_NAME.value, "--").concat(props2.variant), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--ellipsis"), props2.maxWidth), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--close"), props2.closable), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--disabled"), props2.disabled), _defineProperty$2(_ref, SIZE.value[props2.size], props2.size !== "medium"), _ref), props2.shape !== "square" && "".concat(COMPONENT_NAME.value, "--").concat(props2.shape)];
});
var tagStyle = vue.computed(function() {
var maxWidth = props2.maxWidth;
return props2.maxWidth ? {
maxWidth: isNaN(Number(maxWidth)) ? String(maxWidth) : "".concat(maxWidth, "px")
} : {};
});
var handleClick = function handleClick2(e) {
var _props2$onClick;
if (props2.disabled)
return;
(_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, {
e
});
};
var getCloseIcon = function getCloseIcon2() {
if (!props2.closable)
return null;
var iconClassName = "".concat(COMPONENT_NAME.value, "__icon-close");
if (tagGlobalConfig.value.closeIcon) {
return vue.h(tagGlobalConfig.value.closeIcon(vue.h), {
"class": iconClassName
});
}
return vue.createVNode(CloseIcon$1, {
"onClick": function onClick(_ref2) {
var _props2$onClose;
var e = _ref2.e;
e.stopPropagation();
(_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, {
e
});
},
"class": iconClassName
}, null);
};
return function() {
var closeIcon = getCloseIcon();
var tagContent = renderContent3("default", "content");
var icon = renderTNodeJSX3("icon");
var title = isString_1(tagContent) ? tagContent : "";
var titleAttribute = title && props2.maxWidth ? title : void 0;
return vue.createVNode("span", {
"class": tagClass.value,
"style": tagStyle.value,
"onClick": handleClick
}, [icon, props2.maxWidth ? vue.createVNode("span", {
"class": _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--text"), props2.maxWidth),
"title": titleAttribute
}, [tagContent]) : tagContent, !props2.disabled && closeIcon]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$g = {
checked: {
type: Boolean,
"default": void 0
},
modelValue: {
type: Boolean,
"default": void 0
},
defaultChecked: Boolean,
content: {
type: [String, Number, Array, Function]
},
"default": {
type: [String, Function]
},
disabled: Boolean,
size: {
type: String,
"default": "medium",
validator: function validator28(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
onChange: Function,
onClick: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _CheckTag = vue.defineComponent({
name: "TCheckTag",
props: props$g,
setup: function setup18(props2) {
var COMPONENT_NAME = usePrefixClass("tag");
var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
var renderContent3 = useContent();
var _toRefs = vue.toRefs(props2), checked = _toRefs.checked, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(checked, modelValue, props2.defaultChecked, props2.onChange, "checked"), _useVModel2 = _slicedToArray(_useVModel, 2), innerChecked = _useVModel2[0], setInnerChecked = _useVModel2[1];
var tagClass = vue.computed(function() {
var _ref;
return ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "--check"), "".concat(COMPONENT_NAME.value, "--default"), SIZE.value[props2.size], (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--checked"), !props2.disabled && innerChecked.value), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--disabled"), props2.disabled), _ref)];
});
var handleClick = function handleClick2(e) {
if (!props2.disabled) {
var _props2$onClick;
(_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, {
e
});
setInnerChecked(!innerChecked.value);
}
};
return function() {
var tagContent = renderContent3("default", "content");
return vue.createVNode("span", {
"class": tagClass.value,
"onClick": handleClick
}, [tagContent]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Tag = withInstall(_Tag);
withInstall(_CheckTag);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$H(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$G(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$H(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$H(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useTagList(props2) {
var renderTNode = useTNodeJSX();
var classPrefix = usePrefixClass();
var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue, onRemove = _toRefs.onRemove, max3 = _toRefs.max, minCollapsedNum = _toRefs.minCollapsedNum, size = _toRefs.size, disabled = _toRefs.disabled, readonly = _toRefs.readonly, tagProps = _toRefs.tagProps, getDragProps = _toRefs.getDragProps;
var _useVModel = useVModel(value, modelValue, props2.defaultValue || [], props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), tagValue = _useVModel2[0], setTagValue = _useVModel2[1];
var oldInputValue = vue.ref();
var _onClose = function onClose(p) {
var _onRemove$value;
var arr = _toConsumableArray(tagValue.value);
arr.splice(p.index, 1);
setTagValue(arr, _objectSpread$G({
trigger: "tag-remove"
}, p));
(_onRemove$value = onRemove.value) === null || _onRemove$value === void 0 || _onRemove$value.call(onRemove, _objectSpread$G(_objectSpread$G({}, p), {}, {
trigger: "tag-remove",
value: arr
}));
};
var clearAll = function clearAll2(context) {
setTagValue([], {
trigger: "clear",
e: context.e
});
};
var onInnerEnter = function onInnerEnter2(value2, context) {
var _tagValue$value, _props$onEnter;
var valueStr = value2 ? String(value2).trim() : "";
var isLimitExceeded = max3 && ((_tagValue$value = tagValue.value) === null || _tagValue$value === void 0 ? void 0 : _tagValue$value.length) >= max3.value;
var newValue = tagValue.value;
if (!isLimitExceeded && valueStr) {
newValue = tagValue.value instanceof Array ? tagValue.value.concat(String(valueStr)) : [valueStr];
setTagValue(newValue, {
trigger: "enter",
index: newValue.length - 1,
item: valueStr,
e: context.e
});
}
props2 === null || props2 === void 0 || (_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, newValue, _objectSpread$G(_objectSpread$G({}, context), {}, {
inputValue: value2
}));
};
var onInputBackspaceKeyUp = function onInputBackspaceKeyUp2(value2) {
if (!tagValue.value || !tagValue.value.length)
return;
oldInputValue.value = value2;
};
var onInputBackspaceKeyDown = function onInputBackspaceKeyDown2(value2, context) {
var e = context.e;
if (!tagValue.value || !tagValue.value.length || e.key === "Process")
return;
var isDelete = /(Backspace|NumpadDelete)/i.test(e.code) || /(Backspace|NumpadDelete)/i.test(e.key);
if (!value2 && isDelete) {
var _onRemove$value2;
var index2 = tagValue.value.length - 1;
var item = tagValue.value[index2];
var trigger = "backspace";
var newValue = tagValue.value.slice(0, -1);
setTagValue(newValue, {
e,
index: index2,
item,
trigger
});
(_onRemove$value2 = onRemove.value) === null || _onRemove$value2 === void 0 || _onRemove$value2.call(onRemove, {
e,
index: index2,
item,
trigger,
value: newValue
});
}
oldInputValue.value = value2;
};
var renderLabel = function renderLabel2(_ref) {
var _newList$map;
var displayNode = _ref.displayNode, label = _ref.label;
var newList = minCollapsedNum.value ? tagValue.value.slice(0, minCollapsedNum.value) : tagValue.value;
var list = displayNode ? [displayNode] : (newList === null || newList === void 0 || (_newList$map = newList.map) === null || _newList$map === void 0 ? void 0 : _newList$map.call(newList, function(item, index2) {
var _getDragProps$value;
var tagContent = renderTNode("tag", {
params: {
value: item
}
});
return vue.createVNode(Tag, vue.mergeProps({
"key": "".concat(item).concat(index2),
"size": size.value,
"disabled": disabled.value,
"onClose": function onClose(context) {
return _onClose({
e: context.e,
item,
index: index2
});
},
"closable": !readonly.value && !disabled.value
}, (_getDragProps$value = getDragProps.value) === null || _getDragProps$value === void 0 ? void 0 : _getDragProps$value.call(getDragProps, index2, item), tagProps.value), {
"default": function _default16() {
return [tagContent !== null && tagContent !== void 0 ? tagContent : item];
}
});
})) || [];
if (![null, void 0, ""].includes(label)) {
list.unshift(vue.createVNode("div", {
"class": "".concat(classPrefix.value, "-tag-input__prefix"),
"key": "label"
}, [label]));
}
if (newList.length !== (tagValue.value || []).length) {
var len2 = tagValue.value.length - newList.length;
var more = renderTNode("collapsedItems", {
params: {
value: tagValue.value,
count: tagValue.value.length - minCollapsedNum.value,
collapsedTags: tagValue.value.slice(minCollapsedNum.value, tagValue.value.length),
collapsedSelectedItems: tagValue.value.slice(minCollapsedNum.value, tagValue.value.length)
}
});
list.push(more !== null && more !== void 0 ? more : vue.createVNode(Tag, {
"key": "more"
}, {
"default": function _default16() {
return ["+", len2];
}
}));
}
return list;
};
return {
tagValue,
clearAll,
onClose: _onClose,
onInnerEnter,
onInputBackspaceKeyUp,
onInputBackspaceKeyDown,
renderLabel
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useHover(props2) {
var disabled = props2.disabled, readonly = props2.readonly, onMouseenter = props2.onMouseenter, onMouseleave = props2.onMouseleave;
var isHover = vue.ref(false);
var addHover = function addHover2(context) {
if (readonly || disabled)
return;
isHover.value = true;
onMouseenter === null || onMouseenter === void 0 || onMouseenter(context);
};
var cancelHover = function cancelHover2(context) {
if (readonly || disabled)
return;
isHover.value = false;
onMouseleave === null || onMouseleave === void 0 || onMouseleave(context);
};
return {
isHover,
addHover,
cancelHover
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useDragSorter(props2) {
var sortOnDraggable = props2.sortOnDraggable, onDragSort = props2.onDragSort, onDragOverCheck = props2.onDragOverCheck;
var draggingIndex = vue.ref(-1);
var dragStartData = vue.ref(null);
var isDropped = vue.ref(null);
var startInfo = vue.reactive({
nodeX: 0,
nodeWidth: 0,
mouseX: 0
});
var onDragOver = function onDragOver2(e, index2, record) {
e.preventDefault();
if (draggingIndex.value === index2 || draggingIndex.value === -1)
return;
var target = e.target;
if (onDragOverCheck !== null && onDragOverCheck !== void 0 && onDragOverCheck.targetClassNameRegExp && !(onDragOverCheck !== null && onDragOverCheck !== void 0 && onDragOverCheck.targetClassNameRegExp.test(target.className))) {
return;
}
if (onDragOverCheck !== null && onDragOverCheck !== void 0 && onDragOverCheck.x && target) {
if (!startInfo.nodeWidth)
return;
var _target$getBoundingCl = target.getBoundingClientRect(), x = _target$getBoundingCl.x, width = _target$getBoundingCl.width;
var targetNodeMiddleX = x + width / 2;
var draggingNodeLeft = e.clientX - (startInfo.mouseX - startInfo.nodeX);
var draggingNodeRight = draggingNodeLeft + startInfo.nodeWidth;
var overlap = false;
if (draggingNodeLeft > x && draggingNodeLeft < x + width) {
overlap = draggingNodeLeft < targetNodeMiddleX;
} else {
overlap = draggingNodeRight > targetNodeMiddleX;
}
if (!overlap)
return;
}
onDragSort === null || onDragSort === void 0 || onDragSort({
currentIndex: draggingIndex.value,
current: dragStartData,
target: record,
targetIndex: index2
});
draggingIndex.value = index2;
};
if (!sortOnDraggable) {
return {};
}
function onDragStart(e, index2, record) {
draggingIndex.value = index2;
dragStartData.value = record;
var target = e.target;
if (onDragOverCheck && target) {
var _target$getBoundingCl2 = target.getBoundingClientRect(), x = _target$getBoundingCl2.x, width = _target$getBoundingCl2.width;
startInfo.nodeX = x;
startInfo.nodeWidth = width;
startInfo.mouseX = e.clientX;
}
}
function _onDrop2() {
isDropped.value = true;
}
function onDragEnd() {
if (!isDropped.value)
;
isDropped.value = false;
draggingIndex.value = -1;
dragStartData.value = null;
}
function getDragProps(index2, record) {
if (sortOnDraggable) {
return {
draggable: true,
onDragstart: function onDragstart(e) {
onDragStart(e, index2, record);
},
onDragover: function onDragover(e) {
onDragOver(e, index2, record);
},
onDrop: function onDrop() {
_onDrop2();
},
onDragend: function onDragend() {
onDragEnd();
}
};
}
return {};
}
return {
onDragStart,
onDragOver,
onDrop: _onDrop2,
onDragEnd,
getDragProps,
dragging: draggingIndex.value !== -1
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$G(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$F(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$G(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$G(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var useComponentClassName$1 = function useComponentClassName2() {
return {
NAME_CLASS: usePrefixClass("tag-input"),
CLEAR_CLASS: usePrefixClass("tag-input__suffix-clear"),
BREAK_LINE_CLASS: usePrefixClass("tag-input--break-line")
};
};
var _TagInput = vue.defineComponent({
name: "TTagInput",
props: _objectSpread$F({}, props$i),
setup: function setup19(props2) {
var _useComponentClassNam = useComponentClassName$1(), NAME_CLASS = _useComponentClassNam.NAME_CLASS, CLEAR_CLASS = _useComponentClassNam.CLEAR_CLASS, BREAK_LINE_CLASS = _useComponentClassNam.BREAK_LINE_CLASS;
var _useGlobalIcon = useGlobalIcon({
CloseCircleFilledIcon
}), CloseCircleFilledIcon$1 = _useGlobalIcon.CloseCircleFilledIcon;
var _toRefs = vue.toRefs(props2), inputValue = _toRefs.inputValue, inputProps = _toRefs.inputProps;
var _useDefault = useDefaultValue(inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefault2 = _slicedToArray(_useDefault, 2), tInputValue = _useDefault2[0], setTInputValue = _useDefault2[1];
var _toRefs2 = vue.toRefs(props2), excessTagsDisplayType = _toRefs2.excessTagsDisplayType, readonly = _toRefs2.readonly, disabled = _toRefs2.disabled, clearable = _toRefs2.clearable, placeholder = _toRefs2.placeholder;
var _useHover = useHover({
readonly: props2.readonly,
disabled: props2.disabled,
onMouseenter: props2.onMouseenter,
onMouseleave: props2.onMouseleave
}), isHover = _useHover.isHover, addHover = _useHover.addHover, cancelHover = _useHover.cancelHover;
var isComposition = vue.ref(false);
var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix;
var _useDragSorter = useDragSorter(_objectSpread$F(_objectSpread$F({}, props2), {}, {
sortOnDraggable: props2.dragSort,
onDragOverCheck: {
x: true,
targetClassNameRegExp: new RegExp("^".concat(classPrefix.value, "-tag"))
}
})), getDragProps = _useDragSorter.getDragProps;
var _useTagScroll = useTagScroll(props2), scrollToRight = _useTagScroll.scrollToRight, onWheel = _useTagScroll.onWheel, scrollToRightOnEnter = _useTagScroll.scrollToRightOnEnter, scrollToLeftOnLeave = _useTagScroll.scrollToLeftOnLeave, tagInputRef = _useTagScroll.tagInputRef;
var _useTagList = useTagList(vue.reactive(_objectSpread$F(_objectSpread$F({}, vue.toRefs(props2)), {}, {
getDragProps
}))), tagValue = _useTagList.tagValue, onInnerEnter = _useTagList.onInnerEnter, onInputBackspaceKeyUp = _useTagList.onInputBackspaceKeyUp, onInputBackspaceKeyDown = _useTagList.onInputBackspaceKeyDown, clearAll = _useTagList.clearAll, renderLabel = _useTagList.renderLabel, onClose = _useTagList.onClose;
var classes = vue.computed(function() {
var _ref;
var isEmpty2 = !(isArray_1(tagValue.value) && tagValue.value.length);
return [NAME_CLASS.value, (_ref = {}, _defineProperty$2(_ref, BREAK_LINE_CLASS.value, excessTagsDisplayType.value === "break-line"), _defineProperty$2(_ref, "".concat(classPrefix.value, "-is-empty"), isEmpty2), _defineProperty$2(_ref, "".concat(classPrefix.value, "-tag-input--with-tag"), !isEmpty2), _ref)];
});
var tagInputPlaceholder = vue.computed(function() {
var _tagValue$value;
return !((_tagValue$value = tagValue.value) !== null && _tagValue$value !== void 0 && _tagValue$value.length) ? placeholder.value : "";
});
var showClearIcon = vue.computed(function() {
var _tagValue$value2;
return Boolean(!readonly.value && !disabled.value && clearable.value && isHover.value && (((_tagValue$value2 = tagValue.value) === null || _tagValue$value2 === void 0 ? void 0 : _tagValue$value2.length) || tInputValue.value));
});
var onInputEnter = function onInputEnter2(value, context) {
var _context$e, _context$e$preventDef;
(_context$e = context.e) === null || _context$e === void 0 || (_context$e$preventDef = _context$e.preventDefault) === null || _context$e$preventDef === void 0 || _context$e$preventDef.call(_context$e);
setTInputValue("", {
e: context.e,
trigger: "enter"
});
!isComposition.value && onInnerEnter(value, context);
vue.nextTick(function() {
scrollToRight();
isComposition.value = false;
});
};
var onInputCompositionstart = function onInputCompositionstart2(value, context) {
var _inputProps$value, _inputProps$value$onC;
isComposition.value = true;
(_inputProps$value = inputProps.value) === null || _inputProps$value === void 0 || (_inputProps$value$onC = _inputProps$value.onCompositionstart) === null || _inputProps$value$onC === void 0 || _inputProps$value$onC.call(_inputProps$value, value, context);
};
var onInputCompositionend = function onInputCompositionend2(value, context) {
var _inputProps$value2, _inputProps$value2$on;
isComposition.value = false;
(_inputProps$value2 = inputProps.value) === null || _inputProps$value2 === void 0 || (_inputProps$value2$on = _inputProps$value2.onCompositionend) === null || _inputProps$value2$on === void 0 || _inputProps$value2$on.call(_inputProps$value2, value, context);
};
var onClick = function onClick2(ctx) {
var _props2$onClick;
tagInputRef.value.focus();
(_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, ctx);
};
var onClearClick = function onClearClick2(context) {
var _props2$onClear;
clearAll(context);
setTInputValue("", {
e: context.e,
trigger: "clear"
});
(_props2$onClear = props2.onClear) === null || _props2$onClear === void 0 || _props2$onClear.call(props2, context);
};
var focus = function focus2() {
tagInputRef.value.focus();
};
return {
CLEAR_CLASS,
CloseCircleFilledIcon: CloseCircleFilledIcon$1,
tagValue,
tInputValue,
isHover,
tagInputPlaceholder,
showClearIcon,
tagInputRef,
classPrefix,
setTInputValue,
addHover,
cancelHover,
onInputEnter,
onInnerEnter,
onInputBackspaceKeyUp,
onInputBackspaceKeyDown,
renderLabel,
onWheel,
scrollToRightOnEnter,
scrollToLeftOnLeave,
onClick,
onClearClick,
onClose,
onInputCompositionstart,
onInputCompositionend,
focus,
classes
};
},
render: function render5() {
var _this = this, _this$inputProps, _this$tagValue;
var CloseCircleFilledIcon2 = this.CloseCircleFilledIcon;
var suffixIconNode = this.showClearIcon ? vue.createVNode(CloseCircleFilledIcon2, {
"class": this.CLEAR_CLASS,
"onClick": this.onClearClick
}, null) : renderTNodeJSX(this, "suffixIcon");
var prefixIconNode = renderTNodeJSX(this, "prefixIcon");
var suffixClass = "".concat(this.classPrefix, "-tag-input__with-suffix-icon");
if (suffixIconNode && !this.classes.includes(suffixClass)) {
this.classes.push(suffixClass);
}
var displayNode = renderTNodeJSX(this, "valueDisplay", {
params: {
value: this.tagValue,
onClose: function onClose(index2, item) {
return _this.onClose({
index: index2,
item
});
}
}
});
var _label = renderTNodeJSX(this, "label", {
silent: true
});
return vue.createVNode(Input, vue.mergeProps({
"ref": "tagInputRef",
"readonly": this.readonly,
"value": this.tInputValue,
"autoWidth": true,
"size": this.size,
"disabled": this.disabled,
"label": function label() {
return _this.renderLabel({
displayNode,
label: _label
});
},
"class": this.classes,
"tips": this.tips,
"status": this.status,
"placeholder": this.tagInputPlaceholder,
"suffix": this.suffix,
"suffixIcon": function suffixIcon() {
return suffixIconNode;
},
"prefixIcon": function prefixIcon() {
return prefixIconNode;
},
"showInput": !((_this$inputProps = this.inputProps) !== null && _this$inputProps !== void 0 && _this$inputProps.readonly) || !this.tagValue || !((_this$tagValue = this.tagValue) !== null && _this$tagValue !== void 0 && _this$tagValue.length),
"keepWrapperWidth": !this.autoWidth,
"onWheel": this.onWheel,
"onChange": function onChange(val, context) {
_this.setTInputValue(val, _objectSpread$F(_objectSpread$F({}, context), {}, {
trigger: "input"
}));
},
"onPaste": this.onPaste,
"onEnter": this.onInputEnter,
"onKeyup": this.onInputBackspaceKeyUp,
"onKeydown": this.onInputBackspaceKeyDown,
"onMouseenter": function onMouseenter(context) {
_this.addHover(context);
_this.scrollToRightOnEnter();
},
"onMouseleave": function onMouseleave(context) {
_this.cancelHover(context);
_this.scrollToLeftOnLeave();
},
"onFocus": function onFocus(inputValue, context) {
var _this$onFocus;
(_this$onFocus = _this.onFocus) === null || _this$onFocus === void 0 || _this$onFocus.call(_this, _this.tagValue, {
e: context.e,
inputValue
});
},
"onBlur": function onBlur(inputValue, context) {
var _this$onBlur;
_this.setTInputValue("", {
e: context.e,
trigger: "blur"
});
(_this$onBlur = _this.onBlur) === null || _this$onBlur === void 0 || _this$onBlur.call(_this, _this.tagValue, {
e: context.e,
inputValue: ""
});
},
"onClick": this.onClick,
"onCompositionstart": this.onInputCompositionstart,
"onCompositionend": this.onInputCompositionend
}, this.inputProps), {
suffix: this.$slots.suffix
});
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var TagInput = withInstall(_TagInput);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded$5 = ["tips"];
function ownKeys$F(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$E(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$F(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$F(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var DEFAULT_KEYS = {
label: "label",
key: "key",
children: "children"
};
function useMultiple(props2, context) {
var _toRefs = vue.toRefs(props2), inputValue = _toRefs.inputValue;
var classPrefix = usePrefixClass();
var tagInputRef = vue.ref();
var _useDefault = useDefaultValue(inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefault2 = _slicedToArray(_useDefault, 2), tInputValue = _useDefault2[0], setTInputValue = _useDefault2[1];
var disable = useFormDisabled();
var iKeys = vue.computed(function() {
return _objectSpread$E(_objectSpread$E({}, DEFAULT_KEYS), props2.keys);
});
var tags = vue.computed(function() {
if (!(props2.value instanceof Array)) {
return isObject_1(props2.value) ? [props2.value[iKeys.value.label]] : [props2.value];
}
return props2.value.map(function(item) {
return isObject_1(item) ? item[iKeys.value.label] : item;
});
});
var tPlaceholder = vue.computed(function() {
return !tags.value || !tags.value.length ? props2.placeholder : "";
});
var onTagInputChange = function onTagInputChange2(val, context2) {
var _props$onTagChange;
if (context2.trigger === "tag-remove") {
var _context2$e;
(_context2$e = context2.e) === null || _context2$e === void 0 || _context2$e.stopPropagation();
}
(_props$onTagChange = props2.onTagChange) === null || _props$onTagChange === void 0 || _props$onTagChange.call(props2, val, context2);
};
var renderSelectMultiple = function renderSelectMultiple2(p) {
var tagInputProps = _objectSpread$E(_objectSpread$E({}, p.commonInputProps), {}, {
tagProps: props2.tagProps,
label: props2.label,
autoWidth: props2.autoWidth,
readonly: props2.readonly,
placeholder: tPlaceholder.value,
minCollapsedNum: props2.minCollapsedNum,
collapsedItems: props2.collapsedItems,
tag: props2.tag,
value: tags.value,
valueDisplay: props2.valueDisplay,
inputValue: p.popupVisible && p.allowInput ? tInputValue.value : "",
inputProps: _objectSpread$E({
readonly: !props2.allowInput || props2.readonly,
inputClass: _defineProperty$2({}, "".concat(classPrefix.value, "-input--focused"), p.popupVisible)
}, props2.inputProps),
suffixIcon: !disable.value && props2.loading ? function() {
return vue.createVNode(Loading, {
"loading": true,
"size": "small"
}, null);
} : props2.suffixIcon
}, props2.tagInputProps);
var _context$slots = context.slots;
_context$slots.tips;
var slots = _objectWithoutProperties$1(_context$slots, _excluded$5);
return vue.createVNode(TagInput, vue.mergeProps({
"ref": "tagInputRef"
}, tagInputProps, {
"onInputChange": function onInputChange(val, context2) {
if ((context2 === null || context2 === void 0 ? void 0 : context2.trigger) === "enter" || (context2 === null || context2 === void 0 ? void 0 : context2.trigger) === "blur")
return;
setTInputValue(val, {
trigger: context2.trigger,
e: context2.e
});
},
"onChange": onTagInputChange,
"onClear": p.onInnerClear,
"onBlur": function onBlur(val, context2) {
var _props$onBlur;
(_props$onBlur = props2.onBlur) === null || _props$onBlur === void 0 || _props$onBlur.call(props2, props2.value, _objectSpread$E(_objectSpread$E({}, context2), {}, {
tagInputValue: val
}));
},
"onEnter": function onEnter(val, context2) {
var _props$onEnter;
(_props$onEnter = props2.onEnter) === null || _props$onEnter === void 0 || _props$onEnter.call(props2, props2.value, _objectSpread$E(_objectSpread$E({}, context2), {}, {
inputValue: tInputValue.value
}));
},
"onFocus": function onFocus(val, context2) {
var _props$onFocus;
(_props$onFocus = props2.onFocus) === null || _props$onFocus === void 0 || _props$onFocus.call(props2, props2.value, _objectSpread$E(_objectSpread$E({}, context2), {}, {
tagInputValue: val
}));
}
}), slots);
};
return {
tags,
tPlaceholder,
tagInputRef,
renderSelectMultiple
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$E(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$D(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$E(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$E(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var MAX_POPUP_WIDTH = 1e3;
var RESERVE_WIDTH = 0;
function useOverlayInnerStyle(props2) {
var _toRefs = vue.toRefs(props2), popupProps2 = _toRefs.popupProps, autoWidth = _toRefs.autoWidth;
var innerPopupVisible = vue.ref(false);
var disable = useFormDisabled();
var matchWidthFunc = function matchWidthFunc2(triggerElement, popupElement) {
var SCROLLBAR_WIDTH = popupElement.scrollHeight > popupElement.offsetHeight ? RESERVE_WIDTH : 0;
var width = popupElement.offsetWidth + SCROLLBAR_WIDTH >= triggerElement.offsetWidth ? popupElement.offsetWidth : triggerElement.offsetWidth;
var otherOverlayInnerStyle = {};
if (popupProps2.value && _typeof$2(popupProps2.value.overlayInnerStyle) === "object" && !popupProps2.value.overlayInnerStyle.width) {
otherOverlayInnerStyle = popupProps2.value.overlayInnerStyle;
}
return _objectSpread$D({
width: "".concat(Math.min(width, MAX_POPUP_WIDTH), "px")
}, otherOverlayInnerStyle);
};
var onInnerPopupVisibleChange = function onInnerPopupVisibleChange2(visible, context) {
if (disable.value || props2.readonly)
return;
var newVisible = context.trigger === "trigger-element-click" && props2.allowInput ? true : visible;
if (props2.popupVisible !== newVisible) {
var _props$onPopupVisible;
innerPopupVisible.value = newVisible;
(_props$onPopupVisible = props2.onPopupVisibleChange) === null || _props$onPopupVisible === void 0 || _props$onPopupVisible.call(props2, newVisible, context);
}
};
var getAutoWidthPopupStyleWidth = function getAutoWidthPopupStyleWidth2(triggerElement, popupElement) {
var _popupProps$value;
return _objectSpread$D({
width: "".concat(Math.max(triggerElement.offsetWidth, popupElement.offsetWidth), "px")
}, (_popupProps$value = popupProps2.value) === null || _popupProps$value === void 0 ? void 0 : _popupProps$value.overlayInnerStyle);
};
var tOverlayInnerStyle = vue.computed(function() {
var _popupProps$value2;
var result = {};
var overlayInnerStyle = ((_popupProps$value2 = popupProps2.value) === null || _popupProps$value2 === void 0 ? void 0 : _popupProps$value2.overlayInnerStyle) || {};
if (isFunction_1(overlayInnerStyle) || isObject_1(overlayInnerStyle) && overlayInnerStyle.width) {
result = overlayInnerStyle;
} else {
if (autoWidth.value) {
result = getAutoWidthPopupStyleWidth;
} else {
result = matchWidthFunc;
}
}
return result;
});
return {
tOverlayInnerStyle,
innerPopupVisible,
onInnerPopupVisibleChange
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$D(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$C(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$D(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$D(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var useComponentClassName3 = function useComponentClassName4() {
return {
NAME_CLASS: usePrefixClass("select-input"),
BASE_CLASS_BORDERLESS: usePrefixClass("select-input--borderless"),
BASE_CLASS_MULTIPLE: usePrefixClass("select-input--multiple"),
BASE_CLASS_POPUP_VISIBLE: usePrefixClass("select-input--popup-visible"),
BASE_CLASS_EMPTY: usePrefixClass("select-input--empty")
};
};
var _SelectInput = vue.defineComponent({
name: "TSelectInput",
props: _objectSpread$C({}, props$j),
setup: function setup20(props2, context) {
var _useComponentClassNam = useComponentClassName3(), NAME_CLASS = _useComponentClassNam.NAME_CLASS, BASE_CLASS_BORDERLESS = _useComponentClassNam.BASE_CLASS_BORDERLESS, BASE_CLASS_MULTIPLE = _useComponentClassNam.BASE_CLASS_MULTIPLE, BASE_CLASS_POPUP_VISIBLE = _useComponentClassNam.BASE_CLASS_POPUP_VISIBLE, BASE_CLASS_EMPTY = _useComponentClassNam.BASE_CLASS_EMPTY;
var classPrefix = usePrefixClass();
var renderTNodeJSX3 = useTNodeJSX();
var selectInputRef = vue.ref();
var popupRef = vue.ref();
var _toRefs = vue.toRefs(props2), multiple = _toRefs.multiple, value = _toRefs.value, popupVisible = _toRefs.popupVisible, borderless = _toRefs.borderless;
var _useSingle = useSingle(props2, context), commonInputProps = _useSingle.commonInputProps, onInnerClear = _useSingle.onInnerClear, renderSelectSingle = _useSingle.renderSelectSingle;
var _useMultiple = useMultiple(props2, context), renderSelectMultiple = _useMultiple.renderSelectMultiple;
var _useOverlayInnerStyle = useOverlayInnerStyle(props2), tOverlayInnerStyle = _useOverlayInnerStyle.tOverlayInnerStyle, innerPopupVisible = _useOverlayInnerStyle.innerPopupVisible, onInnerPopupVisibleChange = _useOverlayInnerStyle.onInnerPopupVisibleChange;
var classes = vue.computed(function() {
var _popupVisible$value, _ref;
return ["".concat(NAME_CLASS.value), (_ref = {}, _defineProperty$2(_ref, BASE_CLASS_MULTIPLE.value, multiple.value), _defineProperty$2(_ref, BASE_CLASS_BORDERLESS.value, borderless.value), _defineProperty$2(_ref, BASE_CLASS_POPUP_VISIBLE.value, (_popupVisible$value = popupVisible.value) !== null && _popupVisible$value !== void 0 ? _popupVisible$value : innerPopupVisible.value), _defineProperty$2(_ref, BASE_CLASS_EMPTY.value, value.value instanceof Array ? !value.value.length : !value.value), _ref)];
});
return {
classPrefix,
NAME_CLASS,
innerPopupVisible,
commonInputProps,
tOverlayInnerStyle,
selectInputRef,
popupRef,
classes,
onInnerClear,
renderTNodeJSX: renderTNodeJSX3,
renderSelectSingle,
renderSelectMultiple,
onInnerPopupVisibleChange
};
},
render: function render6() {
var _this$popupVisible, _this$popupProps, _this = this;
var visibleProps = {
visible: (_this$popupVisible = this.popupVisible) !== null && _this$popupVisible !== void 0 ? _this$popupVisible : this.innerPopupVisible
};
var mainContent = vue.createVNode(Popup, vue.mergeProps({
"ref": "popupRef",
"trigger": ((_this$popupProps = this.popupProps) === null || _this$popupProps === void 0 ? void 0 : _this$popupProps.trigger) || "click",
"placement": "bottom-left"
}, visibleProps, {
"content": this.panel,
"hideEmptyPopup": true
}, _objectSpread$C(_objectSpread$C({
onVisibleChange: this.onInnerPopupVisibleChange
}, this.popupProps), {}, {
overlayInnerStyle: this.tOverlayInnerStyle
})), _objectSpread$C({
"default": function _default16() {
return [_this.multiple ? _this.renderSelectMultiple({
commonInputProps: _this.commonInputProps,
onInnerClear: _this.onInnerClear,
popupVisible: visibleProps.visible,
allowInput: _this.allowInput
}) : _this.renderSelectSingle(visibleProps.visible)];
}
}, _objectSpread$C(_objectSpread$C({}, this.$slots), {}, {
content: this.$slots.panel
})));
var tipsNode = this.renderTNodeJSX("tips");
var tipsClasses = ["".concat(this.classPrefix, "-input__tips"), "".concat(this.classPrefix, "-tips"), "".concat(this.classPrefix, "-is-").concat(this.status)];
return vue.createVNode("div", {
"ref": "selectInputRef",
"class": this.classes
}, [mainContent, tipsNode && vue.createVNode("div", {
"class": tipsClasses
}, [tipsNode])]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var SelectInput = withInstall(_SelectInput);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$f = {
checkAll: Boolean,
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
disabled: Boolean,
label: {
type: String,
"default": ""
},
title: {
type: String,
"default": ""
},
value: {
type: [String, Number]
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$e = {
checkAll: Boolean,
checked: {
type: Boolean,
"default": void 0
},
modelValue: {
type: Boolean,
"default": void 0
},
defaultChecked: Boolean,
"default": {
type: [String, Function]
},
disabled: {
type: Boolean,
"default": void 0
},
indeterminate: Boolean,
label: {
type: [String, Function]
},
lazyLoad: Boolean,
name: {
type: String,
"default": ""
},
readonly: Boolean,
value: {
type: [String, Number, Boolean]
},
onChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var CheckboxGroupInjectionKey = Symbol("CheckboxGroupProvide");
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function observe(element2, root2, callback, marginBottom) {
if (typeof window === "undefined")
return null;
if (!window || !window.IntersectionObserver) {
callback();
return null;
}
var io = null;
try {
io = new window.IntersectionObserver(function(entries) {
var entry = entries[0];
if (entry.isIntersecting) {
callback();
io.unobserve(element2);
}
}, {
rootMargin: "0px 0px ".concat(marginBottom, "px 0px"),
root: root2
});
io.observe(element2);
} catch (e) {
console.error(e);
callback();
}
return io;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useCheckboxLazyLoad(labelRef, lazyLoad) {
var ioObserver = vue.ref();
var showCheckbox = vue.ref(true);
var handleLazyLoad = function handleLazyLoad2() {
if (!lazyLoad.value)
return;
showCheckbox.value = false;
var io = observe(labelRef.value, null, function() {
showCheckbox.value = true;
}, 0);
ioObserver.value = io;
};
vue.onMounted(handleLazyLoad);
vue.watch([lazyLoad, labelRef], handleLazyLoad);
vue.onBeforeUnmount(function() {
if (!lazyLoad.value)
return;
ioObserver.value.unobserve(labelRef.value);
});
return {
showCheckbox
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var CHECKED_CODE_REG = /(enter|space)/i;
function useKeyboardEvent(handleChange) {
var keyboardEventListener = function keyboardEventListener2(e) {
var isCheckedCode = CHECKED_CODE_REG.test(e.key) || CHECKED_CODE_REG.test(e.code);
if (isCheckedCode) {
e.preventDefault();
var _e$currentTarget$quer = e.currentTarget.querySelector("input"), disabled = _e$currentTarget$quer.disabled;
!disabled && handleChange(e);
}
};
var onCheckboxFocus = function onCheckboxFocus2(e) {
e.currentTarget.addEventListener("keydown", keyboardEventListener);
};
var onCheckboxBlur = function onCheckboxBlur2(e) {
e.currentTarget.removeEventListener("keydown", keyboardEventListener);
};
return {
onCheckboxFocus,
onCheckboxBlur
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$C(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$B(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$C(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$C(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _Checkbox = vue.defineComponent({
name: "TCheckbox",
props: _objectSpread$B(_objectSpread$B({}, props$e), {}, {
needRipple: Boolean,
stopLabelTrigger: Boolean,
index: Number,
data: Object
}),
setup: function setup21(props2) {
var labelRef = vue.ref();
if (props2.needRipple) {
useRipple(labelRef);
}
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS;
var _toRefs = vue.toRefs(props2), checked = _toRefs.checked, modelValue = _toRefs.modelValue, lazyLoad = _toRefs.lazyLoad;
var _useVModel = useVModel(checked, modelValue, props2.defaultChecked, props2.onChange, "checked"), _useVModel2 = _slicedToArray(_useVModel, 2), innerChecked = _useVModel2[0], setInnerChecked = _useVModel2[1];
var checkboxGroupData = vue.inject(CheckboxGroupInjectionKey, void 0);
var tName = vue.ref();
vue.watch(function() {
return [props2.name, checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.name].join("_");
}, function() {
var name = props2.name || (checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.name);
if (name) {
tName.value = name;
}
}, {
immediate: true
});
var tChecked = vue.ref(false);
var getChecked = function getChecked2() {
var value = props2.value, checkAll = props2.checkAll;
if (checkAll)
return checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.isCheckAll;
return checkboxGroupData !== null && checkboxGroupData !== void 0 && checkboxGroupData.value ? checkboxGroupData.value.checkedValues.includes(value) : innerChecked.value;
};
vue.watch(function() {
var _checkboxGroupData$va;
return [innerChecked.value, checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.isCheckAll, checkboxGroupData === null || checkboxGroupData === void 0 || (_checkboxGroupData$va = checkboxGroupData.value.checkedValues) === null || _checkboxGroupData$va === void 0 ? void 0 : _checkboxGroupData$va.join(",")];
}, function() {
tChecked.value = getChecked();
}, {
immediate: true
});
var beforeDisabled = vue.computed(function() {
if (!props2.checkAll && !tChecked.value && checkboxGroupData !== null && checkboxGroupData !== void 0 && checkboxGroupData.value.maxExceeded) {
return true;
}
return null;
});
var afterDisabled = vue.computed(function() {
return checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.disabled;
});
var isDisabled = useDisabled({
beforeDisabled,
afterDisabled
});
var tIndeterminate = vue.ref(false);
vue.watch(function() {
return [props2.checkAll, props2.indeterminate, checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.indeterminate];
}, function() {
tIndeterminate.value = props2.checkAll ? checkboxGroupData === null || checkboxGroupData === void 0 ? void 0 : checkboxGroupData.value.indeterminate : props2.indeterminate;
}, {
immediate: true
});
var COMPONENT_NAME = usePrefixClass("checkbox");
var labelClasses = vue.ref({});
vue.watch([tChecked, isDisabled, tIndeterminate], function() {
var _ref;
labelClasses.value = ["".concat(COMPONENT_NAME.value), (_ref = {}, _defineProperty$2(_ref, STATUS.value.checked, tChecked.value), _defineProperty$2(_ref, STATUS.value.disabled, isDisabled.value), _defineProperty$2(_ref, STATUS.value.indeterminate, tIndeterminate.value), _ref)];
}, {
immediate: true
});
var handleChange = function handleChange2(e) {
if (props2.readonly)
return;
var checked2 = !tChecked.value;
setInnerChecked(checked2, {
e
});
if (checkboxGroupData !== null && checkboxGroupData !== void 0 && checkboxGroupData.value.handleCheckboxChange) {
checkboxGroupData.value.onCheckedChange({
checked: checked2,
checkAll: props2.checkAll,
e,
option: props2
});
}
};
var renderContent3 = useContent();
var handleLabelClick = function handleLabelClick2(e) {
if (props2.stopLabelTrigger)
e.preventDefault();
};
var _useCheckboxLazyLoad = useCheckboxLazyLoad(labelRef, lazyLoad), showCheckbox = _useCheckboxLazyLoad.showCheckbox;
var _useKeyboard = useKeyboardEvent(handleChange), onCheckboxFocus = _useKeyboard.onCheckboxFocus, onCheckboxBlur = _useKeyboard.onCheckboxBlur;
return function() {
return vue.createVNode("label", {
"ref": labelRef,
"class": labelClasses.value,
"tabindex": isDisabled.value ? void 0 : "0",
"onFocus": onCheckboxFocus,
"onBlur": onCheckboxBlur
}, [!showCheckbox.value ? null : [vue.createVNode("input", {
"type": "checkbox",
"tabindex": "-1",
"class": "".concat(COMPONENT_NAME.value, "__former"),
"disabled": isDisabled.value,
"readonly": props2.readonly,
"indeterminate": tIndeterminate.value,
"name": tName.value,
"value": props2.value ? props2.value : void 0,
"checked": tChecked.value,
"onChange": handleChange,
"key": "input"
}, null), vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__input"),
"key": "input-span"
}, null), vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__label"),
"key": "label",
"onClick": handleLabelClick
}, [renderContent3("default", "label")])]]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$d = {
disabled: {
type: Boolean,
"default": void 0
},
lazyLoad: Boolean,
max: {
type: Number,
"default": void 0
},
name: {
type: String,
"default": ""
},
options: {
type: Array
},
value: {
type: Array,
"default": void 0
},
modelValue: {
type: Array,
"default": void 0
},
defaultValue: {
type: Array,
"default": function _default3() {
return [];
}
},
onChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _Group$1 = vue.defineComponent({
name: "TCheckboxGroup",
props: props$d,
setup: function setup22(props2) {
var COMPONENT_NAME = usePrefixClass("checkbox-group");
var renderTNodeJSX3 = useTNodeJSX();
var isArray2 = Array.isArray;
var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
var optionList = vue.ref([]);
var intersectionLen = vue.computed(function() {
if (!isArray2(innerValue.value))
return 0;
var values = optionList.value.map(function(item) {
return item.value;
});
var n = intersection_1(innerValue.value, values);
return n.length;
});
var isCheckAll = vue.computed(function() {
var optionItems = optionList.value.filter(function(item) {
return !item.disabled && !item.checkAll;
}).map(function(t) {
return t.value;
});
var intersectionValues = intersection_1(optionItems, innerValue.value);
return intersectionValues.length === optionItems.length;
});
var indeterminate = vue.computed(function() {
return !isCheckAll.value && intersectionLen.value < optionList.value.length && intersectionLen.value !== 0;
});
var maxExceeded = vue.computed(function() {
return !isUndefined_1(props2.max) && innerValue.value.length === props2.max;
});
vue.watchEffect(function() {
if (!props2.options)
return [];
optionList.value = props2.options.map(function(item) {
return isObject_1(item) ? item : {
label: String(item),
value: item
};
});
});
var getAllCheckboxValue = function getAllCheckboxValue2() {
var val = /* @__PURE__ */ new Set();
for (var i = 0, len2 = optionList.value.length; i < len2; i++) {
var item = optionList.value[i];
if (item.checkAll)
continue;
if (item.disabled)
continue;
val.add(item.value);
if (maxExceeded.value)
break;
}
return _toConsumableArray(val);
};
var onCheckAllChange = function onCheckAllChange2(checked, context) {
var value2 = checked ? getAllCheckboxValue() : [];
setInnerValue(value2, {
e: context.e,
type: checked ? "check" : "uncheck",
current: void 0,
option: void 0
});
};
var handleCheckboxChange = function handleCheckboxChange2(data2) {
var currentValue = data2.option.value;
if (!isArray2(innerValue.value)) {
console.warn("TDesign CheckboxGroup Warn: `value` must be an array, instead of ".concat(_typeof$2(innerValue.value)));
return;
}
var val = _toConsumableArray(innerValue.value);
if (data2.checked) {
val.push(currentValue);
} else {
var i = val.indexOf(currentValue);
val.splice(i, 1);
}
setInnerValue(val, {
e: data2.e,
current: data2.option.value,
option: data2.option,
type: data2.checked ? "check" : "uncheck"
});
};
var onCheckedChange = function onCheckedChange2(p) {
var checked = p.checked, checkAll = p.checkAll, e = p.e;
if (checkAll) {
onCheckAllChange(checked, {
e
});
} else {
handleCheckboxChange(p);
}
};
var getChildComponentSlots = useChildComponentSlots();
var getOptionListBySlots = function getOptionListBySlots2() {
var nodes = getChildComponentSlots("Checkbox");
var arr = [];
nodes === null || nodes === void 0 || nodes.forEach(function(node) {
var option2 = node.props;
if (!option2)
return;
if (option2["check-all"] === "" || option2["check-all"] === true) {
option2.checkAll = true;
}
arr.push(option2);
});
return arr;
};
vue.provide(CheckboxGroupInjectionKey, vue.computed(function() {
return {
name: props2.name,
isCheckAll: isCheckAll.value,
checkedValues: innerValue.value || [],
maxExceeded: maxExceeded.value,
disabled: props2.disabled,
indeterminate: indeterminate.value,
handleCheckboxChange,
onCheckedChange
};
}));
return function() {
var _props2$options;
var children = null;
if ((_props2$options = props2.options) !== null && _props2$options !== void 0 && _props2$options.length) {
var _optionList$value;
children = (_optionList$value = optionList.value) === null || _optionList$value === void 0 ? void 0 : _optionList$value.map(function(option2, index2) {
var _innerValue$value;
return vue.createVNode(_Checkbox, vue.mergeProps({
"key": "".concat(option2.value || "").concat(index2),
"lazyLoad": props2.lazyLoad
}, option2, {
"index": index2,
"checked": (_innerValue$value = innerValue.value) === null || _innerValue$value === void 0 ? void 0 : _innerValue$value.includes(option2.value),
"data": option2
}), null);
});
} else {
var nodes = renderTNodeJSX3("default");
optionList.value = getOptionListBySlots();
children = nodes;
}
return vue.createVNode("div", {
"class": COMPONENT_NAME.value,
"role": "group",
"aria-label": "checkbox-group"
}, [children]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Checkbox = withInstall(_Checkbox);
var CheckboxGroup = withInstall(_Group$1);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _createForOfIteratorHelper$2(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (!it) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it)
o = it;
var i = 0;
var F = function F2() {
};
return { s: F, n: function n() {
if (i >= o.length)
return { done: true };
return { done: false, value: o[i++] };
}, e: function e(_e) {
throw _e;
}, f: F };
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var normalCompletion = true, didErr = false, err;
return { s: function s() {
it = it.call(o);
}, n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
}, e: function e(_e2) {
didErr = true;
err = _e2;
}, f: function f() {
try {
if (!normalCompletion && it["return"] != null)
it["return"]();
} finally {
if (didErr)
throw err;
}
} };
}
function _unsupportedIterableToArray$2(o, minLen) {
if (!o)
return;
if (typeof o === "string")
return _arrayLikeToArray$2(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor)
n = o.constructor.name;
if (n === "Map" || n === "Set")
return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray$2(o, minLen);
}
function _arrayLikeToArray$2(arr, len2) {
if (len2 == null || len2 > arr.length)
len2 = arr.length;
for (var i = 0, arr2 = new Array(len2); i < len2; i++)
arr2[i] = arr[i];
return arr2;
}
var selectInjectKey = Symbol("selectProvide");
var getSingleContent = function getSingleContent2(value, optionsMap) {
var option2 = optionsMap.value.get(value);
return (option2 === null || option2 === void 0 ? void 0 : option2.label) || (value === null || value === void 0 ? void 0 : value.toString());
};
var getMultipleContent = function getMultipleContent2(value, optionsMap) {
var res = [];
var _iterator = _createForOfIteratorHelper$2(value), _step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
var iterator = _step.value;
var resLabel = getSingleContent(iterator, optionsMap);
if (resLabel) {
res.push(resLabel);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
return res;
};
var getNewMultipleValue = function getNewMultipleValue2(innerValue, optionValue) {
var value = cloneDeep_1(innerValue);
var valueIndex = value.indexOf(optionValue);
if (valueIndex < 0) {
value.push(optionValue);
} else {
value.splice(valueIndex, 1);
}
return {
value,
isCheck: valueIndex < 0
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$B(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$A(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$B(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$B(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$9(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var _Option = vue.defineComponent({
name: "TOption",
props: _objectSpread$A(_objectSpread$A({}, props$f), {}, {
createAble: Boolean,
multiple: Boolean,
index: Number,
rowIndex: Number,
trs: Map,
scrollType: String,
isVirtual: Boolean,
bufferSize: Number,
checkAll: Boolean
}),
emits: ["row-mounted"],
setup: function setup23(props2, context) {
var selectProvider = vue.inject(selectInjectKey);
var formDisabled = useFormDisabled();
var isReachMax = vue.computed(function() {
return selectProvider.value.max !== 0 && selectProvider.value.max <= selectProvider.value.selectValue.length;
});
var disabled = vue.computed(function() {
return formDisabled.value || props2.multiple && isReachMax.value && !isSelected.value && !selectProvider.value.isCheckAll;
});
var renderContent3 = useContent();
var selectName = usePrefixClass("select");
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
var liRef = vue.ref();
var isHover = vue.ref(false);
var isSelected = vue.computed(function() {
if (selectProvider.value.isCheckAll && !props2.disabled)
return true;
return !props2.multiple ? selectProvider.value.selectValue === props2.value : selectProvider.value.selectValue.includes(props2.value);
});
var isIndeterminate = vue.computed(function() {
if (!props2.checkAll)
return false;
return selectProvider.value.indeterminate;
});
var classes = vue.computed(function() {
var _ref;
return ["".concat(selectName.value, "-option"), [SIZE.value[selectProvider.value.size]], (_ref = {}, _defineProperty$2(_ref, STATUS.value.disabled, disabled.value), _defineProperty$2(_ref, STATUS.value.selected, isSelected.value), _defineProperty$2(_ref, "".concat(selectName.value, "-option__hover"), (isHover.value || selectProvider.value.hoverIndex === props2.index) && !disabled.value && !isSelected.value), _ref)];
});
var labelText = vue.computed(function() {
return props2.label || props2.value;
});
var handleClick = function handleClick2(e) {
if (props2.disabled || disabled.value)
return;
if (props2.multiple) {
handleCheckboxClick(!isSelected.value, {
e
});
e.preventDefault();
return;
}
e.stopPropagation();
if (props2.createAble) {
var _selectProvider$value, _selectProvider$value2;
(_selectProvider$value = (_selectProvider$value2 = selectProvider.value).handleCreate) === null || _selectProvider$value === void 0 || _selectProvider$value.call(_selectProvider$value2, props2.value);
if (selectProvider.value.multiple) {
selectProvider.value.selectValue.push(props2.value);
selectProvider.value.handleValueChange(selectProvider.value.selectValue, {
selectedOptions: selectProvider.value.getSelectedOptions(),
trigger: "check",
e
});
return;
}
}
var selectedOptions = selectProvider.value.getSelectedOptions(props2.value);
selectProvider.value.handleValueChange(props2.value, {
option: selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0],
selectedOptions,
trigger: "check",
e
});
selectProvider.value.handlePopupVisibleChange(false, {
e
});
};
var handleCheckboxClick = function handleCheckboxClick2(val, context2) {
if (props2.checkAll) {
selectProvider.value.onCheckAllChange(val);
return;
}
var newValue = getNewMultipleValue(selectProvider.value.selectValue, props2.value);
var selectedOptions = selectProvider.value.getSelectedOptions(newValue.value);
selectProvider.value.handleValueChange(newValue.value, {
option: selectedOptions.find(function(v) {
return v.value === props2.value;
}),
selectedOptions,
trigger: val ? "check" : "uncheck",
e: context2.e
});
if (!selectProvider.value.reserveKeyword) {
selectProvider.value.handlerInputChange("");
}
};
vue.onMounted(function() {
var trs = props2.trs, rowIndex = props2.rowIndex, isVirtual = props2.isVirtual;
if (isVirtual) {
trs.set(rowIndex, liRef.value);
context.emit("row-mounted");
}
});
vue.onBeforeUnmount(function() {
if (props2.isVirtual) {
var trs = props2.trs, rowIndex = props2.rowIndex;
trs["delete"](rowIndex);
}
});
useRipple(liRef);
return function() {
var optionChild = renderContent3("default", "content") || labelText.value;
return vue.createVNode("li", {
"ref": liRef,
"class": classes.value,
"title": props2.title || "".concat(labelText.value),
"onMouseenter": function onMouseenter() {
return isHover.value = true;
},
"onMouseleave": function onMouseleave() {
return isHover.value = false;
},
"onClick": handleClick
}, [selectProvider && props2.multiple ? vue.createVNode(Checkbox, {
"checked": isSelected.value,
"disabled": disabled.value,
"onChange": handleCheckboxClick,
"indeterminate": isIndeterminate.value
}, _isSlot$9(optionChild) ? optionChild : {
"default": function _default16() {
return [optionChild];
}
}) : vue.createVNode("span", null, [optionChild])]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$c = {
divider: {
type: Boolean,
"default": true
},
label: {
type: String,
"default": ""
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$A(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$z(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$A(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$A(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _OptionGroup = vue.defineComponent({
name: "TOptionGroup",
props: _objectSpread$z({}, props$c),
setup: function setup24(props2) {
var selectProvider = vue.inject(selectInjectKey);
var COMPONENT_NAME = usePrefixClass("select-option-group");
var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE;
var renderTNodeJSX3 = useTNodeJSX();
var classes = vue.computed(function() {
return [COMPONENT_NAME.value, SIZE.value[selectProvider.value.size], _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "__divider"), props2.divider)];
});
return function() {
return vue.createVNode("li", {
"class": classes.value
}, [vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__header")
}, [props2.label]), renderTNodeJSX3("default")]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$b = {
autoWidth: Boolean,
autofocus: Boolean,
borderless: Boolean,
clearable: Boolean,
collapsedItems: {
type: Function
},
creatable: Boolean,
disabled: Boolean,
empty: {
type: [String, Function]
},
filter: {
type: Function
},
filterable: Boolean,
inputProps: {
type: Object
},
inputValue: {
type: [String, Number],
"default": void 0
},
defaultInputValue: {
type: [String, Number]
},
keys: {
type: Object
},
label: {
type: [String, Function]
},
loading: Boolean,
loadingText: {
type: [String, Function]
},
max: {
type: Number,
"default": 0
},
minCollapsedNum: {
type: Number,
"default": 0
},
multiple: Boolean,
options: {
type: Array
},
panelBottomContent: {
type: [String, Function]
},
panelTopContent: {
type: [String, Function]
},
placeholder: {
type: String,
"default": void 0
},
popupProps: {
type: Object
},
popupVisible: {
type: Boolean,
"default": void 0
},
defaultPopupVisible: Boolean,
prefixIcon: {
type: Function
},
readonly: Boolean,
reserveKeyword: Boolean,
scroll: {
type: Object
},
selectInputProps: {
type: Object
},
showArrow: {
type: Boolean,
"default": true
},
size: {
type: String,
"default": "medium",
validator: function validator29(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
status: {
type: String,
"default": "default",
validator: function validator30(val) {
if (!val)
return true;
return ["default", "success", "warning", "error"].includes(val);
}
},
suffix: {
type: [String, Function]
},
suffixIcon: {
type: Function
},
tagInputProps: {
type: Object
},
tagProps: {
type: Object
},
tips: {
type: [String, Function]
},
value: {
type: [String, Number, Boolean, Object, Array],
"default": void 0
},
modelValue: {
type: [String, Number, Boolean, Object, Array],
"default": void 0
},
defaultValue: {
type: [String, Number, Boolean, Object, Array],
"default": void 0
},
valueDisplay: {
type: [String, Function]
},
valueDisplayOptions: {
type: Object
},
valueType: {
type: String,
"default": "value",
validator: function validator31(val) {
if (!val)
return true;
return ["value", "object"].includes(val);
}
},
onBlur: Function,
onChange: Function,
onClear: Function,
onCreate: Function,
onEnter: Function,
onFocus: Function,
onInputChange: Function,
onPopupVisibleChange: Function,
onRemove: Function,
onSearch: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var usePanelVirtualScroll = function usePanelVirtualScroll2(props2) {
var _props$scroll3, _props$scroll4, _props$scroll5, _props$scroll6, _props$scroll7;
var isVirtual = vue.computed(function() {
var _props$scroll, _props$options$value, _props$scroll2;
return ((_props$scroll = props2.scroll) === null || _props$scroll === void 0 ? void 0 : _props$scroll.type) === "virtual" && ((_props$options$value = props2.options.value) === null || _props$options$value === void 0 ? void 0 : _props$options$value.length) > (((_props$scroll2 = props2.scroll) === null || _props$scroll2 === void 0 ? void 0 : _props$scroll2.threshold) || 100);
});
var _ref = ((_props$scroll3 = props2.scroll) === null || _props$scroll3 === void 0 ? void 0 : _props$scroll3.type) === "virtual" ? useVirtualScroll$1({
container: props2.popupContentRef,
data: props2.options,
fixedHeight: ((_props$scroll4 = props2.scroll) === null || _props$scroll4 === void 0 ? void 0 : _props$scroll4.isFixedRowHeight) || false,
lineHeight: ((_props$scroll5 = props2.scroll) === null || _props$scroll5 === void 0 ? void 0 : _props$scroll5.rowHeight) || 28,
bufferSize: ((_props$scroll6 = props2.scroll) === null || _props$scroll6 === void 0 ? void 0 : _props$scroll6.bufferSize) || 20,
threshold: ((_props$scroll7 = props2.scroll) === null || _props$scroll7 === void 0 ? void 0 : _props$scroll7.threshold) || 100
}) : {}, _ref$trs = _ref.trs, trs = _ref$trs === void 0 ? null : _ref$trs, _ref$visibleData = _ref.visibleData, visibleData = _ref$visibleData === void 0 ? null : _ref$visibleData, _ref$handleScroll = _ref.handleScroll, handleVirtualScroll = _ref$handleScroll === void 0 ? null : _ref$handleScroll, _ref$scrollHeight = _ref.scrollHeight, scrollHeight = _ref$scrollHeight === void 0 ? null : _ref$scrollHeight, _ref$translateY = _ref.translateY, translateY = _ref$translateY === void 0 ? null : _ref$translateY, _ref$handleRowMounted = _ref.handleRowMounted, handleRowMounted = _ref$handleRowMounted === void 0 ? null : _ref$handleRowMounted;
var lastScrollY = -1;
var onInnerVirtualScroll = function onInnerVirtualScroll2(e) {
if (!isVirtual.value) {
return;
}
var target = e.target;
var top2 = target.scrollTop;
if (Math.abs(lastScrollY - top2) > 5) {
handleVirtualScroll();
lastScrollY = top2;
} else {
lastScrollY = -1;
}
};
vue.onMounted(function() {
var _props$popupContentRe;
(_props$popupContentRe = props2.popupContentRef.value) === null || _props$popupContentRe === void 0 || _props$popupContentRe.addEventListener("scroll", onInnerVirtualScroll);
});
vue.onBeforeUnmount(function() {
var _props$popupContentRe2;
(_props$popupContentRe2 = props2.popupContentRef.value) === null || _props$popupContentRe2 === void 0 || _props$popupContentRe2.removeEventListener("scroll", onInnerVirtualScroll);
});
var cursorStyle = vue.computed(function() {
return {
position: "absolute",
width: "1px",
height: "1px",
transition: "transform 0.2s",
transform: "translate(0, ".concat(scrollHeight.value, "px)"),
"-ms-transform": "translate(0, ".concat(scrollHeight.value, "px)"),
"-moz-transform": "translate(0, ".concat(scrollHeight.value, "px)"),
"-webkit-transform": "translate(0, ".concat(scrollHeight.value, "px)")
};
});
var panelStyle = vue.computed(function() {
return {
transform: "translate(0, ".concat(translateY.value, "px)"),
"-ms-transform": "translate(0, ".concat(translateY.value, "px)"),
"-moz-transform": "translate(0, ".concat(translateY.value, "px)"),
"-webkit-transform": "translate(0, ".concat(translateY.value, "px)")
};
});
return {
trs,
scrollHeight,
translateY,
visibleData,
handleRowMounted,
isVirtual,
cursorStyle,
panelStyle
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _isSlot$8(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var SelectPanel = vue.defineComponent({
name: "TSelectPanel",
props: {
inputValue: props$b.inputValue,
panelTopContent: props$b.panelTopContent,
panelBottomContent: props$b.panelBottomContent,
empty: props$b.empty,
creatable: props$b.creatable,
loading: props$b.loading,
loadingText: props$b.loadingText,
multiple: props$b.multiple,
filterable: props$b.filterable,
filter: props$b.filter,
options: {
type: Array,
"default": function _default4() {
return [];
}
},
scroll: props$b.scroll,
size: props$b.size
},
setup: function setup25(props2, _ref) {
var expose = _ref.expose;
var COMPONENT_NAME = usePrefixClass("select");
var renderTNodeJSX3 = useTNodeJSX();
var renderDefaultTNode = useTNodeDefault();
var _useConfig = useConfig("select"), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var tSelect = vue.inject(selectInjectKey);
var innerRef = vue.ref(null);
var popupContentRef = vue.computed(function() {
return tSelect.value.popupContentRef.value;
});
var showCreateOption = vue.computed(function() {
return props2.creatable && props2.filterable && props2.inputValue;
});
var displayOptions = vue.computed(function() {
return tSelect.value.displayOptions;
});
var _usePanelVirtualScrol = usePanelVirtualScroll({
scroll: props2.scroll,
popupContentRef,
options: displayOptions
}), trs = _usePanelVirtualScrol.trs, visibleData = _usePanelVirtualScrol.visibleData, handleRowMounted = _usePanelVirtualScrol.handleRowMounted, isVirtual = _usePanelVirtualScrol.isVirtual, panelStyle = _usePanelVirtualScrol.panelStyle, cursorStyle = _usePanelVirtualScrol.cursorStyle;
var isEmpty2 = vue.computed(function() {
return !displayOptions.value.length;
});
var renderCreateOption = function renderCreateOption2() {
return vue.createVNode("ul", {
"class": ["".concat(COMPONENT_NAME.value, "__create-option"), "".concat(COMPONENT_NAME.value, "__list")]
}, [vue.createVNode(_Option, {
"value": props2.inputValue,
"label": "".concat(props2.inputValue),
"createAble": true,
"class": "".concat(COMPONENT_NAME.value, "__create-option--special")
}, null)]);
};
var renderOptionsContent = function renderOptionsContent2(options) {
return vue.createVNode("ul", {
"class": "".concat(COMPONENT_NAME.value, "__list")
}, [options.map(function(item, index2) {
var _props$scroll, _props$scroll2;
if (item.group) {
var _slot;
return vue.createVNode(_OptionGroup, {
"label": item.group,
"divider": item.divider
}, _isSlot$8(_slot = renderOptionsContent2(item.children)) ? _slot : {
"default": function _default16() {
return [_slot];
}
});
}
return vue.createVNode(_Option, vue.mergeProps(omit_1(item, "$index", "className", "tagName"), isVirtual.value ? {
rowIndex: item.$index,
trs,
scrollType: (_props$scroll = props2.scroll) === null || _props$scroll === void 0 ? void 0 : _props$scroll.type,
isVirtual: isVirtual.value,
bufferSize: (_props$scroll2 = props2.scroll) === null || _props$scroll2 === void 0 ? void 0 : _props$scroll2.bufferSize,
key: "".concat(item.$index || "", "_").concat(index2)
} : {
key: "".concat(index2, "_").concat(item.value)
}, {
"multiple": props2.multiple,
"onRowMounted": handleRowMounted
}), item.slots);
})]);
};
var dropdownInnerSize = vue.computed(function() {
return {
small: "s",
medium: "m",
large: "l"
}[tSelect.value.size];
});
expose({
innerRef
});
var renderPanel = function renderPanel2(options, extraStyle) {
return vue.createVNode("div", {
"ref": innerRef,
"class": ["".concat(COMPONENT_NAME.value, "__dropdown-inner"), "".concat(COMPONENT_NAME.value, "__dropdown-inner--size-").concat(dropdownInnerSize.value)],
"onClick": function onClick(e) {
return e.stopPropagation();
},
"style": extraStyle
}, [showCreateOption.value && renderCreateOption(), props2.loading && renderDefaultTNode("loadingText", {
defaultNode: vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__loading-tips")
}, [t(globalConfig.value.loadingText)])
}), !props2.loading && isEmpty2.value && !showCreateOption.value && renderDefaultTNode("empty", {
defaultNode: vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__empty")
}, [t(globalConfig.value.empty)])
}), !isEmpty2.value && !props2.loading && renderOptionsContent(options)]);
};
return {
renderPanel,
panelStyle,
cursorStyle,
isVirtual,
displayOptions,
visibleData,
renderTNodeJSX: renderTNodeJSX3
};
},
render: function render7() {
return this.isVirtual ? vue.createVNode(vue.Fragment, null, [this.renderTNodeJSX("panelTopContent"), vue.createVNode("div", null, [vue.createVNode("div", {
"style": this.cursorStyle
}, null), this.renderPanel(this.visibleData, this.panelStyle)]), this.renderTNodeJSX("panelBottomContent")]) : vue.createVNode(vue.Fragment, null, [this.renderTNodeJSX("panelTopContent"), this.renderPanel(this.displayOptions), this.renderTNodeJSX("panelBottomContent")]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _createForOfIteratorHelper$1(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (!it) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray$1(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it)
o = it;
var i = 0;
var F = function F2() {
};
return { s: F, n: function n() {
if (i >= o.length)
return { done: true };
return { done: false, value: o[i++] };
}, e: function e(_e) {
throw _e;
}, f: F };
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var normalCompletion = true, didErr = false, err;
return { s: function s() {
it = it.call(o);
}, n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
}, e: function e(_e2) {
didErr = true;
err = _e2;
}, f: function f() {
try {
if (!normalCompletion && it["return"] != null)
it["return"]();
} finally {
if (didErr)
throw err;
}
} };
}
function _unsupportedIterableToArray$1(o, minLen) {
if (!o)
return;
if (typeof o === "string")
return _arrayLikeToArray$1(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor)
n = o.constructor.name;
if (n === "Map" || n === "Set")
return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray$1(o, minLen);
}
function _arrayLikeToArray$1(arr, len2) {
if (len2 == null || len2 > arr.length)
len2 = arr.length;
for (var i = 0, arr2 = new Array(len2); i < len2; i++)
arr2[i] = arr[i];
return arr2;
}
function ownKeys$z(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$y(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$z(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$z(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var useSelectOptions = function useSelectOptions2(props2, keys2, inputValue) {
var getChildComponentSlots = useChildComponentSlots();
var optionsCache = vue.ref([]);
var options = vue.computed(function() {
var _props$options;
var dynamicIndex = 0;
var innerOptions = ((_props$options = props2.options) === null || _props$options === void 0 ? void 0 : _props$options.map(function(option2) {
var getFormatOption = function getFormatOption2(option22) {
var _keys$value = keys2.value, value = _keys$value.value, label = _keys$value.label, disabled = _keys$value.disabled;
var res2 = _objectSpread$y(_objectSpread$y({}, option22), {}, {
index: dynamicIndex,
label: get_1(option22, label),
value: get_1(option22, value),
disabled: get_1(option22, disabled)
});
dynamicIndex++;
return res2;
};
if (option2.group && option2.children) {
return _objectSpread$y(_objectSpread$y({}, option2), {}, {
children: option2.children.map(function(child2) {
return getFormatOption(child2);
})
});
}
return getFormatOption(option2);
})) || [];
var optionsSlots = getChildComponentSlots("Option");
var groupSlots = getChildComponentSlots("OptionGroup");
if (isArray_1(groupSlots)) {
var _iterator = _createForOfIteratorHelper$1(groupSlots), _step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
var _group$props, _res$, _res$2;
var group = _step.value;
var groupOption = _objectSpread$y(_objectSpread$y({
group: (_group$props = group.props) === null || _group$props === void 0 ? void 0 : _group$props.label
}, group.props), {}, {
children: []
});
var res = group.children["default"]();
if (!(isArray_1(res) && !!((_res$ = res[0]) !== null && _res$ !== void 0 && _res$.children)))
continue;
var _iterator2 = _createForOfIteratorHelper$1(res === null || res === void 0 || (_res$2 = res[0]) === null || _res$2 === void 0 ? void 0 : _res$2.children), _step2;
try {
for (_iterator2.s(); !(_step2 = _iterator2.n()).done; ) {
var child = _step2.value;
groupOption.children.push(_objectSpread$y(_objectSpread$y({}, child.props), {}, {
slots: child.children,
index: dynamicIndex
}));
dynamicIndex++;
}
} catch (err) {
_iterator2.e(err);
} finally {
_iterator2.f();
}
innerOptions.push(groupOption);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
if (isArray_1(optionsSlots)) {
var _iterator3 = _createForOfIteratorHelper$1(optionsSlots), _step3;
try {
for (_iterator3.s(); !(_step3 = _iterator3.n()).done; ) {
var _child = _step3.value;
innerOptions.push(_objectSpread$y(_objectSpread$y({}, _child.props), {}, {
slots: _child.children,
index: dynamicIndex
}));
dynamicIndex++;
}
} catch (err) {
_iterator3.e(err);
} finally {
_iterator3.f();
}
}
return innerOptions;
});
var optionsList = vue.computed(function() {
var res = [];
var getOptionsList = function getOptionsList2(options2) {
var _iterator4 = _createForOfIteratorHelper$1(options2), _step4;
try {
for (_iterator4.s(); !(_step4 = _iterator4.n()).done; ) {
var option2 = _step4.value;
if (option2.group) {
getOptionsList2(option2.children);
} else {
res.push(option2);
}
}
} catch (err) {
_iterator4.e(err);
} finally {
_iterator4.f();
}
};
getOptionsList(options.value);
return res;
});
var optionsMap = vue.computed(function() {
var res = /* @__PURE__ */ new Map();
optionsCache.value.concat(optionsList.value).forEach(function(option2) {
res.set(option2.value, option2);
});
return res;
});
var displayOptions = vue.computed(function() {
if (!inputValue.value || !(props2.filterable || isFunction_1(props2.filter)))
return options.value;
var filterMethods = function filterMethods2(option2) {
var _option$label, _option$label$toLower;
if (isFunction_1(props2.filter)) {
return props2.filter("".concat(inputValue.value), option2);
}
return ((_option$label = option2.label) === null || _option$label === void 0 || (_option$label$toLower = _option$label.toLowerCase) === null || _option$label$toLower === void 0 ? void 0 : _option$label$toLower.call(_option$label).indexOf("".concat(inputValue.value).toLowerCase())) > -1;
};
var res = [];
options.value.forEach(function(option2) {
if (option2.group && option2.children) {
res.push(_objectSpread$y(_objectSpread$y({}, option2), {}, {
children: option2.children.filter(filterMethods)
}));
}
if (filterMethods(option2)) {
res.push(option2);
}
});
return res;
});
return {
options,
optionsMap,
optionsList,
optionsCache,
displayOptions
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded$4 = ["overlayClassName"];
function _createForOfIteratorHelper(o, allowArrayLike) {
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
if (!it) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it)
o = it;
var i = 0;
var F = function F2() {
};
return { s: F, n: function n() {
if (i >= o.length)
return { done: true };
return { done: false, value: o[i++] };
}, e: function e(_e) {
throw _e;
}, f: F };
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var normalCompletion = true, didErr = false, err;
return { s: function s() {
it = it.call(o);
}, n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
}, e: function e(_e2) {
didErr = true;
err = _e2;
}, f: function f() {
try {
if (!normalCompletion && it["return"] != null)
it["return"]();
} finally {
if (didErr)
throw err;
}
} };
}
function _unsupportedIterableToArray(o, minLen) {
if (!o)
return;
if (typeof o === "string")
return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor)
n = o.constructor.name;
if (n === "Map" || n === "Set")
return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len2) {
if (len2 == null || len2 > arr.length)
len2 = arr.length;
for (var i = 0, arr2 = new Array(len2); i < len2; i++)
arr2[i] = arr[i];
return arr2;
}
function ownKeys$y(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$x(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$y(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$y(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _Select = vue.defineComponent({
name: "TSelect",
props: _objectSpread$x({}, props$b),
setup: function setup26(props2, _ref) {
var slots = _ref.slots;
var classPrefix = usePrefixClass();
var disabled = useFormDisabled();
var renderTNodeJSX3 = useTNodeJSX();
var COMPONENT_NAME = usePrefixClass("select");
var _useConfig = useConfig("select"), globalConfig = _useConfig.globalConfig, t = _useConfig.t;
var _toRefs = vue.toRefs(props2), popupVisible = _toRefs.popupVisible, inputValue = _toRefs.inputValue, modelValue = _toRefs.modelValue, value = _toRefs.value;
var _useDefaultValue = useDefaultValue(inputValue, props2.defaultInputValue, props2.onInputChange, "inputValue"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), innerInputValue = _useDefaultValue2[0], setInputValue = _useDefaultValue2[1];
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), orgValue = _useVModel2[0], setOrgValue = _useVModel2[1];
var selectPanelRef = vue.ref(null);
var selectInputRef = vue.ref(null);
var keys2 = vue.computed(function() {
var _props2$keys, _props2$keys2, _props2$keys3;
return {
label: ((_props2$keys = props2.keys) === null || _props2$keys === void 0 ? void 0 : _props2$keys.label) || "label",
value: ((_props2$keys2 = props2.keys) === null || _props2$keys2 === void 0 ? void 0 : _props2$keys2.value) || "value",
disabled: ((_props2$keys3 = props2.keys) === null || _props2$keys3 === void 0 ? void 0 : _props2$keys3.disabled) || "disabled"
};
});
var _useSelectOptions = useSelectOptions(props2, keys2, innerInputValue), options = _useSelectOptions.options, optionsMap = _useSelectOptions.optionsMap, optionsList = _useSelectOptions.optionsList, optionsCache = _useSelectOptions.optionsCache, displayOptions = _useSelectOptions.displayOptions;
var innerValue = vue.computed(function() {
if (orgValue.value === void 0) {
return props2.multiple ? [] : void 0;
}
if (props2.valueType === "object") {
return !props2.multiple ? orgValue.value[keys2.value.value] : orgValue.value.map(function(option2) {
return option2[keys2.value.value];
});
}
return orgValue.value;
});
var setInnerValue = function setInnerValue2(newVal, context) {
if (props2.valueType === "object") {
var _keys$value = keys2.value, value2 = _keys$value.value, label = _keys$value.label;
var getOption = function getOption2(val) {
var _ref2;
if (val === void 0) {
return void 0;
}
var option2 = optionsMap.value.get(val);
return _ref2 = {}, _defineProperty$2(_ref2, value2, get_1(option2, value2)), _defineProperty$2(_ref2, label, get_1(option2, label)), _ref2;
};
newVal = props2.multiple ? newVal.map(function(val) {
return getOption(val);
}) : getOption(newVal);
}
if (newVal === orgValue.value)
return;
setOrgValue(newVal, _objectSpread$x({
selectedOptions: getSelectedOptions(newVal)
}, context));
};
var _useDefaultValue3 = useDefaultValue(popupVisible, false, function(visible, context) {
var _props2$onPopupVisibl;
(_props2$onPopupVisibl = props2.onPopupVisibleChange) === null || _props2$onPopupVisibl === void 0 || _props2$onPopupVisibl.call(props2, visible, context);
}, "popupVisible"), _useDefaultValue4 = _slicedToArray(_useDefaultValue3, 2), innerPopupVisible = _useDefaultValue4[0], setInnerPopupVisible = _useDefaultValue4[1];
var placeholderText = vue.computed(function() {
var _ref3;
return (_ref3 = !props2.multiple && innerPopupVisible.value && getSingleContent(innerValue.value, optionsMap) || props2.placeholder) !== null && _ref3 !== void 0 ? _ref3 : t(globalConfig.value.placeholder);
});
var displayText = vue.computed(function() {
return props2.multiple ? getMultipleContent(innerValue.value, optionsMap) : getSingleContent(innerValue.value, optionsMap);
});
var valueDisplayParams = vue.computed(function() {
var val = props2.multiple && isArray_1(innerValue.value) ? innerValue.value.map(function(value2) {
var _optionsMap$value$get;
return {
value: value2,
label: (_optionsMap$value$get = optionsMap.value.get(value2)) === null || _optionsMap$value$get === void 0 ? void 0 : _optionsMap$value$get.label
};
}) : innerValue.value;
var params = {
value: val,
onClose: props2.multiple ? function(index2) {
return removeTag(index2);
} : function() {
}
};
if (props2.minCollapsedNum && props2.multiple) {
var _val$slice;
return _objectSpread$x(_objectSpread$x({}, params), {}, {
displayValue: val === null || val === void 0 || (_val$slice = val.slice) === null || _val$slice === void 0 ? void 0 : _val$slice.call(val, 0, props2.minCollapsedNum)
});
}
return params;
});
var isFilterable = vue.computed(function() {
return Boolean(props2.filterable || globalConfig.value.filterable || isFunction_1(props2.filter));
});
var removeTag = function removeTag2(index2, e) {
var _props2$onRemove;
e && e.stopPropagation();
var selectValue = cloneDeep_1(innerValue.value);
var value2 = selectValue[index2];
selectValue.splice(index2, 1);
setInnerValue(selectValue, {
selectedOptions: getSelectedOptions(selectValue),
trigger: "tag-remove",
e
});
(_props2$onRemove = props2.onRemove) === null || _props2$onRemove === void 0 || _props2$onRemove.call(props2, {
value: value2,
data: optionsMap.value.get(value2),
e
});
};
var handleCreate = function handleCreate2() {
var _props2$onCreate;
if (!innerInputValue.value)
return;
(_props2$onCreate = props2.onCreate) === null || _props2$onCreate === void 0 || _props2$onCreate.call(props2, innerInputValue.value);
setInputValue("");
};
var hoverIndex = vue.ref(-1);
var handleKeyDown = function handleKeyDown2(e) {
var _optionsList$value$ne, _optionsList$value$ne2;
var optionsListLength = displayOptions.value.length;
var newIndex2 = hoverIndex.value;
switch (e.code) {
case "ArrowUp":
e.preventDefault();
if (hoverIndex.value === -1) {
newIndex2 = 0;
} else if (hoverIndex.value === 0) {
newIndex2 = optionsListLength - 1;
} else {
newIndex2--;
}
if ((_optionsList$value$ne = optionsList.value[newIndex2]) !== null && _optionsList$value$ne !== void 0 && _optionsList$value$ne.disabled) {
newIndex2--;
}
hoverIndex.value = newIndex2;
break;
case "ArrowDown":
e.preventDefault();
if (hoverIndex.value === -1 || hoverIndex.value === optionsListLength - 1) {
newIndex2 = 0;
} else {
newIndex2++;
}
if ((_optionsList$value$ne2 = optionsList.value[newIndex2]) !== null && _optionsList$value$ne2 !== void 0 && _optionsList$value$ne2.disabled) {
newIndex2++;
}
hoverIndex.value = newIndex2;
break;
case "Enter":
if (hoverIndex.value === -1)
break;
if (!innerPopupVisible.value) {
setInnerPopupVisible(true, {
e
});
break;
}
if (!props2.multiple) {
var selectedOptions = getSelectedOptions(optionsList.value[hoverIndex.value].value);
setInnerValue(optionsList.value[hoverIndex.value].value, {
option: selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions[0],
selectedOptions: getSelectedOptions(optionsList.value[hoverIndex.value].value),
trigger: "check",
e
});
setInnerPopupVisible(false, {
e
});
} else {
var _optionsList$value$ho;
if (hoverIndex.value === -1)
return;
var optionValue = (_optionsList$value$ho = optionsList.value[hoverIndex.value]) === null || _optionsList$value$ho === void 0 ? void 0 : _optionsList$value$ho.value;
if (!optionValue)
return;
var newValue = getNewMultipleValue(innerValue.value, optionValue);
var _selectedOptions = getSelectedOptions(newValue.value);
setInnerValue(newValue.value, {
option: _selectedOptions.find(function(v) {
return v.value == optionValue;
}),
selectedOptions: _selectedOptions,
trigger: newValue.isCheck ? "check" : "uncheck",
e
});
}
break;
case "Escape":
setInnerPopupVisible(false, {
e
});
break;
}
};
var popupContentRef = vue.computed(function() {
var _selectInputRef$value;
return (_selectInputRef$value = selectInputRef.value) === null || _selectInputRef$value === void 0 ? void 0 : _selectInputRef$value.popupRef.getOverlay();
});
var optionalList = vue.computed(function() {
return optionsList.value.filter(function(item) {
return !item.disabled && !item["check-all"] && !item.checkAll;
});
});
var getSelectedOptions = function getSelectedOptions2() {
var selectValue = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : innerValue.value;
return optionsList.value.filter(function(option2) {
if (option2.checkAll)
return;
if (isArray_1(selectValue))
return selectValue.includes(option2.value);
return selectValue === option2.value;
});
};
var onCheckAllChange = function onCheckAllChange2(checked) {
if (!props2.multiple)
return;
var value2 = checked ? optionalList.value.map(function(option2) {
return option2.value;
}) : [];
setInnerValue(value2, {
selectedOptions: getSelectedOptions(value2),
trigger: checked ? "check" : "clear"
});
};
var intersectionLen = vue.computed(function() {
var values = optionalList.value.map(function(item) {
return item.value;
});
var n = intersection_1(innerValue.value, values);
return n.length;
});
var isCheckAll = vue.computed(function() {
return intersectionLen.value === optionalList.value.length;
});
var indeterminate = vue.computed(function() {
return !isCheckAll.value && intersectionLen.value !== 0;
});
var SelectProvide = vue.computed(function() {
return {
max: props2.max,
multiple: props2.multiple,
hoverIndex: hoverIndex.value,
selectValue: innerValue.value,
reserveKeyword: props2.reserveKeyword,
handleValueChange: setInnerValue,
handlerInputChange: setInputValue,
handlePopupVisibleChange: setInnerPopupVisible,
handleCreate,
size: props2.size,
popupContentRef,
indeterminate: indeterminate.value,
isCheckAll: isCheckAll.value,
onCheckAllChange,
getSelectedOptions,
displayOptions: displayOptions.value
};
});
vue.provide(selectInjectKey, SelectProvide);
var checkValueInvalid = function checkValueInvalid2() {
if (!props2.multiple && isArray_1(orgValue.value)) {
setOrgValue(void 0, {
selectedOptions: [],
trigger: "default"
});
}
if (props2.multiple && !isArray_1(orgValue.value)) {
setOrgValue([], {
selectedOptions: [],
trigger: "default"
});
}
};
var handleSearch = debounce_1(function(value2, _ref4) {
var _props2$onSearch;
var e = _ref4.e;
(_props2$onSearch = props2.onSearch) === null || _props2$onSearch === void 0 || _props2$onSearch.call(props2, "".concat(value2), {
e
});
}, 300);
var addCache = function addCache2(val) {
if (props2.multiple) {
var newCache = [];
var _iterator = _createForOfIteratorHelper(val || []), _step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
var item = _step.value;
var option2 = optionsMap.value.get(item);
if (option2) {
newCache.push(option2);
}
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
optionsCache.value = Array.from(/* @__PURE__ */ new Set([].concat(newCache, _toConsumableArray(optionsCache.value))));
} else {
var _option = optionsMap.value.get(val);
if (_option) {
optionsCache.value = Array.from(/* @__PURE__ */ new Set([_option].concat(_toConsumableArray(optionsCache.value))));
}
}
};
vue.watch(orgValue, function(val) {
checkValueInvalid();
vue.nextTick(function() {
addCache(val);
});
}, {
immediate: true
});
vue.watch(function() {
return props2.multiple;
}, function() {
checkValueInvalid();
});
vue.watch(innerPopupVisible, function(value2) {
if (value2) {
hoverIndex.value = -1;
} else {
if (innerInputValue.value) {
setInputValue("");
}
}
});
var updateScrollTop = function updateScrollTop2(content) {
var _selectPanelRef$value;
if (!selectPanelRef.value) {
return;
}
var firstSelectedNode = (_selectPanelRef$value = selectPanelRef.value) === null || _selectPanelRef$value === void 0 || (_selectPanelRef$value = _selectPanelRef$value.innerRef) === null || _selectPanelRef$value === void 0 ? void 0 : _selectPanelRef$value.querySelector(".".concat(classPrefix.value, "-is-selected"));
vue.nextTick(function() {
if (firstSelectedNode && content) {
var _getComputedStyle = getComputedStyle(firstSelectedNode), paddingBottom = _getComputedStyle.paddingBottom;
var _getComputedStyle2 = getComputedStyle(content), marginBottom = _getComputedStyle2.marginBottom;
var elementBottomHeight = parseInt(paddingBottom, 10) + parseInt(marginBottom, 10);
var updateValue = firstSelectedNode.offsetTop - content.offsetTop - (content.clientHeight - firstSelectedNode.clientHeight) + elementBottomHeight;
content.scrollTop = updateValue;
}
});
};
vue.provide("updateScrollTop", updateScrollTop);
return function() {
var _ref5 = props2.popupProps || {}, overlayClassName = _ref5.overlayClassName, restPopupProps = _objectWithoutProperties$1(_ref5, _excluded$4);
return vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__wrap")
}, [vue.createVNode(SelectInput, vue.mergeProps({
autoWidth: props2.autoWidth,
readonly: props2.readonly,
borderless: props2.borderless,
multiple: props2.multiple,
clearable: props2.clearable,
loading: props2.loading,
status: props2.status,
tips: props2.tips,
minCollapsedNum: props2.minCollapsedNum,
autofocus: props2.autofocus,
suffix: props2.suffix,
valueDisplayOptions: props2.valueDisplayOptions
}, {
"ref": selectInputRef,
"class": COMPONENT_NAME.value,
"value": displayText.value,
"disabled": disabled.value,
"popupVisible": innerPopupVisible.value,
"inputValue": innerPopupVisible.value ? innerInputValue.value : "",
"placeholder": "".concat(placeholderText.value),
"allowInput": isFilterable.value,
"collapsed-items": props2.collapsedItems,
"inputProps": _objectSpread$x(_objectSpread$x({
size: props2.size,
autofocus: props2.autofocus
}, props2.inputProps), {}, {
onkeydown: handleKeyDown
}),
"tagInputProps": _objectSpread$x({
size: props2.size
}, props2.tagInputProps),
"onTagChange": function onTagChange(val, ctx) {
removeTag(ctx.index);
},
"tagProps": _objectSpread$x({}, props2.tagProps),
"popupProps": _objectSpread$x({
overlayClassName: ["".concat(COMPONENT_NAME.value, "__dropdown"), overlayClassName]
}, restPopupProps),
"label": props2.label,
"prefixIcon": props2.prefixIcon,
"suffix": props2.suffix,
"suffixIcon": function suffixIcon() {
if (props2.suffixIcon || slots.suffixIcon) {
return renderTNodeJSX3("suffixIcon");
}
return props2.showArrow && vue.createVNode(FakeArrow, {
"overlayClassName": "".concat(COMPONENT_NAME.value, "__right-icon"),
"isActive": innerPopupVisible.value
}, null);
},
"valueDisplay": function valueDisplay() {
return renderTNodeJSX3("valueDisplay", {
params: valueDisplayParams.value
});
},
"onPopupVisibleChange": function onPopupVisibleChange(val, context) {
setInnerPopupVisible(val, context);
},
"onInputChange": function onInputChange(value2, context) {
if (value2) {
setInnerPopupVisible(true, {
e: context.e
});
}
setInputValue(value2);
handleSearch("".concat(value2), {
e: context.e
});
},
"onClear": function onClear(_ref6) {
var _props2$onClear;
var e = _ref6.e;
setInnerValue(props2.multiple ? [] : void 0, {
option: null,
selectedOptions: getSelectedOptions(props2.multiple ? [] : void 0),
trigger: "clear",
e
});
(_props2$onClear = props2.onClear) === null || _props2$onClear === void 0 || _props2$onClear.call(props2, {
e
});
},
"onEnter": function onEnter(inputValue2, _ref7) {
var _props2$onEnter;
var e = _ref7.e;
(_props2$onEnter = props2.onEnter) === null || _props2$onEnter === void 0 || _props2$onEnter.call(props2, {
inputValue: "".concat(innerInputValue.value),
e,
value: innerValue.value
});
handleCreate();
},
"onBlur": function onBlur(inputValue2, _ref8) {
var _props2$onBlur;
var e = _ref8.e;
(_props2$onBlur = props2.onBlur) === null || _props2$onBlur === void 0 || _props2$onBlur.call(props2, {
e,
value: innerValue.value
});
},
"onFocus": function onFocus(inputValue2, _ref9) {
var _props2$onFocus;
var e = _ref9.e;
(_props2$onFocus = props2.onFocus) === null || _props2$onFocus === void 0 || _props2$onFocus.call(props2, {
e,
value: innerValue.value
});
}
}, props2.selectInputProps), {
label: slots.label,
prefixIcon: slots.prefixIcon,
suffix: slots.suffix,
panel: function panel() {
return vue.createVNode(SelectPanel, vue.mergeProps({
"ref": selectPanelRef
}, pick_1(props2, ["size", "multiple", "empty", "loading", "loadingText", "filterable", "creatable", "panelTopContent", "panelBottomContent", "filter", "scroll"]), {
"options": options.value,
"inputValue": innerInputValue.value
}), slots);
},
collapsedItems: slots.collapsedItems
})]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Select = withInstall(_Select);
var Option = withInstall(_Option);
withInstall(_OptionGroup);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$a = {
append: {
type: [String, Function]
},
prepend: {
type: [String, Function]
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _InputAdornment = vue.defineComponent({
name: "TInputAdornment",
inheritAttrs: false,
props: props$a,
setup: function setup27(props2, _ref) {
var slots = _ref.slots;
var COMPONENT_NAME = usePrefixClass("input-adornment");
var renderTNodeJSX3 = useTNodeJSX();
var renderAddon = function renderAddon2(h2, type, addon) {
var addonNode;
var isContentNode = isString_1(addon) || isNumber_1(addon);
if (!slots[type] && isString_1(addon) && !addon)
return null;
if (slots[type]) {
if (slots[type](null).length === 1 && typeof slots[type](null)[0].children === "string") {
addonNode = vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__text")
}, [slots[type](null)]);
} else {
addonNode = slots[type](null);
}
} else if (isFunction_1(addon)) {
addonNode = addon(h2);
} else {
addonNode = isContentNode ? vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__text")
}, [addon]) : addon;
}
return addonNode ? vue.createVNode("span", {
"class": "".concat(COMPONENT_NAME.value, "__").concat(type)
}, [addonNode]) : addonNode;
};
return function() {
var _ref2;
var prepend = renderAddon(vue.h, "prepend", props2.prepend);
var append2 = renderAddon(vue.h, "append", props2.append);
var defaultSlot = renderTNodeJSX3("default") || [null];
var className = [COMPONENT_NAME.value, (_ref2 = {}, _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--prepend"), prepend), _defineProperty$2(_ref2, "".concat(COMPONENT_NAME.value, "--append"), append2), _ref2)];
if (!prepend && !append2) {
return defaultSlot[0];
}
return vue.createVNode("div", {
"class": className
}, [prepend, defaultSlot[0], append2]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var InputAdornment = withInstall(_InputAdornment);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$9 = {
current: {
type: Number,
"default": void 0
},
modelValue: {
type: Number,
"default": void 0
},
defaultCurrent: {
type: Number,
"default": 1
},
disabled: Boolean,
foldedMaxPageBtn: {
type: Number,
"default": 5
},
maxPageBtn: {
type: Number,
"default": 10
},
pageEllipsisMode: {
type: String,
"default": "mid",
validator: function validator32(val) {
if (!val)
return true;
return ["mid", "both-ends"].includes(val);
}
},
pageSize: {
type: Number,
"default": void 0
},
defaultPageSize: {
type: Number,
"default": 10
},
pageSizeOptions: {
type: Array,
"default": function _default5() {
return [5, 10, 20, 50];
}
},
selectProps: {
type: Object
},
showFirstAndLastPageBtn: Boolean,
showJumper: Boolean,
showPageNumber: {
type: Boolean,
"default": true
},
showPageSize: {
type: Boolean,
"default": true
},
showPreviousAndNextBtn: {
type: Boolean,
"default": true
},
size: {
type: String,
"default": "medium",
validator: function validator33(val) {
if (!val)
return true;
return ["small", "medium"].includes(val);
}
},
theme: {
type: String,
"default": "default",
validator: function validator34(val) {
if (!val)
return true;
return ["default", "simple"].includes(val);
}
},
total: {
type: Number,
"default": 0
},
totalContent: {
type: [Boolean, Function],
"default": true
},
onChange: Function,
onCurrentChange: Function,
onPageSizeChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function usePaginationClasses(props2, innerCurrent, innerPageSize, name) {
var _useCommonClassName = useCommonClassName$1(), SIZE = _useCommonClassName.SIZE, STATUS = _useCommonClassName.STATUS;
var pageCount = vue.computed(function() {
var c = Math.ceil(props2.total / innerPageSize.value);
return c > 0 ? c : 1;
});
var paginationClass = vue.computed(function() {
var _ref;
return ["".concat(name.value), SIZE.value[props2.size], (_ref = {}, _defineProperty$2(_ref, STATUS.value.disabled, props2.disabled), _defineProperty$2(_ref, "".concat(name.value, "-ie"), getIEVersion() < 11), _ref)];
});
var totalClass = vue.computed(function() {
return ["".concat(name.value, "__total")];
});
var sizerClass = vue.computed(function() {
return ["".concat(name.value, "__select")];
});
var preBtnClass = vue.computed(function() {
return ["".concat(name.value, "__btn"), "".concat(name.value, "__btn-prev"), _defineProperty$2({}, STATUS.value.disabled, props2.disabled || innerCurrent.value === 1)];
});
var nextBtnClass = vue.computed(function() {
return ["".concat(name.value, "__btn"), "".concat(name.value, "__btn-next"), _defineProperty$2({}, STATUS.value.disabled, props2.disabled || innerCurrent.value === pageCount.value)];
});
var btnWrapClass = vue.computed(function() {
return ["".concat(name.value, "__pager")];
});
var btnMoreClass = vue.computed(function() {
return ["".concat(name.value, "__number"), "".concat(name.value, "__number--more"), _defineProperty$2({}, STATUS.value.disabled, props2.disabled)];
});
var jumperClass = vue.computed(function() {
return ["".concat(name.value, "__jump")];
});
var jumperInputClass = vue.computed(function() {
return ["".concat(name.value, "__input")];
});
var simpleClass = vue.computed(function() {
return ["".concat(name.value, "__select")];
});
var getButtonClass = function getButtonClass2(index2) {
var _ref5;
return ["".concat(name.value, "__number"), (_ref5 = {}, _defineProperty$2(_ref5, STATUS.value.disabled, props2.disabled), _defineProperty$2(_ref5, STATUS.value.current, innerCurrent.value === index2), _ref5)];
};
return {
pageCount,
paginationClass,
totalClass,
sizerClass,
preBtnClass,
nextBtnClass,
btnWrapClass,
btnMoreClass,
jumperClass,
jumperInputClass,
simpleClass,
getButtonClass
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useMoreAction(props2, pageCount, innerCurrent) {
var prevMore = vue.ref(false);
var nextMore = vue.ref(false);
var curPageLeftCount = vue.computed(function() {
return Math.ceil((props2.foldedMaxPageBtn - 1) / 2);
});
var curPageRightCount = vue.computed(function() {
return Math.ceil((props2.foldedMaxPageBtn - 1) / 2);
});
var isPrevMoreShow = vue.computed(function() {
return 2 + curPageLeftCount.value < innerCurrent.value;
});
var isNextMoreShow = vue.computed(function() {
return pageCount.value - 1 - curPageRightCount.value > innerCurrent.value;
});
return {
prevMore,
nextMore,
curPageLeftCount,
curPageRightCount,
isPrevMoreShow,
isNextMoreShow
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isNumber$1 = isNumber_1;
function isNaN$1(value) {
return isNumber$1(value) && value != +value;
}
var _isNaN = isNaN$1;
var _excluded$3 = ["pageCount"];
var min = 1;
var _Pagination = vue.defineComponent({
name: "TPagination",
props: props$9,
setup: function setup28(props2) {
var _toRefs = vue.toRefs(props2), modelValue = _toRefs.modelValue, pageSize = _toRefs.pageSize, current = _toRefs.current;
var renderTNodeJSX3 = useTNodeJSX();
var _useVModel = useVModel(current, modelValue, props2.defaultCurrent, props2.onCurrentChange, "current"), _useVModel2 = _slicedToArray(_useVModel, 2), innerCurrent = _useVModel2[0], setInnerCurrent = _useVModel2[1];
var _useDefaultValue = useDefaultValue(pageSize, props2.defaultPageSize, props2.onPageSizeChange, "pageSize"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), innerPageSize = _useDefaultValue2[0], setInnerPageSize = _useDefaultValue2[1];
var _useConfig = useConfig("pagination"), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var COMPONENT_NAME = usePrefixClass("pagination");
var _useGlobalIcon = useGlobalIcon({
PageFirstIcon,
PageLastIcon,
ChevronLeftIcon,
ChevronRightIcon,
ChevronLeftDoubleIcon,
ChevronRightDoubleIcon,
EllipsisIcon
}), PageFirstIcon$1 = _useGlobalIcon.PageFirstIcon, PageLastIcon$1 = _useGlobalIcon.PageLastIcon, ChevronLeftIcon$1 = _useGlobalIcon.ChevronLeftIcon, ChevronRightIcon$1 = _useGlobalIcon.ChevronRightIcon, ChevronLeftDoubleIcon$1 = _useGlobalIcon.ChevronLeftDoubleIcon, ChevronRightDoubleIcon$1 = _useGlobalIcon.ChevronRightDoubleIcon, EllipsisIcon$1 = _useGlobalIcon.EllipsisIcon;
var _usePaginationClasses = usePaginationClasses(props2, innerCurrent, innerPageSize, COMPONENT_NAME), pageCount = _usePaginationClasses.pageCount, CLASS_MAP = _objectWithoutProperties$1(_usePaginationClasses, _excluded$3);
var _useMoreAction = useMoreAction(props2, pageCount, innerCurrent), prevMore = _useMoreAction.prevMore, isPrevMoreShow = _useMoreAction.isPrevMoreShow, curPageLeftCount = _useMoreAction.curPageLeftCount, nextMore = _useMoreAction.nextMore, isNextMoreShow = _useMoreAction.isNextMoreShow, curPageRightCount = _useMoreAction.curPageRightCount;
var jumpIndex = vue.ref(innerCurrent.value);
var isFolded = vue.computed(function() {
return pageCount.value > props2.maxPageBtn;
});
var sizeOptions = vue.computed(function() {
var pageSizeOptions = props2.pageSizeOptions;
var options = pageSizeOptions.map(function(option2) {
return isObject_1(option2) ? option2 : {
label: t(globalConfig.value.itemsPerPage, {
size: option2
}),
value: Number(option2)
};
});
return options.sort(function(a, b) {
return a.value - b.value;
});
});
var isMidEllipsis = vue.computed(function() {
return props2.pageEllipsisMode === "mid";
});
var pages = vue.computed(function() {
var array = [];
var start2;
var end2;
if (isFolded.value) {
if (isPrevMoreShow.value && isNextMoreShow.value) {
start2 = innerCurrent.value - curPageLeftCount.value;
end2 = innerCurrent.value + curPageRightCount.value;
} else {
var foldedStart = isMidEllipsis.value ? 2 : 1;
var foldedEnd = isMidEllipsis.value ? pageCount.value - 1 : pageCount.value;
start2 = isPrevMoreShow.value ? pageCount.value - props2.foldedMaxPageBtn + 1 : foldedStart;
end2 = isPrevMoreShow.value ? foldedEnd : props2.foldedMaxPageBtn;
}
} else {
start2 = 1;
end2 = pageCount.value;
}
for (var i = start2; i <= end2; i++) {
array.push(i);
}
return array;
});
vue.watch(function() {
return pageCount.value;
}, function() {
if (innerCurrent.value > pageCount.value)
innerCurrent.value = 1;
});
vue.watch(function() {
return innerCurrent.value;
}, function(val) {
return jumpIndex.value = val;
});
var toPage = function toPage2(pageIndex, isTriggerChange) {
if (props2.disabled) {
return;
}
var current2 = pageIndex;
if (pageIndex < min) {
current2 = min;
} else if (pageIndex > pageCount.value) {
current2 = pageCount.value;
}
if (innerCurrent.value !== current2) {
var prev = innerCurrent.value;
var pageInfo = {
current: current2,
previous: prev,
pageSize: innerPageSize.value
};
setInnerCurrent(current2, pageInfo);
if (isTriggerChange !== false) {
var _props2$onChange;
(_props2$onChange = props2.onChange) === null || _props2$onChange === void 0 || _props2$onChange.call(props2, pageInfo);
}
}
};
var handlePageChange = function handlePageChange2(type) {
var pageChangeMap = {
prevPage: function prevPage() {
return toPage(innerCurrent.value - 1);
},
nextPage: function nextPage() {
return toPage(innerCurrent.value + 1);
},
prevMorePage: function prevMorePage() {
return toPage(innerCurrent.value - props2.foldedMaxPageBtn);
},
nextMorePage: function nextMorePage() {
return toPage(innerCurrent.value + props2.foldedMaxPageBtn);
}
};
pageChangeMap[type]();
};
var onSelectorChange = function onSelectorChange2(e) {
var _props2$onChange2;
if (props2.disabled) {
return;
}
var pageSize2 = parseInt(e, 10);
var pageCount2 = 1;
if (pageSize2 > 0) {
pageCount2 = Math.max(Math.ceil(props2.total / pageSize2), 1);
}
var isIndexChange = false;
if (innerCurrent.value > pageCount2) {
isIndexChange = true;
}
var pageInfo = {
current: isIndexChange ? pageCount2 : innerCurrent.value,
previous: innerCurrent.value,
pageSize: pageSize2
};
(_props2$onChange2 = props2.onChange) === null || _props2$onChange2 === void 0 || _props2$onChange2.call(props2, pageInfo);
setInnerPageSize(pageSize2, pageInfo);
if (isIndexChange) {
toPage(pageCount2, false);
}
};
var onJumperChange = function onJumperChange2(val) {
var currentIndex = Math.trunc(+val);
if (_isNaN(currentIndex))
return;
jumpIndex.value = currentIndex;
toPage(currentIndex);
};
return function() {
var total = props2.total, pageSizeOptions = props2.pageSizeOptions, size = props2.size, disabled = props2.disabled, showPageSize = props2.showPageSize;
if (pageCount.value < 1)
return null;
var Jumper = vue.createVNode("div", {
"class": CLASS_MAP.jumperClass.value
}, [t(globalConfig.value.jumpTo), vue.createVNode(InputAdornment, {
"append": "/ ".concat(pageCount.value, " ").concat(t(globalConfig.value.page))
}, {
"default": function _default16() {
return [vue.createVNode(InputNumber, {
"class": CLASS_MAP.jumperInputClass.value,
"modelValue": jumpIndex.value,
"onUpdate:modelValue": function onUpdateModelValue($event) {
return jumpIndex.value = $event;
},
"onBlur": onJumperChange,
"onEnter": onJumperChange,
"max": pageCount.value,
"min": min,
"size": size,
"disabled": disabled,
"theme": "normal",
"placeholder": ""
}, null)];
}
})]);
return vue.createVNode("div", {
"class": CLASS_MAP.paginationClass.value
}, [renderTNodeJSX3("totalContent", vue.createVNode("div", {
"class": CLASS_MAP.totalClass.value
}, [t(globalConfig.value.total, {
total
})])), showPageSize && pageSizeOptions.length > 0 && vue.createVNode(Select, vue.mergeProps({
"size": size,
"value": innerPageSize,
"disabled": disabled,
"class": CLASS_MAP.sizerClass.value,
"autoWidth": true,
"onChange": onSelectorChange,
"options": sizeOptions.value
}, props2.selectProps), null), props2.showFirstAndLastPageBtn ? vue.createVNode("div", {
"class": CLASS_MAP.preBtnClass.value,
"onClick": function onClick() {
return toPage(1);
},
"disabled": props2.disabled || props2.current === min
}, [vue.createVNode(PageFirstIcon$1, null, null)]) : null, props2.showPreviousAndNextBtn ? vue.createVNode("div", {
"class": CLASS_MAP.preBtnClass.value,
"onClick": function onClick() {
return handlePageChange("prevPage");
},
"disabled": disabled || innerCurrent.value === min
}, [vue.createVNode(ChevronLeftIcon$1, null, null)]) : null, props2.showPageNumber && props2.theme === "default" ? vue.createVNode("ul", {
"class": CLASS_MAP.btnWrapClass.value
}, [isFolded.value && isMidEllipsis.value && vue.createVNode("li", {
"class": CLASS_MAP.getButtonClass(1),
"onClick": function onClick() {
return toPage(min);
}
}, [min]), isFolded.value && isPrevMoreShow.value && isMidEllipsis.value ? vue.createVNode("li", {
"class": CLASS_MAP.btnMoreClass.value,
"onClick": function onClick() {
return handlePageChange("prevMorePage");
},
"onMouseOver": function onMouseOver() {
return prevMore.value = true;
},
"onMouseOut": function onMouseOut() {
return prevMore.value = false;
}
}, [prevMore.value ? vue.createVNode(ChevronLeftDoubleIcon$1, null, null) : vue.createVNode(EllipsisIcon$1, null, null)]) : null, pages.value.map(function(i) {
return vue.createVNode("li", {
"class": CLASS_MAP.getButtonClass(i),
"key": i,
"onClick": function onClick() {
return toPage(i);
}
}, [i]);
}), isFolded.value && isNextMoreShow.value && isMidEllipsis.value ? vue.createVNode("li", {
"class": CLASS_MAP.btnMoreClass.value,
"onClick": function onClick() {
return handlePageChange("nextMorePage");
},
"onMouseOver": function onMouseOver() {
return nextMore.value = true;
},
"onMouseOut": function onMouseOut() {
return nextMore.value = false;
}
}, [nextMore.value ? vue.createVNode(ChevronRightDoubleIcon$1, null, null) : vue.createVNode(EllipsisIcon$1, null, null)]) : null, isFolded.value && isMidEllipsis.value ? vue.createVNode("li", {
"class": CLASS_MAP.getButtonClass(pageCount.value),
"onClick": function onClick() {
return toPage(pageCount.value);
}
}, [pageCount.value]) : null]) : null, props2.theme === "simple" && Jumper, props2.showPreviousAndNextBtn ? vue.createVNode("div", {
"class": CLASS_MAP.nextBtnClass.value,
"onClick": function onClick() {
return handlePageChange("nextPage");
},
"disabled": disabled || innerCurrent.value === pageCount.value
}, [vue.createVNode(ChevronRightIcon$1, null, null)]) : null, props2.showFirstAndLastPageBtn ? vue.createVNode("div", {
"class": CLASS_MAP.nextBtnClass.value,
"onClick": function onClick() {
return toPage(pageCount.value);
},
"disabled": disabled || innerCurrent.value === pageCount.value
}, [vue.createVNode(PageLastIcon$1, null, null)]) : null, props2.theme === "default" && props2.showJumper && Jumper]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$8 = {
disabled: {
type: [Boolean, Object]
},
layout: {
type: String,
"default": "horizontal",
validator: function validator35(val) {
if (!val)
return true;
return ["horizontal", "vertical"].includes(val);
}
},
showCurrent: {
type: Boolean,
"default": true
},
size: {
type: String,
"default": "medium",
validator: function validator36(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
tips: {
type: Object
},
variant: {
type: String,
"default": "text",
validator: function validator37(val) {
if (!val)
return true;
return ["text", "outline"].includes(val);
}
},
onChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$x(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$w(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$x(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$x(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _PaginationMini = vue.defineComponent({
name: "TPaginationMini",
props: _objectSpread$w({}, props$8),
setup: function setup29(props2) {
var COMPONENT_NAME = usePrefixClass("pagination-mini");
var _useGlobalIcon = useGlobalIcon({
ChevronLeftIcon,
RoundIcon,
ChevronRightIcon,
ChevronUpIcon,
ChevronDownIcon
}), ChevronLeftIcon$1 = _useGlobalIcon.ChevronLeftIcon, RoundIcon$1 = _useGlobalIcon.RoundIcon, ChevronRightIcon$1 = _useGlobalIcon.ChevronRightIcon, ChevronUpIcon$1 = _useGlobalIcon.ChevronUpIcon, ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon;
var titleConfig = vue.computed(function() {
if (isObject_1(props2.tips))
return props2.tips;
if (props2.tips === true)
return {
prev: "上一页",
current: "当前",
next: "下一页"
};
return {};
});
var disabledConfig = vue.computed(function() {
if (isObject_1(props2.disabled))
return props2.disabled;
if (props2.disabled === true)
return {
prev: true,
current: true,
next: true
};
return {
prev: false,
current: false,
next: false
};
});
return function() {
var jumperClass = [COMPONENT_NAME.value, _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--outline"), props2.variant === "outline")];
return vue.createVNode("div", {
"class": jumperClass
}, [vue.createVNode(Button, {
"title": titleConfig.value.prev,
"variant": props2.variant,
"size": props2.size,
"shape": "square",
"onClick": function onClick(e) {
var _props2$onChange;
return (_props2$onChange = props2.onChange) === null || _props2$onChange === void 0 ? void 0 : _props2$onChange.call(props2, {
e,
trigger: "prev"
});
},
"icon": props2.layout === "horizontal" ? function() {
return vue.createVNode(ChevronLeftIcon$1, null, null);
} : function() {
return vue.createVNode(ChevronUpIcon$1, null, null);
},
"class": "".concat(COMPONENT_NAME.value, "__prev"),
"disabled": disabledConfig.value.prev
}, null), props2.showCurrent && vue.createVNode(Button, {
"title": titleConfig.value.current,
"variant": props2.variant,
"size": props2.size,
"shape": "square",
"onClick": function onClick(e) {
var _props2$onChange2;
return (_props2$onChange2 = props2.onChange) === null || _props2$onChange2 === void 0 ? void 0 : _props2$onChange2.call(props2, {
e,
trigger: "current"
});
},
"icon": function icon() {
return vue.createVNode(RoundIcon$1, null, null);
},
"class": "".concat(COMPONENT_NAME.value, "__current"),
"disabled": disabledConfig.value.current
}, null), vue.createVNode(Button, {
"title": titleConfig.value.next,
"variant": props2.variant,
"size": props2.size,
"shape": "square",
"onClick": function onClick(e) {
var _props2$onChange3;
return (_props2$onChange3 = props2.onChange) === null || _props2$onChange3 === void 0 ? void 0 : _props2$onChange3.call(props2, {
e,
trigger: "next"
});
},
"icon": props2.layout === "horizontal" ? function() {
return vue.createVNode(ChevronRightIcon$1, null, null);
} : function() {
return vue.createVNode(ChevronDownIcon$1, null, null);
},
"class": "".concat(COMPONENT_NAME.value, "__next"),
"disabled": disabledConfig.value.next
}, null)]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Pagination = withInstall(_Pagination);
withInstall(_PaginationMini);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function setToArray$2(set2) {
var index2 = -1, result = Array(set2.size);
set2.forEach(function(value) {
result[++index2] = value;
});
return result;
}
var _setToArray = setToArray$2;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var SetCache$1 = _SetCache, arrayIncludes$1 = _arrayIncludes, arrayIncludesWith$1 = _arrayIncludesWith, arrayMap = _arrayMap, baseUnary = _baseUnary, cacheHas$1 = _cacheHas;
var LARGE_ARRAY_SIZE$1 = 200;
function baseDifference$1(array, values, iteratee, comparator) {
var index2 = -1, includes = arrayIncludes$1, isCommon = true, length = array.length, result = [], valuesLength = values.length;
if (!length) {
return result;
}
if (iteratee) {
values = arrayMap(values, baseUnary(iteratee));
}
if (comparator) {
includes = arrayIncludesWith$1;
isCommon = false;
} else if (values.length >= LARGE_ARRAY_SIZE$1) {
includes = cacheHas$1;
isCommon = false;
values = new SetCache$1(values);
}
outer:
while (++index2 < length) {
var value = array[index2], computed2 = iteratee == null ? value : iteratee(value);
value = comparator || value !== 0 ? value : 0;
if (isCommon && computed2 === computed2) {
var valuesIndex = valuesLength;
while (valuesIndex--) {
if (values[valuesIndex] === computed2) {
continue outer;
}
}
result.push(value);
} else if (!includes(values, computed2, comparator)) {
result.push(value);
}
}
return result;
}
var _baseDifference = baseDifference$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function isNil(value) {
return value == null;
}
var isNil_1 = isNil;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseSet = _baseSet;
function set(object, path, value) {
return object == null ? object : baseSet(object, path, value);
}
var set_1 = set;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var isDate$1 = { exports: {} };
var merge$1 = { exports: {} };
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = merge2;
function merge2() {
var obj = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var defaults2 = arguments.length > 1 ? arguments[1] : void 0;
for (var key2 in defaults2) {
if (typeof obj[key2] === "undefined") {
obj[key2] = defaults2[key2];
}
}
return obj;
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(merge$1, merge$1.exports);
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = isDate2;
var _merge = _interopRequireDefault(merge$1.exports);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
function _slicedToArray2(arr, i) {
return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2();
}
function _nonIterableRest2() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _iterableToArrayLimit2(arr, i) {
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr)))
return;
var _arr = [];
var _n = true;
var _d = false;
var _e = void 0;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i)
break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null)
_i["return"]();
} finally {
if (_d)
throw _e;
}
}
return _arr;
}
function _arrayWithHoles2(arr) {
if (Array.isArray(arr))
return arr;
}
function _createForOfIteratorHelper2(o, allowArrayLike) {
var it;
if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) {
if (Array.isArray(o) || (it = _unsupportedIterableToArray2(o)) || allowArrayLike && o && typeof o.length === "number") {
if (it)
o = it;
var i = 0;
var F = function F2() {
};
return {
s: F,
n: function n() {
if (i >= o.length)
return {
done: true
};
return {
done: false,
value: o[i++]
};
},
e: function e(_e2) {
throw _e2;
},
f: F
};
}
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
var normalCompletion = true, didErr = false, err;
return {
s: function s() {
it = o[Symbol.iterator]();
},
n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
},
e: function e(_e3) {
didErr = true;
err = _e3;
},
f: function f() {
try {
if (!normalCompletion && it["return"] != null)
it["return"]();
} finally {
if (didErr)
throw err;
}
}
};
}
function _unsupportedIterableToArray2(o, minLen) {
if (!o)
return;
if (typeof o === "string")
return _arrayLikeToArray2(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor)
n = o.constructor.name;
if (n === "Map" || n === "Set")
return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray2(o, minLen);
}
function _arrayLikeToArray2(arr, len2) {
if (len2 == null || len2 > arr.length)
len2 = arr.length;
for (var i = 0, arr2 = new Array(len2); i < len2; i++) {
arr2[i] = arr[i];
}
return arr2;
}
var default_date_options = {
format: "YYYY/MM/DD",
delimiters: ["/", "-"],
strictMode: false
};
function isValidFormat(format) {
return /(^(y{4}|y{2})[.\/-](m{1,2})[.\/-](d{1,2})$)|(^(m{1,2})[.\/-](d{1,2})[.\/-]((y{4}|y{2})$))|(^(d{1,2})[.\/-](m{1,2})[.\/-]((y{4}|y{2})$))/gi.test(format);
}
function zip(date, format) {
var zippedArr = [], len2 = Math.min(date.length, format.length);
for (var i = 0; i < len2; i++) {
zippedArr.push([date[i], format[i]]);
}
return zippedArr;
}
function isDate2(input, options) {
if (typeof options === "string") {
options = (0, _merge["default"])({
format: options
}, default_date_options);
} else {
options = (0, _merge["default"])(options, default_date_options);
}
if (typeof input === "string" && isValidFormat(options.format)) {
var formatDelimiter = options.delimiters.find(function(delimiter) {
return options.format.indexOf(delimiter) !== -1;
});
var dateDelimiter = options.strictMode ? formatDelimiter : options.delimiters.find(function(delimiter) {
return input.indexOf(delimiter) !== -1;
});
var dateAndFormat = zip(input.split(dateDelimiter), options.format.toLowerCase().split(formatDelimiter));
var dateObj = {};
var _iterator = _createForOfIteratorHelper2(dateAndFormat), _step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
var _step$value = _slicedToArray2(_step.value, 2), dateWord = _step$value[0], formatWord = _step$value[1];
if (dateWord.length !== formatWord.length) {
return false;
}
dateObj[formatWord.charAt(0)] = dateWord;
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
var fullYear = dateObj.y;
if (dateObj.y.length === 2) {
var parsedYear = parseInt(dateObj.y, 10);
if (isNaN(parsedYear)) {
return false;
}
var currentYearLastTwoDigits = (/* @__PURE__ */ new Date()).getFullYear() % 100;
if (parsedYear < currentYearLastTwoDigits) {
fullYear = "20".concat(dateObj.y);
} else {
fullYear = "19".concat(dateObj.y);
}
}
return new Date("".concat(fullYear, "-").concat(dateObj.m, "-").concat(dateObj.d)).getDate() === +dateObj.d;
}
if (!options.strictMode) {
return Object.prototype.toString.call(input) === "[object Date]" && isFinite(input);
}
return false;
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(isDate$1, isDate$1.exports);
var isDate$2 = /* @__PURE__ */ getDefaultExportFromCjs$1(isDate$1.exports);
var isEmail$1 = { exports: {} };
var assertString$1 = { exports: {} };
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = assertString;
function _typeof2(obj) {
"@babel/helpers - typeof";
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof2 = function _typeof3(obj2) {
return typeof obj2;
};
} else {
_typeof2 = function _typeof3(obj2) {
return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
};
}
return _typeof2(obj);
}
function assertString(input) {
var isString2 = typeof input === "string" || input instanceof String;
if (!isString2) {
var invalidType = _typeof2(input);
if (input === null)
invalidType = "null";
else if (invalidType === "object")
invalidType = input.constructor.name;
throw new TypeError("Expected a string but received a ".concat(invalidType));
}
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(assertString$1, assertString$1.exports);
var isByteLength$1 = { exports: {} };
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = isByteLength;
var _assertString = _interopRequireDefault(assertString$1.exports);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
function _typeof2(obj) {
"@babel/helpers - typeof";
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof2 = function _typeof3(obj2) {
return typeof obj2;
};
} else {
_typeof2 = function _typeof3(obj2) {
return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
};
}
return _typeof2(obj);
}
function isByteLength(str, options) {
(0, _assertString["default"])(str);
var min3;
var max3;
if (_typeof2(options) === "object") {
min3 = options.min || 0;
max3 = options.max;
} else {
min3 = arguments[1];
max3 = arguments[2];
}
var len2 = encodeURI(str).split(/%..|./).length - 1;
return len2 >= min3 && (typeof max3 === "undefined" || len2 <= max3);
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(isByteLength$1, isByteLength$1.exports);
var isFQDN$1 = { exports: {} };
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = isFQDN;
var _assertString = _interopRequireDefault(assertString$1.exports);
var _merge = _interopRequireDefault(merge$1.exports);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
var default_fqdn_options = {
require_tld: true,
allow_underscores: false,
allow_trailing_dot: false,
allow_numeric_tld: false,
allow_wildcard: false,
ignore_max_length: false
};
function isFQDN(str, options) {
(0, _assertString["default"])(str);
options = (0, _merge["default"])(options, default_fqdn_options);
if (options.allow_trailing_dot && str[str.length - 1] === ".") {
str = str.substring(0, str.length - 1);
}
if (options.allow_wildcard === true && str.indexOf("*.") === 0) {
str = str.substring(2);
}
var parts = str.split(".");
var tld = parts[parts.length - 1];
if (options.require_tld) {
if (parts.length < 2) {
return false;
}
if (!options.allow_numeric_tld && !/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(tld)) {
return false;
}
if (/\s/.test(tld)) {
return false;
}
}
if (!options.allow_numeric_tld && /^\d+$/.test(tld)) {
return false;
}
return parts.every(function(part) {
if (part.length > 63 && !options.ignore_max_length) {
return false;
}
if (!/^[a-z_\u00a1-\uffff0-9-]+$/i.test(part)) {
return false;
}
if (/[\uff01-\uff5e]/.test(part)) {
return false;
}
if (/^-|-$/.test(part)) {
return false;
}
if (!options.allow_underscores && /_/.test(part)) {
return false;
}
return true;
});
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(isFQDN$1, isFQDN$1.exports);
var isIP$1 = { exports: {} };
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = isIP;
var _assertString = _interopRequireDefault(assertString$1.exports);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
var IPv4SegmentFormat = "(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])";
var IPv4AddressFormat = "(".concat(IPv4SegmentFormat, "[.]){3}").concat(IPv4SegmentFormat);
var IPv4AddressRegExp = new RegExp("^".concat(IPv4AddressFormat, "$"));
var IPv6SegmentFormat = "(?:[0-9a-fA-F]{1,4})";
var IPv6AddressRegExp = new RegExp("^(" + "(?:".concat(IPv6SegmentFormat, ":){7}(?:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){6}(?:").concat(IPv4AddressFormat, "|:").concat(IPv6SegmentFormat, "|:)|") + "(?:".concat(IPv6SegmentFormat, ":){5}(?::").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,2}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){4}(?:(:").concat(IPv6SegmentFormat, "){0,1}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,3}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){3}(?:(:").concat(IPv6SegmentFormat, "){0,2}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,4}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){2}(?:(:").concat(IPv6SegmentFormat, "){0,3}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,5}|:)|") + "(?:".concat(IPv6SegmentFormat, ":){1}(?:(:").concat(IPv6SegmentFormat, "){0,4}:").concat(IPv4AddressFormat, "|(:").concat(IPv6SegmentFormat, "){1,6}|:)|") + "(?::((?::".concat(IPv6SegmentFormat, "){0,5}:").concat(IPv4AddressFormat, "|(?::").concat(IPv6SegmentFormat, "){1,7}|:))") + ")(%[0-9a-zA-Z-.:]{1,})?$");
function isIP(str) {
var version2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
(0, _assertString["default"])(str);
version2 = String(version2);
if (!version2) {
return isIP(str, 4) || isIP(str, 6);
}
if (version2 === "4") {
return IPv4AddressRegExp.test(str);
}
if (version2 === "6") {
return IPv6AddressRegExp.test(str);
}
return false;
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(isIP$1, isIP$1.exports);
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = isEmail2;
var _assertString = _interopRequireDefault(assertString$1.exports);
var _isByteLength = _interopRequireDefault(isByteLength$1.exports);
var _isFQDN = _interopRequireDefault(isFQDN$1.exports);
var _isIP = _interopRequireDefault(isIP$1.exports);
var _merge = _interopRequireDefault(merge$1.exports);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
var default_email_options = {
allow_display_name: false,
allow_underscores: false,
require_display_name: false,
allow_utf8_local_part: true,
require_tld: true,
blacklisted_chars: "",
ignore_max_length: false,
host_blacklist: [],
host_whitelist: []
};
var splitNameAddress = /^([^\x00-\x1F\x7F-\x9F\cX]+)</i;
var emailUserPart = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~]+$/i;
var gmailUserPart = /^[a-z\d]+$/;
var quotedEmailUser = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f]))*$/i;
var emailUserUtf8Part = /^[a-z\d!#\$%&'\*\+\-\/=\?\^_`{\|}~\u00A1-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+$/i;
var quotedEmailUserUtf8 = /^([\s\x01-\x08\x0b\x0c\x0e-\x1f\x7f\x21\x23-\x5b\x5d-\x7e\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]|(\\[\x01-\x09\x0b\x0c\x0d-\x7f\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))*$/i;
var defaultMaxEmailLength = 254;
function validateDisplayName(display_name) {
var display_name_without_quotes = display_name.replace(/^"(.+)"$/, "$1");
if (!display_name_without_quotes.trim()) {
return false;
}
var contains_illegal = /[\.";<>]/.test(display_name_without_quotes);
if (contains_illegal) {
if (display_name_without_quotes === display_name) {
return false;
}
var all_start_with_back_slash = display_name_without_quotes.split('"').length === display_name_without_quotes.split('\\"').length;
if (!all_start_with_back_slash) {
return false;
}
}
return true;
}
function isEmail2(str, options) {
(0, _assertString["default"])(str);
options = (0, _merge["default"])(options, default_email_options);
if (options.require_display_name || options.allow_display_name) {
var display_email = str.match(splitNameAddress);
if (display_email) {
var display_name = display_email[1];
str = str.replace(display_name, "").replace(/(^<|>$)/g, "");
if (display_name.endsWith(" ")) {
display_name = display_name.slice(0, -1);
}
if (!validateDisplayName(display_name)) {
return false;
}
} else if (options.require_display_name) {
return false;
}
}
if (!options.ignore_max_length && str.length > defaultMaxEmailLength) {
return false;
}
var parts = str.split("@");
var domain = parts.pop();
var lower_domain = domain.toLowerCase();
if (options.host_blacklist.includes(lower_domain)) {
return false;
}
if (options.host_whitelist.length > 0 && !options.host_whitelist.includes(lower_domain)) {
return false;
}
var user = parts.join("@");
if (options.domain_specific_validation && (lower_domain === "gmail.com" || lower_domain === "googlemail.com")) {
user = user.toLowerCase();
var username = user.split("+")[0];
if (!(0, _isByteLength["default"])(username.replace(/\./g, ""), {
min: 6,
max: 30
})) {
return false;
}
var _user_parts = username.split(".");
for (var i = 0; i < _user_parts.length; i++) {
if (!gmailUserPart.test(_user_parts[i])) {
return false;
}
}
}
if (options.ignore_max_length === false && (!(0, _isByteLength["default"])(user, {
max: 64
}) || !(0, _isByteLength["default"])(domain, {
max: 254
}))) {
return false;
}
if (!(0, _isFQDN["default"])(domain, {
require_tld: options.require_tld,
ignore_max_length: options.ignore_max_length,
allow_underscores: options.allow_underscores
})) {
if (!options.allow_ip_domain) {
return false;
}
if (!(0, _isIP["default"])(domain)) {
if (!domain.startsWith("[") || !domain.endsWith("]")) {
return false;
}
var noBracketdomain = domain.slice(1, -1);
if (noBracketdomain.length === 0 || !(0, _isIP["default"])(noBracketdomain)) {
return false;
}
}
}
if (user[0] === '"') {
user = user.slice(1, user.length - 1);
return options.allow_utf8_local_part ? quotedEmailUserUtf8.test(user) : quotedEmailUser.test(user);
}
var pattern2 = options.allow_utf8_local_part ? emailUserUtf8Part : emailUserPart;
var user_parts = user.split(".");
for (var _i = 0; _i < user_parts.length; _i++) {
if (!pattern2.test(user_parts[_i])) {
return false;
}
}
if (options.blacklisted_chars) {
if (user.search(new RegExp("[".concat(options.blacklisted_chars, "]+"), "g")) !== -1)
return false;
}
return true;
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(isEmail$1, isEmail$1.exports);
var isEmail = /* @__PURE__ */ getDefaultExportFromCjs$1(isEmail$1.exports);
var isURL$1 = { exports: {} };
(function(module, exports) {
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = isURL2;
var _assertString = _interopRequireDefault(assertString$1.exports);
var _isFQDN = _interopRequireDefault(isFQDN$1.exports);
var _isIP = _interopRequireDefault(isIP$1.exports);
var _merge = _interopRequireDefault(merge$1.exports);
function _interopRequireDefault(obj) {
return obj && obj.__esModule ? obj : {
"default": obj
};
}
function _slicedToArray2(arr, i) {
return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2();
}
function _nonIterableRest2() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function _unsupportedIterableToArray2(o, minLen) {
if (!o)
return;
if (typeof o === "string")
return _arrayLikeToArray2(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === "Object" && o.constructor)
n = o.constructor.name;
if (n === "Map" || n === "Set")
return Array.from(o);
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray2(o, minLen);
}
function _arrayLikeToArray2(arr, len2) {
if (len2 == null || len2 > arr.length)
len2 = arr.length;
for (var i = 0, arr2 = new Array(len2); i < len2; i++) {
arr2[i] = arr[i];
}
return arr2;
}
function _iterableToArrayLimit2(arr, i) {
if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr)))
return;
var _arr = [];
var _n = true;
var _d = false;
var _e = void 0;
try {
for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
_arr.push(_s.value);
if (i && _arr.length === i)
break;
}
} catch (err) {
_d = true;
_e = err;
} finally {
try {
if (!_n && _i["return"] != null)
_i["return"]();
} finally {
if (_d)
throw _e;
}
}
return _arr;
}
function _arrayWithHoles2(arr) {
if (Array.isArray(arr))
return arr;
}
var default_url_options = {
protocols: ["http", "https", "ftp"],
require_tld: true,
require_protocol: false,
require_host: true,
require_port: false,
require_valid_protocol: true,
allow_underscores: false,
allow_trailing_dot: false,
allow_protocol_relative_urls: false,
allow_fragments: true,
allow_query_components: true,
validate_length: true
};
var wrapped_ipv6 = /^\[([^\]]+)\](?::([0-9]+))?$/;
function isRegExp2(obj) {
return Object.prototype.toString.call(obj) === "[object RegExp]";
}
function checkHost(host, matches2) {
for (var i = 0; i < matches2.length; i++) {
var match = matches2[i];
if (host === match || isRegExp2(match) && match.test(host)) {
return true;
}
}
return false;
}
function isURL2(url, options) {
(0, _assertString["default"])(url);
if (!url || /[\s<>]/.test(url)) {
return false;
}
if (url.indexOf("mailto:") === 0) {
return false;
}
options = (0, _merge["default"])(options, default_url_options);
if (options.validate_length && url.length >= 2083) {
return false;
}
if (!options.allow_fragments && url.includes("#")) {
return false;
}
if (!options.allow_query_components && (url.includes("?") || url.includes("&"))) {
return false;
}
var protocol, auth, host, hostname, port, port_str, split, ipv6;
split = url.split("#");
url = split.shift();
split = url.split("?");
url = split.shift();
split = url.split("://");
if (split.length > 1) {
protocol = split.shift().toLowerCase();
if (options.require_valid_protocol && options.protocols.indexOf(protocol) === -1) {
return false;
}
} else if (options.require_protocol) {
return false;
} else if (url.slice(0, 2) === "//") {
if (!options.allow_protocol_relative_urls) {
return false;
}
split[0] = url.slice(2);
}
url = split.join("://");
if (url === "") {
return false;
}
split = url.split("/");
url = split.shift();
if (url === "" && !options.require_host) {
return true;
}
split = url.split("@");
if (split.length > 1) {
if (options.disallow_auth) {
return false;
}
if (split[0] === "") {
return false;
}
auth = split.shift();
if (auth.indexOf(":") >= 0 && auth.split(":").length > 2) {
return false;
}
var _auth$split = auth.split(":"), _auth$split2 = _slicedToArray2(_auth$split, 2), user = _auth$split2[0], password = _auth$split2[1];
if (user === "" && password === "") {
return false;
}
}
hostname = split.join("@");
port_str = null;
ipv6 = null;
var ipv6_match = hostname.match(wrapped_ipv6);
if (ipv6_match) {
host = "";
ipv6 = ipv6_match[1];
port_str = ipv6_match[2] || null;
} else {
split = hostname.split(":");
host = split.shift();
if (split.length) {
port_str = split.join(":");
}
}
if (port_str !== null && port_str.length > 0) {
port = parseInt(port_str, 10);
if (!/^[0-9]+$/.test(port_str) || port <= 0 || port > 65535) {
return false;
}
} else if (options.require_port) {
return false;
}
if (options.host_whitelist) {
return checkHost(host, options.host_whitelist);
}
if (host === "" && !options.require_host) {
return true;
}
if (!(0, _isIP["default"])(host) && !(0, _isFQDN["default"])(host, options) && (!ipv6 || !(0, _isIP["default"])(ipv6, 6))) {
return false;
}
host = host || ipv6;
if (options.host_blacklist && checkHost(host, options.host_blacklist)) {
return false;
}
return true;
}
module.exports = exports["default"];
module.exports["default"] = exports["default"];
})(isURL$1, isURL$1.exports);
var isURL = /* @__PURE__ */ getDefaultExportFromCjs$1(isURL$1.exports);
function ownKeys$w(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$v(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$w(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$w(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function isValueEmpty(val) {
var type = Object.prototype.toString.call(val);
var typeMap = {
Date: "[object Date]"
};
if (type === typeMap.Date) {
return false;
}
return isObject_1(val) ? isEmpty_1(val) : ["", void 0, null].includes(val);
}
var VALIDATE_MAP = {
date: isDate$2,
url: isURL,
email: isEmail,
required: function required(val) {
return !isValueEmpty(val);
},
whitespace: function whitespace(val) {
return !(/^\s+$/.test(val) || val === "");
},
"boolean": function boolean(val) {
return isBoolean_1(val);
},
max: function max2(val, num) {
return isNumber_1(val) ? val <= num : getCharacterLength(val) <= num;
},
min: function min2(val, num) {
return isNumber_1(val) ? val >= num : getCharacterLength(val) >= num;
},
len: function len(val, num) {
return getCharacterLength(val) === num;
},
number: function number(val) {
return isNumber_1(val);
},
"enum": function _enum(val, strs) {
return strs.includes(val);
},
idcard: function idcard(val) {
return /^(\d{18,18}|\d{15,15}|\d{17,17}x)$/i.test(val);
},
telnumber: function telnumber(val) {
return /^1[3-9]\d{9}$/.test(val);
},
pattern: function pattern(val, regexp) {
return regexp.test(val);
},
validator: function validator38(val, validate2) {
return validate2(val);
}
};
function validateOneRule(_x, _x2) {
return _validateOneRule.apply(this, arguments);
}
function _validateOneRule() {
_validateOneRule = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee(value, rule) {
var validateResult, keys2, vOptions, vValidateFun, i, key2, validateRule;
return regenerator.wrap(function _callee$(_context) {
while (1)
switch (_context.prev = _context.next) {
case 0:
validateResult = {
result: true
};
keys2 = Object.keys(rule);
i = 0;
case 3:
if (!(i < keys2.length)) {
_context.next = 15;
break;
}
key2 = keys2[i];
if (!(!rule.required && isValueEmpty(value) && !rule.validator)) {
_context.next = 7;
break;
}
return _context.abrupt("return", validateResult);
case 7:
validateRule = VALIDATE_MAP[key2];
if (!(validateRule && (rule[key2] || rule[key2] === 0))) {
_context.next = 12;
break;
}
vOptions = rule[key2] === true ? void 0 : rule[key2];
vValidateFun = validateRule;
return _context.abrupt("break", 15);
case 12:
i++;
_context.next = 3;
break;
case 15:
if (!vValidateFun) {
_context.next = 23;
break;
}
_context.next = 18;
return vValidateFun(value, vOptions);
case 18:
validateResult = _context.sent;
if (!isBoolean_1(validateResult)) {
_context.next = 21;
break;
}
return _context.abrupt("return", _objectSpread$v(_objectSpread$v({}, rule), {}, {
result: validateResult
}));
case 21:
if (!isObject_1(validateResult)) {
_context.next = 23;
break;
}
return _context.abrupt("return", validateResult);
case 23:
return _context.abrupt("return", validateResult);
case 24:
case "end":
return _context.stop();
}
}, _callee);
}));
return _validateOneRule.apply(this, arguments);
}
function validate(_x3, _x4) {
return _validate.apply(this, arguments);
}
function _validate() {
_validate = _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee2(value, rules) {
var all2, r;
return regenerator.wrap(function _callee2$(_context2) {
while (1)
switch (_context2.prev = _context2.next) {
case 0:
all2 = rules.map(function(rule) {
return validateOneRule(value, rule);
});
_context2.next = 3;
return Promise.all(all2);
case 3:
r = _context2.sent;
return _context2.abrupt("return", r);
case 5:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return _validate.apply(this, arguments);
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$7 = {
allowUncheck: Boolean,
checked: {
type: Boolean,
"default": void 0
},
modelValue: {
type: Boolean,
"default": void 0
},
defaultChecked: Boolean,
"default": {
type: [String, Function]
},
disabled: {
type: Boolean,
"default": void 0
},
label: {
type: [String, Function]
},
name: {
type: String,
"default": ""
},
value: {
type: [String, Number, Boolean],
"default": void 0
},
onChange: Function,
onClick: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var RadioGroupInjectionKey = Symbol("RadioGroupProvide");
var RadioButtonInjectionKey = Symbol("RadioButtonProvide");
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$v(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$u(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$v(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$v(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function getValidAttrs$1(obj) {
var newObj = {};
Object.keys(obj).forEach(function(key2) {
if (!isUndefined_1(obj[key2])) {
newObj[key2] = obj[key2];
}
});
return newObj;
}
var _Radio = vue.defineComponent({
name: "TRadio",
inheritAttrs: false,
props: _objectSpread$u({}, props$7),
setup: function setup30(props2, _ref) {
var attrs = _ref.attrs;
var inputRef = vue.ref();
var _toRefs = vue.toRefs(props2), checked = _toRefs.checked, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(checked, modelValue, props2.defaultChecked, props2.onChange, "checked"), _useVModel2 = _slicedToArray(_useVModel, 2), innerChecked = _useVModel2[0], setInnerChecked = _useVModel2[1];
var radioChecked = vue.computed(function() {
return radioGroup ? props2.value === radioGroup.value : innerChecked.value;
});
var radioGroup = vue.inject(RadioGroupInjectionKey, void 0);
var allowUncheck = vue.computed(function() {
return Boolean(props2.allowUncheck || (radioGroup === null || radioGroup === void 0 ? void 0 : radioGroup.allowUncheck));
});
var handleClick = function handleClick2(e) {
e.stopPropagation();
};
var onLabelClick = function onLabelClick2(e) {
var _props2$onClick;
if (disabled.value)
return;
(_props2$onClick = props2.onClick) === null || _props2$onClick === void 0 || _props2$onClick.call(props2, {
e
});
if (radioGroup) {
var value = radioChecked.value && allowUncheck.value ? void 0 : props2.value;
radioGroup.setValue(value, {
e
});
} else {
var _value = allowUncheck.value ? !radioChecked.value : true;
setInnerChecked(_value, {
e
});
}
};
var inputEvents = vue.computed(function() {
return getValidAttrs$1({
focus: attrs.onFocus,
blur: attrs.onBlur,
keydown: attrs.onKeydown,
keyup: attrs.onKeyup,
keypresss: attrs.onKeypresss
});
});
var wrapperAttrs = vue.computed(function() {
var events2 = [].concat(_toConsumableArray(Object.keys(inputEvents.value)), ["input", "change"]).map(function(str) {
return "on".concat(str[0].toUpperCase()).concat(str.slice(1));
});
return omit(attrs, events2);
});
var groupDisabled = vue.computed(function() {
return radioGroup === null || radioGroup === void 0 ? void 0 : radioGroup.disabled;
});
var disabled = useFormDisabled(groupDisabled);
var inputProps = vue.computed(function() {
return {
name: radioGroup ? radioGroup.name : props2.name,
checked: radioChecked.value,
disabled: disabled.value,
value: props2.value
};
});
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS;
var radioButton = vue.inject(RadioButtonInjectionKey, void 0);
var radioBtnName = usePrefixClass("radio-button");
var COMPONENT_NAME = usePrefixClass("radio");
var prefixCls = vue.computed(function() {
return radioButton ? radioBtnName.value : COMPONENT_NAME.value;
});
var inputClass = vue.computed(function() {
var _ref2;
return ["".concat(prefixCls.value), (_ref2 = {}, _defineProperty$2(_ref2, STATUS.value.checked, inputProps.value.checked), _defineProperty$2(_ref2, STATUS.value.disabled, inputProps.value.disabled), _ref2)];
});
var renderContent3 = useContent();
return function() {
return vue.createVNode("label", vue.mergeProps({
"ref": inputRef,
"class": inputClass.value
}, wrapperAttrs.value, {
"tabindex": disabled.value ? void 0 : "0",
"onClick": onLabelClick
}), [vue.createVNode("input", vue.mergeProps({
"type": "radio",
"class": "".concat(prefixCls.value, "__former")
}, inputEvents.value, inputProps.value, {
"onClick": handleClick,
"tabindex": "-1",
"data-value": isString_1(props2.value) ? "'".concat(props2.value, "'") : props2.value,
"data-allow-uncheck": allowUncheck.value || void 0
}), null), vue.createVNode("span", {
"class": "".concat(prefixCls.value, "__input")
}, null), vue.createVNode("span", {
"class": "".concat(prefixCls.value, "__label")
}, [renderContent3("default", "label")])]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var debounce = debounce_1, isObject$1 = isObject_1;
var FUNC_ERROR_TEXT = "Expected a function";
function throttle$1(func, wait, options) {
var leading = true, trailing = true;
if (typeof func != "function") {
throw new TypeError(FUNC_ERROR_TEXT);
}
if (isObject$1(options)) {
leading = "leading" in options ? !!options.leading : leading;
trailing = "trailing" in options ? !!options.trailing : trailing;
}
return debounce(func, wait, {
"leading": leading,
"maxWait": wait,
"trailing": trailing
});
}
var throttle_1 = throttle$1;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$6 = {
allowUncheck: Boolean,
disabled: Boolean,
name: {
type: String,
"default": ""
},
options: {
type: Array
},
size: {
type: String,
"default": "medium",
validator: function validator39(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
value: {
type: [String, Number, Boolean],
"default": void 0
},
modelValue: {
type: [String, Number, Boolean],
"default": void 0
},
defaultValue: {
type: [String, Number, Boolean]
},
variant: {
type: String,
"default": "outline",
validator: function validator40(val) {
if (!val)
return true;
return ["outline", "primary-filled", "default-filled"].includes(val);
}
},
onChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useKeyboard(radioGroupRef, setInnerValue) {
var checkRadioInGroup = function checkRadioInGroup2(e) {
var isCheckedCode = CHECKED_CODE_REG.test(e.key) || CHECKED_CODE_REG.test(e.code);
if (isCheckedCode) {
e.preventDefault();
var inputNode = e.target.querySelector("input");
var data2 = inputNode.dataset;
if (inputNode.checked && data2.allowUncheck) {
setInnerValue(void 0, {
e
});
} else {
var value = !isNaN(Number(data2.value)) ? Number(data2.value) : data2.value;
value = isString_1(value) && {
"true": true,
"false": false
}[value] || value;
value = isString_1(value) && value[0] === "'" ? value.replace(/'/g, "") : value;
setInnerValue(value, {
e
});
}
}
};
vue.onMounted(function() {
on$1(radioGroupRef.value, "keydown", checkRadioInGroup);
});
vue.onBeforeMount(function() {
off$1(radioGroupRef.value, "keydown", checkRadioInGroup);
});
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded$2 = ["window"];
var defaultWindow = typeof window !== "undefined" ? window : void 0;
function unrefElement(elRef) {
var _plain$$el;
var plain = vue.unref(elRef);
return (_plain$$el = plain === null || plain === void 0 ? void 0 : plain.$el) !== null && _plain$$el !== void 0 ? _plain$$el : plain;
}
function tryOnScopeDispose(fn2) {
if (vue.getCurrentScope()) {
vue.onScopeDispose(fn2);
return true;
}
return false;
}
function useMutationObserver(target, callback) {
var options = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
var _options$window = options.window, window2 = _options$window === void 0 ? defaultWindow : _options$window, mutationOptions = _objectWithoutProperties$1(options, _excluded$2);
var observer;
var isSupported = window2 && "MutationObserver" in window2;
var cleanup = function cleanup2() {
if (observer) {
observer.disconnect();
observer = void 0;
}
};
var stopWatch = vue.watch(function() {
return unrefElement(target);
}, function(el) {
cleanup();
if (isSupported && window2 && el) {
observer = new MutationObserver(callback);
observer.observe(el, mutationOptions);
}
}, {
immediate: true
});
var stop = function stop2() {
cleanup();
stopWatch();
};
tryOnScopeDispose(stop);
return {
isSupported,
stop
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$u(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$t(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$u(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$u(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _Group = vue.defineComponent({
name: "TRadioGroup",
props: _objectSpread$t({}, props$6),
setup: function setup31(props2) {
var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
var radioGroupRef = vue.ref();
var radioBtnName = usePrefixClass("radio-button");
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS, SIZE = _useCommonClassName.SIZE;
useKeyboard(radioGroupRef, setInnerValue);
var checkedClassName = vue.computed(function() {
return ".".concat(radioBtnName.value, ".").concat(STATUS.value.checked);
});
var barStyle = vue.ref({
width: "0px",
height: "0px",
left: "0px",
top: "0px"
});
var calcDefaultBarStyle = function calcDefaultBarStyle2() {
var div = document.createElement("div");
div.setAttribute("style", "position: absolute; visibility: hidden;");
div.appendChild(radioGroupRef.value.cloneNode(true));
document.body.appendChild(div);
var defaultCheckedRadio = div.querySelector(checkedClassName.value);
var offsetWidth = defaultCheckedRadio.offsetWidth, offsetHeight = defaultCheckedRadio.offsetHeight, offsetLeft = defaultCheckedRadio.offsetLeft, offsetTop = defaultCheckedRadio.offsetTop;
barStyle.value = {
width: "".concat(offsetWidth, "px"),
height: "".concat(offsetHeight, "px"),
left: "".concat(offsetLeft, "px"),
top: "".concat(offsetTop, "px")
};
document.body.removeChild(div);
};
var calcBarStyle = function calcBarStyle2() {
if (props2.variant === "outline")
return;
var checkedRadio = radioGroupRef.value.querySelector(checkedClassName.value);
if (!checkedRadio) {
barStyle.value = {
width: "0px",
height: "9px",
left: "0px",
top: "0px"
};
return;
}
var offsetWidth = checkedRadio.offsetWidth, offsetHeight = checkedRadio.offsetHeight, offsetLeft = checkedRadio.offsetLeft, offsetTop = checkedRadio.offsetTop;
if (!offsetWidth) {
calcDefaultBarStyle();
} else {
barStyle.value = {
width: "".concat(offsetWidth, "px"),
height: "".concat(offsetHeight, "px"),
left: "".concat(offsetLeft, "px"),
top: "".concat(offsetTop, "px")
};
}
};
var observerReturn;
vue.watch(innerValue, /* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee() {
return regenerator.wrap(function _callee$(_context) {
while (1)
switch (_context.prev = _context.next) {
case 0:
_context.next = 2;
return vue.nextTick();
case 2:
calcBarStyle();
case 3:
case "end":
return _context.stop();
}
}, _callee);
})));
vue.onMounted(function() {
calcBarStyle();
useResizeObserver(radioGroupRef, throttle_1(/* @__PURE__ */ _asyncToGenerator(/* @__PURE__ */ regenerator.mark(function _callee2() {
return regenerator.wrap(function _callee2$(_context2) {
while (1)
switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return vue.nextTick();
case 2:
calcBarStyle();
case 3:
case "end":
return _context2.stop();
}
}, _callee2);
})), 300));
var checkedRadioLabel = radioGroupRef.value.querySelector("".concat(checkedClassName.value, " .").concat(radioBtnName.value, "__label"));
if (checkedRadioLabel) {
observerReturn = useMutationObserver(checkedRadioLabel, function(mutations) {
mutations.forEach(function(mutation) {
if (mutation.type === "characterData") {
calcBarStyle();
}
});
}, {
attributes: true,
childList: true,
characterData: true,
subtree: true
});
}
});
vue.onUnmounted(function() {
var _observerReturn;
(_observerReturn = observerReturn) === null || _observerReturn === void 0 || _observerReturn.stop();
});
var _toRefs2 = vue.toRefs(props2), name = _toRefs2.name, disabled = _toRefs2.disabled;
vue.provide(RadioGroupInjectionKey, vue.reactive({
name,
disabled,
value: innerValue,
allowUncheck: props2.allowUncheck,
setValue: setInnerValue
}));
var radioGroupName = usePrefixClass("radio-group");
var renderSlot = useTNodeDefault();
var renderBlock = function renderBlock2() {
if (props2.variant.includes("filled") && !isNil_1(innerValue.value))
return vue.createVNode("div", {
"style": barStyle.value,
"class": "".concat(radioGroupName.value, "__bg-block")
}, null);
};
var renderOptions = function renderOptions2() {
var _props2$options;
return (_props2$options = props2.options) === null || _props2$options === void 0 ? void 0 : _props2$options.map(function(option2) {
var opt = option2;
if (isNumber_1(option2) || isString_1(option2)) {
opt = {
value: option2,
label: option2.toString()
};
}
return vue.createVNode(_Radio, {
"key": "radio-group-options-".concat(opt.value, "-").concat(Math.random()),
"name": props2.name,
"checked": innerValue.value === opt.value,
"disabled": "disabled" in opt ? opt.disabled : props2.disabled,
"value": opt.value
}, {
"default": function _default16() {
return [isFunction_1(opt.label) ? opt.label(vue.h) : opt.label];
}
});
});
};
var groupClass = vue.computed(function() {
var _ref3;
return ["".concat(radioGroupName.value), SIZE.value[props2.size], (_ref3 = {}, _defineProperty$2(_ref3, "".concat(radioGroupName.value, "__outline"), props2.variant === "outline"), _defineProperty$2(_ref3, "".concat(radioGroupName.value, "--filled"), props2.variant.includes("filled")), _defineProperty$2(_ref3, "".concat(radioGroupName.value, "--primary-filled"), props2.variant === "primary-filled"), _ref3)];
});
return function() {
return vue.createVNode("div", {
"ref": radioGroupRef,
"class": groupClass.value
}, [renderSlot("default") || renderOptions(), renderBlock()]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$t(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$s(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$t(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$t(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$7(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var _RadioButton = vue.defineComponent({
name: "TRadioButton",
inheritAttrs: false,
props: _objectSpread$s({}, props$7),
setup: function setup32(props2, _ref) {
var attrs = _ref.attrs;
vue.provide(RadioButtonInjectionKey, vue.reactive({}));
var radioProps = vue.computed(function() {
var res = _objectSpread$s(_objectSpread$s({}, props2), omit(attrs, Object.keys(attrs).filter(function(key2) {
return key2.startsWith("on");
})));
return res;
});
var renderContent3 = useContent();
return function() {
var _slot;
return vue.createVNode(_Radio, radioProps.value, _isSlot$7(_slot = renderContent3("default", "label")) ? _slot : {
"default": function _default16() {
return [_slot];
}
});
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Radio = withInstall(_Radio);
var RadioGroup = withInstall(_Group);
var RadioButton = withInstall(_RadioButton);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var hiddenTextarea;
var HIDDEN_TEXTAREA_STYLE = "\n min-height:0 !important;\n max-height:none !important;\n height:0 !important;\n visibility:hidden !important;\n overflow:hidden !important;\n position:absolute !important;\n z-index:-1000 !important;\n top:0 !important;\n right:0 !important\n";
var SIZING_PROPS = ["letter-spacing", "line-height", "padding-top", "padding-bottom", "font-family", "font-weight", "font-size", "font-variant", "text-rendering", "text-transform", "width", "text-indent", "padding-left", "padding-right", "border-width", "box-sizing"];
function calculateNodeStyling(targetElement) {
if (typeof window === "undefined")
return;
var style2 = window.getComputedStyle(targetElement);
var boxSizing = style2.getPropertyValue("box-sizing") || style2.getPropertyValue("-moz-box-sizing") || style2.getPropertyValue("-webkit-box-sizing");
var paddingSize = parseFloat(style2.getPropertyValue("padding-bottom")) + parseFloat(style2.getPropertyValue("padding-top"));
var borderSize = parseFloat(style2.getPropertyValue("border-bottom-width")) + parseFloat(style2.getPropertyValue("border-top-width"));
var sizingStyle = SIZING_PROPS.map(function(name) {
return "".concat(name, ":").concat(style2.getPropertyValue(name));
}).join(";");
return {
sizingStyle,
paddingSize,
borderSize,
boxSizing
};
}
function calcTextareaHeight(targetElement) {
var minRows = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 1;
var maxRows = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
if (!hiddenTextarea) {
hiddenTextarea = document.createElement("textarea");
document.body.appendChild(hiddenTextarea);
}
var _calculateNodeStyling = calculateNodeStyling(targetElement), paddingSize = _calculateNodeStyling.paddingSize, borderSize = _calculateNodeStyling.borderSize, boxSizing = _calculateNodeStyling.boxSizing, sizingStyle = _calculateNodeStyling.sizingStyle;
hiddenTextarea.setAttribute("style", "".concat(sizingStyle, ";").concat(HIDDEN_TEXTAREA_STYLE));
hiddenTextarea.value = targetElement.value || targetElement.placeholder || "";
var height = hiddenTextarea.scrollHeight;
var result = {};
if (boxSizing === "border-box") {
height += borderSize;
} else if (boxSizing === "content-box") {
height -= paddingSize;
}
hiddenTextarea.value = "";
var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;
if (minRows !== null) {
var minHeight = singleRowHeight * minRows;
if (boxSizing === "border-box") {
minHeight = minHeight + paddingSize + borderSize;
}
height = Math.max(minHeight, height);
result.minHeight = "".concat(minHeight, "px");
}
if (maxRows !== null) {
var maxHeight = singleRowHeight * maxRows;
if (boxSizing === "border-box") {
maxHeight = maxHeight + paddingSize + borderSize;
}
height = Math.min(maxHeight, height);
}
result.height = "".concat(height, "px");
hiddenTextarea.parentNode && hiddenTextarea.parentNode.removeChild(hiddenTextarea);
hiddenTextarea = null;
return result;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$5 = {
autofocus: Boolean,
autosize: {
type: [Boolean, Object],
"default": false
},
disabled: Boolean,
maxcharacter: {
type: Number
},
maxlength: {
type: [Number, String]
},
name: {
type: String,
"default": ""
},
placeholder: {
type: String,
"default": void 0
},
readonly: Boolean,
status: {
type: String,
validator: function validator41(val) {
return ["default", "success", "warning", "error"].includes(val);
}
},
tips: {
type: [String, Function]
},
value: {
type: [String, Number]
},
modelValue: {
type: [String, Number]
},
defaultValue: {
type: [String, Number]
},
onBlur: Function,
onChange: Function,
onFocus: Function,
onKeydown: Function,
onKeypress: Function,
onKeyup: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$s(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$r(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$s(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$s(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function getValidAttrs(obj) {
var newObj = {};
Object.keys(obj).forEach(function(key2) {
if (!isUndefined_1(obj[key2])) {
newObj[key2] = obj[key2];
}
});
return newObj;
}
var _Textarea = vue.defineComponent({
name: "TTextarea",
inheritAttrs: false,
props: _objectSpread$r({}, props$5),
setup: function setup33(props2, _ref) {
var attrs = _ref.attrs, expose = _ref.expose;
var prefix = usePrefixClass();
var name = usePrefixClass("textarea");
var TEXTAREA_TIPS_CLASS = vue.computed(function() {
return "".concat(name.value, "__tips");
});
var TEXTAREA_LIMIT = vue.computed(function() {
return "".concat(name.value, "__limit");
});
var _toRefs = vue.toRefs(props2), value = _toRefs.value, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), innerValue = _useVModel2[0], setInnerValue = _useVModel2[1];
var disabled = useFormDisabled();
var textareaStyle = vue.ref({});
var refTextareaElem = vue.ref();
var focused = vue.ref(false);
var isComposing = vue.ref(false);
var focus = function focus2() {
var _refTextareaElem$valu;
return (_refTextareaElem$valu = refTextareaElem.value) === null || _refTextareaElem$valu === void 0 ? void 0 : _refTextareaElem$valu.focus();
};
var blur = function blur2() {
var _refTextareaElem$valu2;
return (_refTextareaElem$valu2 = refTextareaElem.value) === null || _refTextareaElem$valu2 === void 0 ? void 0 : _refTextareaElem$valu2.blur();
};
var adjustTextareaHeight = function adjustTextareaHeight2() {
var _refTextareaElem$valu3;
if (props2.autosize === true) {
textareaStyle.value = calcTextareaHeight(refTextareaElem.value);
} else if (props2.autosize && _typeof$2(props2.autosize) === "object") {
var _props2$autosize = props2.autosize, minRows = _props2$autosize.minRows, maxRows = _props2$autosize.maxRows;
textareaStyle.value = calcTextareaHeight(refTextareaElem.value, minRows, maxRows);
} else if (attrs.rows) {
textareaStyle.value = {
height: "auto",
minHeight: "auto"
};
} else if (attrs.style && (_refTextareaElem$valu3 = refTextareaElem.value) !== null && _refTextareaElem$valu3 !== void 0 && (_refTextareaElem$valu3 = _refTextareaElem$valu3.style) !== null && _refTextareaElem$valu3 !== void 0 && _refTextareaElem$valu3.height) {
textareaStyle.value = {
height: refTextareaElem.value.style.height
};
}
};
var setInputValue = function setInputValue2() {
var v = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
var textareaElem = refTextareaElem.value;
var sV = String(v);
if (!textareaElem) {
return;
}
if (textareaElem.value !== sV) {
textareaElem.value = sV;
innerValue.value = sV;
}
};
var inputValueChangeHandle = function inputValueChangeHandle2(e) {
var target = e.target;
var val = target.value;
if (props2.maxcharacter && props2.maxcharacter >= 0) {
var stringInfo = getCharacterLength(val, props2.maxcharacter);
val = _typeof$2(stringInfo) === "object" && stringInfo.characters;
}
!isComposing.value && setInnerValue(val, {
e
});
vue.nextTick(function() {
return setInputValue(val);
});
adjustTextareaHeight();
};
var handleInput = function handleInput2(e) {
inputValueChangeHandle(e);
};
var onCompositionstart = function onCompositionstart2() {
isComposing.value = true;
};
var onCompositionend = function onCompositionend2(e) {
isComposing.value = false;
inputValueChangeHandle(e);
};
var eventDeal = function eventDeal2(name2, e) {
var _props2$_name;
if (disabled.value)
return;
var _name = "on".concat(name2[0].toUpperCase()).concat(name2.slice(1));
(_props2$_name = props2[_name]) === null || _props2$_name === void 0 || _props2$_name.call(props2, innerValue.value, {
e
});
};
var emitKeyDown = function emitKeyDown2(e) {
eventDeal("keydown", e);
};
var emitKeyUp = function emitKeyUp2(e) {
eventDeal("keyup", e);
};
var emitKeypress = function emitKeypress2(e) {
eventDeal("keypress", e);
};
var emitFocus = function emitFocus2(e) {
var _props2$onFocus;
adjustTextareaHeight();
if (disabled.value)
return;
focused.value = true;
(_props2$onFocus = props2.onFocus) === null || _props2$onFocus === void 0 || _props2$onFocus.call(props2, innerValue.value, {
e
});
};
var formItem = vue.inject(FormItemInjectionKey, void 0);
var emitBlur = function emitBlur2(e) {
var _props2$onBlur;
adjustTextareaHeight();
focused.value = false;
(_props2$onBlur = props2.onBlur) === null || _props2$onBlur === void 0 || _props2$onBlur.call(props2, innerValue.value, {
e
});
formItem === null || formItem === void 0 || formItem.handleBlur();
};
var textareaClasses = vue.computed(function() {
var _ref2;
return [name.value, (_ref2 = {}, _defineProperty$2(_ref2, "".concat(prefix.value, "-is-disabled"), disabled.value), _defineProperty$2(_ref2, "".concat(prefix.value, "-is-readonly"), props2.readonly), _ref2)];
});
var inputAttrs = vue.computed(function() {
return getValidAttrs({
autofocus: props2.autofocus,
disabled: disabled.value,
readonly: props2.readonly,
placeholder: props2.placeholder,
maxlength: props2.maxlength || void 0,
name: props2.name || void 0
});
});
var characterNumber = vue.computed(function() {
var characterInfo = getCharacterLength(String(innerValue.value || ""));
if (_typeof$2(characterInfo) === "object") {
return characterInfo.length;
}
return characterInfo;
});
vue.watch(function() {
return innerValue.value;
}, function() {
return adjustTextareaHeight();
});
vue.watch(refTextareaElem, function(el) {
if (!el)
return;
adjustTextareaHeight();
});
vue.watch(function() {
return props2.autofocus;
}, function(val) {
if (val) {
refTextareaElem.value.focus();
}
});
vue.watch(textareaStyle, function(val) {
var style2 = attrs.style;
setStyle$1(refTextareaElem.value, merge_1(style2, val));
});
vue.watch(innerValue, function() {
vue.nextTick(function() {
return adjustTextareaHeight();
});
});
vue.watch(function() {
return props2.autosize;
}, adjustTextareaHeight, {
deep: true
});
expose({
focus,
blur
});
vue.onMounted(function() {
adjustTextareaHeight();
});
var renderTNodeJSX3 = useTNodeJSX();
return function() {
var _String;
var inputEvents = getValidAttrs({
onFocus: emitFocus,
onBlur: emitBlur,
onKeydown: emitKeyDown,
onKeyup: emitKeyUp,
onKeypress: emitKeypress
});
var _useCommonClassName = useCommonClassName$1(), STATUS = _useCommonClassName.STATUS;
var classes = vue.computed(function() {
var _ref3;
return ["".concat(name.value, "__inner"), (_ref3 = {}, _defineProperty$2(_ref3, "".concat(prefix.value, "-is-").concat(props2.status), props2.status), _defineProperty$2(_ref3, STATUS.value.disabled, disabled.value), _defineProperty$2(_ref3, STATUS.value.focused, focused.value), _defineProperty$2(_ref3, "".concat(prefix.value, "-resize-none"), _typeof$2(props2.autosize) === "object"), _ref3), "narrow-scrollbar"];
});
var tips = renderTNodeJSX3("tips");
var textTips = tips && vue.createVNode("div", {
"class": "".concat(TEXTAREA_TIPS_CLASS.value, " ").concat(name.value, "__tips--").concat(props2.status || "normal")
}, [tips]);
var limitText = props2.maxcharacter && vue.createVNode("span", {
"class": TEXTAREA_LIMIT.value
}, ["".concat(characterNumber.value, "/").concat(props2.maxcharacter)]) || !props2.maxcharacter && props2.maxlength && vue.createVNode("span", {
"class": TEXTAREA_LIMIT.value
}, ["".concat(innerValue.value ? (_String = String(innerValue.value)) === null || _String === void 0 ? void 0 : _String.length : 0, "/").concat(props2.maxlength)]);
return vue.createVNode("div", vue.mergeProps({
"class": textareaClasses.value
}, omit(attrs, ["style"])), [vue.createVNode("textarea", vue.mergeProps({
"onInput": handleInput,
"onCompositionstart": onCompositionstart,
"onCompositionend": onCompositionend,
"ref": refTextareaElem,
"value": innerValue.value,
"class": classes.value
}, inputEvents, inputAttrs.value), null), textTips || limitText ? vue.createVNode("div", {
"class": ["".concat(name.value, "__info_wrapper"), _defineProperty$2({}, "".concat(name.value, "__info_wrapper_align"), !textTips)]
}, [textTips, limitText]) : null]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Textarea = withInstall(_Textarea);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$4 = {
attach: {
type: [String, Function]
},
body: {
type: [String, Function]
},
cancelBtn: {
type: [String, Object, Function]
},
closeBtn: {
type: [String, Boolean, Function],
"default": true
},
closeOnEscKeydown: {
type: Boolean,
"default": void 0
},
closeOnOverlayClick: {
type: Boolean,
"default": void 0
},
confirmBtn: {
type: [String, Object, Function]
},
confirmLoading: {
type: Boolean,
"default": void 0
},
confirmOnEnter: Boolean,
"default": {
type: [String, Function]
},
destroyOnClose: Boolean,
draggable: Boolean,
footer: {
type: [Boolean, Function],
"default": true
},
header: {
type: [String, Boolean, Function],
"default": true
},
mode: {
type: String,
"default": "modal",
validator: function validator42(val) {
if (!val)
return true;
return ["modal", "modeless", "normal", "full-screen"].includes(val);
}
},
placement: {
type: String,
"default": "top",
validator: function validator43(val) {
if (!val)
return true;
return ["top", "center"].includes(val);
}
},
preventScrollThrough: {
type: Boolean,
"default": true
},
showInAttachedElement: Boolean,
showOverlay: {
type: Boolean,
"default": true
},
theme: {
type: String,
"default": "default",
validator: function validator44(val) {
if (!val)
return true;
return ["default", "info", "warning", "danger", "success"].includes(val);
}
},
top: {
type: [String, Number]
},
visible: Boolean,
width: {
type: [String, Number]
},
zIndex: {
type: Number
},
onCancel: Function,
onClose: Function,
onCloseBtnClick: Function,
onClosed: Function,
onConfirm: Function,
onEscKeydown: Function,
onOpened: Function,
onOverlayClick: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$r(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$q(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$r(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$r(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useAction(action) {
var instance = vue.getCurrentInstance();
var renderTNodeJSX3 = useTNodeJSX();
var getDefaultConfirmBtnProps = function getDefaultConfirmBtnProps2(options) {
var _omit;
var globalConfirm = options.globalConfirm, theme = options.theme, globalConfirmBtnTheme = options.globalConfirmBtnTheme;
var defaultTheme = ((_omit = omit_1(globalConfirmBtnTheme, ["info"])) === null || _omit === void 0 ? void 0 : _omit[theme]) || "primary";
var props2 = {
theme: defaultTheme,
size: options.size,
onClick: function onClick(e) {
action.confirmBtnAction(e);
}
};
if (isString_1(globalConfirm)) {
props2.content = globalConfirm;
} else if (isObject_1(globalConfirm)) {
props2 = _objectSpread$q(_objectSpread$q({}, props2), globalConfirm);
}
return props2;
};
var getDefaultCancelBtnProps = function getDefaultCancelBtnProps2(options) {
var globalCancel = options.globalCancel;
var props2 = {
theme: "default",
size: options.size,
onClick: function onClick(e) {
action.cancelBtnAction(e);
}
};
if (isString_1(globalCancel)) {
props2.content = globalCancel;
} else if (isObject_1(globalCancel)) {
props2 = _objectSpread$q(_objectSpread$q({}, props2), globalCancel);
}
return props2;
};
var getButtonByProps = function getButtonByProps2(button, params) {
var defaultButtonProps = params.defaultButtonProps, className = params.className, confirmLoading = params.confirmLoading;
var newOptions = defaultButtonProps;
if (isString_1(button)) {
newOptions.content = button;
} else if (isObject_1(button)) {
newOptions = _objectSpread$q(_objectSpread$q({}, newOptions), button);
}
if (confirmLoading !== void 0) {
newOptions.loading = confirmLoading;
}
return vue.createVNode(Button, vue.mergeProps({
"class": className
}, newOptions), null);
};
var getConfirmBtn = function getConfirmBtn2(options) {
var confirmBtn = options.confirmBtn, className = options.className, confirmLoading = options.confirmLoading;
if (confirmBtn === null)
return null;
if (confirmBtn && instance.slots.confirmBtn) {
console.warn("Both $props.confirmBtn and $scopedSlots.confirmBtn exist, $props.confirmBtn is preferred.");
}
var defaultButtonProps = getDefaultConfirmBtnProps(options);
if (!confirmBtn && !instance.slots.confirmBtn) {
return vue.createVNode(Button, vue.mergeProps({
"class": className,
"loading": confirmLoading
}, defaultButtonProps), null);
}
if (confirmBtn && ["string", "object"].includes(_typeof$2(confirmBtn))) {
return getButtonByProps(confirmBtn, {
defaultButtonProps,
className,
confirmLoading
});
}
return renderTNodeJSX3("confirmBtn");
};
var getCancelBtn = function getCancelBtn2(options) {
var cancelBtn = options.cancelBtn, className = options.className;
if (cancelBtn === null)
return null;
if (cancelBtn && instance.slots.cancelBtn) {
console.warn("Both $props.cancelBtn and $scopedSlots.cancelBtn exist, $props.cancelBtn is preferred.");
}
var defaultButtonProps = getDefaultCancelBtnProps(options);
if (!cancelBtn && !instance.slots.cancelBtn) {
return vue.createVNode(Button, vue.mergeProps({
"class": className
}, defaultButtonProps), null);
}
if (cancelBtn && ["string", "object"].includes(_typeof$2(cancelBtn))) {
return getButtonByProps(cancelBtn, {
defaultButtonProps
});
}
return renderTNodeJSX3("cancelBtn");
};
return {
getConfirmBtn,
getCancelBtn
};
}
function useSameTarget(handleClick) {
var MOUSEDOWN_TARGET = false;
var MOUSEUP_TARGET = false;
var onClick = function onClick2(e) {
if (MOUSEDOWN_TARGET && MOUSEUP_TARGET) {
handleClick(e);
}
MOUSEDOWN_TARGET = false;
MOUSEUP_TARGET = false;
};
var onMousedown = function onMousedown2(e) {
MOUSEDOWN_TARGET = e.target === e.currentTarget;
};
var onMouseup = function onMouseup2(e) {
MOUSEUP_TARGET = e.target === e.currentTarget;
};
return {
onClick,
onMousedown,
onMouseup
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var data = [];
var push = function push2(value) {
data.push(value);
};
var pop = function pop2() {
data.pop();
};
var stack = {
push,
pop,
get top() {
return data[data.length - 1];
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function getScrollbarWidthWithCSS() {
var defaultScrollbarWidth = 6;
if (typeof navigator === "undefined" || !navigator)
return defaultScrollbarWidth;
if (/(Chrome|Safari)/i.test(navigator.userAgent))
return defaultScrollbarWidth;
var scrollDiv = document.createElement("div");
scrollDiv.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;";
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
if (/Firefox/.test(navigator.userAgent)) {
scrollbarWidth -= 4;
}
if (getIEVersion() <= 11) {
scrollbarWidth = 12;
}
return scrollbarWidth;
}
function getScrollbarWidth() {
var scrollDiv = document.createElement("div");
scrollDiv.style.cssText = "width: 99px; height: 99px; overflow: scroll; position: absolute; top: -9999px;";
document.body.appendChild(scrollDiv);
var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth;
document.body.removeChild(scrollDiv);
return scrollbarWidth;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function GetCSSValue(v) {
return Number.isNaN(Number(v)) ? v : "".concat(Number(v), "px");
}
var mousePosition;
var getClickPosition = function getClickPosition2(e) {
mousePosition = {
x: e.clientX,
y: e.clientY
};
setTimeout(function() {
mousePosition = null;
}, 100);
};
if (typeof window !== "undefined" && window.document && window.document.documentElement) {
document.documentElement.addEventListener("click", getClickPosition, true);
}
function InitDragEvent(dragBox) {
var target = dragBox;
var windowInnerWidth = window.innerWidth || document.documentElement.clientWidth;
var windowInnerHeight = window.innerHeight || document.documentElement.clientHeight;
target.addEventListener("mousedown", function(targetEvent) {
var disX = targetEvent.clientX - target.offsetLeft;
var disY = targetEvent.clientY - target.offsetTop;
var dialogW = target.offsetWidth;
var dialogH = target.offsetHeight;
if (dialogW > windowInnerWidth || dialogH > windowInnerHeight)
return;
function mouseMoverHandler(documentEvent) {
var left2 = documentEvent.clientX - disX;
var top2 = documentEvent.clientY - disY;
if (left2 < 0)
left2 = 0;
if (top2 < 0)
top2 = 0;
if (windowInnerWidth - target.offsetWidth - left2 < 0)
left2 = windowInnerWidth - target.offsetWidth;
if (windowInnerHeight - target.offsetHeight - top2 < 0)
top2 = windowInnerHeight - target.offsetHeight;
target.style.position = "absolute";
target.style.left = "".concat(left2, "px");
target.style.top = "".concat(top2, "px");
}
function mouseUpHandler() {
document.removeEventListener("mousemove", mouseMoverHandler);
document.removeEventListener("mouseup", mouseUpHandler);
}
document.addEventListener("mousemove", mouseMoverHandler);
document.addEventListener("mouseup", mouseUpHandler);
document.addEventListener("dragend", mouseUpHandler);
});
}
var key$1 = 1;
var _Dialog = vue.defineComponent({
name: "TDialog",
directives: {
draggable: function draggable(el, binding) {
if (el && binding && binding.value) {
InitDragEvent(el);
}
}
},
inheritAttrs: false,
props: props$4,
emits: ["update:visible"],
setup: function setup34(props2, context) {
var _this = this;
var COMPONENT_NAME = usePrefixClass("dialog");
var classPrefix = usePrefixClass();
var renderContent3 = useContent();
var renderTNodeJSX3 = useTNodeJSX();
var dialogEle = vue.ref(null);
var _useConfig = useConfig("dialog"), globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
CloseIcon,
InfoCircleFilledIcon,
CheckCircleFilledIcon,
ErrorCircleFilledIcon
}), CloseIcon$1 = _useGlobalIcon.CloseIcon, InfoCircleFilledIcon$1 = _useGlobalIcon.InfoCircleFilledIcon, CheckCircleFilledIcon$1 = _useGlobalIcon.CheckCircleFilledIcon, ErrorCircleFilledIcon$1 = _useGlobalIcon.ErrorCircleFilledIcon;
var confirmBtnAction = function confirmBtnAction2(e) {
var _props2$onConfirm;
(_props2$onConfirm = props2.onConfirm) === null || _props2$onConfirm === void 0 || _props2$onConfirm.call(props2, {
e
});
};
var cancelBtnAction = function cancelBtnAction2(e) {
var _props2$onCancel;
(_props2$onCancel = props2.onCancel) === null || _props2$onCancel === void 0 || _props2$onCancel.call(props2, {
e
});
emitCloseEvent({
e,
trigger: "cancel"
});
};
var _useAction = useAction({
confirmBtnAction,
cancelBtnAction
}), getConfirmBtn = _useAction.getConfirmBtn, getCancelBtn = _useAction.getCancelBtn;
var teleportElement = useTeleport(function() {
return props2.attach;
});
useDestroyOnClose();
var timer = vue.ref();
var styleEl = vue.ref();
var isModal = vue.computed(function() {
return props2.mode === "modal";
});
var isModeLess = vue.computed(function() {
return props2.mode === "modeless";
});
var isNormal = vue.computed(function() {
return props2.mode === "normal";
});
var isFullScreen = vue.computed(function() {
return props2.mode === "full-screen";
});
var maskClass = vue.computed(function() {
return ["".concat(COMPONENT_NAME.value, "__mask"), !props2.showOverlay && "".concat(classPrefix.value, "-is-hidden")];
});
var positionClass = vue.computed(function() {
if (isNormal.value)
return [];
if (isFullScreen.value)
return ["".concat(COMPONENT_NAME.value, "__position_fullscreen")];
return ["".concat(COMPONENT_NAME.value, "__position"), !!props2.top && "".concat(COMPONENT_NAME.value, "--top"), "".concat(props2.placement && !props2.top ? "".concat(COMPONENT_NAME.value, "--").concat(props2.placement) : "")];
});
var wrapClass = vue.computed(function() {
return [!isNormal.value && "".concat(COMPONENT_NAME.value, "__wrap")];
});
var positionStyle = vue.computed(function() {
if (isFullScreen.value)
return {};
var top2 = props2.top;
var topStyle = {};
if (top2 !== void 0) {
var topValue = GetCSSValue(top2);
topStyle = {
paddingTop: topValue
};
}
return topStyle;
});
var dialogClass = vue.computed(function() {
var dialogClass2 = ["".concat(COMPONENT_NAME.value), "".concat(COMPONENT_NAME.value, "__modal-").concat(props2.theme), isModeLess.value && props2.draggable && "".concat(COMPONENT_NAME.value, "--draggable")];
if (isFullScreen.value) {
dialogClass2.push("".concat(COMPONENT_NAME.value, "__fullscreen"));
} else {
dialogClass2.push.apply(dialogClass2, ["".concat(COMPONENT_NAME.value, "--default"), "".concat(COMPONENT_NAME.value, "--").concat(props2.placement)]);
}
return dialogClass2;
});
var dialogStyle = vue.computed(function() {
return !isFullScreen.value ? {
width: GetCSSValue(props2.width)
} : {};
});
vue.watch(function() {
return props2.visible;
}, function(value) {
if (value) {
var _document$activeEleme;
if (isModal.value && !props2.showInAttachedElement || isFullScreen.value) {
if (props2.preventScrollThrough) {
document.head.appendChild(styleEl.value);
}
vue.nextTick(function() {
if (mousePosition && dialogEle.value) {
dialogEle.value.style.transformOrigin = "".concat(mousePosition.x - dialogEle.value.offsetLeft, "px ").concat(mousePosition.y - dialogEle.value.offsetTop, "px");
}
});
}
(_document$activeEleme = document.activeElement) === null || _document$activeEleme === void 0 || _document$activeEleme.blur();
} else {
clearStyleFunc();
}
storeUid(value);
addKeyboardEvent(value);
});
function destroySelf() {
var _styleEl$value$parent, _styleEl$value$parent2;
(_styleEl$value$parent = styleEl.value.parentNode) === null || _styleEl$value$parent === void 0 || (_styleEl$value$parent2 = _styleEl$value$parent.removeChild) === null || _styleEl$value$parent2 === void 0 || _styleEl$value$parent2.call(_styleEl$value$parent, styleEl.value);
}
function clearStyleFunc() {
clearTimeout(timer.value);
timer.value = setTimeout(function() {
destroySelf();
}, 150);
}
var instance = vue.getCurrentInstance();
var storeUid = function storeUid2(flag) {
if (flag) {
stack.push(instance.uid);
} else {
stack.pop();
}
};
var addKeyboardEvent = function addKeyboardEvent2(status) {
if (status) {
document.addEventListener("keydown", keyboardEvent);
props2.confirmOnEnter && document.addEventListener("keydown", keyboardEnterEvent);
} else {
document.removeEventListener("keydown", keyboardEvent);
props2.confirmOnEnter && document.removeEventListener("keydown", keyboardEnterEvent);
}
};
var keyboardEnterEvent = function keyboardEnterEvent2(e) {
var eventSrc = e.target;
if (eventSrc.tagName.toLowerCase() === "input")
return;
var code = e.code;
if ((code === "Enter" || code === "NumpadEnter") && stack.top === instance.uid) {
var _props2$onConfirm2;
(_props2$onConfirm2 = props2.onConfirm) === null || _props2$onConfirm2 === void 0 || _props2$onConfirm2.call(props2, {
e
});
}
};
var keyboardEvent = function keyboardEvent2(e) {
if (e.code === "Escape" && stack.top === instance.uid) {
var _props2$onEscKeydown, _props2$closeOnEscKey;
(_props2$onEscKeydown = props2.onEscKeydown) === null || _props2$onEscKeydown === void 0 || _props2$onEscKeydown.call(props2, {
e
});
if ((_props2$closeOnEscKey = props2.closeOnEscKeydown) !== null && _props2$closeOnEscKey !== void 0 ? _props2$closeOnEscKey : globalConfig.value.closeOnEscKeydown) {
emitCloseEvent({
e,
trigger: "esc"
});
}
}
};
var overlayAction = function overlayAction2(e) {
var _props2$closeOnOverla;
if (props2.showOverlay && ((_props2$closeOnOverla = props2.closeOnOverlayClick) !== null && _props2$closeOnOverla !== void 0 ? _props2$closeOnOverla : globalConfig.value.closeOnOverlayClick)) {
var _props2$onOverlayClic;
(_props2$onOverlayClic = props2.onOverlayClick) === null || _props2$onOverlayClic === void 0 || _props2$onOverlayClic.call(props2, {
e
});
emitCloseEvent({
e,
trigger: "overlay"
});
}
};
var _useSameTarget = useSameTarget(overlayAction), onClick = _useSameTarget.onClick, onMousedown = _useSameTarget.onMousedown, onMouseup = _useSameTarget.onMouseup;
var closeBtnAction = function closeBtnAction2(e) {
var _props2$onCloseBtnCli;
(_props2$onCloseBtnCli = props2.onCloseBtnClick) === null || _props2$onCloseBtnCli === void 0 || _props2$onCloseBtnCli.call(props2, {
e
});
emitCloseEvent({
trigger: "close-btn",
e
});
};
var afterEnter = function afterEnter2() {
var _props2$onOpened;
(_props2$onOpened = props2.onOpened) === null || _props2$onOpened === void 0 || _props2$onOpened.call(props2);
};
var afterLeave = function afterLeave2() {
var _props2$onClosed;
if (isModeLess.value && props2.draggable && dialogEle.value) {
dialogEle.value.style.position = "relative";
dialogEle.value.style.left = "unset";
dialogEle.value.style.top = "unset";
}
(_props2$onClosed = props2.onClosed) === null || _props2$onClosed === void 0 || _props2$onClosed.call(props2);
};
var emitCloseEvent = function emitCloseEvent2(ctx) {
var _props2$onClose;
(_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, ctx);
context.emit("update:visible", false);
};
var hasEventOn = function hasEventOn2(name) {
var _this$_events;
var eventFuncs = (_this$_events = _this["_events"]) === null || _this$_events === void 0 ? void 0 : _this$_events[name];
return !!(eventFuncs !== null && eventFuncs !== void 0 && eventFuncs.length);
};
var getIcon = function getIcon2() {
var icon = {
info: vue.createVNode(InfoCircleFilledIcon$1, {
"class": "".concat(classPrefix.value, "-is-info")
}, null),
warning: vue.createVNode(ErrorCircleFilledIcon$1, {
"class": "".concat(classPrefix.value, "-is-warning")
}, null),
danger: vue.createVNode(ErrorCircleFilledIcon$1, {
"class": "".concat(classPrefix.value, "-is-error")
}, null),
success: vue.createVNode(CheckCircleFilledIcon$1, {
"class": "".concat(classPrefix.value, "-is-success")
}, null)
};
return icon[props2.theme];
};
var renderDialog = function renderDialog2() {
var defaultHeader = vue.createVNode("h5", {
"class": "title"
}, null);
var defaultCloseBtn = vue.createVNode(CloseIcon$1, null, null);
var body = renderContent3("default", "body");
var defaultFooter = vue.createVNode("div", null, [getCancelBtn({
cancelBtn: props2.cancelBtn,
globalCancel: globalConfig.value.cancel,
className: "".concat(COMPONENT_NAME.value, "__cancel")
}), getConfirmBtn({
theme: props2.theme,
confirmBtn: props2.confirmBtn,
globalConfirm: globalConfig.value.confirm,
globalConfirmBtnTheme: globalConfig.value.confirmBtnTheme,
className: "".concat(COMPONENT_NAME.value, "__confirm"),
confirmLoading: props2.confirmLoading
})]);
var headerClassName = isFullScreen.value ? ["".concat(COMPONENT_NAME.value, "__header"), "".concat(COMPONENT_NAME.value, "__header--fullscreen")] : "".concat(COMPONENT_NAME.value, "__header");
var closeClassName = isFullScreen.value ? ["".concat(COMPONENT_NAME.value, "__close"), "".concat(COMPONENT_NAME.value, "__close--fullscreen")] : "".concat(COMPONENT_NAME.value, "__close");
var bodyClassName = props2.theme === "default" ? ["".concat(COMPONENT_NAME.value, "__body")] : ["".concat(COMPONENT_NAME.value, "__body__icon")];
var footerContent = renderTNodeJSX3("footer", defaultFooter);
if (isFullScreen.value && footerContent) {
bodyClassName.push("".concat(COMPONENT_NAME.value, "__body--fullscreen"));
} else if (isFullScreen.value) {
bodyClassName.push("".concat(COMPONENT_NAME.value, "__body--fullscreen--without-footer"));
}
var footerClassName = isFullScreen.value ? ["".concat(COMPONENT_NAME.value, "__footer"), "".concat(COMPONENT_NAME.value, "__footer--fullscreen")] : "".concat(COMPONENT_NAME.value, "__footer");
var onStopDown = function onStopDown2(e) {
if (isModeLess.value && props2.draggable)
e.stopPropagation();
};
return vue.createVNode("div", {
"class": wrapClass.value
}, [vue.createVNode("div", {
"class": positionClass.value,
"style": positionStyle.value,
"onClick": onClick,
"onMousedown": onMousedown,
"onMouseup": onMouseup
}, [vue.withDirectives(vue.createVNode("div", {
"key": "dialog",
"class": dialogClass.value,
"style": dialogStyle.value,
"ref": dialogEle
}, [vue.createVNode("div", {
"class": headerClassName,
"onMousedown": onStopDown
}, [vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__header-content")
}, [getIcon(), renderTNodeJSX3("header", defaultHeader)]), props2.closeBtn ? vue.createVNode("span", {
"class": closeClassName,
"onClick": closeBtnAction
}, [renderTNodeJSX3("closeBtn", defaultCloseBtn)]) : null]), vue.createVNode("div", {
"class": bodyClassName,
"onMousedown": onStopDown
}, [body]), footerContent && vue.createVNode("div", {
"class": footerClassName,
"onMousedown": onStopDown
}, [footerContent])]), [[vue.resolveDirective("draggable"), isModeLess.value && props2.draggable]])])]);
};
vue.onMounted(function() {
var hasScrollBar = document.documentElement.scrollHeight > document.documentElement.clientHeight;
var scrollWidth = hasScrollBar ? getScrollbarWidth() : 0;
styleEl.value = document.createElement("style");
styleEl.value.dataset.id = "td_dialog_".concat(+/* @__PURE__ */ new Date(), "_").concat(key$1 += 1);
styleEl.value.innerHTML = "\n html body {\n overflow-y: hidden;\n width: calc(100% - ".concat(scrollWidth, "px);\n }\n ");
});
vue.onBeforeUnmount(function() {
addKeyboardEvent(false);
destroySelf();
});
return {
COMPONENT_NAME,
isModal,
isModeLess,
isFullScreen,
maskClass,
dialogClass,
dialogStyle,
dialogEle,
afterEnter,
afterLeave,
hasEventOn,
renderDialog,
teleportElement
};
},
render: function render8() {
var _ref, _this2 = this;
var COMPONENT_NAME = this.COMPONENT_NAME;
var maskView = (this.isModal || this.isFullScreen) && vue.createVNode("div", {
"key": "mask",
"class": this.maskClass
}, null);
var dialogView = this.renderDialog();
var view = [maskView, dialogView];
var ctxStyle = {
zIndex: this.zIndex
};
var ctxClass = ["".concat(COMPONENT_NAME, "__ctx"), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME, "__ctx--fixed"), this.isModal || this.isFullScreen), _defineProperty$2(_ref, "".concat(COMPONENT_NAME, "__ctx--absolute"), this.isModal && this.showInAttachedElement), _defineProperty$2(_ref, "".concat(COMPONENT_NAME, "__ctx--modeless"), this.isModeLess), _ref)];
return vue.createVNode(vue.Teleport, {
"disabled": !this.attach || !this.teleportElement,
"to": this.teleportElement
}, {
"default": function _default16() {
return [vue.createVNode(vue.Transition, {
"duration": 300,
"name": "".concat(COMPONENT_NAME, "-zoom__vue"),
"onAfterEnter": _this2.afterEnter,
"onAfterLeave": _this2.afterLeave
}, {
"default": function _default17() {
return [(!_this2.destroyOnClose || _this2.visible) && vue.withDirectives(vue.createVNode("div", vue.mergeProps({
"class": ctxClass,
"style": ctxStyle
}, _this2.$attrs), [view]), [[vue.vShow, _this2.visible]])];
}
})];
}
});
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$q(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$p(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$q(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$q(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var createDialog = function createDialog2(props2) {
var options = _objectSpread$p({}, props2);
var wrapper = document.createElement("div");
var visible = vue.ref(false);
var className = options.className, style2 = options.style;
var component = vue.defineComponent({
setup: function setup51(props22, _ref) {
var expose = _ref.expose;
var dialogOptions = vue.ref(options);
vue.onMounted(function() {
visible.value = true;
document.activeElement.blur();
});
var update = function update2(newOptions) {
dialogOptions.value = _objectSpread$p(_objectSpread$p({}, options), newOptions);
};
expose({
update
});
return function() {
var onClose = options.onClose || function() {
visible.value = false;
};
delete options.className;
delete options.style;
return vue.h(_Dialog, _objectSpread$p({
onClose,
visible: visible.value
}, dialogOptions.value));
};
}
});
var dialogComponent = vue.createApp(component);
var dialog = dialogComponent.mount(wrapper);
var preClassName = className;
var updateClassNameStyle = function updateClassNameStyle2(className2, style22) {
if (className2) {
if (preClassName !== className2) {
var _wrapper$firstElement;
(_wrapper$firstElement = wrapper.firstElementChild.classList).remove.apply(_wrapper$firstElement, _toConsumableArray(preClassName.split(" ").map(function(name) {
return name.trim();
})));
}
className2.split(" ").forEach(function(name) {
wrapper.firstElementChild.classList.add(name.trim());
});
}
if (style22) {
wrapper.firstElementChild.style.cssText += style22;
}
preClassName = className2;
};
updateClassNameStyle(className, style2);
var container = getAttach(options.attach);
if (container) {
container.appendChild(wrapper);
} else {
console.error("attach is not exist");
}
var dialogNode = {
show: function show() {
visible.value = true;
},
hide: function hide2() {
visible.value = false;
},
update: function update(newOptions) {
dialog.update(newOptions);
updateClassNameStyle(newOptions.className, newOptions.style);
},
destroy: function destroy2() {
visible.value = false;
setTimeout(function() {
dialogComponent.unmount();
wrapper.remove();
}, 300);
},
setConfirmLoading: function setConfirmLoading(val) {
dialog.update({
confirmLoading: val
});
}
};
return dialogNode;
};
var confirm = function confirm2(props2) {
return createDialog(props2);
};
var alert = function alert2(props2) {
var options = _objectSpread$p({}, props2);
options.cancelBtn = null;
return createDialog(options);
};
var extraApi = {
confirm,
alert
};
var DialogPlugin = createDialog;
DialogPlugin.install = function(app) {
app.config.globalProperties.$dialog = createDialog;
Object.keys(extraApi).forEach(function(funcName) {
app.config.globalProperties.$dialog[funcName] = extraApi[funcName];
});
};
Object.keys(extraApi).forEach(function(funcName) {
DialogPlugin[funcName] = extraApi[funcName];
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var useVirtualScroll2 = function useVirtualScroll3(container, params) {
var _params$value$data, _params$value$scroll;
var visibleData = vue.ref([]);
var translateY = vue.ref((((_params$value$data = params.value.data) === null || _params$value$data === void 0 ? void 0 : _params$value$data.length) || 0) * (((_params$value$scroll = params.value.scroll) === null || _params$value$scroll === void 0 ? void 0 : _params$value$scroll.rowHeight) || 50));
var scrollHeight = vue.ref(0);
var trScrollTopHeightList = vue.ref([]);
var trHeightList = vue.ref([]);
var containerHeight = vue.ref(0);
var containerWidth = vue.ref(0);
var startAndEndIndex = vue.ref([0, 15]);
var tScroll = vue.computed(function() {
var _scroll$isFixedRowHei;
var scroll = params.value.scroll;
if (!scroll)
return {};
return {
bufferSize: scroll.bufferSize || 10,
isFixedRowHeight: (_scroll$isFixedRowHei = scroll.isFixedRowHeight) !== null && _scroll$isFixedRowHei !== void 0 ? _scroll$isFixedRowHei : false,
rowHeight: scroll.rowHeight || 47,
threshold: scroll.threshold || 100,
type: scroll.type
};
});
var isVirtualScroll = vue.computed(function() {
var data2 = params.value.data;
return tScroll.value.type === "virtual" && tScroll.value.threshold < data2.length;
});
var getTrScrollTopHeightList = function getTrScrollTopHeightList2(trHeightList2, containerHeight2) {
var list = [];
var data2 = params.value.data;
for (var i = 0, len2 = data2.length; i < len2; i++) {
list[i] = (list[i - 1] || containerHeight2) + (trHeightList2[i] || tScroll.value.rowHeight);
}
return list;
};
var tripleBufferSize = vue.computed(function() {
return tScroll.value.bufferSize * 3;
});
var updateVisibleData = function updateVisibleData2(trScrollTopHeightList2, scrollTop) {
var currentIndex = -1;
for (var i = 0, len2 = trScrollTopHeightList2.length; i < len2; i++) {
if (trScrollTopHeightList2[i] > scrollTop) {
currentIndex = i;
break;
}
}
if (currentIndex < 0)
return;
var startIndex = Math.min(currentIndex, trScrollTopHeightList2.length - tripleBufferSize.value);
var endIndex = startIndex + tripleBufferSize.value;
if (startAndEndIndex.value.join() !== [startIndex, endIndex].join() && startIndex >= 0) {
visibleData.value = params.value.data.slice(startIndex, endIndex);
var lastScrollTop = trScrollTopHeightList2[startIndex - 1];
var top2 = lastScrollTop > 0 ? lastScrollTop - containerHeight.value : 0;
translateY.value = top2;
startAndEndIndex.value = [startIndex, endIndex];
}
};
var handleRowMounted = function handleRowMounted2(rowData) {
var _rowData$ref$value;
if (!isVirtualScroll.value || !rowData || tScroll.value.isFixedRowHeight || !container.value)
return;
var trHeight = (_rowData$ref$value = rowData.ref.value) === null || _rowData$ref$value === void 0 ? void 0 : _rowData$ref$value.getBoundingClientRect().height;
var rowIndex = rowData.data.__VIRTUAL_SCROLL_INDEX;
var newTrHeightList = trHeightList.value;
if (newTrHeightList[rowIndex] !== trHeight) {
newTrHeightList[rowIndex] = trHeight;
var scrollTopHeightList = getTrScrollTopHeightList(newTrHeightList, containerHeight.value);
trScrollTopHeightList.value = scrollTopHeightList;
var lastIndex = scrollTopHeightList.length - 1;
scrollHeight.value = scrollTopHeightList[lastIndex] - containerHeight.value;
updateVisibleData(scrollTopHeightList, container.value.scrollTop);
}
};
var handleScroll = function handleScroll2() {
if (!isVirtualScroll.value)
return;
updateVisibleData(trScrollTopHeightList.value, container.value.scrollTop);
};
var refreshVirtualScroll = function refreshVirtualScroll2(_ref) {
var _ref2 = _slicedToArray(_ref, 1), contentRect = _ref2[0].contentRect;
var maxScrollbarWidth = 16;
if (Math.abs(contentRect.width - containerWidth.value) > maxScrollbarWidth) {
container.value.scrollTop = 0;
translateY.value = 0;
}
containerWidth.value = contentRect.width;
containerHeight.value = contentRect.height;
};
var addIndexToData = function addIndexToData2(data2) {
data2.forEach(function(item, index2) {
item["__VIRTUAL_SCROLL_INDEX"] = index2;
});
};
var updateScrollTop = function updateScrollTop2(_ref3) {
var index2 = _ref3.index, _ref3$top = _ref3.top, top2 = _ref3$top === void 0 ? 0 : _ref3$top, behavior = _ref3.behavior;
var scrollTop = trScrollTopHeightList.value[index2] - containerHeight.value - top2;
container.value.scrollTo({
top: scrollTop,
behavior: behavior || "auto"
});
};
var scrollToElement = function scrollToElement2(p) {
updateScrollTop(p);
if (!tScroll.value.isFixedRowHeight) {
var _p$time;
var duration = (_p$time = p.time) !== null && _p$time !== void 0 ? _p$time : 60;
var timer = setTimeout(function() {
updateScrollTop(p);
clearTimeout(timer);
}, duration);
}
};
useResizeObserver(isVirtualScroll.value ? container : void 0, refreshVirtualScroll);
vue.watch(function() {
return [[].concat(_toConsumableArray(params.value.data), [tScroll, isVirtualScroll, container])];
}, function() {
if (!isVirtualScroll.value)
return;
var data2 = params.value.data;
addIndexToData(data2);
var startIndex = startAndEndIndex.value[0];
visibleData.value = data2.slice(startIndex, startIndex + tripleBufferSize.value);
var timer = setTimeout(function() {
if (container.value) {
containerHeight.value = container.value.getBoundingClientRect().height;
var scrollTopHeightList = getTrScrollTopHeightList(trHeightList.value || [], containerHeight.value);
trScrollTopHeightList.value = scrollTopHeightList;
}
clearTimeout(timer);
}, 0);
}, {
immediate: true
});
return {
visibleData,
translateY,
scrollHeight,
isVirtualScroll,
handleScroll,
handleRowMounted,
scrollToElement
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var PRO_THEME = {
LINE: "line",
PLUMP: "plump",
CIRCLE: "circle"
};
var CIRCLE_SIZE = {
SMALL: "small",
MEDIUM: "medium",
LARGE: "large"
};
var CIRCLE_SIZE_PX = {
SMALL: 72,
MEDIUM: 112,
LARGE: 160
};
var CIRCLE_FONT_SIZE_RATIO = {
SMALL: 14 / CIRCLE_SIZE_PX.SMALL,
MEDIUM: 20 / CIRCLE_SIZE_PX.MEDIUM,
LARGE: 36 / CIRCLE_SIZE_PX.LARGE
};
var STATUS_ICON = ["success", "error", "warning"];
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$3 = {
color: {
type: [String, Object, Array],
"default": ""
},
label: {
type: [String, Boolean, Function],
"default": true
},
percentage: {
type: Number,
"default": 0
},
size: {
type: [String, Number],
"default": "medium"
},
status: {
type: String,
validator: function validator45(val) {
return ["success", "error", "warning", "active"].includes(val);
}
},
strokeWidth: {
type: [String, Number]
},
theme: {
type: String,
"default": "line",
validator: function validator46(val) {
return ["line", "plump", "circle"].includes(val);
}
},
trackColor: {
type: String,
"default": ""
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _Progress = vue.defineComponent({
name: "TProgress",
props: props$3,
setup: function setup35(props2) {
var renderTNodeJSX3 = useTNodeJSX();
var COMPONENT_NAME = usePrefixClass("progress");
var _useGlobalIcon = useGlobalIcon({
CloseCircleFilledIcon,
CheckCircleFilledIcon,
ErrorCircleFilledIcon,
CloseIcon,
CheckIcon,
ErrorIcon
}), CloseCircleFilledIcon$1 = _useGlobalIcon.CloseCircleFilledIcon, CheckCircleFilledIcon$1 = _useGlobalIcon.CheckCircleFilledIcon, ErrorCircleFilledIcon$1 = _useGlobalIcon.ErrorCircleFilledIcon, CloseIcon$1 = _useGlobalIcon.CloseIcon, CheckIcon$1 = _useGlobalIcon.CheckIcon, ErrorIcon$1 = _useGlobalIcon.ErrorIcon;
var statusStyle = vue.computed(function() {
if (props2.percentage >= 100) {
return "success";
}
return props2.status || "default";
});
var trackBgStyle = vue.computed(function() {
var style2 = {};
if (props2.strokeWidth) {
var height = isString_1(props2.strokeWidth) ? props2.strokeWidth : "".concat(props2.strokeWidth, "px");
style2.height = height;
style2.borderRadius = height;
}
if (props2.trackColor) {
style2.backgroundColor = props2.trackColor;
}
return style2;
});
var barStyle = vue.computed(function() {
return {
width: "".concat(props2.percentage, "%"),
background: props2.color && getBackgroundColor(props2.color)
};
});
var circlePathStyle = vue.computed(function() {
var strokeColor = isObject_1(props2.color) ? "" : props2.color;
return {
stroke: strokeColor
};
});
var circleOuterStyle = vue.computed(function() {
var strokeColor = isObject_1(props2.trackColor) ? "" : props2.trackColor;
return {
stroke: strokeColor
};
});
var diameter = vue.computed(function() {
var diameter2 = CIRCLE_SIZE_PX.MEDIUM;
if (!props2.size) {
return diameter2;
}
var SMALL = CIRCLE_SIZE.SMALL, LARGE = CIRCLE_SIZE.LARGE, MEDIUM = CIRCLE_SIZE.MEDIUM;
switch (props2.size) {
case SMALL:
diameter2 = CIRCLE_SIZE_PX.SMALL;
break;
case MEDIUM:
diameter2 = CIRCLE_SIZE_PX.MEDIUM;
break;
case LARGE:
diameter2 = CIRCLE_SIZE_PX.LARGE;
break;
default:
diameter2 = Number(props2.size);
break;
}
return diameter2;
});
var rPoints = vue.computed(function() {
return diameter.value / 2;
});
var radius = vue.computed(function() {
return rPoints.value - circleStrokeWidth.value / 2;
});
var circleStyle = vue.computed(function() {
if (props2.theme !== PRO_THEME.CIRCLE) {
return {};
}
var fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.MEDIUM;
if (diameter.value <= CIRCLE_SIZE_PX.SMALL) {
fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.SMALL;
} else if (diameter.value >= CIRCLE_SIZE_PX.LARGE) {
fontSize = diameter.value * CIRCLE_FONT_SIZE_RATIO.LARGE;
}
return {
width: "".concat(diameter.value, "px"),
height: "".concat(diameter.value, "px"),
fontSize: "".concat(fontSize, "px")
};
});
var circleStrokeWidth = vue.computed(function() {
var defaultWidth = props2.size === CIRCLE_SIZE.SMALL ? 4 : 6;
return props2.strokeWidth ? Number(props2.strokeWidth) : defaultWidth;
});
var strokeDashArr = vue.computed(function() {
var radius2 = (diameter.value - circleStrokeWidth.value) / 2;
var perimeter = Math.PI * 2 * radius2;
var percent = props2.percentage / 100;
return "".concat(perimeter * percent, " ").concat(perimeter * (1 - percent));
});
var getIconMap = function getIconMap2() {
var CIRCLE_ICONS = {
success: CheckIcon$1,
warning: ErrorIcon$1,
error: CloseIcon$1
};
var NORMAL_ICONS = {
success: CheckCircleFilledIcon$1,
warning: ErrorCircleFilledIcon$1,
error: CloseCircleFilledIcon$1
};
return props2.theme === PRO_THEME.CIRCLE ? CIRCLE_ICONS : NORMAL_ICONS;
};
var getLabelContent = function getLabelContent2() {
var labelContent = "".concat(props2.percentage, "%");
var status = props2.status || "";
if (STATUS_ICON.includes(status) && props2.theme !== PRO_THEME.PLUMP) {
var components = getIconMap();
var component = components[status];
if (component) {
labelContent = vue.createVNode(component, {
"class": ["".concat(COMPONENT_NAME.value, "__icon")]
}, null);
}
}
return labelContent;
};
return function() {
var labelContent = vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__info")
}, [renderTNodeJSX3("label", getLabelContent())]);
var PLUMP_SEPARATE = 10;
var separateClasses = props2.percentage > PLUMP_SEPARATE ? "".concat(COMPONENT_NAME.value, "--over-ten") : "".concat(COMPONENT_NAME.value, "--under-ten");
return vue.createVNode("div", {
"class": COMPONENT_NAME.value
}, [props2.theme === PRO_THEME.LINE && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "--thin ").concat(COMPONENT_NAME.value, "--status--").concat(statusStyle.value)
}, [vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__bar"),
"style": trackBgStyle.value
}, [vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__inner"),
"style": barStyle.value
}, null)]), labelContent]), props2.theme === PRO_THEME.PLUMP && vue.createVNode("div", {
"class": ["".concat(COMPONENT_NAME.value, "__bar ").concat(COMPONENT_NAME.value, "--plump ").concat(separateClasses), _defineProperty$2({}, "".concat(COMPONENT_NAME.value, "--status--").concat(statusStyle.value), statusStyle.value)],
"style": trackBgStyle.value
}, [vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__inner"),
"style": barStyle.value
}, [props2.percentage > PLUMP_SEPARATE && labelContent]), props2.percentage <= PLUMP_SEPARATE && labelContent]), props2.theme === PRO_THEME.CIRCLE && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "--circle ").concat(COMPONENT_NAME.value, "--status--").concat(statusStyle.value),
"style": circleStyle.value
}, [labelContent, vue.createVNode("svg", {
"width": diameter.value,
"height": diameter.value,
"viewBox": "0 0 ".concat(diameter.value, " ").concat(diameter.value)
}, [vue.createVNode("circle", {
"cx": rPoints.value,
"cy": rPoints.value,
"r": radius.value,
"stroke-width": circleStrokeWidth.value,
"fill": "none",
"class": ["".concat(COMPONENT_NAME.value, "__circle-outer")],
"style": circleOuterStyle.value
}, null), props2.percentage > 0 && vue.createVNode("circle", {
"cx": rPoints.value,
"cy": rPoints.value,
"r": radius.value,
"stroke-width": circleStrokeWidth.value,
"fill": "none",
"stroke-linecap": "round",
"class": ["".concat(COMPONENT_NAME.value, "__circle-inner")],
"transform": "matrix(0,-1,1,0,0,".concat(diameter.value, ")"),
"stroke-dasharray": strokeDashArr.value,
"style": circlePathStyle.value
}, null)])])]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Progress = withInstall(_Progress);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var baseTableProps = {
activeRowKeys: {
type: Array,
"default": void 0
},
defaultActiveRowKeys: {
type: Array,
"default": function _default6() {
return [];
}
},
activeRowType: {
type: String,
"default": ""
},
allowResizeColumnWidth: {
type: Boolean,
"default": void 0
},
attach: {
type: [String, Function]
},
bordered: Boolean,
bottomContent: {
type: [String, Function]
},
cellEmptyContent: {
type: [String, Function]
},
columns: {
type: Array,
"default": function _default7() {
return [];
}
},
data: {
type: Array,
"default": function _default8() {
return [];
}
},
disableDataPage: Boolean,
disableSpaceInactiveRow: {
type: Boolean,
"default": void 0
},
empty: {
type: [String, Function],
"default": ""
},
firstFullRow: {
type: [String, Function]
},
fixedRows: {
type: Array
},
footData: {
type: Array,
"default": function _default9() {
return [];
}
},
footerAffixProps: {
type: Object
},
footerAffixedBottom: {
type: [Boolean, Object],
"default": false
},
footerSummary: {
type: [String, Function]
},
headerAffixProps: {
type: Object
},
headerAffixedTop: {
type: [Boolean, Object],
"default": false
},
height: {
type: [String, Number]
},
horizontalScrollAffixedBottom: {
type: [Boolean, Object]
},
hover: Boolean,
keyboardRowHover: {
type: Boolean,
"default": true
},
lastFullRow: {
type: [String, Function]
},
lazyLoad: Boolean,
loading: {
type: [Boolean, Function],
"default": void 0
},
loadingProps: {
type: Object
},
locale: {
type: Object
},
maxHeight: {
type: [String, Number]
},
pagination: {
type: Object
},
paginationAffixedBottom: {
type: [Boolean, Object]
},
resizable: Boolean,
rowAttributes: {
type: [Object, Array, Function]
},
rowClassName: {
type: [String, Object, Array, Function]
},
rowKey: {
type: String,
"default": "id",
required: true
},
rowspanAndColspan: {
type: Function
},
rowspanAndColspanInFooter: {
type: Function
},
scroll: {
type: Object
},
showHeader: {
type: Boolean,
"default": true
},
size: {
type: String,
"default": "medium",
validator: function validator47(val) {
if (!val)
return true;
return ["small", "medium", "large"].includes(val);
}
},
stripe: Boolean,
tableContentWidth: {
type: String,
"default": ""
},
tableLayout: {
type: String,
"default": "fixed",
validator: function validator48(val) {
if (!val)
return true;
return ["auto", "fixed"].includes(val);
}
},
topContent: {
type: [String, Function]
},
verticalAlign: {
type: String,
"default": "middle",
validator: function validator49(val) {
if (!val)
return true;
return ["top", "middle", "bottom"].includes(val);
}
},
onActiveChange: Function,
onActiveRowAction: Function,
onCellClick: Function,
onColumnResizeChange: Function,
onPageChange: Function,
onRowClick: Function,
onRowDblclick: Function,
onRowMousedown: Function,
onRowMouseenter: Function,
onRowMouseleave: Function,
onRowMouseover: Function,
onRowMouseup: Function,
onScroll: Function,
onScrollX: Function,
onScrollY: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function getNodeDepth(columns, depthMap) {
var depth = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 1;
var maxDepth = depth;
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _col$children;
var col = columns[i];
depthMap.set(col, depth);
if (col !== null && col !== void 0 && (_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
var deep = getNodeDepth(col.children, depthMap, depth + 1);
if (deep > maxDepth) {
maxDepth = deep;
}
}
}
return maxDepth;
}
function getChildrenNodeWidth(node) {
var count = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0;
var countNew = count;
var childrenList = (node === null || node === void 0 ? void 0 : node.children) || [];
for (var i = 0, len2 = childrenList.length; i < len2; i++) {
var item = childrenList[i];
if (item.children) {
countNew = getChildrenNodeWidth(item, countNew);
} else {
countNew += 1;
}
}
return countNew;
}
function getThRowspanAndColspan(columns) {
var depthMap = /* @__PURE__ */ new Map();
var columnsDepth = getNodeDepth(columns, depthMap);
var rowspanAndColspanMap = /* @__PURE__ */ new Map();
var loop = function loop2(nodes, leafColumns2) {
for (var i = 0, len2 = nodes.length; i < len2; i++) {
var _col$children2;
var col = nodes[i];
var rowspan = col.children ? 1 : columnsDepth - depthMap.get(col) + 1;
var colspan = col.children ? getChildrenNodeWidth(col) : 1;
var span = {};
rowspan > 1 && (span.rowspan = rowspan);
colspan > 1 && (span.colspan = colspan);
rowspanAndColspanMap.set(col, span);
if (col !== null && col !== void 0 && (_col$children2 = col.children) !== null && _col$children2 !== void 0 && _col$children2.length) {
loop2(col.children, leafColumns2);
} else {
leafColumns2.push(col);
}
}
};
var leafColumns = [];
loop(columns, leafColumns);
return {
rowspanAndColspanMap,
leafColumns
};
}
function getThList(columns) {
var loop = function loop2(nodes, thRows) {
var _children;
var thRowData = [];
var children = [];
for (var i = 0, len2 = nodes.length; i < len2; i++) {
var _node$children;
var node = nodes[i];
var thList = [node];
thRowData = thRowData.concat(thList);
if (node !== null && node !== void 0 && (_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length) {
children = children.concat(node.children);
}
}
if ((_children = children) !== null && _children !== void 0 && _children.length) {
loop2(children, thRows);
}
thRows.push(thRowData);
return thRowData;
};
var list = [];
loop(columns, list);
list = list.reverse();
return list;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useClassName() {
var classPrefix = usePrefixClass();
var classNames = {
classPrefix: classPrefix.value,
tableBaseClass: {
table: "".concat(classPrefix.value, "-table"),
columnResizableTable: "".concat(classPrefix.value, "-table--column-resizable"),
overflowVisible: "".concat(classPrefix.value, "-table--overflow-visible"),
body: "".concat(classPrefix.value, "-table__body"),
content: "".concat(classPrefix.value, "-table__content"),
topContent: "".concat(classPrefix.value, "-table__top-content"),
bottomContent: "".concat(classPrefix.value, "-table__bottom-content"),
paginationWrap: "".concat(classPrefix.value, "-table__pagination-wrap"),
tdLastRow: "".concat(classPrefix.value, "-table__td-last-row"),
tdFirstCol: "".concat(classPrefix.value, "-table__td-first-col"),
thCellInner: "".concat(classPrefix.value, "-table__th-cell-inner"),
tableRowEdit: "".concat(classPrefix.value, "-table--row-edit"),
cellEditable: "".concat(classPrefix.value, "-table__cell--editable"),
cellEditWrap: "".concat(classPrefix.value, "-table__cell-wrap"),
bordered: "".concat(classPrefix.value, "-table--bordered"),
striped: "".concat(classPrefix.value, "-table--striped"),
hover: "".concat(classPrefix.value, "-table--hoverable"),
loading: "".concat(classPrefix.value, "-table--loading"),
rowspanAndColspan: "".concat(classPrefix.value, "-table--rowspan-colspan"),
empty: "".concat(classPrefix.value, "-table__empty"),
emptyRow: "".concat(classPrefix.value, "-table__empty-row"),
headerFixed: "".concat(classPrefix.value, "-table--header-fixed"),
columnFixed: "".concat(classPrefix.value, "-table--column-fixed"),
widthOverflow: "".concat(classPrefix.value, "-table--width-overflow"),
multipleHeader: "".concat(classPrefix.value, "-table--multiple-header"),
footerAffixed: "".concat(classPrefix.value, "-table--footer-affixed"),
horizontalBarAffixed: "".concat(classPrefix.value, "-table--horizontal-bar-affixed"),
affixedHeader: "".concat(classPrefix.value, "-table--affixed-header"),
affixedHeaderElm: "".concat(classPrefix.value, "-table__affixed-header-elm"),
affixedFooterElm: "".concat(classPrefix.value, "-table__affixed-footer-elm"),
affixedFooterWrap: "".concat(classPrefix.value, "-table__affixed-footer-wrap"),
scrollbarDivider: "".concat(classPrefix.value, "-table__scroll-bar-divider"),
fullHeight: "".concat(classPrefix.value, "-table--full-height"),
resizeLine: "".concat(classPrefix.value, "-table__resize-line"),
obviousScrollbar: "".concat(classPrefix.value, "-table__scrollbar--obvious"),
affixedHeaderWrap: "".concat(classPrefix.value, "-table__affixed-header-elm-wrap")
},
tdAlignClasses: {
left: "".concat(classPrefix.value, "-align-left"),
right: "".concat(classPrefix.value, "-align-right"),
center: "".concat(classPrefix.value, "-align-center")
},
tableHeaderClasses: {
header: "".concat(classPrefix.value, "-table__header"),
thBordered: "".concat(classPrefix.value, "-table__header-th--bordered"),
fixed: "".concat(classPrefix.value, "-table__header--fixed"),
multipleHeader: "".concat(classPrefix.value, "-table__header--multiple")
},
tableFooterClasses: {
footer: "".concat(classPrefix.value, "-table__footer"),
fixed: "".concat(classPrefix.value, "-table__footer--fixed")
},
tableAlignClasses: {
top: "".concat(classPrefix.value, "-vertical-align-top"),
middle: "".concat(classPrefix.value, "-vertical-align-middle"),
bottom: "".concat(classPrefix.value, "-vertical-align-bottom")
},
tableRowFixedClasses: {
top: "".concat(classPrefix.value, "-table__row--fixed-top"),
bottom: "".concat(classPrefix.value, "-table__row--fixed-bottom"),
firstBottom: "".concat(classPrefix.value, "-table__row--fixed-bottom-first"),
withoutBorderBottom: "".concat(classPrefix.value, "-table__row--without-border-bottom")
},
tableColFixedClasses: {
left: "".concat(classPrefix.value, "-table__cell--fixed-left"),
right: "".concat(classPrefix.value, "-table__cell--fixed-right"),
lastLeft: "".concat(classPrefix.value, "-table__cell--fixed-left-last"),
firstRight: "".concat(classPrefix.value, "-table__cell--fixed-right-first"),
leftShadow: "".concat(classPrefix.value, "-table__content--scrollable-to-left"),
rightShadow: "".concat(classPrefix.value, "-table__content--scrollable-to-right")
},
tableLayoutClasses: {
auto: "".concat(classPrefix.value, "-table--layout-auto"),
fixed: "".concat(classPrefix.value, "-table--layout-fixed")
},
tdEllipsisClass: "".concat(classPrefix.value, "-table-td--ellipsis"),
tableFullRowClasses: {
base: "".concat(classPrefix.value, "-table__row--full"),
innerFullRow: "".concat(classPrefix.value, "-table__row-full-inner"),
innerFullElement: "".concat(classPrefix.value, "-table__row-full-element"),
firstFullRow: "".concat(classPrefix.value, "-table__first-full-row"),
lastFullRow: "".concat(classPrefix.value, "-table__last-full-row")
},
tableExpandClasses: {
iconBox: "".concat(classPrefix.value, "-table__expand-box"),
iconCell: "".concat(classPrefix.value, "-table__expandable-icon-cell"),
row: "".concat(classPrefix.value, "-table__expanded-row"),
rowInner: "".concat(classPrefix.value, "-table__expanded-row-inner"),
expanded: "".concat(classPrefix.value, "-table__row--expanded"),
collapsed: "".concat(classPrefix.value, "-table__row--collapsed")
},
tableSortClasses: {
sortable: "".concat(classPrefix.value, "-table__cell--sortable"),
sortColumn: "".concat(classPrefix.value, "-table__sort-column"),
title: "".concat(classPrefix.value, "-table__cell--title"),
trigger: "".concat(classPrefix.value, "-table__cell--sort-trigger"),
doubleIcon: "".concat(classPrefix.value, "-table__double-icons"),
sortIcon: "".concat(classPrefix.value, "-table__sort-icon"),
iconDirection: {
asc: "".concat(classPrefix.value, "-table-sort-asc"),
desc: "".concat(classPrefix.value, "-table-sort-desc")
},
iconActive: "".concat(classPrefix.value, "-table__sort-icon--active"),
iconDefault: "".concat(classPrefix.value, "-icon-sort--default")
},
tableSelectedClasses: {
selected: "".concat(classPrefix.value, "-table__row--selected"),
disabled: "".concat(classPrefix.value, "-table__row--disabled"),
checkCell: "".concat(classPrefix.value, "-table__cell-check")
},
tableFilterClasses: {
filterable: "".concat(classPrefix.value, "-table__cell--filterable"),
popup: "".concat(classPrefix.value, "-table__filter-pop"),
icon: "".concat(classPrefix.value, "-table__filter-icon"),
popupContent: "".concat(classPrefix.value, "-table__filter-pop-content"),
result: "".concat(classPrefix.value, "-table__filter-result"),
inner: "".concat(classPrefix.value, "-table__row-filter-inner"),
bottomButtons: "".concat(classPrefix.value, "-table__filter--bottom-buttons"),
contentInner: "".concat(classPrefix.value, "-table__filter-pop-content-inner"),
iconWrap: "".concat(classPrefix.value, "-table__filter-icon-wrap")
},
asyncLoadingClass: "".concat(classPrefix.value, "-table__async-loading"),
isFocusClass: "".concat(classPrefix.value, "-is-focus"),
isLoadingClass: "".concat(classPrefix.value, "-is-loading"),
isLoadMoreClass: "".concat(classPrefix.value, "-is-load-more"),
tableTreeClasses: {
col: "".concat(classPrefix.value, "-table__tree-col"),
inlineCol: "".concat(classPrefix.value, "-table__tree-col--inline"),
icon: "".concat(classPrefix.value, "-table__tree-op-icon"),
leafNode: "".concat(classPrefix.value, "-table__tree-leaf-node")
},
tableDraggableClasses: {
rowDraggable: "".concat(classPrefix.value, "-table--row-draggable"),
rowHandlerDraggable: "".concat(classPrefix.value, "-table--row-handler-draggable"),
colDraggable: "".concat(classPrefix.value, "-table--col-draggable"),
handle: "".concat(classPrefix.value, "-table__handle-draggable"),
ghost: "".concat(classPrefix.value, "-table__ele--draggable-ghost"),
chosen: "".concat(classPrefix.value, "-table__ele--draggable-chosen"),
dragging: "".concat(classPrefix.value, "-table__ele--draggable-dragging"),
dragSortTh: "".concat(classPrefix.value, "-table__th--drag-sort")
},
virtualScrollClasses: {
cursor: "".concat(classPrefix.value, "-table__virtual-scroll-cursor"),
header: "".concat(classPrefix.value, "-table__virtual-scroll-header")
},
positiveRotate90: "".concat(classPrefix.value, "-positive-rotate-90"),
negativeRotate180: "".concat(classPrefix.value, "-negative-rotate-180")
};
return classNames;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$p(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$o(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$p(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$p(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$6(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var TEllipsis = vue.defineComponent({
name: "TEllipsis",
props: {
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
tooltipContent: {
type: [String, Number, Function]
},
placement: String,
attach: [String, Function],
tooltipProps: Object,
zIndex: Number,
overlayClassName: String,
classPrefix: {
type: String,
"default": "t"
}
},
setup: function setup36(props2) {
var root2 = vue.ref();
var isOverflow = vue.ref(false);
var ellipsisClasses = vue.computed(function() {
return ["".concat(props2.classPrefix, "-table__ellipsis"), "".concat(props2.classPrefix, "-text-ellipsis")];
});
var innerEllipsisClassName = vue.computed(function() {
return ["".concat(props2.classPrefix, "-table__ellipsis-content"), props2.overlayClassName];
});
var onTriggerMouseenter = function onTriggerMouseenter2() {
if (!root2.value)
return;
isOverflow.value = isNodeOverflow(root2.value);
};
var onTriggerMouseleave = function onTriggerMouseleave2() {
if (!root2.value)
return;
isOverflow.value = isNodeOverflow(root2.value);
};
var onMouseAround = debounce_1(function(e) {
e.type === "mouseleave" ? onTriggerMouseleave() : onTriggerMouseenter();
}, 80);
return {
root: root2,
isOverflow,
ellipsisClasses,
innerEllipsisClassName,
onMouseAround
};
},
render: function render9() {
var cellNode = renderContent(this, "default", "content");
var ellipsisContent = vue.createVNode("div", {
"ref": "root",
"class": this.ellipsisClasses,
"onMouseenter": this.onMouseAround,
"onMouseleave": this.onMouseAround
}, [cellNode]);
var content = null;
var tooltipProps = this.tooltipProps;
if (this.isOverflow) {
var rProps = _objectSpread$o({
content: this.tooltipContent || function() {
return cellNode;
},
destroyOnClose: true,
zIndex: this.zIndex,
attach: this.attach,
placement: this.placement,
overlayClassName: tooltipProps !== null && tooltipProps !== void 0 && tooltipProps.overlayClassName ? this.innerEllipsisClassName.concat(tooltipProps.overlayClassName) : this.innerEllipsisClassName
}, tooltipProps);
content = vue.createVNode(Tooltip, rProps, _isSlot$6(ellipsisContent) ? ellipsisContent : {
"default": function _default16() {
return [ellipsisContent];
}
});
} else {
content = ellipsisContent;
}
return content;
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$o(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$n(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$o(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$o(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$5(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
function renderTitle(slots, col, index2) {
var params = {
col,
colIndex: index2
};
if (isFunction_1(col.title)) {
return col.title(vue.h, params);
}
if (isString_1(col.title) && slots[col.title]) {
return slots[col.title](params);
}
if (isFunction_1(col.render)) {
return col.render(vue.h, _objectSpread$n(_objectSpread$n({}, params), {}, {
type: "title",
row: {},
rowIndex: -1
})) || col.title;
}
return col.title;
}
function useTableHeader(props2) {
var _useClassName = useClassName(), tableSortClasses = _useClassName.tableSortClasses, tableFilterClasses = _useClassName.tableFilterClasses;
var spansAndLeafNodes = vue.computed(function() {
return getThRowspanAndColspan(props2.columns);
});
var thList = vue.computed(function() {
return getThList(props2.columns);
});
var isMultipleHeader = vue.computed(function() {
return thList.value.length > 1;
});
var renderTitleWidthIcon = function renderTitleWidthIcon2(_ref, col, colIndex, ellipsisTitle, attach, extra) {
var _classes;
var _ref2 = _slicedToArray(_ref, 3), title = _ref2[0], sortIcon = _ref2[1], filterIcon = _ref2[2];
var classes = (_classes = {}, _defineProperty$2(_classes, tableSortClasses.sortable, sortIcon), _defineProperty$2(_classes, tableFilterClasses.filterable, filterIcon), _classes);
var content = isFunction_1(ellipsisTitle) ? ellipsisTitle(vue.h, {
col,
colIndex
}) : void 0;
var isEllipsis = ellipsisTitle !== void 0 ? Boolean(ellipsisTitle) : Boolean(col.ellipsis);
return vue.createVNode("div", {
"class": classes
}, [vue.createVNode("div", {
"class": tableSortClasses.title
}, [isEllipsis ? vue.createVNode(TEllipsis, {
"placement": "bottom",
"attach": props2.attach || (attach ? function() {
return attach;
} : void 0),
"tooltipContent": content && function() {
return content;
},
"tooltipProps": _typeof$2(ellipsisTitle) === "object" ? ellipsisTitle : void 0,
"classPrefix": extra === null || extra === void 0 ? void 0 : extra.classPrefix,
"overlayClassName": extra === null || extra === void 0 ? void 0 : extra.ellipsisOverlayClassName
}, _isSlot$5(title) ? title : {
"default": function _default16() {
return [title];
}
}) : vue.createVNode("div", null, [title]), Boolean(sortIcon || filterIcon) && vue.createVNode("div", {
"class": tableFilterClasses.iconWrap
}, [sortIcon, filterIcon])])]);
};
return {
thList,
isMultipleHeader,
spansAndLeafNodes,
renderTitleWidthIcon
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$n(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$m(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$n(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$n(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var DEFAULT_MIN_WIDTH = 80;
var DEFAULT_MAX_WIDTH = 600;
var distance = 8;
function useColumnResize(params) {
var isWidthOverflow = params.isWidthOverflow, tableContentRef = params.tableContentRef, showColumnShadow = params.showColumnShadow, getThWidthList = params.getThWidthList, updateThWidthList = params.updateThWidthList, setTableElmWidth = params.setTableElmWidth, updateTableAfterColumnResize = params.updateTableAfterColumnResize, onColumnResizeChange = params.onColumnResizeChange;
var resizeLineRef = vue.ref();
var effectColMap = vue.ref({});
var leafColumns = vue.ref([]);
var originalSelectStart;
var originalDragStart;
vue.onMounted(function() {
var hasDocument = typeof document !== "undefined";
originalSelectStart = hasDocument ? document.onselectstart : null;
originalDragStart = hasDocument ? document.ondragstart : null;
});
var getSiblingResizableCol = function getSiblingResizableCol2(nodes, index2, type) {
var i = index2;
while (nodes[i] && nodes[i].resizable === false) {
if (type === "next") {
i += 1;
} else {
i -= 1;
}
}
return nodes[i];
};
var setEffectColMap = function setEffectColMap2(nodes, parent2) {
if (!nodes)
return;
leafColumns.value = nodes;
nodes.forEach(function(n, index2) {
var prevNode = getSiblingResizableCol(nodes, index2 - 1, "prev");
var nextNode = getSiblingResizableCol(nodes, index2 + 1, "next");
var parentPrevCol = parent2 ? effectColMap.value[parent2.colKey].prev : nextNode;
var parentNextCol = parent2 ? effectColMap.value[parent2.colKey].next : prevNode;
var prev = index2 === 0 ? parentPrevCol : prevNode;
var next = index2 === nodes.length - 1 ? parentNextCol : nextNode;
effectColMap.value[n.colKey] = {
prev,
next,
current: {
prevSibling: getSiblingResizableCol(nodes, index2 - 1, "prev"),
nextSibling: getSiblingResizableCol(nodes, index2 + 1, "next")
}
};
setEffectColMap2(n.children, n);
});
};
var resizeLineParams = {
isDragging: false,
draggingCol: null,
draggingStart: 0,
effectCol: "next"
};
var resizeLineStyle = vue.reactive({
display: "none",
height: "10px",
left: "10px",
bottom: "0"
});
var isColRightFixActive = function isColRightFixActive2(col) {
return col.fixed === "right" && showColumnShadow.right;
};
var onColumnMouseover = function onColumnMouseover2(e, col) {
if (!resizeLineRef.value || resizeLineParams.isDragging || !e.target)
return;
var target = e.target.closest("th");
var colKey = target.getAttribute("data-colkey");
if (!leafColumns.value.find(function(t) {
return t.colKey === colKey;
}))
return;
var targetBoundRect = target.getBoundingClientRect();
var thRightCursor = targetBoundRect.right - e.pageX <= distance;
var thLeftCursor = e.pageX - targetBoundRect.left <= distance;
var isFixedToRight = isColRightFixActive(col);
if (thRightCursor || isFixedToRight) {
var _col$resizable;
var colResizable = (_col$resizable = col.resizable) !== null && _col$resizable !== void 0 ? _col$resizable : true;
if (colResizable) {
target.style.cursor = thRightCursor || isFixedToRight && thLeftCursor ? "col-resize" : "";
var isCurrent = thRightCursor && !isFixedToRight || isFixedToRight && thLeftCursor;
resizeLineParams.draggingCol = isCurrent ? target : target.nextElementSibling;
resizeLineParams.effectCol = "next";
return;
}
} else if (thLeftCursor) {
var prevEl = target.previousElementSibling;
if (prevEl) {
var _effectColMap$value$c, _effectPrevCol$resiza;
var effectPrevCol = (_effectColMap$value$c = effectColMap.value[col.colKey]) === null || _effectColMap$value$c === void 0 ? void 0 : _effectColMap$value$c.prev;
var _colResizable = (_effectPrevCol$resiza = effectPrevCol === null || effectPrevCol === void 0 ? void 0 : effectPrevCol.resizable) !== null && _effectPrevCol$resiza !== void 0 ? _effectPrevCol$resiza : true;
if (_colResizable) {
target.style.cursor = "col-resize";
resizeLineParams.draggingCol = prevEl;
resizeLineParams.effectCol = "prev";
return;
}
}
}
target.style.cursor = "";
resizeLineParams.draggingCol = null;
resizeLineParams.effectCol = null;
};
var getMinMaxColWidth = function getMinMaxColWidth2(targetCol) {
var _targetCol$resize, _targetCol$resize2;
var propMinWidth = isNumber_1(targetCol.minWidth) ? targetCol.minWidth : parseInt(targetCol.minWidth || "0", 10);
return {
minColWidth: Math.max(((_targetCol$resize = targetCol.resize) === null || _targetCol$resize === void 0 ? void 0 : _targetCol$resize.minWidth) || DEFAULT_MIN_WIDTH, propMinWidth),
maxColWidth: ((_targetCol$resize2 = targetCol.resize) === null || _targetCol$resize2 === void 0 ? void 0 : _targetCol$resize2.maxWidth) || DEFAULT_MAX_WIDTH
};
};
var getNormalResizeInfo = function getNormalResizeInfo2(col, effectPrevCol, targetBoundRect, tableBoundRect) {
var resizeLinePos = targetBoundRect.right - tableBoundRect.left;
var colLeft = targetBoundRect.left - tableBoundRect.left;
var targetCol = resizeLineParams.effectCol === "next" ? col : effectPrevCol;
var _getMinMaxColWidth = getMinMaxColWidth(targetCol), minColWidth = _getMinMaxColWidth.minColWidth, maxColWidth = _getMinMaxColWidth.maxColWidth;
return {
resizeLinePos,
minResizeLineLeft: colLeft + minColWidth,
maxResizeLineLeft: colLeft + maxColWidth
};
};
var getFixedToRightResizeInfo = function getFixedToRightResizeInfo2(target, col, effectPrevCol, targetBoundRect, tableBoundRect) {
var resizeLinePos = targetBoundRect.left - tableBoundRect.left;
var targetCol = target.dataset.colkey === col.colKey ? col : effectPrevCol;
var colLeft = targetBoundRect.left - tableBoundRect.left;
var _getMinMaxColWidth2 = getMinMaxColWidth(targetCol), minColWidth = _getMinMaxColWidth2.minColWidth, maxColWidth = _getMinMaxColWidth2.maxColWidth;
return {
resizeLinePos,
minResizeLineLeft: colLeft + (targetBoundRect.width - maxColWidth),
maxResizeLineLeft: colLeft + (targetBoundRect.width - minColWidth)
};
};
var getFixedToLeftResizeInfo = function getFixedToLeftResizeInfo2(targetBoundRect, tableBoundRect) {
var resizeLinePos = targetBoundRect.left - tableBoundRect.left;
var colLeft = targetBoundRect.left - tableBoundRect.left;
return {
resizeLinePos,
minResizeLineLeft: colLeft,
maxResizeLineLeft: colLeft
};
};
var getTotalTableWidth = function getTotalTableWidth2(thWidthList) {
var tableWidth = 0;
leafColumns.value.forEach(function(col) {
tableWidth += thWidthList[col.colKey];
});
return tableWidth;
};
var getSiblingColCanResizable = function getSiblingColCanResizable2(newThWidthList, effectNextCol, distance2, index2) {
var isWidthAbnormal = true;
if (effectNextCol) {
var _getMinMaxColWidth3 = getMinMaxColWidth(effectNextCol), minColWidth = _getMinMaxColWidth3.minColWidth, maxColWidth = _getMinMaxColWidth3.maxColWidth;
var targetNextColWidth = newThWidthList[effectNextCol.colKey] + distance2;
isWidthAbnormal = targetNextColWidth < minColWidth || targetNextColWidth > maxColWidth;
}
return !(isWidthAbnormal || isWidthOverflow.value || index2 === leafColumns.value.length - 1);
};
var getOtherResizeInfo = function getOtherResizeInfo2(col, effectPrevCol, targetBoundRect, tableBoundRect) {
return effectPrevCol ? getNormalResizeInfo(col, effectPrevCol, targetBoundRect, tableBoundRect) : getFixedToLeftResizeInfo(targetBoundRect, tableBoundRect);
};
var onColumnMousedown = function onColumnMousedown2(e, col, index2) {
var _tableContentRef$valu, _effectColMap$value$c2, _effectColMap$value$c3;
if (!resizeLineParams.draggingCol)
return;
var target = resizeLineParams.draggingCol;
var targetBoundRect = target.getBoundingClientRect();
var tableBoundRect = (_tableContentRef$valu = tableContentRef.value) === null || _tableContentRef$valu === void 0 ? void 0 : _tableContentRef$valu.getBoundingClientRect();
var effectNextCol = (_effectColMap$value$c2 = effectColMap.value[col.colKey]) === null || _effectColMap$value$c2 === void 0 ? void 0 : _effectColMap$value$c2.next;
var effectPrevCol = (_effectColMap$value$c3 = effectColMap.value[col.colKey]) === null || _effectColMap$value$c3 === void 0 ? void 0 : _effectColMap$value$c3.prev;
var _ref = isColRightFixActive(col) ? getFixedToRightResizeInfo(target, col, effectNextCol, targetBoundRect, tableBoundRect) : getOtherResizeInfo(col, effectNextCol, targetBoundRect, tableBoundRect), resizeLinePos = _ref.resizeLinePos, minResizeLineLeft = _ref.minResizeLineLeft, maxResizeLineLeft = _ref.maxResizeLineLeft;
resizeLineParams.isDragging = true;
resizeLineParams.draggingStart = e.x;
if (resizeLineRef !== null && resizeLineRef !== void 0 && resizeLineRef.value) {
resizeLineStyle.display = "block";
resizeLineStyle.height = "".concat(tableBoundRect.bottom - targetBoundRect.top, "px");
resizeLineStyle.left = "".concat(resizeLinePos, "px");
var parent2 = tableContentRef.value.parentElement.getBoundingClientRect();
resizeLineStyle.bottom = "".concat(parent2.bottom - tableBoundRect.bottom, "px");
}
var onDragEnd = function onDragEnd2() {
var _effectColMap$value$c4;
if (!resizeLineParams.isDragging)
return;
var moveDistance = resizeLinePos - parseFloat(resizeLineStyle.left) || 0;
var thWidthList = getThWidthList("calculate");
var currentCol = (_effectColMap$value$c4 = effectColMap.value[col.colKey]) === null || _effectColMap$value$c4 === void 0 ? void 0 : _effectColMap$value$c4.current;
var currentSibling = resizeLineParams.effectCol === "next" ? currentCol.nextSibling : currentCol.prevSibling;
var newThWidthList = _objectSpread$m({}, thWidthList);
var tmpCurrentCol = col.resizable !== false ? col : currentSibling;
var rightCol = resizeLineParams.effectCol === "next" ? currentCol.nextSibling : col;
var canResizeSiblingColWidth = getSiblingColCanResizable(newThWidthList, rightCol, moveDistance, index2);
if (resizeLineParams.effectCol === "next") {
if (isColRightFixActive(col)) {
if (target.dataset.colkey !== col.colKey) {
newThWidthList[effectNextCol.colKey] += moveDistance;
} else {
newThWidthList[tmpCurrentCol.colKey] += moveDistance;
}
} else {
newThWidthList[tmpCurrentCol.colKey] -= moveDistance;
if (canResizeSiblingColWidth) {
newThWidthList[effectNextCol.colKey] += moveDistance;
}
}
} else if (resizeLineParams.effectCol === "prev") {
if (canResizeSiblingColWidth) {
newThWidthList[tmpCurrentCol.colKey] += moveDistance;
}
effectPrevCol && (newThWidthList[effectPrevCol.colKey] -= moveDistance);
}
updateThWidthList(newThWidthList);
var tableWidth = getTotalTableWidth(newThWidthList);
setTableElmWidth(Math.round(tableWidth));
updateTableAfterColumnResize();
resizeLineParams.isDragging = false;
resizeLineParams.draggingCol = null;
resizeLineParams.effectCol = null;
target.style.cursor = "";
resizeLineStyle.display = "none";
resizeLineStyle.left = "0";
off$1(document, "mouseup", onDragEnd2);
off$1(document, "mousemove", onDragOver);
document.onselectstart = originalSelectStart;
document.ondragstart = originalDragStart;
onColumnResizeChange === null || onColumnResizeChange === void 0 || onColumnResizeChange({
columnsWidth: newThWidthList
});
};
var onDragOver = function onDragOver2(e2) {
if (resizeLineParams.isDragging) {
var left2 = resizeLinePos + e2.x - resizeLineParams.draggingStart;
resizeLineStyle.left = "".concat(Math.min(Math.max(left2, minResizeLineLeft), maxResizeLineLeft), "px");
}
};
on$1(document, "mouseup", onDragEnd);
on$1(document, "mousemove", onDragOver);
document.onselectstart = function() {
return false;
};
document.ondragstart = function() {
return false;
};
};
return {
resizeLineRef,
resizeLineStyle,
onColumnMouseover,
onColumnMousedown,
setEffectColMap
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function noop$1() {
}
var noop_1 = noop$1;
var Set$1 = _Set, noop$2 = noop_1, setToArray$1 = _setToArray;
var INFINITY = 1 / 0;
var createSet$1 = !(Set$1 && 1 / setToArray$1(new Set$1([, -0]))[1] == INFINITY) ? noop$2 : function(values) {
return new Set$1(values);
};
var _createSet = createSet$1;
var SetCache = _SetCache, arrayIncludes = _arrayIncludes, arrayIncludesWith = _arrayIncludesWith, cacheHas = _cacheHas, createSet = _createSet, setToArray = _setToArray;
var LARGE_ARRAY_SIZE = 200;
function baseUniq$1(array, iteratee, comparator) {
var index2 = -1, includes = arrayIncludes, length = array.length, isCommon = true, result = [], seen = result;
if (comparator) {
isCommon = false;
includes = arrayIncludesWith;
} else if (length >= LARGE_ARRAY_SIZE) {
var set2 = iteratee ? null : createSet(array);
if (set2) {
return setToArray(set2);
}
isCommon = false;
includes = cacheHas;
seen = new SetCache();
} else {
seen = iteratee ? [] : result;
}
outer:
while (++index2 < length) {
var value = array[index2], computed2 = iteratee ? iteratee(value) : value;
value = comparator || value !== 0 ? value : 0;
if (isCommon && computed2 === computed2) {
var seenIndex = seen.length;
while (seenIndex--) {
if (seen[seenIndex] === computed2) {
continue outer;
}
}
if (iteratee) {
seen.push(computed2);
}
result.push(value);
} else if (!includes(seen, computed2, comparator)) {
if (seen !== result) {
seen.push(computed2);
}
result.push(value);
}
}
return result;
}
var _baseUniq = baseUniq$1;
var baseDifference = _baseDifference, baseFlatten = _baseFlatten, baseUniq = _baseUniq;
function baseXor$1(arrays, iteratee, comparator) {
var length = arrays.length;
if (length < 2) {
return length ? baseUniq(arrays[0]) : [];
}
var index2 = -1, result = Array(length);
while (++index2 < length) {
var array = arrays[index2], othIndex = -1;
while (++othIndex < length) {
if (othIndex != index2) {
result[index2] = baseDifference(result[index2] || array, arrays[othIndex], iteratee, comparator);
}
}
}
return baseUniq(baseFlatten(result, 1), iteratee, comparator);
}
var _baseXor = baseXor$1;
var arrayFilter = _arrayFilter, baseRest = _baseRest, baseXor = _baseXor, isArrayLikeObject = isArrayLikeObject_1, last = last_1;
var xorWith = baseRest(function(arrays) {
var comparator = last(arrays);
comparator = typeof comparator == "function" ? comparator : void 0;
return baseXor(arrayFilter(arrays, isArrayLikeObject), void 0, comparator);
});
var xorWith_1 = xorWith;
function ownKeys$m(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$l(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$m(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$m(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function getColumnFixedStyles(col, index2, rowAndColFixedPosition, tableColFixedClasses) {
var _thClasses;
var fixedPos = rowAndColFixedPosition === null || rowAndColFixedPosition === void 0 ? void 0 : rowAndColFixedPosition.get(col.colKey || index2);
if (!fixedPos)
return {};
var thClasses = (_thClasses = {}, _defineProperty$2(_thClasses, tableColFixedClasses.left, col.fixed === "left"), _defineProperty$2(_thClasses, tableColFixedClasses.right, col.fixed === "right"), _defineProperty$2(_thClasses, tableColFixedClasses.lastLeft, col.fixed === "left" && fixedPos.lastLeftFixedCol), _defineProperty$2(_thClasses, tableColFixedClasses.firstRight, col.fixed === "right" && fixedPos.firstRightFixedCol), _thClasses);
var thStyles = {
left: col.fixed === "left" ? "".concat(fixedPos.left, "px") : void 0,
right: col.fixed === "right" ? "".concat(fixedPos.right, "px") : void 0
};
return {
style: thStyles,
classes: thClasses
};
}
function getRowFixedStyles(rowId, rowIndex, rowLength, fixedRows, rowAndColFixedPosition, tableRowFixedClasses) {
var _rowClasses;
if (!fixedRows || !fixedRows.length)
return {
style: void 0,
classes: void 0
};
var fixedTop = rowIndex < fixedRows[0];
var fixedBottom = rowIndex > rowLength - 1 - fixedRows[1];
var firstFixedBottomRow = rowLength - fixedRows[1];
var fixedPos = (rowAndColFixedPosition === null || rowAndColFixedPosition === void 0 ? void 0 : rowAndColFixedPosition.get(rowId)) || {};
var rowClasses = (_rowClasses = {}, _defineProperty$2(_rowClasses, tableRowFixedClasses.top, fixedTop), _defineProperty$2(_rowClasses, tableRowFixedClasses.bottom, fixedBottom), _defineProperty$2(_rowClasses, tableRowFixedClasses.firstBottom, rowIndex === firstFixedBottomRow), _defineProperty$2(_rowClasses, tableRowFixedClasses.withoutBorderBottom, rowIndex === firstFixedBottomRow - 1), _rowClasses);
var rowStyles = {
top: fixedTop ? "".concat(fixedPos.top, "px") : void 0,
bottom: fixedBottom ? "".concat(fixedPos.bottom, "px") : void 0
};
return {
style: rowStyles,
classes: rowClasses
};
}
function useFixed(props2, context, finalColumns, affixRef) {
var _toRefs = vue.toRefs(props2), columns = _toRefs.columns, tableLayout = _toRefs.tableLayout, tableContentWidth = _toRefs.tableContentWidth, fixedRows = _toRefs.fixedRows, firstFullRow = _toRefs.firstFullRow, lastFullRow = _toRefs.lastFullRow, maxHeight = _toRefs.maxHeight, headerAffixedTop = _toRefs.headerAffixedTop, footerAffixedBottom = _toRefs.footerAffixedBottom, bordered = _toRefs.bordered, resizable = _toRefs.resizable, allowResizeColumnWidth = _toRefs.allowResizeColumnWidth;
var data2 = vue.ref([]);
var tableRef = vue.ref();
var tableContentRef = vue.ref();
var isFixedHeader = vue.ref(false);
var isWidthOverflow = vue.ref(false);
var tableElmRef = vue.ref();
var scrollbarWidth = vue.ref(6);
var rowAndColFixedPosition = vue.ref(/* @__PURE__ */ new Map());
var showColumnShadow = vue.reactive({
left: false,
right: false
});
var virtualScrollHeaderPos = vue.ref({
left: 0,
top: 0
});
var tableWidth = vue.ref(0);
var tableElmWidth = vue.ref(0);
var thWidthList = vue.ref({});
var isFixedColumn = vue.ref(false);
var isFixedRightColumn = vue.ref(false);
var isFixedLeftColumn = vue.ref(false);
var columnResizable = vue.computed(function() {
var _ref, _allowResizeColumnWid;
return (_ref = (_allowResizeColumnWid = allowResizeColumnWidth.value) !== null && _allowResizeColumnWid !== void 0 ? _allowResizeColumnWid : resizable.value) !== null && _ref !== void 0 ? _ref : false;
});
var notNeedThWidthList = vue.computed(function() {
var _props$scroll;
return !(props2.headerAffixedTop || props2.footerAffixedBottom || props2.horizontalScrollAffixedBottom || ((_props$scroll = props2.scroll) === null || _props$scroll === void 0 ? void 0 : _props$scroll.type) === "virtual");
});
function setUseFixedTableElmRef(val) {
tableElmRef.value = val;
}
function getColumnMap(columns2) {
var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Map();
var levelNodes = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
var level = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
var parent2 = arguments.length > 4 ? arguments[4] : void 0;
for (var i = 0, len2 = columns2.length; i < len2; i++) {
var _col$children;
var col = columns2[i];
if (["left", "right"].includes(col.fixed)) {
isFixedColumn.value = true;
}
if (col.fixed === "right") {
isFixedRightColumn.value = true;
}
if (col.fixed === "left") {
isFixedLeftColumn.value = true;
}
var key2 = col.colKey || i;
var columnInfo = {
col,
parent: parent2,
index: i
};
map.set(key2, columnInfo);
if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
getColumnMap(col.children, map, levelNodes, level + 1, columnInfo);
}
if (levelNodes[level]) {
levelNodes[level].push(columnInfo);
} else {
levelNodes[level] = [columnInfo];
}
}
return {
newColumnsMap: map,
levelNodes
};
}
var setFixedLeftPos = function setFixedLeftPos2(columns2, initialColumnMap) {
var parent2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
for (var i = 0, len2 = columns2.length; i < len2; i++) {
var _col$children2;
var col = columns2[i];
if (col.fixed === "right")
return;
var colInfo = initialColumnMap.get(col.colKey || i);
var lastColIndex = i - 1;
while (lastColIndex >= 0 && columns2[lastColIndex].fixed !== "left") {
lastColIndex -= 1;
}
var lastCol = columns2[lastColIndex];
var defaultWidth = i === 0 ? (parent2 === null || parent2 === void 0 ? void 0 : parent2.left) || 0 : 0;
var lastColInfo = initialColumnMap.get((lastCol === null || lastCol === void 0 ? void 0 : lastCol.colKey) || i - 1);
if (colInfo) {
colInfo.left = ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.left) || defaultWidth) + ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.width) || 0);
}
if ((_col$children2 = col.children) !== null && _col$children2 !== void 0 && _col$children2.length) {
setFixedLeftPos2(col.children, initialColumnMap, colInfo);
}
}
};
var setFixedRightPos = function setFixedRightPos2(columns2, initialColumnMap) {
var parent2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {};
for (var i = columns2.length - 1; i >= 0; i--) {
var _col$children3;
var col = columns2[i];
if (col.fixed === "left")
return;
var colInfo = initialColumnMap.get(col.colKey || i);
var lastColIndex = i + 1;
while (lastColIndex < columns2.length && columns2[lastColIndex].fixed !== "right") {
lastColIndex += 1;
}
var lastCol = columns2[lastColIndex];
var defaultWidth = i === columns2.length - 1 ? (parent2 === null || parent2 === void 0 ? void 0 : parent2.right) || 0 : 0;
var lastColInfo = initialColumnMap.get((lastCol === null || lastCol === void 0 ? void 0 : lastCol.colKey) || i + 1);
if (colInfo) {
colInfo.right = ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.right) || defaultWidth) + ((lastColInfo === null || lastColInfo === void 0 ? void 0 : lastColInfo.width) || 0);
}
if ((_col$children3 = col.children) !== null && _col$children3 !== void 0 && _col$children3.length) {
setFixedRightPos2(col.children, initialColumnMap, colInfo);
}
}
};
var setFixedColPosition = function setFixedColPosition2(trList, initialColumnMap) {
if (!trList)
return;
for (var i = 0, len2 = trList.length; i < len2; i++) {
var thList = trList[i].children;
for (var j = 0, thLen = thList.length; j < thLen; j++) {
var _obj$col;
var th = thList[j];
var colKey = th.dataset.colkey;
if (!colKey) {
log.warn("TDesign Table", "".concat(th.innerText, " missing colKey. colKey is required for fixed column feature."));
}
var obj = initialColumnMap.get(colKey || j);
if (obj !== null && obj !== void 0 && (_obj$col = obj.col) !== null && _obj$col !== void 0 && _obj$col.fixed) {
initialColumnMap.set(colKey, _objectSpread$l(_objectSpread$l({}, obj), {}, {
width: th.getBoundingClientRect().width
}));
}
}
}
setFixedLeftPos(columns.value, initialColumnMap);
setFixedRightPos(columns.value, initialColumnMap);
};
var setFixedRowPosition = function setFixedRowPosition2(trList, initialColumnMap, thead, tfoot) {
var _ref2 = fixedRows.value || [], _ref3 = _slicedToArray(_ref2, 2), fixedTopRows = _ref3[0], fixedBottomRows = _ref3[1];
var data22 = props2.data, _props$rowKey = props2.rowKey, rowKey = _props$rowKey === void 0 ? "id" : _props$rowKey;
for (var i = 0; i < fixedTopRows; i++) {
var tr = trList[i];
var rowId = get_1(data22[i], rowKey);
var thisRowInfo = initialColumnMap.get(rowId) || {};
var lastRowId = get_1(data22[i - 1], rowKey);
var lastRowInfo = initialColumnMap.get(lastRowId) || {};
var defaultBottom = 0;
if (i === 0) {
defaultBottom = (thead === null || thead === void 0 ? void 0 : thead.getBoundingClientRect().height) || 0;
}
thisRowInfo.top = (lastRowInfo.top || defaultBottom) + (lastRowInfo.height || 0);
initialColumnMap.set(rowId, _objectSpread$l(_objectSpread$l({}, thisRowInfo), {}, {
height: (tr === null || tr === void 0 ? void 0 : tr.getBoundingClientRect().height) || 0
}));
}
for (var _i = data22.length - 1; _i >= data22.length - fixedBottomRows; _i--) {
var _tr = trList[_i];
var _rowId = get_1(data22[_i], rowKey);
var _thisRowInfo = initialColumnMap.get(_rowId) || {};
var _lastRowId = get_1(data22[_i + 1], rowKey);
var _lastRowInfo = initialColumnMap.get(_lastRowId) || {};
var _defaultBottom = 0;
if (_i === data22.length - 1) {
_defaultBottom = (tfoot === null || tfoot === void 0 ? void 0 : tfoot.getBoundingClientRect().height) || 0;
}
_thisRowInfo.bottom = (_lastRowInfo.bottom || _defaultBottom) + (_lastRowInfo.height || 0);
initialColumnMap.set(_rowId, _objectSpread$l(_objectSpread$l({}, _thisRowInfo), {}, {
height: (_tr === null || _tr === void 0 ? void 0 : _tr.getBoundingClientRect().height) || 0
}));
}
};
var updateRowAndColFixedPosition = function updateRowAndColFixedPosition2(tableContentElm, initialColumnMap) {
rowAndColFixedPosition.value.clear();
if (!tableContentElm)
return;
var thead = tableContentElm.querySelector("thead");
thead && setFixedColPosition(thead.children, initialColumnMap);
var tbody = tableContentElm.querySelector("tbody");
var tfoot = tableContentElm.querySelector("tfoot");
tbody && setFixedRowPosition(tbody.children, initialColumnMap, thead, tfoot);
rowAndColFixedPosition.value = initialColumnMap;
};
var shadowLastScrollLeft;
var updateColumnFixedShadow = function updateColumnFixedShadow2(target, extra) {
if (!isFixedColumn.value || !target)
return;
var scrollLeft = target.scrollLeft;
if (shadowLastScrollLeft === scrollLeft && (!extra || !extra.skipScrollLimit))
return;
shadowLastScrollLeft = scrollLeft;
var isShowRight = target.clientWidth + scrollLeft < target.scrollWidth;
var isShowLeft = scrollLeft > 0;
if (showColumnShadow.left === isShowLeft && showColumnShadow.right === isShowRight)
return;
showColumnShadow.left = isShowLeft && isFixedLeftColumn.value;
showColumnShadow.right = isShowRight && isFixedRightColumn.value;
};
var setIsLastOrFirstFixedCol = function setIsLastOrFirstFixedCol2(levelNodes) {
for (var t = 0; t < levelNodes.length; t++) {
var nodes = levelNodes[t];
for (var i = 0, len2 = nodes.length; i < len2; i++) {
var colMapInfo = nodes[i];
var nextColMapInfo = nodes[i + 1];
var parent2 = colMapInfo.parent;
var isParentLastLeftFixedCol = !parent2 || (parent2 === null || parent2 === void 0 ? void 0 : parent2.lastLeftFixedCol);
if (isParentLastLeftFixedCol && colMapInfo.col.fixed === "left" && (nextColMapInfo === null || nextColMapInfo === void 0 ? void 0 : nextColMapInfo.col.fixed) !== "left") {
colMapInfo.lastLeftFixedCol = true;
}
var lastColMapInfo = nodes[i - 1];
var isParentFirstRightFixedCol = !parent2 || (parent2 === null || parent2 === void 0 ? void 0 : parent2.firstRightFixedCol);
if (isParentFirstRightFixedCol && colMapInfo.col.fixed === "right" && (lastColMapInfo === null || lastColMapInfo === void 0 ? void 0 : lastColMapInfo.col.fixed) !== "right") {
colMapInfo.firstRightFixedCol = true;
}
}
}
};
var updateFixedStatus = function updateFixedStatus2() {
var _getColumnMap = getColumnMap(columns.value), newColumnsMap = _getColumnMap.newColumnsMap, levelNodes = _getColumnMap.levelNodes;
setIsLastOrFirstFixedCol(levelNodes);
var timer = setTimeout(function() {
var _fixedRows$value;
if (isFixedColumn.value || (_fixedRows$value = fixedRows.value) !== null && _fixedRows$value !== void 0 && _fixedRows$value.length) {
updateRowAndColFixedPosition(tableContentRef.value, newColumnsMap);
}
clearTimeout(timer);
}, 0);
return function() {
clearTimeout(timer);
};
};
var updateFixedHeader = function updateFixedHeader2() {
var timer = setTimeout(function() {
if (!tableContentRef.value)
return;
isFixedHeader.value = tableContentRef.value.scrollHeight > tableContentRef.value.clientHeight;
isWidthOverflow.value = tableContentRef.value.scrollWidth > tableContentRef.value.clientWidth;
var pos = tableContentRef.value.getBoundingClientRect();
virtualScrollHeaderPos.value = {
top: pos.top,
left: pos.left
};
clearTimeout(timer);
}, 0);
};
var setTableElmWidth = function setTableElmWidth2(width) {
if (tableElmWidth.value === width)
return;
tableElmWidth.value = width;
};
var updateTableWidth = function updateTableWidth2() {
var _tableContentRef$valu, _tableElmRef$value;
var rect = (_tableContentRef$valu = tableContentRef.value) === null || _tableContentRef$valu === void 0 ? void 0 : _tableContentRef$valu.getBoundingClientRect();
if (!rect)
return;
var reduceWidth = isFixedHeader.value ? scrollbarWidth.value : 0;
tableWidth.value = Math.floor(rect.width - reduceWidth - (props2.bordered ? 1 : 0));
var elmRect = tableElmRef === null || tableElmRef === void 0 || (_tableElmRef$value = tableElmRef.value) === null || _tableElmRef$value === void 0 ? void 0 : _tableElmRef$value.getBoundingClientRect();
(elmRect === null || elmRect === void 0 ? void 0 : elmRect.width) && setTableElmWidth(elmRect.width);
};
var updateAffixPosition = function updateAffixPosition2() {
var _affixRef$paginationA, _affixRef$paginationA2, _affixRef$horizontalS, _affixRef$horizontalS2, _affixRef$headerTopAf, _affixRef$headerTopAf2, _affixRef$footerBotto, _affixRef$footerBotto2;
(_affixRef$paginationA = affixRef.paginationAffixRef.value) === null || _affixRef$paginationA === void 0 || (_affixRef$paginationA2 = _affixRef$paginationA.handleScroll) === null || _affixRef$paginationA2 === void 0 || _affixRef$paginationA2.call(_affixRef$paginationA);
(_affixRef$horizontalS = affixRef.horizontalScrollAffixRef.value) === null || _affixRef$horizontalS === void 0 || (_affixRef$horizontalS2 = _affixRef$horizontalS.handleScroll) === null || _affixRef$horizontalS2 === void 0 || _affixRef$horizontalS2.call(_affixRef$horizontalS);
(_affixRef$headerTopAf = affixRef.headerTopAffixRef.value) === null || _affixRef$headerTopAf === void 0 || (_affixRef$headerTopAf2 = _affixRef$headerTopAf.handleScroll) === null || _affixRef$headerTopAf2 === void 0 || _affixRef$headerTopAf2.call(_affixRef$headerTopAf);
(_affixRef$footerBotto = affixRef.footerBottomAffixRef.value) === null || _affixRef$footerBotto === void 0 || (_affixRef$footerBotto2 = _affixRef$footerBotto.handleScroll) === null || _affixRef$footerBotto2 === void 0 || _affixRef$footerBotto2.call(_affixRef$footerBotto);
};
var calculateThWidthList = function calculateThWidthList2(trList) {
var widthMap = {};
for (var i = 0, len2 = trList.length; i < len2; i++) {
var thList = trList[i].children;
for (var j = 0, thLen = thList.length; j < thLen; j++) {
var th = thList[j];
var colKey = th.dataset.colkey;
widthMap[colKey] = th.getBoundingClientRect().width;
}
}
return widthMap;
};
var updateThWidthList = function updateThWidthList2(trList) {
if (trList instanceof HTMLCollection) {
if (columnResizable.value)
return;
thWidthList.value = calculateThWidthList(trList);
} else {
thWidthList.value = thWidthList.value || {};
Object.entries(trList).forEach(function(_ref4) {
var _ref5 = _slicedToArray(_ref4, 2), colKey = _ref5[0], width = _ref5[1];
thWidthList.value[colKey] = width;
});
}
return thWidthList.value;
};
var updateThWidthListHandler = function updateThWidthListHandler2() {
var timer = setTimeout(function() {
var _tableContentRef$valu2;
updateTableWidth();
if (notNeedThWidthList.value)
return;
var thead = (_tableContentRef$valu2 = tableContentRef.value) === null || _tableContentRef$valu2 === void 0 ? void 0 : _tableContentRef$valu2.querySelector("thead");
if (!thead)
return;
updateThWidthList(thead.children);
clearTimeout(timer);
}, 0);
};
var resetThWidthList = function resetThWidthList2() {
thWidthList.value = {};
};
var emitScrollEvent = function emitScrollEvent2(e) {
var _props$onScrollX, _props$onScrollY, _props$onScroll;
(_props$onScrollX = props2.onScrollX) === null || _props$onScrollX === void 0 || _props$onScrollX.call(props2, {
e
});
(_props$onScrollY = props2.onScrollY) === null || _props$onScrollY === void 0 || _props$onScrollY.call(props2, {
e
});
(_props$onScroll = props2.onScroll) === null || _props$onScroll === void 0 || _props$onScroll.call(props2, {
e
});
};
var getThWidthList = function getThWidthList2(type) {
if (type === "calculate") {
var _tableContentRef$valu3;
var trList = (_tableContentRef$valu3 = tableContentRef.value) === null || _tableContentRef$valu3 === void 0 || (_tableContentRef$valu3 = _tableContentRef$valu3.querySelector("thead")) === null || _tableContentRef$valu3 === void 0 ? void 0 : _tableContentRef$valu3.children;
return calculateThWidthList(trList);
}
return thWidthList.value || {};
};
vue.watch([data2, columns, bordered, tableLayout, tableContentWidth, isFixedHeader, isWidthOverflow, isFixedColumn, fixedRows, firstFullRow, lastFullRow], updateFixedStatus, {
immediate: true
});
vue.watch([isFixedColumn, columns], function() {
var timer = setTimeout(function() {
if (isFixedColumn.value) {
updateColumnFixedShadow(tableContentRef.value);
}
clearTimeout(timer);
}, 0);
}, {
immediate: true
});
vue.watch([maxHeight, data2, columns, bordered], updateFixedHeader, {
immediate: true
});
vue.watch(finalColumns, function() {
resetThWidthList();
});
vue.watch([data2, bordered, tableLayout, fixedRows, isFixedHeader, headerAffixedTop, footerAffixedBottom, tableContentWidth], function() {
var timer = setTimeout(function() {
updateThWidthListHandler();
updateAffixPosition();
clearTimeout(timer);
}, 60);
}, {
immediate: true
});
vue.watch([finalColumns], function(_ref6, _ref7) {
var _ref8 = _slicedToArray(_ref6, 1), finalColumns2 = _ref8[0];
var _ref9 = _slicedToArray(_ref7, 1), preFinalColumns = _ref9[0];
var finalColKeys = finalColumns2.map(function(t) {
return t.colKey;
});
var preColKeys = preFinalColumns.map(function(t) {
return t.colKey;
});
if (finalColKeys.length < preColKeys.length) {
var reduceKeys = xorWith_1(preColKeys, finalColKeys);
var thWidthList2 = getThWidthList("calculate");
var reduceWidth = 0;
reduceKeys.forEach(function(key2) {
reduceWidth += thWidthList2[key2];
});
var oldTotalWidth = Object.values(thWidthList2).reduce(function() {
var r = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 0;
var n = arguments.length > 1 ? arguments[1] : void 0;
return r + n;
});
setTableElmWidth(oldTotalWidth - reduceWidth);
}
});
var refreshTable = function refreshTable2() {
updateThWidthListHandler();
updateFixedHeader();
updateAffixPosition();
if (isFixedColumn.value || isFixedHeader.value) {
updateFixedStatus();
updateColumnFixedShadow(tableContentRef.value, {
skipScrollLimit: true
});
}
};
var onResize = debounce_1(function() {
refreshTable();
}, 30);
var resizeObserver = null;
function addTableResizeObserver(tableElement) {
if (typeof window === "undefined")
return;
if (getIEVersion() < 11 || typeof window.ResizeObserver === "undefined")
return;
off$1(window, "resize", onResize);
resizeObserver = new window.ResizeObserver(function() {
var timer = setTimeout(function() {
refreshTable();
clearTimeout(timer);
}, 60);
});
resizeObserver.observe(tableElement);
tableRef.value = tableElement;
}
vue.onMounted(function() {
var scrollWidth = getScrollbarWidthWithCSS();
scrollbarWidth.value = scrollWidth;
updateThWidthListHandler();
var isWatchResize = isFixedColumn.value || isFixedHeader.value || !notNeedThWidthList.value || !data2.value.length;
var hasWindow = typeof window !== "undefined";
var hasResizeObserver = hasWindow && typeof window.ResizeObserver !== "undefined";
if (isWatchResize && getIEVersion() < 11 || !hasResizeObserver) {
on$1(window, "resize", onResize);
}
});
vue.onBeforeUnmount(function() {
var _resizeObserver, _resizeObserver2;
if (typeof window !== "undefined") {
off$1(window, "resize", onResize);
}
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 || _resizeObserver.unobserve(tableRef.value);
(_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 || _resizeObserver2.disconnect();
});
var setData = function setData2(dataSource) {
data2.value = dataSource;
};
var updateTableAfterColumnResize = function updateTableAfterColumnResize2() {
updateFixedStatus();
updateFixedHeader();
};
return {
tableWidth,
tableElmWidth,
thWidthList,
isFixedHeader,
isWidthOverflow,
tableContentRef,
isFixedColumn,
showColumnShadow,
rowAndColFixedPosition,
virtualScrollHeaderPos,
scrollbarWidth,
setData,
refreshTable,
setTableElmWidth,
emitScrollEvent,
updateThWidthListHandler,
updateColumnFixedShadow,
setUseFixedTableElmRef,
getThWidthList,
updateThWidthList,
addTableResizeObserver,
updateTableAfterColumnResize
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$l(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$k(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$l(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$l(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function usePagination(props2, context) {
var _toRefs = vue.toRefs(props2), pagination = _toRefs.pagination, data2 = _toRefs.data, disableDataPage = _toRefs.disableDataPage;
var _useConfig = useConfig(), classPrefix = _useConfig.classPrefix;
var innerPagination = vue.ref(props2.pagination);
var dataSource = vue.ref([]);
var isPaginateData = vue.ref(false);
var updateDataSourceAndPaginate = function updateDataSourceAndPaginate2() {
var current = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : 1;
var pageSize = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 10;
var data22 = props2.data;
var t = Boolean(!disableDataPage.value && data22.length > pageSize);
isPaginateData.value = t;
if (t) {
var start2 = (current - 1) * pageSize;
var end2 = current * pageSize;
dataSource.value = data22.slice(start2, end2);
} else {
dataSource.value = data22;
}
};
vue.watch(function() {
var _pagination$value, _pagination$value2;
return [(_pagination$value = pagination.value) === null || _pagination$value === void 0 ? void 0 : _pagination$value.current, (_pagination$value2 = pagination.value) === null || _pagination$value2 === void 0 ? void 0 : _pagination$value2.pageSize, data2.value.length, disableDataPage];
}, function() {
if (!pagination.value || !pagination.value.current)
return;
var _pagination$value3 = pagination.value, current = _pagination$value3.current, pageSize = _pagination$value3.pageSize;
innerPagination.value = {
current,
pageSize
};
updateDataSourceAndPaginate(pagination.value.current, pagination.value.pageSize);
}, {
immediate: true
});
vue.watch([data2], function() {
var _innerPagination$valu, _innerPagination$valu2;
if (!pagination.value || !pagination.value.defaultCurrent)
return;
var isControlled = Boolean(pagination.value.current);
if (isControlled)
return;
updateDataSourceAndPaginate((_innerPagination$valu = innerPagination.value.current) !== null && _innerPagination$valu !== void 0 ? _innerPagination$valu : pagination.value.defaultCurrent, (_innerPagination$valu2 = innerPagination.value.pageSize) !== null && _innerPagination$valu2 !== void 0 ? _innerPagination$valu2 : pagination.value.defaultPageSize);
}, {
immediate: true
});
var renderPagination = function renderPagination2() {
if (!props2.pagination)
return null;
var paginationProps = _objectSpread$k({}, props2.pagination);
delete paginationProps.onChange;
return vue.createVNode("div", {
"class": "".concat(classPrefix.value, "-table__pagination")
}, [vue.createVNode(Pagination, vue.mergeProps(paginationProps, {
"onChange": function onChange(pageInfo) {
var _props$pagination, _props$pagination$onC, _props$onPageChange;
(_props$pagination = props2.pagination) === null || _props$pagination === void 0 || (_props$pagination$onC = _props$pagination.onChange) === null || _props$pagination$onC === void 0 || _props$pagination$onC.call(_props$pagination, pageInfo);
innerPagination.value = pageInfo;
updateDataSourceAndPaginate(pageInfo.current, pageInfo.pageSize);
(_props$onPageChange = props2.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props2, pageInfo, dataSource.value);
}
}), {
totalContent: context.slots.totalContent
})]);
};
return {
isPaginateData,
dataSource,
innerPagination,
renderPagination
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useAffix(props2) {
var tableContentRef = vue.ref();
var affixHeaderRef = vue.ref();
var affixFooterRef = vue.ref();
var horizontalScrollbarRef = vue.ref();
var paginationRef = vue.ref();
var showAffixHeader = vue.ref(true);
var showAffixFooter = vue.ref(true);
var showAffixPagination = vue.ref(true);
var isVirtualScroll = vue.computed(function() {
return props2.scroll && props2.scroll.type === "virtual" && (props2.scroll.threshold || 100) < props2.data.length;
});
var isAffixed = vue.computed(function() {
return !!(props2.headerAffixedTop || props2.footerAffixedBottom || props2.horizontalScrollAffixedBottom);
});
var lastScrollLeft = 0;
var onHorizontalScroll = function onHorizontalScroll2(scrollElement) {
if (!isAffixed.value && !isVirtualScroll.value)
return;
var target = scrollElement;
if (!target && tableContentRef.value) {
lastScrollLeft = 0;
target = tableContentRef.value;
}
if (!target)
return;
var left2 = target.scrollLeft;
if (lastScrollLeft === left2)
return;
lastScrollLeft = left2;
var toUpdateScrollElement = [tableContentRef.value, affixHeaderRef.value, affixFooterRef.value, horizontalScrollbarRef.value];
for (var i = 0, len2 = toUpdateScrollElement.length; i < len2; i++) {
if (toUpdateScrollElement[i] && scrollElement !== toUpdateScrollElement[i]) {
toUpdateScrollElement[i].scrollLeft = left2;
}
}
};
var isAffixedBottomElementShow = function isAffixedBottomElementShow2(elementRect, tableRect, headerHeight) {
return tableRect.top + headerHeight < elementRect.top && elementRect.top > elementRect.height;
};
var getOffsetTop = function getOffsetTop2(props22) {
if (isBoolean_1(props22))
return 0;
return props22.offsetTop || 0;
};
var updateAffixHeaderOrFooter = function updateAffixHeaderOrFooter2() {
var _tableContentRef$valu, _tableContentRef$valu2, _affixFooterRef$value;
if (!isAffixed.value && !isVirtualScroll.value)
return;
var pos = (_tableContentRef$valu = tableContentRef.value) === null || _tableContentRef$valu === void 0 ? void 0 : _tableContentRef$valu.getBoundingClientRect();
var headerRect = (_tableContentRef$valu2 = tableContentRef.value) === null || _tableContentRef$valu2 === void 0 || (_tableContentRef$valu2 = _tableContentRef$valu2.querySelector("thead")) === null || _tableContentRef$valu2 === void 0 ? void 0 : _tableContentRef$valu2.getBoundingClientRect();
var headerHeight = (headerRect === null || headerRect === void 0 ? void 0 : headerRect.height) || 0;
var footerRect = (_affixFooterRef$value = affixFooterRef.value) === null || _affixFooterRef$value === void 0 ? void 0 : _affixFooterRef$value.getBoundingClientRect();
if ((props2.headerAffixedTop || isVirtualScroll.value) && affixHeaderRef.value) {
var offsetTop = getOffsetTop(props2.headerAffixProps || props2.headerAffixedTop);
var footerHeight = (footerRect === null || footerRect === void 0 ? void 0 : footerRect.height) || 0;
var r = Math.abs(pos.top) < pos.height - headerHeight - offsetTop - footerHeight;
if (isVirtualScroll.value) {
r = pos.top > -1 * headerRect.height;
}
showAffixHeader.value = r;
}
if (props2.footerAffixedBottom && affixFooterRef !== null && affixFooterRef !== void 0 && affixFooterRef.value) {
showAffixFooter.value = isAffixedBottomElementShow(footerRect, pos, headerHeight);
} else if (props2.horizontalScrollAffixedBottom && horizontalScrollbarRef !== null && horizontalScrollbarRef !== void 0 && horizontalScrollbarRef.value) {
var horizontalScrollbarRect = horizontalScrollbarRef.value.getBoundingClientRect();
showAffixFooter.value = isAffixedBottomElementShow(horizontalScrollbarRect, pos, headerHeight);
}
if (props2.paginationAffixedBottom && paginationRef.value) {
var pageRect = paginationRef.value.getBoundingClientRect();
showAffixPagination.value = isAffixedBottomElementShow(pageRect, pos, headerHeight);
}
};
var onDocumentScroll = function onDocumentScroll2() {
updateAffixHeaderOrFooter();
};
var onFootScroll = function onFootScroll2() {
onHorizontalScroll(affixFooterRef.value);
};
var onHeaderScroll = function onHeaderScroll2() {
onHorizontalScroll(affixHeaderRef.value);
};
var horizontalScrollbarScroll = function horizontalScrollbarScroll2() {
onHorizontalScroll(horizontalScrollbarRef.value);
};
var onTableContentScroll = function onTableContentScroll2() {
onHorizontalScroll(tableContentRef.value);
};
var onFootMouseEnter = function onFootMouseEnter2() {
on$1(affixFooterRef.value, "scroll", onFootScroll);
};
var onFootMouseLeave = function onFootMouseLeave2() {
off$1(affixFooterRef.value, "scroll", onFootScroll);
};
var onHeaderMouseEnter = function onHeaderMouseEnter2() {
on$1(affixHeaderRef.value, "scroll", onHeaderScroll);
};
var onHeaderMouseLeave = function onHeaderMouseLeave2() {
off$1(affixHeaderRef.value, "scroll", onHeaderScroll);
};
var onScrollbarMouseEnter = function onScrollbarMouseEnter2() {
on$1(horizontalScrollbarRef.value, "scroll", horizontalScrollbarScroll);
};
var onScrollbarMouseLeave = function onScrollbarMouseLeave2() {
off$1(horizontalScrollbarRef.value, "scroll", horizontalScrollbarScroll);
};
var onTableContentMouseEnter = function onTableContentMouseEnter2() {
on$1(tableContentRef.value, "scroll", onTableContentScroll);
};
var onTableContentMouseLeave = function onTableContentMouseLeave2() {
off$1(tableContentRef.value, "scroll", onTableContentScroll);
};
var addHorizontalScrollListeners = function addHorizontalScrollListeners2() {
if (affixHeaderRef.value) {
on$1(affixHeaderRef.value, "mouseenter", onHeaderMouseEnter);
on$1(affixHeaderRef.value, "mouseleave", onHeaderMouseLeave);
}
if (props2.footerAffixedBottom && affixFooterRef.value) {
on$1(affixFooterRef.value, "mouseenter", onFootMouseEnter);
on$1(affixFooterRef.value, "mouseleave", onFootMouseLeave);
}
if (props2.horizontalScrollAffixedBottom && horizontalScrollbarRef.value) {
on$1(horizontalScrollbarRef.value, "mouseenter", onScrollbarMouseEnter);
on$1(horizontalScrollbarRef.value, "mouseleave", onScrollbarMouseLeave);
}
if ((isAffixed.value || isVirtualScroll.value) && tableContentRef.value) {
on$1(tableContentRef.value, "mouseenter", onTableContentMouseEnter);
on$1(tableContentRef.value, "mouseleave", onTableContentMouseLeave);
}
};
var removeHorizontalScrollListeners = function removeHorizontalScrollListeners2() {
if (affixHeaderRef.value) {
off$1(affixHeaderRef.value, "mouseenter", onHeaderMouseEnter);
off$1(affixHeaderRef.value, "mouseleave", onHeaderMouseLeave);
}
if (affixFooterRef.value) {
off$1(affixFooterRef.value, "mouseenter", onFootMouseEnter);
off$1(affixFooterRef.value, "mouseleave", onFootMouseLeave);
}
if (tableContentRef.value) {
off$1(tableContentRef.value, "mouseenter", onTableContentMouseEnter);
off$1(tableContentRef.value, "mouseleave", onTableContentMouseLeave);
}
if (horizontalScrollbarRef.value) {
off$1(horizontalScrollbarRef.value, "mouseenter", onScrollbarMouseEnter);
off$1(horizontalScrollbarRef.value, "mouseleave", onScrollbarMouseLeave);
}
};
var addVerticalScrollListener = function addVerticalScrollListener2() {
if (!isAffixed.value && !props2.paginationAffixedBottom)
return;
var timer = setTimeout(function() {
if (isAffixed.value || props2.paginationAffixedBottom) {
on$1(document, "scroll", onDocumentScroll);
} else {
off$1(document, "scroll", onDocumentScroll);
}
clearTimeout(timer);
});
};
vue.watch([affixHeaderRef, affixFooterRef, horizontalScrollbarRef, tableContentRef], function() {
addHorizontalScrollListeners();
onHorizontalScroll();
updateAffixHeaderOrFooter();
});
vue.watch(isAffixed, addVerticalScrollListener);
vue.watch(function() {
return [props2.data, props2.columns, props2.headerAffixedTop, props2.footerAffixedBottom, props2.horizontalScrollAffixedBottom];
}, function() {
onHorizontalScroll();
});
vue.onBeforeUnmount(function() {
off$1(document, "scroll", onDocumentScroll);
removeHorizontalScrollListeners();
});
var setTableContentRef = function setTableContentRef2(tableContent) {
tableContentRef.value = tableContent;
addVerticalScrollListener();
};
return {
showAffixHeader,
showAffixFooter,
showAffixPagination,
affixHeaderRef,
affixFooterRef,
horizontalScrollbarRef,
paginationRef,
onHorizontalScroll,
setTableContentRef,
updateAffixHeaderOrFooter
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function formatRowAttributes(attributes, params) {
if (!attributes)
return void 0;
var attrList = attributes instanceof Array ? attributes : [attributes];
var result = {};
for (var i = 0; i < attrList.length; i++) {
var attrItem = attrList[i];
if (!attrItem)
continue;
var attrProperty = isFunction_1(attrItem) ? attrItem(params) : attrItem;
result = attrProperty instanceof Array ? formatRowAttributes(attrProperty, params) : Object.assign(result, attrProperty);
}
return result;
}
function formatRowClassNames(rowClassNames, params, rowKey) {
var rowClassList = rowClassNames instanceof Array ? rowClassNames : [rowClassNames];
var row = params.row, rowIndex = params.rowIndex;
var customClasses = [];
for (var i = 0, len2 = rowClassList.length; i < len2; i++) {
var rName = rowClassList[i];
var tClass = isFunction_1(rName) ? rName(params) : rName;
if (isObject_1(tClass) && !(tClass instanceof Array)) {
tClass[rowIndex] && (tClass = tClass[rowIndex]);
var rowId = get_1(row, rowKey || "id");
tClass[rowId] && (tClass = tClass[rowId]);
} else if (tClass instanceof Array) {
tClass = formatRowClassNames(tClass, params, rowKey);
}
customClasses = customClasses.concat(tClass);
}
return customClasses;
}
function formatClassNames(classNames, params) {
var classes = classNames instanceof Array ? classNames : [classNames];
var arr = [];
for (var i = 0, len2 = classes.length; i < len2; i++) {
var cls = classes[i];
if (isFunction_1(cls)) {
arr.push(cls(params));
} else {
arr.push(cls);
}
}
return arr;
}
function getCurrentRowByKey(columns, key2) {
if (!columns || !key2)
return;
var col = columns === null || columns === void 0 ? void 0 : columns.find(function(t) {
return t.colKey === key2;
});
if (col)
return col;
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _columns$i;
if ((_columns$i = columns[i]) !== null && _columns$i !== void 0 && (_columns$i = _columns$i.children) !== null && _columns$i !== void 0 && _columns$i.length) {
var _columns$i2;
return getCurrentRowByKey((_columns$i2 = columns[i]) === null || _columns$i2 === void 0 ? void 0 : _columns$i2.children, key2);
}
}
}
function getAffixProps(mainAffixProps, subAffixProps) {
if (_typeof$2(mainAffixProps) === "object")
return mainAffixProps;
if (_typeof$2(subAffixProps) === "object")
return subAffixProps;
return {};
}
function getEditableKeysMap(keys2, list, rowKey) {
var map = {};
for (var i = 0, len2 = list.length; i < len2; i++) {
var rowValue = get_1(list[i], rowKey);
if (keys2.includes(rowValue)) {
map[rowValue] = true;
}
}
return map;
}
function getColumnDataByKey(columns, colKey) {
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _columns$i$children;
if (columns[i].colKey === colKey)
return columns[i];
if ((_columns$i$children = columns[i].children) !== null && _columns$i$children !== void 0 && _columns$i$children.length) {
var t = getColumnDataByKey(columns[i].children, colKey);
if (t)
return t;
}
}
return null;
}
function getColumnIndexByKey(columns, colKey) {
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _columns$i$children2;
if (columns[i].colKey === colKey) {
return i;
}
if ((_columns$i$children2 = columns[i].children) !== null && _columns$i$children2 !== void 0 && _columns$i$children2.length) {
var t = getColumnDataByKey(columns[i].children, colKey);
if (t)
return i;
}
}
return -1;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useLazyLoad(containerRef, childRef, params) {
var tRowHeight = vue.computed(function() {
return Math.max(params.rowHeight || 48, 48);
});
var isInit = vue.ref(false);
var hasLazyLoadHolder = vue.computed(function() {
return (params === null || params === void 0 ? void 0 : params.type) === "lazy" && !isInit.value;
});
var requestAnimationFrame2 = !isServer && window.requestAnimationFrame || function(cb) {
return setTimeout(cb, 16.6);
};
var init = function init2() {
if (!isInit.value) {
requestAnimationFrame2(function() {
isInit.value = true;
});
}
};
vue.onMounted(function() {
if ((params === null || params === void 0 ? void 0 : params.type) !== "lazy")
return;
vue.nextTick(function() {
var bufferSize = Math.max(10, params.bufferSize || 10);
var height = tRowHeight.value * bufferSize;
observe(childRef.value, containerRef.value, init, height);
});
});
return {
hasLazyLoadHolder,
tRowHeight
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function getCellKey(row, rowKey, colKey, colIndex) {
var rowValue = get_1(row, rowKey);
if (rowValue === void 0) {
log.error("Table", "rowKey is wrong, can not get unique identifier of row.");
}
return [rowValue, colKey || colIndex].join("_");
}
function useRowspanAndColspan(data2, columns, rowKey, rowspanAndColspan) {
var skipSpansMap = vue.ref(/* @__PURE__ */ new Map());
var onTrRowspanOrColspan = function onTrRowspanOrColspan2(params, skipSpansValue) {
var rowIndex = params.rowIndex, colIndex = params.colIndex;
if (!skipSpansValue.rowspan && !skipSpansValue.colspan)
return;
var maxRowIndex = rowIndex + (skipSpansValue.rowspan || 1);
var maxColIndex = colIndex + (skipSpansValue.colspan || 1);
for (var i = rowIndex; i < maxRowIndex; i++) {
for (var j = colIndex; j < maxColIndex; j++) {
if (i !== rowIndex || j !== colIndex) {
if (!data2.value[i] || !columns.value[j])
return;
var cellKey = getCellKey(data2.value[i], rowKey.value, columns.value[j].colKey, j);
var state = skipSpansMap.value.get(cellKey) || {};
state.skipped = true;
skipSpansMap.value.set(cellKey, state);
}
}
}
};
var updateSkipSpansMap = function updateSkipSpansMap2(data22, columns2, rowspanAndColspan2) {
var _skipSpansMap$value;
(_skipSpansMap$value = skipSpansMap.value) === null || _skipSpansMap$value === void 0 || _skipSpansMap$value.clear();
if (!data22 || !rowspanAndColspan2)
return;
for (var i = 0, len2 = data22.length; i < len2; i++) {
var row = data22[i];
for (var j = 0, colLen = columns2.length; j < colLen; j++) {
var col = columns2[j];
var params = {
row,
col,
rowIndex: i,
colIndex: j
};
var cellKey = getCellKey(row, rowKey.value, col.colKey, j);
var state = skipSpansMap.value.get(cellKey) || {};
var o = rowspanAndColspan2(params) || {};
if (o.rowspan || o.colspan || state.rowspan || state.colspan) {
o.rowspan && (state.rowspan = o.rowspan);
o.colspan && (state.colspan = o.colspan);
skipSpansMap.value.set(cellKey, state);
}
onTrRowspanOrColspan === null || onTrRowspanOrColspan === void 0 || onTrRowspanOrColspan(params, state);
}
}
};
vue.watch(function() {
return [data2.value, columns.value, rowspanAndColspan];
}, function() {
updateSkipSpansMap(data2.value, columns.value, rowspanAndColspan === null || rowspanAndColspan === void 0 ? void 0 : rowspanAndColspan.value);
}, {
immediate: true
});
return {
skipSpansMap
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$k(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$j(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$k(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$k(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$4(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var TABLE_PROPS = ["rowKey", "rowClassName", "columns", "fixedRows", "footData", "rowAttributes", "rowspanAndColspan", "scroll", "cellEmptyContent", "pagination", "attach", "onCellClick", "onRowClick", "onRowDblclick", "onRowMouseover", "onRowMousedown", "onRowMouseenter", "onRowMouseleave", "onRowMouseup"];
var ROW_LISTENERS = ["click", "dblclick", "mouseover", "mousedown", "mouseenter", "mouseleave", "mouseup"];
function renderCell(params, slots, extra) {
var col = params.col, row = params.row, rowIndex = params.rowIndex;
if (col.colKey === "serial-number") {
var _ref = (extra === null || extra === void 0 ? void 0 : extra.pagination) || {}, current = _ref.current, pageSize = _ref.pageSize, defaultCurrent = _ref.defaultCurrent, defaultPageSize = _ref.defaultPageSize;
var tCurrent = current || defaultCurrent;
var tPageSize = pageSize || defaultPageSize;
if (tPageSize && tCurrent) {
return tPageSize * (tCurrent - 1) + rowIndex + 1;
}
return rowIndex + 1;
}
if (isFunction_1(col.cell)) {
return col.cell(vue.h, params);
}
if (slots[col.colKey]) {
return slots[col.colKey](params);
}
if (isString_1(col.cell) && slots[col.cell]) {
return slots[col.cell](params);
}
if (isFunction_1(col.render)) {
return col.render(vue.h, _objectSpread$j(_objectSpread$j({}, params), {}, {
type: "cell"
}));
}
var r = get_1(row, col.colKey);
if (![void 0, "", null].includes(r))
return r;
if (extra !== null && extra !== void 0 && extra.cellEmptyContent) {
return isFunction_1(extra.cellEmptyContent) ? extra.cellEmptyContent(vue.h, params) : extra.cellEmptyContent;
}
if (slots.cellEmptyContent)
return slots.cellEmptyContent(params);
if (slots["cell-empty-content"])
return slots["cell-empty-content"](params);
return r;
}
var TrElement = vue.defineComponent({
name: "TR",
props: _objectSpread$j(_objectSpread$j({
row: Object,
rowIndex: Number,
dataLength: Number,
ellipsisOverlayClassName: String,
classPrefix: String,
rowAndColFixedPosition: Map,
skipSpansMap: Map,
virtualConfig: Object,
active: Boolean,
isHover: Boolean
}, pick_1(baseTableProps, TABLE_PROPS)), {}, {
tableElm: {},
tableContentElm: {}
}),
emits: ["row-mounted"],
setup: function setup37(props2, context) {
var _toRefs = vue.toRefs(props2), tableContentElm = _toRefs.tableContentElm, active = _toRefs.active, isHover = _toRefs.isHover;
var trRef = vue.ref(null);
var _useClassName = useClassName(), tdEllipsisClass = _useClassName.tdEllipsisClass, tableBaseClass = _useClassName.tableBaseClass, tableColFixedClasses = _useClassName.tableColFixedClasses, tableRowFixedClasses = _useClassName.tableRowFixedClasses, tdAlignClasses = _useClassName.tdAlignClasses, tableDraggableClasses = _useClassName.tableDraggableClasses;
var trStyles = vue.computed(function() {
return getRowFixedStyles(get_1(props2.row, props2.rowKey || "id"), props2.rowIndex, props2.dataLength, props2.fixedRows, props2.rowAndColFixedPosition, tableRowFixedClasses);
});
var trAttributes = vue.computed(function() {
return formatRowAttributes(props2.rowAttributes, {
row: props2.row,
rowIndex: props2.rowIndex,
type: "body"
}) || {};
});
var classes = vue.computed(function() {
var _trStyles$value, _ref2;
var customClasses = formatRowClassNames(props2.rowClassName, {
row: props2.row,
rowIndex: props2.rowIndex,
type: "body"
}, props2.rowKey || "id");
return [(_trStyles$value = trStyles.value) === null || _trStyles$value === void 0 ? void 0 : _trStyles$value.classes, customClasses, (_ref2 = {}, _defineProperty$2(_ref2, "".concat(props2.classPrefix, "-table__row--active"), active.value), _defineProperty$2(_ref2, "".concat(props2.classPrefix, "-table__row--hover"), isHover.value), _ref2)].filter(function(v) {
return v;
});
});
var _useLazyLoad = useLazyLoad(tableContentElm, trRef, vue.reactive(_objectSpread$j(_objectSpread$j({}, props2.scroll), {}, {
rowIndex: props2.rowIndex
}))), hasLazyLoadHolder = _useLazyLoad.hasLazyLoadHolder, tRowHeight = _useLazyLoad.tRowHeight;
var getTrListeners = function getTrListeners2(row, rowIndex) {
var trListeners = {};
ROW_LISTENERS.forEach(function(eventName) {
trListeners["on".concat(upperFirst_1(eventName))] = function(e) {
var _props;
var p = {
e,
row,
index: rowIndex
};
(_props = props2["onRow".concat(upperFirst_1(eventName))]) === null || _props === void 0 || _props.call(props2, p);
};
});
return trListeners;
};
vue.watch([trRef], function() {
var _props$virtualConfig;
if ((_props$virtualConfig = props2.virtualConfig) !== null && _props$virtualConfig !== void 0 && _props$virtualConfig.isVirtualScroll.value) {
context.emit("row-mounted", {
ref: trRef,
data: props2.row
});
}
});
function renderEllipsisCell(cellParams, params) {
var cellNode = params.cellNode;
var col = cellParams.col, colIndex = cellParams.colIndex;
var content;
if (isFunction_1(col.ellipsis)) {
content = col.ellipsis(vue.h, cellParams);
} else if (_typeof$2(col.ellipsis) === "object" && isFunction_1(col.ellipsis.content)) {
content = col.ellipsis.content(vue.h, cellParams);
} else if (context.slots["ellipsis-".concat(col.colKey)]) {
content = context.slots["ellipsis-".concat(col.colKey)](cellParams);
} else if (context.slots.ellipsis) {
content = context.slots.ellipsis(cellParams);
}
var tooltipProps = {};
if (_typeof$2(col.ellipsis) === "object") {
tooltipProps = "props" in col.ellipsis ? col.ellipsis.props : col.ellipsis || void 0;
}
var tableElement = props2.tableElm;
var placement = colIndex === 0 ? "top-left" : "top";
placement = colIndex === props2.columns.length - 1 ? "top-right" : placement;
return vue.createVNode(TEllipsis, {
"placement": placement,
"attach": tableElement ? function() {
return tableElement;
} : void 0,
"tooltipContent": content && function() {
return content;
},
"tooltipProps": tooltipProps,
"overlayClassName": props2.ellipsisOverlayClassName,
"classPrefix": props2.classPrefix
}, _isSlot$4(cellNode) ? cellNode : {
"default": function _default16() {
return [cellNode];
}
});
}
function renderTd(params, extra) {
var _ref3;
var col = params.col, colIndex = params.colIndex, rowIndex = params.rowIndex;
var cellSpans = extra.cellSpans, dataLength = extra.dataLength, rowAndColFixedPosition = extra.rowAndColFixedPosition;
var cellNode = renderCell(params, context.slots, {
cellEmptyContent: extra.cellEmptyContent,
pagination: props2.pagination
});
var tdStyles = getColumnFixedStyles(col, colIndex, rowAndColFixedPosition, tableColFixedClasses);
var customClasses = formatClassNames(col.className, _objectSpread$j(_objectSpread$j({}, params), {}, {
type: "td"
}));
var classes2 = [tdStyles.classes, customClasses, (_ref3 = {}, _defineProperty$2(_ref3, tdEllipsisClass, col.ellipsis), _defineProperty$2(_ref3, tableBaseClass.tdLastRow, rowIndex + cellSpans.rowspan === dataLength), _defineProperty$2(_ref3, tableBaseClass.tdFirstCol, colIndex === 0 && props2.rowspanAndColspan), _defineProperty$2(_ref3, tdAlignClasses[col.align], col.align && col.align !== "left"), _defineProperty$2(_ref3, tableDraggableClasses.handle, col.colKey === "drag"), _ref3)];
var onClick = function onClick2(e) {
var _props$onCellClick;
var p = _objectSpread$j(_objectSpread$j({}, params), {}, {
e
});
if (col.stopPropagation) {
e.stopPropagation();
}
(_props$onCellClick = props2.onCellClick) === null || _props$onCellClick === void 0 || _props$onCellClick.call(props2, p);
};
var normalAttrs = isFunction_1(col.attrs) ? col.attrs(_objectSpread$j(_objectSpread$j({}, params), {}, {
type: "td"
})) : col.attrs;
var attrs = _objectSpread$j(_objectSpread$j({}, normalAttrs), cellSpans);
return vue.createVNode("td", vue.mergeProps({
"key": col.colKey || colIndex,
"class": classes2,
"style": tdStyles.style
}, attrs, {
"onClick": onClick
}), [col.ellipsis ? renderEllipsisCell(params, {
cellNode
}) : cellNode]);
}
return function() {
var _trStyles$value2;
var columns = props2.columns, skipSpansMap = props2.skipSpansMap, row = props2.row, dataLength = props2.dataLength, rowAndColFixedPosition = props2.rowAndColFixedPosition;
var columVNodeList = columns === null || columns === void 0 ? void 0 : columns.map(function(col, colIndex) {
var cellSpans = {};
var params = {
row,
col,
rowIndex: props2.rowIndex,
colIndex
};
var spanState = null;
if (props2.skipSpansMap.size) {
var _spanState, _spanState2;
var cellKey = getCellKey(row, props2.rowKey, col.colKey, colIndex);
spanState = skipSpansMap.get(cellKey) || {};
((_spanState = spanState) === null || _spanState === void 0 ? void 0 : _spanState.rowspan) > 1 && (cellSpans.rowspan = spanState.rowspan);
((_spanState2 = spanState) === null || _spanState2 === void 0 ? void 0 : _spanState2.colspan) > 1 && (cellSpans.colspan = spanState.colspan);
if (spanState.skipped)
return null;
}
return renderTd(params, {
dataLength,
rowAndColFixedPosition,
columnLength: columns.length,
cellSpans,
cellEmptyContent: props2.cellEmptyContent
});
});
return vue.createVNode("tr", vue.mergeProps({
"ref": trRef
}, trAttributes.value, {
"style": (_trStyles$value2 = trStyles.value) === null || _trStyles$value2 === void 0 ? void 0 : _trStyles$value2.style,
"class": classes.value
}, getTrListeners(row, props2.rowIndex)), [hasLazyLoadHolder.value ? [vue.createVNode("td", {
"style": {
height: "".concat(tRowHeight.value, "px"),
border: "none"
}
}, null)] : columVNodeList]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$j(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$i(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$j(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$j(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var extendTableProps = ["bordered", "rowKey", "rowClassName", "rowAttributes", "loading", "empty", "fixedRows", "firstFullRow", "lastFullRow", "rowspanAndColspan", "scroll", "cellEmptyContent", "pagination", "attach", "onCellClick", "onPageChange", "onRowClick", "onRowDblclick", "onRowMouseover", "onRowMousedown", "onRowMouseenter", "onRowMouseleave", "onRowMouseup", "onScroll", "onScrollX", "onScrollY"];
var TBody = vue.defineComponent({
name: "TBody",
props: _objectSpread$i({
classPrefix: String,
data: Array,
columns: Array,
ellipsisOverlayClassName: String,
rowAndColFixedPosition: Map,
showColumnShadow: Object,
tableElm: {},
tableWidth: Number,
isWidthOverflow: Boolean,
virtualConfig: Object,
tableContentElm: {},
handleRowMounted: Function,
renderExpandedRow: Function,
firstFullRow: [String, Function],
lastFullRow: [String, Function],
activeRow: [Array],
hoverRow: [String, Number]
}, pick_1(baseTableProps, extendTableProps)),
setup: function setup38(props2) {
var renderTNode = useTNodeJSX();
var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, columns = _toRefs.columns, rowKey = _toRefs.rowKey, rowspanAndColspan = _toRefs.rowspanAndColspan;
var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var _useClassName = useClassName(), tableFullRowClasses = _useClassName.tableFullRowClasses, tableBaseClass = _useClassName.tableBaseClass;
var _useRowspanAndColspan = useRowspanAndColspan(data2, columns, rowKey, rowspanAndColspan), skipSpansMap = _useRowspanAndColspan.skipSpansMap;
var tbodyClasses = vue.computed(function() {
return [tableBaseClass.body];
});
return {
t,
globalConfig,
renderTNode,
tableFullRowClasses,
tbodyClasses,
tableBaseClass,
skipSpansMap
};
},
render: function render10() {
var _this = this, _this$data, _this$data2, _this$virtualConfig, _this$virtualConfig2;
var renderEmpty = function renderEmpty2(columns) {
var tableWidth = _this.bordered ? _this.tableWidth - 2 : _this.tableWidth;
return vue.createVNode("tr", {
"class": [_this.tableBaseClass.emptyRow, _defineProperty$2({}, _this.tableFullRowClasses.base, _this.isWidthOverflow)]
}, [vue.createVNode("td", {
"colspan": columns.length
}, [vue.createVNode("div", {
"class": [_this.tableBaseClass.empty, _defineProperty$2({}, _this.tableFullRowClasses.innerFullRow, _this.isWidthOverflow)],
"style": _this.isWidthOverflow ? {
width: "".concat(tableWidth, "px")
} : {}
}, [_this.renderTNode("empty") || _this.t(_this.globalConfig.empty)])])]);
};
var getFullRow = function getFullRow2(columnLength2, type) {
var tType = camelCase_1(type);
var fullRowNode = _this.renderTNode(tType);
if (["", null, void 0, false].includes(fullRowNode))
return null;
var isFixedToLeft = _this.isWidthOverflow && _this.columns.find(function(col) {
return col.fixed === "left";
});
var classes = [_this.tableFullRowClasses.base, _this.tableFullRowClasses[tType]];
var tableWidth = _this.bordered ? _this.tableWidth - 2 : _this.tableWidth;
return vue.createVNode("tr", {
"class": classes,
"key": "key-full-row-".concat(type)
}, [vue.createVNode("td", {
"colspan": columnLength2
}, [vue.createVNode("div", {
"class": _defineProperty$2({}, _this.tableFullRowClasses.innerFullRow, isFixedToLeft),
"style": isFixedToLeft ? {
width: "".concat(tableWidth, "px")
} : {}
}, [vue.createVNode("div", {
"class": _this.tableFullRowClasses.innerFullElement
}, [fullRowNode])])])]);
};
var columnLength = this.columns.length;
var dataLength = this.data.length;
var trNodeList = [];
var properties = ["classPrefix", "ellipsisOverlayClassName", "rowAndColFixedPosition", "scroll", "tableElm", "tableContentElm", "pagination", "attach"];
(_this$data = this.data) === null || _this$data === void 0 || _this$data.forEach(function(row, rowIndex) {
var _this$activeRow;
var rowKey = _this.rowKey || "id";
var rowValue = get_1(row, rowKey);
var trProps = _objectSpread$i(_objectSpread$i({}, pick_1(_this.$props, TABLE_PROPS)), {}, {
rowKey,
row,
columns: _this.columns,
rowIndex: row.__VIRTUAL_SCROLL_INDEX || rowIndex,
dataLength,
skipSpansMap: _this.skipSpansMap,
virtualConfig: _this.virtualConfig,
active: (_this$activeRow = _this.activeRow) === null || _this$activeRow === void 0 ? void 0 : _this$activeRow.includes(rowValue),
isHover: _this.hoverRow === rowValue
}, pick_1(_this.$props, properties));
if (_this.onCellClick) {
trProps.onCellClick = _this.onCellClick;
}
var trNode = vue.createVNode(TrElement, vue.mergeProps({
"key": get_1(row, _this.rowKey || "id") || rowIndex
}, trProps, {
"onRowMounted": _this.handleRowMounted
}), _this.$slots);
trNodeList.push(trNode);
if (_this.renderExpandedRow) {
var p = {
row,
index: rowIndex,
columns: _this.columns,
tableWidth: _this.tableWidth,
isWidthOverflow: _this.isWidthOverflow
};
var expandedContent = _this.renderExpandedRow(p);
expandedContent && trNodeList.push(expandedContent);
}
});
var list = [getFullRow(columnLength, "first-full-row")].concat(trNodeList, [getFullRow(columnLength, "last-full-row")]);
var isEmpty2 = !((_this$data2 = this.data) !== null && _this$data2 !== void 0 && _this$data2.length) && !this.loading && !this.firstFullRow && !this.lastFullRow;
var translate = "translateY(".concat((_this$virtualConfig = this.virtualConfig) === null || _this$virtualConfig === void 0 ? void 0 : _this$virtualConfig.translateY.value, "px)");
var posStyle = (_this$virtualConfig2 = this.virtualConfig) !== null && _this$virtualConfig2 !== void 0 && _this$virtualConfig2.isVirtualScroll.value ? {
transform: translate,
"-ms-transform": translate,
"-moz-transform": translate,
"-webkit-transform": translate
} : void 0;
return vue.createVNode("tbody", {
"class": this.tbodyClasses,
"style": _objectSpread$i({}, posStyle)
}, [isEmpty2 ? renderEmpty(this.columns) : list]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function formatCSSUnit(unit) {
if (!unit)
return unit;
return isNaN(Number(unit)) ? unit : "".concat(unit, "px");
}
function useStyle(props2) {
var _toRefs = vue.toRefs(props2), size = _toRefs.size, bordered = _toRefs.bordered, stripe = _toRefs.stripe, hover = _toRefs.hover, verticalAlign = _toRefs.verticalAlign, height = _toRefs.height, maxHeight = _toRefs.maxHeight, tableContentWidth = _toRefs.tableContentWidth;
var _useClassName = useClassName(), tableBaseClass = _useClassName.tableBaseClass, tableAlignClasses = _useClassName.tableAlignClasses;
var _useCommonClassName = useCommonClassName(), sizeClassNames = _useCommonClassName.sizeClassNames;
var tableClasses = vue.computed(function() {
var _ref;
return [tableBaseClass.table, (_ref = {}, _defineProperty$2(_ref, sizeClassNames[size.value], size.value !== "medium"), _defineProperty$2(_ref, tableBaseClass.bordered, bordered.value), _defineProperty$2(_ref, tableBaseClass.striped, stripe.value), _defineProperty$2(_ref, tableBaseClass.hover, hover.value), _defineProperty$2(_ref, tableBaseClass.loading, props2.loading), _defineProperty$2(_ref, tableBaseClass.affixedHeader, props2.headerAffixedTop), _defineProperty$2(_ref, tableBaseClass.rowspanAndColspan, props2.rowspanAndColspan), _defineProperty$2(_ref, tableAlignClasses[verticalAlign.value], verticalAlign.value !== "middle"), _ref)];
});
var tableContentStyles = vue.computed(function() {
return {
height: formatCSSUnit(height.value),
maxHeight: formatCSSUnit(maxHeight.value)
};
});
var tableElementStyles = vue.computed(function() {
return {
width: formatCSSUnit(tableContentWidth.value)
};
});
return {
tableClasses,
sizeClassNames,
tableElementStyles,
tableContentStyles
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$i(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$h(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$i(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$i(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$3(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var THead = vue.defineComponent({
name: "THead",
props: {
classPrefix: String,
ellipsisOverlayClassName: String,
isFixedHeader: Boolean,
thDraggable: Boolean,
maxHeight: [String, Number],
height: [String, Number],
rowAndColFixedPosition: Map,
thWidthList: Object,
bordered: Boolean,
isMultipleHeader: Boolean,
resizable: Boolean,
attach: [String, Function],
spansAndLeafNodes: Object,
thList: Array,
columnResizeParams: Object,
showColumnShadow: Object
},
setup: function setup39(props2, _ref) {
var slots = _ref.slots;
var theadRef = vue.ref();
var classnames = useClassName();
var tableHeaderClasses = classnames.tableHeaderClasses, tableBaseClass = classnames.tableBaseClass;
var theadClasses = vue.computed(function() {
var _ref2;
return [tableHeaderClasses.header, (_ref2 = {}, _defineProperty$2(_ref2, tableHeaderClasses.fixed, Boolean(props2.maxHeight || props2.height)), _defineProperty$2(_ref2, tableBaseClass.bordered, props2.bordered && props2.isMultipleHeader), _defineProperty$2(_ref2, tableHeaderClasses.multipleHeader, props2.isMultipleHeader), _ref2)];
});
var colspanSkipMap = vue.computed(function() {
var map = {};
var list = props2.thList[0];
for (var i = 0, len2 = list.length; i < len2; i++) {
var item = list[i];
if (item.colspan > 1) {
for (var j = i + 1; j < i + item.colspan; j++) {
if (list[j]) {
map[list[j].colKey] = true;
}
}
}
}
return map;
});
var getTableNode = function getTableNode2(thead) {
var parent2 = thead;
while (parent2) {
var _parent2;
parent2 = parent2.parentNode;
if ((_parent2 = parent2) !== null && _parent2 !== void 0 && (_parent2 = _parent2.classList) !== null && _parent2 !== void 0 && _parent2.contains("".concat(props2.classPrefix, "-table"))) {
break;
}
}
return parent2;
};
return _objectSpread$h(_objectSpread$h({}, classnames), {}, {
colspanSkipMap,
theadClasses,
theadRef,
slots,
getTableNode
});
},
render: function render11() {
var _this = this;
var renderThNodeList = function renderThNodeList2(rowAndColFixedPosition, thWidthList) {
var thBorderMap = /* @__PURE__ */ new Map();
var thRowspanAndColspan = _this.spansAndLeafNodes.rowspanAndColspanMap;
return _this.thList.map(function(row, rowIndex) {
var thRow = row.map(function(col, index2) {
var _ref3, _col$children;
if (_this.colspanSkipMap[col.colKey])
return null;
var rowspanAndColspan = thRowspanAndColspan.get(col);
if (index2 === 0 && rowspanAndColspan.rowspan > 1) {
for (var j = rowIndex + 1; j < rowIndex + rowspanAndColspan.rowspan; j++) {
thBorderMap.set(_this.thList[j][0], true);
}
}
var thStyles = getColumnFixedStyles(col, index2, rowAndColFixedPosition, _this.tableColFixedClasses);
var colParams = {
col,
colIndex: index2,
row: {},
rowIndex: -1
};
var customClasses = formatClassNames(col.className, _objectSpread$h(_objectSpread$h({}, colParams), {}, {
type: "th"
}));
var isLeftFixedActive = _this.showColumnShadow.left && col.fixed === "left";
var isRightFixedActive = _this.showColumnShadow.right && col.fixed === "right";
var canDragSort = _this.thDraggable && !(isLeftFixedActive || isRightFixedActive);
var thClasses = [thStyles.classes, customClasses, (_ref3 = {}, _defineProperty$2(_ref3, _this.tableHeaderClasses.thBordered, thBorderMap.get(col)), _defineProperty$2(_ref3, "".concat(_this.classPrefix, "-table__th-").concat(col.colKey), col.colKey), _defineProperty$2(_ref3, _this.tdAlignClasses[col.align], col.align && col.align !== "left"), _defineProperty$2(_ref3, _this.tableDraggableClasses.dragSortTh, canDragSort), _ref3)];
var withoutChildren = !((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length);
var width = withoutChildren && thWidthList !== null && thWidthList !== void 0 && thWidthList[col.colKey] ? "".concat(thWidthList === null || thWidthList === void 0 ? void 0 : thWidthList[col.colKey], "px") : void 0;
var styles = _objectSpread$h(_objectSpread$h({}, thStyles.style || {}), {}, {
width
});
var innerTh = renderTitle(_this.slots, col, index2);
var resizeColumnListener = _this.resizable || !canDragSort ? {
onMousedown: function onMousedown(e) {
if (_this.resizable) {
var _this$columnResizePar, _this$columnResizePar2;
(_this$columnResizePar = _this.columnResizeParams) === null || _this$columnResizePar === void 0 || (_this$columnResizePar2 = _this$columnResizePar.onColumnMousedown) === null || _this$columnResizePar2 === void 0 || _this$columnResizePar2.call(_this$columnResizePar, e, col, index2);
}
if (!canDragSort) {
var timer = setTimeout(function() {
var _thList$index;
var thList = _this.theadRef.querySelectorAll("th");
(_thList$index = thList[index2]) === null || _thList$index === void 0 || _thList$index.removeAttribute("draggable");
clearTimeout(timer);
}, 10);
}
},
onMousemove: function onMousemove(e) {
var _this$columnResizePar3, _this$columnResizePar4;
_this.resizable && ((_this$columnResizePar3 = _this.columnResizeParams) === null || _this$columnResizePar3 === void 0 || (_this$columnResizePar4 = _this$columnResizePar3.onColumnMouseover) === null || _this$columnResizePar4 === void 0 ? void 0 : _this$columnResizePar4.call(_this$columnResizePar3, e, col));
}
} : {};
var content = isFunction_1(col.ellipsisTitle) ? col.ellipsisTitle(vue.h, {
col,
colIndex: index2
}) : void 0;
var isEllipsis = col.ellipsisTitle !== void 0 ? Boolean(col.ellipsisTitle) : Boolean(col.ellipsis);
var attrs = (isFunction_1(col.attrs) ? col.attrs(_objectSpread$h(_objectSpread$h({}, colParams), {}, {
type: "th"
})) : col.attrs) || {};
if (col.colspan > 1) {
attrs.colspan = col.colspan;
}
return vue.createVNode("th", vue.mergeProps({
"key": col.colKey,
"data-colkey": col.colKey,
"class": thClasses,
"style": styles
}, attrs, rowspanAndColspan, resizeColumnListener), [vue.createVNode("div", {
"class": _this.tableBaseClass.thCellInner
}, [isEllipsis ? vue.createVNode(TEllipsis, {
"placement": "bottom",
"attach": _this.attach || (_this.theadRef ? function() {
return _this.getTableNode(_this.theadRef);
} : void 0),
"tooltipContent": content && function() {
return content;
},
"tooltipProps": _typeof$2(col.ellipsisTitle) === "object" ? col.ellipsisTitle : void 0,
"overlayClassName": _this.ellipsisOverlayClassName,
"classPrefix": _this.classPrefix
}, _isSlot$3(innerTh) ? innerTh : {
"default": function _default16() {
return [innerTh];
}
}) : innerTh])]);
});
return vue.createVNode("tr", {
"key": rowIndex
}, [thRow]);
});
};
return vue.createVNode("thead", {
"ref": "theadRef",
"class": this.theadClasses
}, [renderThNodeList(this.rowAndColFixedPosition, this.thWidthList)]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$h(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$g(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$h(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$h(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var TFoot = vue.defineComponent({
name: "TFoot",
props: {
rowKey: String,
isFixedHeader: Boolean,
rowAndColFixedPosition: Map,
footData: Array,
columns: Array,
rowAttributes: [Array, Object, Function],
rowClassName: [Array, String, Object, Function],
thWidthList: [Object],
footerSummary: [String, Function],
rowspanAndColspanInFooter: Function
},
setup: function setup40(props2, context) {
var renderTNode = useTNodeJSX();
var classnames = useClassName();
var _toRefs = vue.toRefs(props2), footData = _toRefs.footData, columns = _toRefs.columns, rowKey = _toRefs.rowKey, rowspanAndColspanInFooter = _toRefs.rowspanAndColspanInFooter;
var _useRowspanAndColspan = useRowspanAndColspan(footData, columns, rowKey, rowspanAndColspanInFooter), skipSpansMap = _useRowspanAndColspan.skipSpansMap;
var renderTFootCell = function renderTFootCell2(p) {
var col = p.col, row = p.row;
if (isFunction_1(col.foot)) {
return col.foot(vue.h, p);
}
if (isString_1(col.foot) && context.slots[col.foot]) {
return context.slots[col.foot](p) || col.foot;
}
return col.foot || get_1(row, col.colKey);
};
return _objectSpread$g(_objectSpread$g({
skipSpansMap
}, classnames), {}, {
renderTFootCell,
renderTNode
});
},
render: function render12() {
var _this$footData, _this = this;
if (!this.columns)
return null;
var theadClasses = [this.tableFooterClasses.footer, _defineProperty$2({}, this.tableFooterClasses.fixed, this.isFixedHeader)];
var footerDomList = (_this$footData = this.footData) === null || _this$footData === void 0 ? void 0 : _this$footData.map(function(row, rowIndex) {
var trAttributes = formatRowAttributes(_this.rowAttributes, {
row,
rowIndex,
type: "foot"
});
var customClasses = formatRowClassNames(_this.rowClassName, {
row,
rowIndex,
type: "foot"
}, _this.rowKey || "id");
return vue.createVNode("tr", vue.mergeProps(trAttributes, {
"key": rowIndex,
"class": customClasses
}), [_this.columns.map(function(col, colIndex) {
var _this$thWidthList;
var cellSpans = {};
var spanState = null;
if (_this.skipSpansMap.size) {
var _spanState, _spanState2;
var cellKey = getCellKey(row, _this.rowKey, col.colKey, colIndex);
spanState = _this.skipSpansMap.get(cellKey) || {};
((_spanState = spanState) === null || _spanState === void 0 ? void 0 : _spanState.rowspan) > 1 && (cellSpans.rowspan = spanState.rowspan);
((_spanState2 = spanState) === null || _spanState2 === void 0 ? void 0 : _spanState2.colspan) > 1 && (cellSpans.colspan = spanState.colspan);
if (spanState.skipped)
return null;
}
var tdStyles = getColumnFixedStyles(col, colIndex, _this.rowAndColFixedPosition, _this.tableColFixedClasses);
var style2 = _objectSpread$g({}, tdStyles.style);
if ((_this$thWidthList = _this.thWidthList) !== null && _this$thWidthList !== void 0 && _this$thWidthList[col.colKey]) {
style2.width = "".concat(_this.thWidthList[col.colKey], "px");
}
return vue.createVNode("td", vue.mergeProps(_objectSpread$g({
key: col.colKey
}, cellSpans), {
"class": tdStyles.classes,
"style": style2
}), [_this.renderTFootCell({
row,
rowIndex,
col,
colIndex
})]);
})]);
});
var footerSummary = this.renderTNode("footerSummary");
if (!footerSummary && (!this.footData || !this.footData.length))
return null;
return vue.createVNode("tfoot", {
"ref": "tFooterRef",
"class": theadClasses
}, [footerSummary && vue.createVNode("tr", {
"class": this.tableFullRowClasses.base
}, [vue.createVNode("td", {
"colspan": this.columns.length
}, [vue.createVNode("div", {
"class": this.tableFullRowClasses.innerFullElement
}, [footerSummary])])]), footerDomList]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var ARROW_DOWN_REG = /ArrowDown/i;
var ARROW_UP_REG = /ArrowUp/i;
var ESCAPE_REG = /Escape/i;
var SPACE_REG = /Space/i;
var SHIFT_REG = /Shift/i;
var CLEAR_REG = /KeyC/i;
var ALL_REG = /(KeyA|KeyL)/i;
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useRowHighlight(props2, tableRef) {
var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, activeRowType = _toRefs.activeRowType, activeRowKeys = _toRefs.activeRowKeys, defaultActiveRowKeys = _toRefs.defaultActiveRowKeys, disableSpaceInactiveRow = _toRefs.disableSpaceInactiveRow;
var currentOperationRowIndex = vue.ref(-1);
var isShiftPressed = vue.ref(false);
var shiftSelectionState = vue.ref(false);
var areaSelectionStartIndex = vue.ref(-1);
var _useDefaultValue = useDefaultValue(activeRowKeys, defaultActiveRowKeys.value, props2.onActiveChange, "active-row-keys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tActiveRow = _useDefaultValue2[0], setTActiveRow = _useDefaultValue2[1];
var handleInactive = function handleInactive2(ctx) {
var row = ctx.row;
var rowValue = get_1(row, props2.rowKey);
if (activeRowType.value === "single") {
setTActiveRow([], {
type: "inactive",
activeRowList: [],
currentRowData: row
});
} else if (activeRowType.value === "multiple") {
var newActiveRowKeys = tActiveRow.value.filter(function(t) {
return t !== rowValue;
});
setTActiveRow(newActiveRowKeys, {
type: "inactive",
activeRowList: [],
currentRowData: row
});
}
};
var handleActive = function handleActive2(ctx) {
var row = ctx.row;
var rowValue = get_1(row, props2.rowKey);
if (activeRowType.value === "single") {
setTActiveRow([rowValue], {
activeRowList: [{
row,
rowIndex: ctx.index
}],
currentRowData: row,
type: "active"
});
} else {
var newActiveRowKeys = tActiveRow.value.concat(rowValue);
var activeRowList = [];
for (var i = 0, len2 = data2.value.length; i < len2; i++) {
var row2 = data2.value[i];
if (newActiveRowKeys.includes(get_1(row2, props2.rowKey))) {
activeRowList.push({
row: row2,
rowIndex: i
});
}
}
setTActiveRow(newActiveRowKeys, {
activeRowList,
currentRowData: row,
type: "active"
});
}
};
var handleShiftActive = function handleShiftActive2(ctx) {
document.getSelection().removeAllRanges();
var row = ctx.row;
var currentIndex = currentOperationRowIndex.value;
var startIndex = Math.min(areaSelectionStartIndex.value, currentIndex);
var endIndex = Math.max(areaSelectionStartIndex.value, currentIndex);
var newActiveRowData = [];
for (var i = startIndex; i <= endIndex; i++) {
newActiveRowData.push({
row: data2.value[i],
rowIndex: i
});
}
var newActiveRowKeys = newActiveRowData.map(function(item) {
return get_1(item.row, props2.rowKey);
});
setTActiveRow(newActiveRowKeys, {
activeRowList: newActiveRowData,
type: "active",
currentRowData: row
});
};
var getActiveRowList = function getActiveRowList2() {
var list = [];
for (var i = 0, len2 = data2.value.length; i < len2; i++) {
var row = data2.value[i];
var rowValue = get_1(row, props2.rowKey);
if (tActiveRow.value.includes(rowValue)) {
list.push({
row,
rowIndex: i
});
}
}
return list;
};
var onHighlightRow = function onHighlightRow2(ctx, extra) {
if (!activeRowType.value)
return;
var row = ctx.row, index2 = ctx.index;
var rowValue = get_1(row, props2.rowKey);
if (isShiftPressed.value) {
currentOperationRowIndex.value = index2;
handleShiftActive(ctx);
shiftSelectionState.value = true;
} else if (tActiveRow.value.includes(rowValue) && (extra === null || extra === void 0 ? void 0 : extra.action) !== "active") {
handleInactive(ctx);
currentOperationRowIndex.value = index2;
} else {
handleActive(ctx);
currentOperationRowIndex.value = index2;
}
};
var clearActive = function clearActive2() {
var _props$onActiveRowAct;
setTActiveRow([], {
activeRowList: [],
currentRowData: void 0,
type: "inactive"
});
(_props$onActiveRowAct = props2.onActiveRowAction) === null || _props$onActiveRowAct === void 0 || _props$onActiveRowAct.call(props2, {
action: "clear",
activeRowList: []
});
currentOperationRowIndex.value = -1;
};
var setAllActive = function setAllActive2() {
var _props$onActiveRowAct2;
var activeKeys = data2.value.map(function(item) {
return get_1(item, props2.rowKey);
});
var activeRowList = data2.value.map(function(row, rowIndex) {
return {
row,
rowIndex
};
});
setTActiveRow(activeKeys, {
activeRowList,
currentRowData: void 0,
type: "active"
});
(_props$onActiveRowAct2 = props2.onActiveRowAction) === null || _props$onActiveRowAct2 === void 0 || _props$onActiveRowAct2.call(props2, {
action: "select-all",
activeRowList
});
currentOperationRowIndex.value = -1;
};
var clearShiftAreaSelection = function clearShiftAreaSelection2() {
shiftSelectionState.value = false;
};
var keyboardDownListener = function keyboardDownListener2(e) {
var _e$key;
var code = e.code || ((_e$key = e.key) === null || _e$key === void 0 ? void 0 : _e$key.trim());
if (ARROW_DOWN_REG.test(code)) {
e.preventDefault();
var index2 = Math.min(data2.value.length - 1, currentOperationRowIndex.value + 1);
if (activeRowType.value === "single") {
onHighlightRow({
row: data2.value[index2],
index: index2,
e
}, {
action: "active"
});
} else {
currentOperationRowIndex.value = index2;
}
} else if (ARROW_UP_REG.test(code)) {
e.preventDefault();
var _index = Math.max(0, currentOperationRowIndex.value - 1);
if (activeRowType.value === "single") {
onHighlightRow({
row: data2.value[_index],
index: _index,
e
}, {
action: "active"
});
} else {
currentOperationRowIndex.value = _index;
}
} else if (SPACE_REG.test(code)) {
e.preventDefault();
var _index2 = currentOperationRowIndex.value;
if (shiftSelectionState.value) {
var _props$onActiveRowAct3;
(_props$onActiveRowAct3 = props2.onActiveRowAction) === null || _props$onActiveRowAct3 === void 0 || _props$onActiveRowAct3.call(props2, {
action: "shift-area-selection",
activeRowList: getActiveRowList()
});
} else if (!disableSpaceInactiveRow.value) {
onHighlightRow({
row: data2.value[_index2],
index: _index2,
e
});
} else {
var _props$onActiveRowAct4;
(_props$onActiveRowAct4 = props2.onActiveRowAction) === null || _props$onActiveRowAct4 === void 0 || _props$onActiveRowAct4.call(props2, {
action: "space-one-selection",
activeRowList: getActiveRowList()
});
}
} else if (SHIFT_REG.test(code)) {
isShiftPressed.value = true;
areaSelectionStartIndex.value = currentOperationRowIndex.value;
} else if (ESCAPE_REG.test(code) || CLEAR_REG.test(code)) {
clearActive();
clearShiftAreaSelection();
} else if (ALL_REG.test(code)) {
setAllActive();
}
if (!SPACE_REG.test(code)) {
clearShiftAreaSelection();
}
};
var keyboardUpListener = function keyboardUpListener2(e) {
var _e$key2;
var code = ((_e$key2 = e.key) === null || _e$key2 === void 0 ? void 0 : _e$key2.trim()) || e.code;
if (SHIFT_REG.test(code)) {
isShiftPressed.value = false;
}
};
var addHighlightKeyboardListener = function addHighlightKeyboardListener2() {
on$1(tableRef.value, "keydown", keyboardDownListener);
on$1(tableRef.value, "keyup", keyboardUpListener);
};
var removeHighlightKeyboardListener = function removeHighlightKeyboardListener2() {
off$1(tableRef.value, "keydown", keyboardDownListener);
off$1(tableRef.value, "keyup", keyboardUpListener);
};
return {
tActiveRow,
onHighlightRow,
addHighlightKeyboardListener,
removeHighlightKeyboardListener
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useHoverKeyboardEvent(props2, tableRef) {
var _toRefs = vue.toRefs(props2), hover = _toRefs.hover, data2 = _toRefs.data, activeRowType = _toRefs.activeRowType, keyboardRowHover = _toRefs.keyboardRowHover;
var hoverRow = vue.ref();
var currentHoverRowIndex = vue.ref(-1);
var needKeyboardRowHover = vue.computed(function() {
if (activeRowType.value === "single")
return false;
if (activeRowType.value === "multiple")
return true;
return hover.value || keyboardRowHover.value;
});
var onHoverRow = function onHoverRow2(ctx, extra) {
var rowValue = get_1(ctx.row, props2.rowKey);
if (hoverRow.value === rowValue && (extra === null || extra === void 0 ? void 0 : extra.action) !== "hover") {
hoverRow.value = void 0;
} else {
hoverRow.value = rowValue;
}
currentHoverRowIndex.value = ctx.index;
};
var clearHoverRow = function clearHoverRow2() {
hoverRow.value = void 0;
currentHoverRowIndex.value = -1;
};
var keyboardDownListener = function keyboardDownListener2(e) {
var _e$key;
if (!needKeyboardRowHover.value)
return;
var code = ((_e$key = e.key) === null || _e$key === void 0 ? void 0 : _e$key.trim()) || e.code;
if (ARROW_DOWN_REG.test(code)) {
e.preventDefault();
var index2 = Math.min(data2.value.length - 1, currentHoverRowIndex.value + 1);
onHoverRow({
row: data2.value[index2],
index: index2,
e
}, {
action: "hover"
});
} else if (ARROW_UP_REG.test(code)) {
e.preventDefault();
var _index = Math.max(0, currentHoverRowIndex.value - 1);
onHoverRow({
row: data2.value[_index],
index: _index,
e
}, {
action: "hover"
});
} else if (SPACE_REG.test(code) && props2.activeRowType !== "multiple") {
var _index2 = currentHoverRowIndex.value;
onHoverRow({
row: data2.value[_index2],
index: _index2,
e
});
}
};
var addRowHoverKeyboardListener = function addRowHoverKeyboardListener2() {
on$1(tableRef.value, "keydown", keyboardDownListener);
};
var removeRowHoverKeyboardListener = function removeRowHoverKeyboardListener2() {
off$1(tableRef.value, "keydown", keyboardDownListener);
};
return {
hoverRow,
needKeyboardRowHover,
clearHoverRow,
addRowHoverKeyboardListener,
removeRowHoverKeyboardListener
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$g(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$f(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$g(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$g(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function _isSlot$2(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var _BaseTable = vue.defineComponent({
name: "TBaseTable",
props: _objectSpread$f(_objectSpread$f({}, baseTableProps), {}, {
renderExpandedRow: Function,
onLeafColumnsChange: Function,
thDraggable: Boolean
}),
setup: function setup41(props2, context) {
var renderTNode = useTNodeJSX();
var tableRef = vue.ref();
var tableElmRef = vue.ref();
var tableBodyRef = vue.ref();
var bottomContentRef = vue.ref();
var tableFootHeight = vue.ref(0);
var _useClassName = useClassName(), classPrefix = _useClassName.classPrefix, virtualScrollClasses = _useClassName.virtualScrollClasses, tableLayoutClasses = _useClassName.tableLayoutClasses, tableBaseClass = _useClassName.tableBaseClass, tableColFixedClasses = _useClassName.tableColFixedClasses;
var _useStyle = useStyle(props2), tableClasses = _useStyle.tableClasses, sizeClassNames = _useStyle.sizeClassNames, tableContentStyles = _useStyle.tableContentStyles, tableElementStyles = _useStyle.tableElementStyles;
var _useConfig = useConfig("table", props2.locale), globalConfig = _useConfig.globalConfig;
var _useTableHeader = useTableHeader(props2), isMultipleHeader = _useTableHeader.isMultipleHeader, spansAndLeafNodes = _useTableHeader.spansAndLeafNodes, thList = _useTableHeader.thList;
var finalColumns = vue.computed(function() {
var _spansAndLeafNodes$va;
return ((_spansAndLeafNodes$va = spansAndLeafNodes.value) === null || _spansAndLeafNodes$va === void 0 ? void 0 : _spansAndLeafNodes$va.leafColumns) || props2.columns;
});
var paginationAffixRef = vue.ref();
var horizontalScrollAffixRef = vue.ref();
var headerTopAffixRef = vue.ref();
var footerBottomAffixRef = vue.ref();
var _useFixed = useFixed(props2, context, finalColumns, {
paginationAffixRef,
horizontalScrollAffixRef,
headerTopAffixRef,
footerBottomAffixRef
}), scrollbarWidth = _useFixed.scrollbarWidth, virtualScrollHeaderPos = _useFixed.virtualScrollHeaderPos, tableWidth = _useFixed.tableWidth, tableElmWidth = _useFixed.tableElmWidth, tableContentRef = _useFixed.tableContentRef, isFixedHeader = _useFixed.isFixedHeader, isWidthOverflow = _useFixed.isWidthOverflow, isFixedColumn = _useFixed.isFixedColumn, thWidthList = _useFixed.thWidthList, showColumnShadow = _useFixed.showColumnShadow, rowAndColFixedPosition = _useFixed.rowAndColFixedPosition, setData = _useFixed.setData, refreshTable = _useFixed.refreshTable, setTableElmWidth = _useFixed.setTableElmWidth, emitScrollEvent = _useFixed.emitScrollEvent, setUseFixedTableElmRef = _useFixed.setUseFixedTableElmRef, updateColumnFixedShadow = _useFixed.updateColumnFixedShadow, getThWidthList = _useFixed.getThWidthList, updateThWidthList = _useFixed.updateThWidthList, addTableResizeObserver = _useFixed.addTableResizeObserver, updateTableAfterColumnResize = _useFixed.updateTableAfterColumnResize;
var _useAffix = useAffix(props2), affixHeaderRef = _useAffix.affixHeaderRef, affixFooterRef = _useAffix.affixFooterRef, horizontalScrollbarRef = _useAffix.horizontalScrollbarRef, paginationRef = _useAffix.paginationRef, showAffixHeader = _useAffix.showAffixHeader, showAffixFooter = _useAffix.showAffixFooter, showAffixPagination = _useAffix.showAffixPagination, onHorizontalScroll = _useAffix.onHorizontalScroll, setTableContentRef = _useAffix.setTableContentRef, updateAffixHeaderOrFooter = _useAffix.updateAffixHeaderOrFooter;
var _usePagination = usePagination(props2, context), dataSource = _usePagination.dataSource, innerPagination = _usePagination.innerPagination, isPaginateData = _usePagination.isPaginateData, renderPagination = _usePagination.renderPagination;
var columnResizeParams = useColumnResize({
isWidthOverflow,
tableContentRef,
showColumnShadow,
getThWidthList,
updateThWidthList,
setTableElmWidth,
updateTableAfterColumnResize,
onColumnResizeChange: props2.onColumnResizeChange
});
var resizeLineRef = columnResizeParams.resizeLineRef, resizeLineStyle = columnResizeParams.resizeLineStyle, setEffectColMap = columnResizeParams.setEffectColMap;
var dynamicBaseTableClasses = vue.computed(function() {
var _ref;
return [tableClasses.value, (_ref = {}, _defineProperty$2(_ref, tableBaseClass.headerFixed, isFixedHeader.value), _defineProperty$2(_ref, tableBaseClass.columnFixed, isFixedColumn.value), _defineProperty$2(_ref, tableBaseClass.widthOverflow, isWidthOverflow.value), _defineProperty$2(_ref, tableBaseClass.multipleHeader, isMultipleHeader.value), _defineProperty$2(_ref, tableColFixedClasses.leftShadow, showColumnShadow.left), _defineProperty$2(_ref, tableColFixedClasses.rightShadow, showColumnShadow.right), _defineProperty$2(_ref, tableBaseClass.columnResizableTable, props2.resizable), _defineProperty$2(_ref, "".concat(classPrefix, "-table__row--active-").concat(props2.activeRowType), props2.activeRowType), _ref)];
});
var tableElmClasses = vue.computed(function() {
return [[tableLayoutClasses[props2.tableLayout]]];
});
var showRightDivider = vue.computed(function() {
return props2.bordered && isFixedHeader.value && (isMultipleHeader.value && isWidthOverflow.value || !isMultipleHeader.value);
});
var dividerBottom = vue.computed(function() {
var _bottomContentRef$val, _paginationRef$value;
if (!props2.bordered)
return 0;
var bottomRect = (_bottomContentRef$val = bottomContentRef.value) === null || _bottomContentRef$val === void 0 ? void 0 : _bottomContentRef$val.getBoundingClientRect();
var paginationRect = (_paginationRef$value = paginationRef.value) === null || _paginationRef$value === void 0 ? void 0 : _paginationRef$value.getBoundingClientRect();
return ((bottomRect === null || bottomRect === void 0 ? void 0 : bottomRect.height) || 0) + ((paginationRect === null || paginationRect === void 0 ? void 0 : paginationRect.height) || 0);
});
var _useRowHighlight = useRowHighlight(props2, tableRef), tActiveRow = _useRowHighlight.tActiveRow, onHighlightRow = _useRowHighlight.onHighlightRow, addHighlightKeyboardListener = _useRowHighlight.addHighlightKeyboardListener, removeHighlightKeyboardListener = _useRowHighlight.removeHighlightKeyboardListener;
var _useHoverKeyboardEven = useHoverKeyboardEvent(props2, tableRef), hoverRow = _useHoverKeyboardEven.hoverRow, needKeyboardRowHover = _useHoverKeyboardEven.needKeyboardRowHover, clearHoverRow = _useHoverKeyboardEven.clearHoverRow, addRowHoverKeyboardListener = _useHoverKeyboardEven.addRowHoverKeyboardListener, removeRowHoverKeyboardListener = _useHoverKeyboardEven.removeRowHoverKeyboardListener;
vue.watch(tableElmRef, function() {
setUseFixedTableElmRef(tableElmRef.value);
});
vue.watch(function() {
return [props2.data, dataSource];
}, function() {
setData(isPaginateData.value ? dataSource.value : props2.data);
});
vue.watch(spansAndLeafNodes, function() {
var _props2$onLeafColumns;
(_props2$onLeafColumns = props2.onLeafColumnsChange) === null || _props2$onLeafColumns === void 0 || _props2$onLeafColumns.call(props2, spansAndLeafNodes.value.leafColumns);
setEffectColMap(spansAndLeafNodes.value.leafColumns, null);
}, {
immediate: true
});
var onFixedChange = function onFixedChange2() {
vue.nextTick(function() {
onHorizontalScroll();
updateAffixHeaderOrFooter();
});
};
var virtualScrollParams = vue.computed(function() {
return {
data: props2.data,
scroll: props2.scroll
};
});
var virtualConfig = useVirtualScroll2(tableContentRef, virtualScrollParams);
var lastScrollY = -1;
var onInnerVirtualScroll = function onInnerVirtualScroll2(e) {
var target = e.target || e.srcElement;
var top2 = target.scrollTop;
if (lastScrollY !== top2) {
virtualConfig.isVirtualScroll.value && virtualConfig.handleScroll();
} else {
lastScrollY = -1;
updateColumnFixedShadow(target);
}
lastScrollY = top2;
emitScrollEvent(e);
};
var getTFootHeight = function getTFootHeight2() {
var _tableElmRef$value$qu;
if (!tableElmRef.value)
return;
tableFootHeight.value = (_tableElmRef$value$qu = tableElmRef.value.querySelector("tfoot")) === null || _tableElmRef$value$qu === void 0 ? void 0 : _tableElmRef$value$qu.getBoundingClientRect().height;
};
var scrollColumnIntoView = function scrollColumnIntoView2(colKey) {
if (!tableContentRef.value)
return;
var thDom = tableContentRef.value.querySelector('th[data-colkey="'.concat(colKey, '"]'));
var fixedThDom = tableContentRef.value.querySelectorAll("th.t-table__cell--fixed-left");
var totalWidth = 0;
for (var i = 0, len2 = fixedThDom.length; i < len2; i++) {
totalWidth += fixedThDom[i].getBoundingClientRect().width;
}
var domRect = thDom.getBoundingClientRect();
var contentRect = tableContentRef.value.getBoundingClientRect();
var distance2 = domRect.left - contentRect.left - totalWidth;
tableContentRef.value.scrollTo({
left: distance2,
behavior: "smooth"
});
};
vue.watch(tableContentRef, function() {
setTableContentRef(tableContentRef.value);
});
vue.watch(tableElmRef, getTFootHeight);
vue.watch(tableRef, function(tableRef2) {
addTableResizeObserver(tableRef2);
});
vue.onMounted(function() {
getTFootHeight();
setTableContentRef(tableContentRef.value);
addTableResizeObserver(tableRef.value);
});
var onTableFocus = function onTableFocus2() {
props2.activeRowType && addHighlightKeyboardListener();
needKeyboardRowHover.value && addRowHoverKeyboardListener();
};
var onTableBlur = function onTableBlur2() {
props2.activeRowType && removeHighlightKeyboardListener();
needKeyboardRowHover.value && removeRowHoverKeyboardListener();
};
var onInnerRowClick = function onInnerRowClick2(ctx) {
var _props2$onRowClick;
(_props2$onRowClick = props2.onRowClick) === null || _props2$onRowClick === void 0 || _props2$onRowClick.call(props2, ctx);
props2.activeRowType && onHighlightRow(ctx);
needKeyboardRowHover.value && clearHoverRow();
};
return {
thList,
classPrefix,
innerPagination,
globalConfig,
tableFootHeight,
virtualScrollHeaderPos,
tableWidth,
tableElmWidth,
tableRef,
tableElmRef,
sizeClassNames,
tableBaseClass,
spansAndLeafNodes,
dynamicBaseTableClasses,
tableContentStyles,
tableElementStyles,
dividerBottom,
virtualScrollClasses,
tableLayoutClasses,
tableElmClasses,
tableContentRef,
isFixedHeader,
isWidthOverflow,
isFixedColumn,
rowAndColFixedPosition,
showColumnShadow,
thWidthList,
isPaginateData,
dataSource,
affixHeaderRef,
affixFooterRef,
bottomContentRef,
paginationRef,
showAffixHeader,
showAffixFooter,
scrollbarWidth,
isMultipleHeader,
showRightDivider,
resizeLineRef,
resizeLineStyle,
columnResizeParams,
horizontalScrollbarRef,
tableBodyRef,
virtualConfig,
showAffixPagination,
tActiveRow,
hoverRow,
scrollToElement: virtualConfig.scrollToElement,
renderPagination,
renderTNode,
onFixedChange,
onHorizontalScroll,
updateAffixHeaderOrFooter,
onInnerVirtualScroll,
refreshTable,
scrollColumnIntoView,
onTableFocus,
onTableBlur,
onInnerRowClick,
paginationAffixRef,
horizontalScrollAffixRef,
headerTopAffixRef,
footerBottomAffixRef
};
},
render: function render13() {
var _this$spansAndLeafNod, _this$allowResizeColu, _this = this, _this$affixHeaderRef, _this$footData, _this$tableContentRef;
var rowAndColFixedPosition = this.rowAndColFixedPosition, tableLayout = this.tableLayout;
var data2 = this.isPaginateData ? this.dataSource : this.data;
var columns = ((_this$spansAndLeafNod = this.spansAndLeafNodes) === null || _this$spansAndLeafNod === void 0 ? void 0 : _this$spansAndLeafNod.leafColumns) || this.columns;
var columnResizable = (_this$allowResizeColu = this.allowResizeColumnWidth) !== null && _this$allowResizeColu !== void 0 ? _this$allowResizeColu : this.resizable;
if (columnResizable && tableLayout === "auto") {
log.warn("Table", "table-layout can not be `auto`, cause you are using column resizable, set `table-layout: fixed` please.");
}
var defaultColWidth = tableLayout === "fixed" && this.isWidthOverflow ? "100px" : void 0;
var renderColGroup = function renderColGroup2() {
var isAffixHeader = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : true;
return vue.createVNode("colgroup", null, [columns.map(function(col) {
var style2 = {
width: formatCSSUnit((isAffixHeader || columnResizable ? _this.thWidthList[col.colKey] : void 0) || col.width) || defaultColWidth
};
if (col.minWidth) {
style2.minWidth = formatCSSUnit(col.minWidth);
}
if (!style2.width && !col.minWidth && _this.tableLayout === "fixed") {
style2.minWidth = "80px";
}
return vue.createVNode("col", {
"key": col.colKey,
"style": style2
}, null);
})]);
};
var renderAffixedHeader = function renderAffixedHeader2() {
if (_this.showHeader === false)
return null;
return !!(_this.virtualConfig.isVirtualScroll.value || _this.headerAffixedTop) && (_this.headerAffixedTop ? vue.createVNode(Affix, vue.mergeProps({
"offsetTop": 0
}, getAffixProps(_this.headerAffixedTop), {
"onFixedChange": _this.onFixedChange,
"ref": "headerTopAffixRef"
}), _isSlot$2(affixHeaderWithWrap) ? affixHeaderWithWrap : {
"default": function _default16() {
return [affixHeaderWithWrap];
}
}) : _this.isFixedHeader && affixHeaderWithWrap);
};
var renderAffixedHorizontalScrollbar = function renderAffixedHorizontalScrollbar2() {
return vue.createVNode(Affix, vue.mergeProps({
"offsetBottom": 0
}, getAffixProps(_this.horizontalScrollAffixedBottom), {
"style": {
marginTop: "-".concat(_this.scrollbarWidth * 2, "px")
},
"horizontalScrollAffixedBottom": true,
"ref": "horizontalScrollAffixRef"
}), {
"default": function _default16() {
return [vue.createVNode("div", {
"ref": "horizontalScrollbarRef",
"class": ["scrollbar", _this.tableBaseClass.obviousScrollbar],
"style": {
width: "".concat(_this.tableWidth, "px"),
overflow: "auto",
opacity: Number(_this.showAffixFooter)
}
}, [vue.createVNode("div", {
"style": {
width: "".concat(_this.tableElmWidth, "px"),
height: "5px"
}
}, null)])];
}
});
};
var headProps = {
isFixedHeader: this.isFixedHeader,
rowAndColFixedPosition: this.rowAndColFixedPosition,
isMultipleHeader: this.isMultipleHeader,
bordered: this.bordered,
maxHeight: this.maxHeight,
height: this.height,
spansAndLeafNodes: this.spansAndLeafNodes,
thList: this.thList,
thWidthList: this.thWidthList,
resizable: this.resizable,
columnResizeParams: this.columnResizeParams,
classPrefix: this.classPrefix,
ellipsisOverlayClassName: this.size !== "medium" ? this.sizeClassNames[this.size] : "",
attach: this.attach,
showColumnShadow: this.showColumnShadow,
thDraggable: this.thDraggable
};
var IEHeaderWrap = getIEVersion() <= 11 ? 4 : 0;
var barWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;
var affixHeaderHeight = (((_this$affixHeaderRef = this.affixHeaderRef) === null || _this$affixHeaderRef === void 0 ? void 0 : _this$affixHeaderRef.getBoundingClientRect().height) || 0) - IEHeaderWrap;
var affixHeaderWrapHeight = affixHeaderHeight - barWidth;
var headerOpacity = baseTableProps.headerAffixedTop ? Number(this.showAffixHeader) : 1;
var affixHeaderWrapHeightStyle = {
width: "".concat(this.tableWidth, "px"),
height: "".concat(affixHeaderWrapHeight, "px"),
opacity: headerOpacity
};
var affixedLeftBorder = this.bordered ? 1 : 0;
var affixedHeader = Boolean((this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value) && this.tableWidth) && vue.createVNode("div", {
"ref": "affixHeaderRef",
"style": {
width: "".concat(this.tableWidth - affixedLeftBorder, "px"),
opacity: Number(this.showAffixHeader)
},
"class": ["scrollbar", _defineProperty$2({}, this.tableBaseClass.affixedHeaderElm, this.headerAffixedTop || this.virtualConfig.isVirtualScroll.value)]
}, [vue.createVNode("table", {
"class": this.tableElmClasses,
"style": _objectSpread$f(_objectSpread$f({}, this.tableElementStyles), {}, {
width: "".concat(this.tableElmWidth, "px")
})
}, [renderColGroup(true), vue.createVNode(THead, headProps, this.$slots)])]);
var affixHeaderWithWrap = vue.createVNode("div", {
"class": this.tableBaseClass.affixedHeaderWrap,
"style": affixHeaderWrapHeightStyle
}, [affixedHeader]);
var marginScrollbarWidth = this.isWidthOverflow ? this.scrollbarWidth : 0;
if (this.bordered) {
marginScrollbarWidth += 1;
}
var affixedFooter = Boolean(this.footerAffixedBottom && ((_this$footData = this.footData) === null || _this$footData === void 0 ? void 0 : _this$footData.length) && this.tableWidth) && vue.createVNode(Affix, vue.mergeProps({
"class": this.tableBaseClass.affixedFooterWrap,
"onFixedChange": this.onFixedChange,
"offsetBottom": marginScrollbarWidth || 0
}, getAffixProps(this.footerAffixedBottom), {
"style": {
marginTop: "".concat(-1 * (this.tableFootHeight + marginScrollbarWidth), "px")
},
"ref": "footerBottomAffixRef"
}), {
"default": function _default16() {
return [vue.createVNode("div", {
"ref": "affixFooterRef",
"style": {
width: "".concat(_this.tableWidth - affixedLeftBorder, "px"),
opacity: Number(_this.showAffixFooter)
},
"class": ["scrollbar", _defineProperty$2({}, _this.tableBaseClass.affixedFooterElm, _this.footerAffixedBottom || _this.isVirtual)]
}, [vue.createVNode("table", {
"class": _this.tableElmClasses,
"style": _objectSpread$f(_objectSpread$f({}, _this.tableElementStyles), {}, {
width: "".concat(_this.tableElmWidth, "px")
})
}, [renderColGroup(true), vue.createVNode(TFoot, {
"rowKey": _this.rowKey,
"isFixedHeader": _this.isFixedHeader,
"rowAndColFixedPosition": rowAndColFixedPosition,
"footData": _this.footData,
"columns": columns,
"rowAttributes": _this.rowAttributes,
"rowClassName": _this.rowClassName,
"thWidthList": _this.thWidthList,
"footerSummary": _this.footerSummary,
"rowspanAndColspanInFooter": _this.rowspanAndColspanInFooter
}, _this.$slots)])])];
}
});
var translate = "translate(0, ".concat(this.virtualConfig.scrollHeight.value, "px)");
var virtualStyle = {
transform: translate,
"-ms-transform": translate,
"-moz-transform": translate,
"-webkit-transform": translate
};
var virtualConfig = this.virtualConfig;
var tableBodyProps = _objectSpread$f(_objectSpread$f({
classPrefix: this.classPrefix,
ellipsisOverlayClassName: this.size !== "medium" ? this.sizeClassNames[this.size] : "",
rowAndColFixedPosition,
showColumnShadow: this.showColumnShadow,
data: virtualConfig.isVirtualScroll.value ? virtualConfig.visibleData.value : data2,
virtualConfig: this.virtualConfig,
columns: this.spansAndLeafNodes.leafColumns,
tableElm: this.tableRef,
tableWidth: this.tableWidth,
isWidthOverflow: this.isWidthOverflow,
scroll: this.scroll,
cellEmptyContent: this.cellEmptyContent,
tableContentElm: this.tableContentRef,
handleRowMounted: this.virtualConfig.handleRowMounted,
renderExpandedRow: this.renderExpandedRow
}, pick_1(this.$props, extendTableProps)), {}, {
pagination: this.innerPagination,
attach: this.attach,
hoverRow: this.hoverRow,
activeRow: this.tActiveRow,
onRowClick: this.onInnerRowClick
});
var tableContent = vue.createVNode("div", {
"ref": "tableContentRef",
"class": this.tableBaseClass.content,
"style": this.tableContentStyles,
"onScroll": this.onInnerVirtualScroll
}, [this.virtualConfig.isVirtualScroll.value && vue.createVNode("div", {
"class": this.virtualScrollClasses.cursor,
"style": virtualStyle
}, null), vue.createVNode("table", {
"ref": "tableElmRef",
"class": this.tableElmClasses,
"style": _objectSpread$f(_objectSpread$f({}, this.tableElementStyles), {}, {
width: this.resizable && this.isWidthOverflow && this.tableElmWidth ? "".concat(this.tableElmWidth, "px") : this.tableElementStyles.width
})
}, [renderColGroup(false), this.showHeader && vue.createVNode(THead, _objectSpread$f(_objectSpread$f({}, headProps), {}, {
thWidthList: columnResizable ? this.thWidthList : {}
}), this.$slots), vue.createVNode(TBody, tableBodyProps, this.$slots), vue.createVNode(TFoot, {
"rowKey": this.rowKey,
"isFixedHeader": this.isFixedHeader,
"rowAndColFixedPosition": rowAndColFixedPosition,
"footData": this.footData,
"columns": columns,
"rowAttributes": this.rowAttributes,
"rowClassName": this.rowClassName,
"footerSummary": this.footerSummary,
"rowspanAndColspanInFooter": this.rowspanAndColspanInFooter
}, this.$slots)])]);
var customLoadingText = this.renderTNode("loading");
var loadingContent = this.loading !== void 0 && vue.createVNode(Loading, vue.mergeProps({
"loading": !!this.loading,
"text": customLoadingText ? function() {
return customLoadingText;
} : void 0,
"attach": this.tableRef ? function() {
return _this.tableRef;
} : void 0,
"showOverlay": true,
"size": "small"
}, this.loadingProps), null);
var topContent = this.renderTNode("topContent");
var bottomContent = this.renderTNode("bottomContent");
var pagination = vue.createVNode("div", {
"ref": "paginationRef",
"class": this.tableBaseClass.paginationWrap,
"style": {
opacity: Number(this.showAffixPagination)
}
}, [this.renderPagination()]);
var bottom2 = !!bottomContent && vue.createVNode("div", {
"ref": "bottomContentRef",
"class": this.tableBaseClass.bottomContent
}, [bottomContent]);
return vue.createVNode("div", {
"ref": "tableRef",
"tabindex": "0",
"class": this.dynamicBaseTableClasses,
"onFocus": this.onTableFocus,
"onBlur": this.onTableBlur
}, [!!topContent && vue.createVNode("div", {
"class": this.tableBaseClass.topContent
}, [topContent]), renderAffixedHeader(), tableContent, affixedFooter, loadingContent, bottom2, this.showRightDivider && vue.createVNode("div", {
"class": this.tableBaseClass.scrollbarDivider,
"style": {
right: "".concat(this.scrollbarWidth, "px"),
bottom: this.dividerBottom ? "".concat(this.dividerBottom, "px") : void 0,
height: "".concat((_this$tableContentRef = this.tableContentRef) === null || _this$tableContentRef === void 0 ? void 0 : _this$tableContentRef.getBoundingClientRect().height, "px")
}
}, null), this.horizontalScrollAffixedBottom && renderAffixedHorizontalScrollbar(), this.paginationAffixedBottom ? vue.createVNode(Affix, vue.mergeProps({
"offsetBottom": 0
}, getAffixProps(this.paginationAffixedBottom), {
"ref": "paginationAffixRef"
}), _isSlot$2(pagination) ? pagination : {
"default": function _default16() {
return [pagination];
}
}) : pagination, vue.createVNode("div", {
"ref": "resizeLineRef",
"class": this.tableBaseClass.resizeLine,
"style": this.resizeLineStyle
}, null)]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var primaryTableProps = {
asyncLoading: {
type: [String, Function]
},
columnController: {
type: Object
},
columnControllerVisible: {
type: Boolean,
"default": void 0
},
defaultColumnControllerVisible: {
type: Boolean,
"default": void 0
},
columns: {
type: Array,
"default": function _default10() {
return [];
}
},
displayColumns: {
type: Array,
"default": void 0
},
defaultDisplayColumns: {
type: Array
},
dragSort: {
type: String,
validator: function validator50(val) {
if (!val)
return true;
return ["row", "row-handler", "col", "row-handler-col", "drag-col"].includes(val);
}
},
dragSortOptions: {
type: Object
},
editableCellState: {
type: Function
},
editableRowKeys: {
type: Array
},
expandIcon: {
type: [Boolean, Function],
"default": true
},
expandOnRowClick: Boolean,
expandedRow: {
type: [String, Function]
},
expandedRowKeys: {
type: Array,
"default": void 0
},
defaultExpandedRowKeys: {
type: Array,
"default": function _default11() {
return [];
}
},
filterIcon: {
type: Function
},
filterRow: {
type: [String, Function]
},
filterValue: {
type: Object,
"default": void 0
},
defaultFilterValue: {
type: Object
},
hideSortTips: Boolean,
indeterminateSelectedRowKeys: {
type: Array
},
multipleSort: Boolean,
reserveSelectedRowOnPaginate: {
type: Boolean,
"default": true
},
selectOnRowClick: Boolean,
selectedRowKeys: {
type: Array,
"default": void 0
},
defaultSelectedRowKeys: {
type: Array,
"default": function _default12() {
return [];
}
},
showSortColumnBgColor: Boolean,
sort: {
type: [Object, Array],
"default": void 0
},
defaultSort: {
type: [Object, Array]
},
sortIcon: {
type: Function
},
sortOnRowDraggable: Boolean,
onAsyncLoadingClick: Function,
onCellClick: Function,
onChange: Function,
onColumnChange: Function,
onColumnControllerVisibleChange: Function,
onDataChange: Function,
onDisplayColumnsChange: Function,
onDragSort: Function,
onExpandChange: Function,
onFilterChange: Function,
onRowEdit: Function,
onRowValidate: Function,
onSelectChange: Function,
onSortChange: Function,
onValidate: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$f(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$e(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$f(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$f(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var ColumnCheckboxGroup = vue.defineComponent({
name: "ColumnCheckboxGroup",
props: {
checkboxProps: Object,
options: {
type: Array,
"default": function _default13() {
return [];
}
},
label: String,
uniqueKey: String,
value: Array,
onChange: Function
},
setup: function setup42(props2) {
var _toRefs = vue.toRefs(props2), checkboxProps = _toRefs.checkboxProps, value = _toRefs.value, options = _toRefs.options;
var classPrefix = usePrefixClass();
var allCheckedColumnKeys = vue.computed(function() {
var allCheckedKeys = [];
options.value.forEach(function(option2) {
if (_typeof$2(option2) === "object") {
if (option2.disabled)
return;
if (option2.value) {
allCheckedKeys.push(option2.value);
} else if (typeof option2.label === "string") {
allCheckedKeys.push(option2.label);
}
} else {
allCheckedKeys.push(option2);
}
});
return allCheckedKeys;
});
var intersectionKeys = vue.computed(function() {
return intersection_1(allCheckedColumnKeys.value, value.value);
});
var isCheckedAll = vue.computed(function() {
var len2 = intersectionKeys.value.length;
return Boolean(len2 && allCheckedColumnKeys.value.length === len2);
});
var isIndeterminate = vue.computed(function() {
var len2 = intersectionKeys.value.length;
return Boolean(len2 < allCheckedColumnKeys.value.length && len2);
});
var onCheckAllColumnsChange = function onCheckAllColumnsChange2(checkAll, ctx) {
var changeParams = {
e: ctx.e,
type: "check",
current: void 0,
option: void 0
};
if (checkAll) {
var _props$onChange;
var newKeys = _toConsumableArray(new Set(value.value.concat(allCheckedColumnKeys.value)));
(_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, newKeys, changeParams);
} else {
var _props$onChange2;
var _newKeys = value.value.filter(function(val) {
return !allCheckedColumnKeys.value.includes(val);
});
(_props$onChange2 = props2.onChange) === null || _props$onChange2 === void 0 || _props$onChange2.call(props2, _newKeys, _objectSpread$e(_objectSpread$e({}, changeParams), {}, {
type: "uncheck"
}));
}
};
var handleCheckChange = function handleCheckChange2(val, ctx) {
var _props$onChange3;
(_props$onChange3 = props2.onChange) === null || _props$onChange3 === void 0 || _props$onChange3.call(props2, val, ctx);
};
var classes = vue.computed(function() {
return ["".concat(classPrefix.value, "-table__column-controller-item"), _defineProperty$2({}, "".concat(classPrefix.value, "-table__").concat(props2.uniqueKey), props2.uniqueKey)];
});
return function() {
return vue.createVNode("div", {
"class": classes.value
}, [vue.createVNode("div", {
"class": "".concat(classPrefix.value, "-table__column-controller-block")
}, [vue.createVNode(Checkbox, {
"indeterminate": isIndeterminate.value,
"checked": isCheckedAll.value,
"onChange": onCheckAllColumnsChange,
"disabled": !allCheckedColumnKeys.value.length
}, {
"default": function _default16() {
return [props2.label];
}
})]), vue.createVNode("div", {
"class": "".concat(classPrefix.value, "-table__column-controller-block")
}, [vue.createVNode(CheckboxGroup, vue.mergeProps({
"options": options.value
}, checkboxProps.value, {
"modelValue": value.value,
"onChange": handleCheckChange
}), null)])]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$e(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$d(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$e(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$e(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function getColumnKeys(columns) {
var keys2 = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : /* @__PURE__ */ new Set();
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _col$children;
var col = columns[i];
col.colKey && keys2.add(col.colKey);
if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
getColumnKeys(col.children, keys2);
}
}
return keys2;
}
function useColumnController(props2, context) {
var _useConfig = useConfig("table", props2.locale), classPrefix = _useConfig.classPrefix, globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
SettingIcon
}), SettingIcon$1 = _useGlobalIcon.SettingIcon;
var _toRefs = vue.toRefs(props2), columns = _toRefs.columns, columnController = _toRefs.columnController, displayColumns = _toRefs.displayColumns, columnControllerVisible = _toRefs.columnControllerVisible;
var dialogInstance = vue.ref(null);
var renderTNodeJSX3 = useTNodeJSX();
var enabledColKeys = vue.computed(function() {
var _columnController$val;
var arr = (((_columnController$val = columnController.value) === null || _columnController$val === void 0 ? void 0 : _columnController$val.fields) || _toConsumableArray(getColumnKeys(columns.value))).filter(function(v) {
return v;
});
return new Set(arr);
});
var keys2 = _toConsumableArray(getColumnKeys(columns.value));
var _useDefaultValue = useDefaultValue(displayColumns, props2.defaultDisplayColumns || keys2, props2.onDisplayColumnsChange, "displayColumns"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tDisplayColumns = _useDefaultValue2[0], setTDisplayColumns = _useDefaultValue2[1];
var columnCheckboxKeys = vue.ref(displayColumns.value || props2.defaultDisplayColumns || keys2);
var checkboxGroupList = vue.computed(function() {
var _columnController$val2;
if ((_columnController$val2 = columnController.value) !== null && _columnController$val2 !== void 0 && (_columnController$val2 = _columnController$val2.groupColumns) !== null && _columnController$val2 !== void 0 && _columnController$val2.length) {
return getCheckboxGroupOptions(columns.value);
}
var oneItem = {
label: globalConfig.value.selectAllText,
options: getCheckboxOptions(columns.value)
};
return [oneItem];
});
vue.watch([displayColumns], function(_ref) {
var _ref2 = _slicedToArray(_ref, 1), val = _ref2[0];
columnCheckboxKeys.value = val || props2.defaultDisplayColumns || keys2;
});
function getOneColumnItem(column, i) {
return {
label: function label() {
return renderTitle(context.slots, column, i);
},
value: column.colKey,
disabled: !enabledColKeys.value.has(column.colKey)
};
}
function getCheckboxGroupOptions(columns2) {
var _columnController$val3;
var groupColumns = (_columnController$val3 = columnController.value) === null || _columnController$val3 === void 0 ? void 0 : _columnController$val3.groupColumns;
if (!(groupColumns !== null && groupColumns !== void 0 && groupColumns.length))
return [];
var groupList = [];
var loop = function loop2(columns3) {
for (var i = 0, len2 = columns3.length; i < len2; i++) {
var _column$children;
var column = columns3[i];
var oneItem = getOneColumnItem(column, i);
for (var j = 0, len1 = groupColumns.length; j < len1; j++) {
var _groupList$j;
var groupInfo = groupColumns[j];
if (!groupInfo.columns.includes(column.colKey))
continue;
if ((_groupList$j = groupList[j]) !== null && _groupList$j !== void 0 && (_groupList$j = _groupList$j.options) !== null && _groupList$j !== void 0 && _groupList$j.length) {
groupList[j].options.push(oneItem);
} else {
groupList[j] = _objectSpread$d(_objectSpread$d({}, groupColumns[j]), {}, {
options: [oneItem]
});
}
}
if ((_column$children = column.children) !== null && _column$children !== void 0 && _column$children.length) {
loop2(column.children);
}
}
};
loop(columns2);
return groupList;
}
function getCheckboxOptions(columns2) {
var _columnController$val4;
var arr = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
if ((_columnController$val4 = columnController.value) !== null && _columnController$val4 !== void 0 && (_columnController$val4 = _columnController$val4.groupColumns) !== null && _columnController$val4 !== void 0 && _columnController$val4.length)
return [];
for (var i = 0, len2 = columns2.length; i < len2; i++) {
var _item$children;
var item = columns2[i];
if (item.colKey) {
arr.push(getOneColumnItem(item, i));
}
if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
getCheckboxOptions(item.children, arr);
}
}
return arr;
}
var handleCheckChange = function handleCheckChange2(val, ctx) {
var _props$onColumnChange;
columnCheckboxKeys.value = val;
var params = {
columns: val,
type: ctx.type,
currentColumn: getCurrentRowByKey(columns.value, String(ctx.current)),
e: ctx.e
};
(_props$onColumnChange = props2.onColumnChange) === null || _props$onColumnChange === void 0 || _props$onColumnChange.call(props2, params);
};
var handleToggleColumnController = function handleToggleColumnController2() {
var _columnController$val8;
if (dialogInstance.value) {
dialogInstance.value.show();
return;
}
dialogInstance.value = DialogPlugin.confirm(_objectSpread$d({
header: globalConfig.value.columnConfigTitleText,
body: function body() {
var _columnController$val5;
var widthMode = ((_columnController$val5 = columnController.value) === null || _columnController$val5 === void 0 ? void 0 : _columnController$val5.displayType) === "fixed-width" ? "fixed" : "auto";
var _ref3 = columnController.value || {}, columnControllerTopContent = _ref3.columnControllerTopContent, columnControllerBottomContent = _ref3.columnControllerBottomContent;
var defaultNode = vue.createVNode("div", {
"class": ["".concat(classPrefix.value, "-table__column-controller"), "".concat(classPrefix.value, "-table__column-controller--").concat(widthMode)]
}, [vue.createVNode("div", {
"class": "".concat(classPrefix.value, "-table__column-controller-body")
}, [isFunction_1(columnControllerTopContent) ? columnControllerTopContent(vue.h) : renderTNodeJSX3("columnControllerTopContent"), globalConfig.value.columnConfigDescriptionText && vue.createVNode("p", {
"class": "".concat(classPrefix.value, "-table__column-controller-desc")
}, [globalConfig.value.columnConfigDescriptionText]), checkboxGroupList.value.map(function(group, index2) {
var _columnController$val6, _columnController$val7;
var uniqueKey = (_columnController$val6 = columnController.value) !== null && _columnController$val6 !== void 0 && (_columnController$val6 = _columnController$val6.groupColumns) !== null && _columnController$val6 !== void 0 && _columnController$val6.length ? String(group.value || index2) : void 0;
return vue.createVNode(ColumnCheckboxGroup, {
"key": group.value || index2,
"uniqueKey": uniqueKey,
"value": columnCheckboxKeys.value,
"label": group.label,
"options": group.options,
"onChange": handleCheckChange,
"checkboxProps": (_columnController$val7 = columnController.value) === null || _columnController$val7 === void 0 ? void 0 : _columnController$val7.checkboxProps
}, null);
}), isFunction_1(columnControllerBottomContent) ? columnControllerBottomContent(vue.h) : renderTNodeJSX3("columnControllerBottomContent")])]);
return defaultNode;
},
confirmBtn: globalConfig.value.confirmText,
cancelBtn: globalConfig.value.cancelText,
width: 612,
onConfirm: function onConfirm() {
setTDisplayColumns(_toConsumableArray(columnCheckboxKeys.value));
if (columnControllerVisible.value === void 0) {
dialogInstance.value.hide();
} else {
var _props$onColumnContro;
(_props$onColumnContro = props2.onColumnControllerVisibleChange) === null || _props$onColumnContro === void 0 || _props$onColumnContro.call(props2, false, {
trigger: "cancel"
});
context.emit("update:columnControllerVisible", false);
}
},
onClose: function onClose() {
if (columnControllerVisible.value === void 0) {
dialogInstance.value.hide();
} else {
var _props$onColumnContro2;
(_props$onColumnContro2 = props2.onColumnControllerVisibleChange) === null || _props$onColumnContro2 === void 0 || _props$onColumnContro2.call(props2, false, {
trigger: "confirm"
});
context.emit("update:columnControllerVisible", false);
}
}
}, ((_columnController$val8 = columnController.value) === null || _columnController$val8 === void 0 ? void 0 : _columnController$val8.dialogProps) || {}));
};
vue.watch([columnControllerVisible], function(_ref4) {
var _ref5 = _slicedToArray(_ref4, 1), visible = _ref5[0];
if (visible === void 0)
return;
if (dialogInstance.value) {
visible ? dialogInstance.value.show() : dialogInstance.value.hide();
} else {
visible && handleToggleColumnController();
}
}, {
immediate: true
});
var renderColumnController = function renderColumnController2() {
var _props$columnControll;
var isColumnController = !!(columnController.value && Object.keys(columnController.value).length);
var placement = isColumnController ? columnController.value.placement || "top-right" : "";
if (isColumnController && columnController.value.hideTriggerButton)
return null;
var classes = ["".concat(classPrefix.value, "-table__column-controller-trigger"), _defineProperty$2({}, "".concat(classPrefix.value, "-align-").concat(placement), !!placement)];
return vue.createVNode("div", {
"class": classes
}, [vue.createVNode(Button, vue.mergeProps({
"theme": "default",
"variant": "outline",
"onClick": handleToggleColumnController,
"content": globalConfig.value.columnConfigButtonText
}, (_props$columnControll = props2.columnController) === null || _props$columnControll === void 0 ? void 0 : _props$columnControll.buttonProps), {
icon: function icon() {
return vue.createVNode(SettingIcon$1, null, null);
}
})]);
};
return {
tDisplayColumns,
columnCheckboxKeys,
renderColumnController
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useRowExpand(props2, context) {
var _toRefs = vue.toRefs(props2), expandedRowKeys = _toRefs.expandedRowKeys;
var renderTNode = useTNodeJSX();
var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
ChevronRightCircleIcon
}), ChevronRightCircleIcon$1 = _useGlobalIcon.ChevronRightCircleIcon;
var _useClassName = useClassName(), tableExpandClasses = _useClassName.tableExpandClasses, positiveRotate90 = _useClassName.positiveRotate90, tableFullRowClasses = _useClassName.tableFullRowClasses;
var _useDefaultValue = useDefaultValue(expandedRowKeys, props2.defaultExpandedRowKeys || [], props2.onExpandChange, "expandedRowKeys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tExpandedRowKeys = _useDefaultValue2[0], setTExpandedRowKeys = _useDefaultValue2[1];
var showExpandedRow = vue.computed(function() {
return Boolean(props2.expandedRow || context.slots.expandedRow || context.slots["expanded-row"]);
});
var showExpandIconColumn = vue.computed(function() {
return props2.expandIcon !== false && showExpandedRow.value;
});
var isFirstColumnFixed = vue.computed(function() {
var _props$columns;
return ((_props$columns = props2.columns) === null || _props$columns === void 0 || (_props$columns = _props$columns[0]) === null || _props$columns === void 0 ? void 0 : _props$columns.fixed) === "left";
});
var onToggleExpand = function onToggleExpand2(e, row) {
props2.expandOnRowClick && e.stopPropagation();
var currentId = get_1(row, props2.rowKey || "id");
var index2 = tExpandedRowKeys.value.indexOf(currentId);
var newKeys = _toConsumableArray(tExpandedRowKeys.value);
index2 !== -1 ? newKeys.splice(index2, 1) : newKeys.push(currentId);
setTExpandedRowKeys(newKeys, {
expandedRowData: props2.data.filter(function(t2) {
return newKeys.includes(get_1(t2, props2.rowKey || "id"));
}),
currentRowData: row
});
};
var renderExpandIcon = function renderExpandIcon2(_, p) {
var row = p.row, rowIndex = p.rowIndex;
var currentId = get_1(row, props2.rowKey || "id");
var expanded = tExpandedRowKeys.value.includes(currentId);
var icon = renderTNode("expandIcon", {
defaultNode: t(globalConfig.value.expandIcon) || vue.createVNode(ChevronRightCircleIcon$1, null, null),
params: {
row,
index: rowIndex
}
});
if (!icon)
return null;
var classes = [tableExpandClasses.iconBox, tableExpandClasses[expanded ? "expanded" : "collapsed"], _defineProperty$2({}, positiveRotate90, expanded)];
return vue.createVNode("span", {
"class": classes,
"onClick": function onClick(e) {
return onToggleExpand(e, row);
}
}, [icon]);
};
var getExpandColumn = function getExpandColumn2() {
var expandCol = {
colKey: "__EXPAND_ROW_ICON_COLUMN__",
width: 46,
className: tableExpandClasses.iconCell,
fixed: isFirstColumnFixed.value ? "left" : void 0,
cell: renderExpandIcon,
stopPropagation: true
};
return expandCol;
};
var renderExpandedRow = function renderExpandedRow2(p) {
var rowId = get_1(p.row, props2.rowKey || "id");
if (!tExpandedRowKeys.value || !tExpandedRowKeys.value.includes(rowId))
return null;
var isFixedLeft = p.isWidthOverflow && props2.columns.find(function(item) {
return item.fixed === "left";
});
return vue.createVNode("tr", {
"key": "expand_".concat(rowId),
"class": [tableExpandClasses.row, _defineProperty$2({}, tableFullRowClasses.base, isFixedLeft)]
}, [vue.createVNode("td", {
"colspan": p.columns.length
}, [vue.createVNode("div", {
"class": [tableExpandClasses.rowInner, _defineProperty$2({}, tableFullRowClasses.innerFullRow, isFixedLeft)],
"style": isFixedLeft ? {
width: "".concat(p.tableWidth, "px")
} : {}
}, [vue.createVNode("div", {
"class": tableFullRowClasses.innerFullElement
}, [renderTNode("expandedRow", {
params: p
})])])])]);
};
var onInnerExpandRowClick = function onInnerExpandRowClick2(p) {
onToggleExpand(p.e, p.row);
};
return {
showExpandedRow,
showExpandIconColumn,
getExpandColumn,
renderExpandedRow,
onInnerExpandRowClick
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function isRowSelectedDisabled(selectColumn, row, rowIndex) {
if (!selectColumn)
return false;
var disabled = isFunction_1(selectColumn.disabled) ? selectColumn.disabled({
row,
rowIndex
}) : selectColumn.disabled;
if (selectColumn.checkProps) {
if (isFunction_1(selectColumn.checkProps)) {
disabled = disabled || selectColumn.checkProps({
row,
rowIndex
}).disabled;
} else if (selectColumn.checkProps === "object") {
disabled = disabled || selectColumn.checkProps.disabled;
}
}
return !!disabled;
}
function getColumnsResetValue(columns) {
var resetValue = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _col$children;
var col = columns[i];
if (col.filter && "resetValue" in col.filter) {
resetValue[col.colKey] = col.filter.resetValue;
}
if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
getColumnsResetValue(col.children, resetValue);
}
}
return resetValue;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$d(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$c(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$d(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$d(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useRowSelect(props2, tableSelectedClasses) {
var _toRefs = vue.toRefs(props2), selectedRowKeys = _toRefs.selectedRowKeys, columns = _toRefs.columns, rowKey = _toRefs.rowKey, data2 = _toRefs.data, pagination = _toRefs.pagination, reserveSelectedRowOnPaginate = _toRefs.reserveSelectedRowOnPaginate;
var currentPaginateData = vue.ref(data2.value);
var selectedRowClassNames = vue.ref();
var _useDefaultValue = useDefaultValue(selectedRowKeys, props2.defaultSelectedRowKeys || [], props2.onSelectChange, "selectedRowKeys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tSelectedRowKeys = _useDefaultValue2[0], setTSelectedRowKeys = _useDefaultValue2[1];
var selectedRowDataMap = vue.ref(/* @__PURE__ */ new Map());
var selectColumn = vue.computed(function() {
return props2.columns.find(function(_ref) {
var type = _ref.type;
return ["multiple", "single"].includes(type);
});
});
var canSelectedRows = vue.computed(function() {
var currentData = reserveSelectedRowOnPaginate.value ? data2.value : currentPaginateData.value;
return currentData.filter(function(row, rowIndex) {
return !isDisabled(row, rowIndex);
});
});
var intersectionKeys = vue.computed(function() {
return intersection_1(tSelectedRowKeys.value, canSelectedRows.value.map(function(t) {
return get_1(t, props2.rowKey || "id");
}));
});
var allowUncheck = vue.computed(function() {
var singleSelectCol = columns.value.find(function(col) {
return col.type === "single";
});
if (!singleSelectCol || !singleSelectCol.checkProps || !("allowUncheck" in singleSelectCol.checkProps))
return false;
return singleSelectCol.checkProps.allowUncheck;
});
vue.watch([data2, pagination, reserveSelectedRowOnPaginate], function() {
if (reserveSelectedRowOnPaginate.value)
return;
var _pagination$value = pagination.value, pageSize = _pagination$value.pageSize, current = _pagination$value.current, defaultPageSize = _pagination$value.defaultPageSize, defaultCurrent = _pagination$value.defaultCurrent;
var tPageSize = pageSize || defaultPageSize;
var tCurrent = current || defaultCurrent;
currentPaginateData.value = data2.value.slice(tPageSize * (tCurrent - 1), tPageSize * tCurrent);
}, {
immediate: true
});
vue.watch([data2, columns, tSelectedRowKeys, selectColumn, rowKey], function() {
var _selectColumn$value;
var disabledRowFunc = function disabledRowFunc2(p) {
return selectColumn.value.disabled(p) ? tableSelectedClasses.disabled : "";
};
var disabledRowClass = (_selectColumn$value = selectColumn.value) !== null && _selectColumn$value !== void 0 && _selectColumn$value.disabled ? disabledRowFunc : void 0;
var selected = new Set(tSelectedRowKeys.value);
var selectedRowClassFunc = function selectedRowClassFunc2(_ref2) {
var row = _ref2.row;
var rowId = get_1(row, props2.rowKey || "id");
return selected.has(rowId) ? tableSelectedClasses.selected : "";
};
var selectedRowClass = selected.size ? selectedRowClassFunc : void 0;
selectedRowClassNames.value = [disabledRowClass, selectedRowClass];
}, {
immediate: true
});
function isDisabled(row, rowIndex) {
return isRowSelectedDisabled(selectColumn.value, row, rowIndex);
}
function getSelectedHeader() {
return function() {
var isIndeterminate = intersectionKeys.value.length > 0 && intersectionKeys.value.length < canSelectedRows.value.length;
var isChecked = intersectionKeys.value.length !== 0 && canSelectedRows.value.length !== 0 && intersectionKeys.value.length === canSelectedRows.value.length;
return vue.createVNode(Checkbox, {
"checked": isChecked,
"indeterminate": isIndeterminate,
"disabled": !canSelectedRows.value.length,
"onChange": handleSelectAll
}, null);
};
}
function getRowSelectDisabledData(p) {
var col = p.col, row = p.row, rowIndex = p.rowIndex;
var disabled = isFunction_1(col.disabled) ? col.disabled({
row,
rowIndex
}) : col.disabled;
var checkProps = isFunction_1(col.checkProps) ? col.checkProps({
row,
rowIndex
}) : col.checkProps;
return {
disabled: disabled || (checkProps === null || checkProps === void 0 ? void 0 : checkProps.disabled),
checkProps
};
}
function renderSelectCell(p) {
var column = p.col, _p$row = p.row, row = _p$row === void 0 ? {} : _p$row;
var checked = tSelectedRowKeys.value.includes(get_1(row, props2.rowKey || "id"));
var _getRowSelectDisabled = getRowSelectDisabledData(p), disabled = _getRowSelectDisabled.disabled, checkProps = _getRowSelectDisabled.checkProps;
var selectBoxProps = _objectSpread$c(_objectSpread$c({
checked,
disabled
}, checkProps), {}, {
onClick: function onClick(e) {
if (_typeof$2(e) === "object" && "e" in e) {
var _e$e;
(_e$e = e.e) === null || _e$e === void 0 || _e$e.stopPropagation();
} else {
e === null || e === void 0 || e.stopPropagation();
}
},
onChange: function onChange() {
return handleSelectChange(row);
}
});
if (column.type === "single")
return vue.createVNode(Radio, selectBoxProps, null);
if (column.type === "multiple") {
var _props$indeterminateS;
var isIndeterminate = (_props$indeterminateS = props2.indeterminateSelectedRowKeys) !== null && _props$indeterminateS !== void 0 && _props$indeterminateS.length ? props2.indeterminateSelectedRowKeys.includes(get_1(row, props2.rowKey)) : false;
return vue.createVNode(Checkbox, vue.mergeProps({
"indeterminate": isIndeterminate
}, selectBoxProps), null);
}
return null;
}
function handleSelectChange() {
var row = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};
var selectedRowKeys2 = _toConsumableArray(tSelectedRowKeys.value);
var reRowKey = props2.rowKey || "id";
var id = get_1(row, reRowKey);
var selectedRowIndex = selectedRowKeys2.indexOf(id);
var isExisted = selectedRowIndex !== -1;
if (selectColumn.value.type === "multiple") {
isExisted ? selectedRowKeys2.splice(selectedRowIndex, 1) : selectedRowKeys2.push(id);
} else if (selectColumn.value.type === "single") {
selectedRowKeys2 = isExisted && allowUncheck.value ? [] : [id];
} else {
log.warn("Table", "`column.type` must be one of `multiple` and `single`");
return;
}
setTSelectedRowKeys(selectedRowKeys2, {
selectedRowData: selectedRowKeys2.map(function(t) {
return selectedRowDataMap.value.get(t);
}),
currentRowKey: id,
currentRowData: row,
type: isExisted ? "uncheck" : "check"
});
}
function handleSelectAll(checked) {
var _selectedRowKeys$valu;
var reRowKey = props2.rowKey || "id";
var canSelectedRowKeys = canSelectedRows.value.map(function(record) {
return get_1(record, reRowKey);
});
var disabledSelectedRowKeys = ((_selectedRowKeys$valu = selectedRowKeys.value) === null || _selectedRowKeys$valu === void 0 ? void 0 : _selectedRowKeys$valu.filter(function(id) {
return !canSelectedRowKeys.includes(id);
})) || [];
var allIds = checked ? [].concat(_toConsumableArray(disabledSelectedRowKeys), _toConsumableArray(canSelectedRowKeys)) : _toConsumableArray(disabledSelectedRowKeys);
setTSelectedRowKeys(allIds, {
selectedRowData: checked ? allIds.map(function(t) {
return selectedRowDataMap.value.get(t);
}) : [],
type: checked ? "check" : "uncheck",
currentRowKey: "CHECK_ALL_BOX"
});
}
function formatToRowSelectColumn(col) {
var isSelection = ["multiple", "single"].includes(col.type);
if (!isSelection)
return col;
return _objectSpread$c(_objectSpread$c({}, col), {}, {
width: col.width || 64,
className: [tableSelectedClasses.checkCell, col.className],
cell: function cell(_, p) {
return renderSelectCell(p);
},
title: col.type === "multiple" ? getSelectedHeader() : col.title
});
}
var onInnerSelectRowClick = function onInnerSelectRowClick2(_ref3) {
var row = _ref3.row, index2 = _ref3.index;
var selectedColIndex = props2.columns.findIndex(function(item) {
return item.colKey === "row-select";
});
if (selectedColIndex === -1)
return;
var _getRowSelectDisabled2 = getRowSelectDisabledData({
row,
rowIndex: index2,
col: props2.columns[selectedColIndex],
colIndex: selectedColIndex
}), disabled = _getRowSelectDisabled2.disabled;
if (disabled)
return;
handleSelectChange(row);
};
vue.watch([data2, rowKey], function() {
for (var i = 0, len2 = data2.value.length; i < len2; i++) {
selectedRowDataMap.value.set(get_1(data2.value[i], rowKey.value || "id"), data2.value[i]);
}
}, {
immediate: true
});
var showRowSelect = vue.computed(function() {
return !!selectColumn.value;
});
var clearAllSelectedRowKeys = function clearAllSelectedRowKeys2() {
setTSelectedRowKeys([], {
selectedRowData: [],
currentRowKey: void 0,
currentRowData: void 0,
type: "uncheck"
});
};
var handleRowSelectWithAreaSelection = function handleRowSelectWithAreaSelection2(_ref4) {
var _selectColumn$value2;
var activeRowList = _ref4.activeRowList, action = _ref4.action;
if (!showRowSelect.value)
return;
if (action === "clear") {
clearAllSelectedRowKeys();
return;
}
if (((_selectColumn$value2 = selectColumn.value) === null || _selectColumn$value2 === void 0 ? void 0 : _selectColumn$value2.type) === "single") {
if (action === "space-one-selection") {
handleSelectChange(activeRowList[0].row);
}
return;
}
var validAreaSelection = activeRowList.filter(function(_ref5) {
var row = _ref5.row, rowIndex = _ref5.rowIndex;
return !getRowSelectDisabledData({
row,
rowIndex,
col: selectColumn.value,
colIndex: void 0
}).disabled;
});
if (!validAreaSelection.length)
return;
var areaSelectionKeys = validAreaSelection.map(function(_ref6) {
var row = _ref6.row;
return get_1(row, props2.rowKey);
});
var intersectionKeys2 = intersection_1(tSelectedRowKeys.value, areaSelectionKeys);
var toCheck = intersectionKeys2.length !== areaSelectionKeys.length;
var clearedKeys = tSelectedRowKeys.value.filter(function(key2) {
return !areaSelectionKeys.includes(key2);
});
var newSelectedRowKeys = toCheck ? _toConsumableArray(new Set(tSelectedRowKeys.value.concat(areaSelectionKeys))) : clearedKeys;
var currentRowData = action === "space-one-selection" ? activeRowList[0].row : void 0;
setTSelectedRowKeys(newSelectedRowKeys, {
selectedRowData: activeRowList,
currentRowKey: get_1(currentRowData, props2.rowKey),
currentRowData,
type: toCheck ? "check" : "uncheck"
});
};
return {
selectColumn,
showRowSelect,
selectedRowClassNames,
currentPaginateData,
setTSelectedRowKeys,
formatToRowSelectColumn,
onInnerSelectRowClick,
handleRowSelectWithAreaSelection
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _isSlot$1(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var SorterButton = vue.defineComponent({
name: "TSorterButton",
props: {
sortType: {
type: String,
"default": "all"
},
sortOrder: {
type: String,
"default": function _default14() {
return "";
}
},
locale: Object,
sortIcon: Function,
tooltipProps: Object,
hideSortTips: Boolean
},
emits: ["sort-icon-click"],
setup: function setup43(props2, context) {
var _useClassName = useClassName(), tableSortClasses = _useClassName.tableSortClasses, negativeRotate180 = _useClassName.negativeRotate180;
var renderTNode = useTNodeDefault();
var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
ChevronDownIcon
}), ChevronDownIcon$1 = _useGlobalIcon.ChevronDownIcon;
var allowSortTypes = vue.computed(function() {
return props2.sortType === "all" ? ["asc", "desc"] : [props2.sortType];
});
var onSortIconClick = function onSortIconClick2(e, direction) {
context.emit("sort-icon-click", e, {
descending: direction === "desc"
});
};
var getSortIcon = function getSortIcon2(direction, activeClass) {
var defaultIcon = t(globalConfig.value.sortIcon) || vue.createVNode(ChevronDownIcon$1, null, null);
var icon = renderTNode("sortIcon", defaultIcon);
var sortClassName = [activeClass, tableSortClasses.sortIcon, tableSortClasses.iconDirection[direction], _defineProperty$2({}, negativeRotate180, direction === "asc")];
return vue.createVNode("span", {
"class": sortClassName,
"onClick": function onClick(e) {
return onSortIconClick(e, direction);
}
}, [icon]);
};
return {
t,
globalConfig,
tableSortClasses,
negativeRotate180,
allowSortTypes,
getSortIcon
};
},
render: function render14() {
var _this = this;
var tableSortClasses = this.tableSortClasses;
var classes = [tableSortClasses.trigger, _defineProperty$2({}, tableSortClasses.doubleIcon, this.allowSortTypes.length > 1)];
var tooltips = {
asc: this.globalConfig.sortAscendingOperationText,
desc: this.globalConfig.sortDescendingOperationText
};
var sortButton = this.allowSortTypes.map(function(direction) {
var _slot;
var _this$hideSortTips;
var activeClass = direction === _this.sortOrder ? tableSortClasses.iconActive : tableSortClasses.iconDefault;
var cancelTips = _this.globalConfig.sortCancelOperationText;
var tips = direction === _this.sortOrder ? cancelTips : tooltips[direction];
if ((_this$hideSortTips = _this.hideSortTips) !== null && _this$hideSortTips !== void 0 ? _this$hideSortTips : _this.globalConfig.hideSortTips)
return _this.getSortIcon(direction, activeClass);
return vue.createVNode(Tooltip, vue.mergeProps({
"content": tips,
"placement": "right",
"showArrow": false,
"class": _this.tableSortClasses.iconDirection[direction]
}, _this.tooltipProps), _isSlot$1(_slot = _this.getSortIcon(direction, activeClass)) ? _slot : {
"default": function _default16() {
return [_slot];
}
});
});
return vue.createVNode("div", {
"class": classes
}, [sortButton]);
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$c(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$b(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$c(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$c(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useSorter(props2, _ref) {
var slots = _ref.slots;
var _toRefs = vue.toRefs(props2), sort2 = _toRefs.sort, data2 = _toRefs.data;
var originalData = vue.ref();
var _useDefaultValue = useDefaultValue(sort2, props2.defaultSort, props2.onSortChange, "sort"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tSortInfo = _useDefaultValue2[0], setTSortInfo = _useDefaultValue2[1];
var _useDefaultValue3 = useDefaultValue(data2, [], props2.onDataChange, "data"), _useDefaultValue4 = _slicedToArray(_useDefaultValue3, 2), tData = _useDefaultValue4[0], setTData = _useDefaultValue4[1];
var sorterFuncMap = vue.computed(function() {
return getSorterFuncMap(props2.columns);
});
var innerSort = vue.ref();
var sortArray = vue.computed(function() {
var sort22 = tSortInfo.value;
if (!sort22)
return [];
return isArray_1(sort22) ? sort22 : [sort22];
});
var sortMap = vue.computed(function() {
var sortMap2 = {};
sortArray.value.forEach(function(info3, index2) {
var sortBy = info3.sortBy;
sortMap2[sortBy] = _objectSpread$b({
index: index2
}, info3);
});
return sortMap2;
});
function getSorterFuncMap(columns) {
var map = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _col$children;
var col = columns[i];
if (isFunction_1(col.sorter)) {
map[col.colKey] = col.sorter;
}
if ((_col$children = col.children) !== null && _col$children !== void 0 && _col$children.length) {
getSorterFuncMap(col.children, map);
}
}
return map;
}
function handleDataSort(sortInfo) {
var sort22 = sortInfo;
if (!Object.keys(sorterFuncMap.value).length)
return;
if (!originalData.value) {
originalData.value = tData.value;
}
var isEmptyArraySort = !sort22 || sort22 instanceof Array && !sort22.length;
var isEmptyObjectSort = !(sort22 instanceof Array) && !(sort22 !== null && sort22 !== void 0 && sort22.sortBy);
if (isEmptyArraySort || isEmptyObjectSort) {
setTData(originalData.value, {
trigger: "sort"
});
return originalData.value;
}
var formatedSort = sort22 instanceof Array ? sort22 : [sort22];
var newData = tData.value.slice().sort(function(a, b) {
var sortResult = 0;
for (var i = 0, len2 = formatedSort.length; i < len2; i++) {
var item = formatedSort[i];
var sortFunc = sorterFuncMap.value[item.sortBy];
if (sortResult === 0 && sortFunc) {
sortResult = item.descending ? sortFunc(b, a) : sortFunc(a, b);
} else {
break;
}
}
return sortResult;
});
if (JSON.stringify(newData) === JSON.stringify(tData.value))
return;
setTData(newData, {
trigger: "sort"
});
return newData;
}
function handleSortHeaderClick(col, p) {
var _props$onChange;
var sortInfo;
if (props2.multipleSort) {
sortInfo = getMultipleNextSort(col, p);
} else {
var sort22 = tSortInfo.value instanceof Array ? tSortInfo.value[0] : tSortInfo.value;
sortInfo = getSingleNextSort(col, sort22, p);
}
var newData = handleDataSort(sortInfo);
var currentData = newData || tData.value;
var currentDataSource = currentData;
setTSortInfo(sortInfo, {
currentDataSource,
col
});
(_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, {
sorter: sortInfo
}, {
currentData,
trigger: "sorter"
});
innerSort.value = sortInfo;
}
function getSortOrder(descending) {
if (descending === void 0)
return;
return descending ? "desc" : "asc";
}
function getSingleNextSort(col, sortInfo, p) {
if (sortInfo && sortInfo.sortBy === col.colKey && sortInfo.descending === p.descending) {
return void 0;
}
return {
sortBy: col.colKey,
descending: p.descending
};
}
function getMultipleNextSort(col, p) {
if (!Array.isArray(tSortInfo.value)) {
tSortInfo.value = tSortInfo.value ? [tSortInfo.value] : [];
}
var sort22 = tSortInfo.value;
var colKey = col.colKey;
var result = _toConsumableArray(sort22);
for (var i = 0, len2 = sort22.length; i < len2; i++) {
if (sort22[i].sortBy === colKey) {
var next = getSingleNextSort(col, sort22[i], p);
next ? result[i] = next : result.splice(i, 1);
return result;
}
}
result.push({
sortBy: colKey,
descending: p.descending
});
return result;
}
function renderSortIcon(_ref2) {
var _sortMap$value$col$co;
var col = _ref2.col;
if (!col.sorter)
return null;
var sorterButtonsProps = {
sortType: col.sortType,
sortOrder: getSortOrder((_sortMap$value$col$co = sortMap.value[col.colKey]) === null || _sortMap$value$col$co === void 0 ? void 0 : _sortMap$value$col$co.descending),
sortIcon: props2.sortIcon,
hideSortTips: props2.hideSortTips,
locale: props2.locale
};
return vue.createVNode(SorterButton, vue.mergeProps(sorterButtonsProps, {
"onSortIconClick": function onSortIconClick(_, p) {
return handleSortHeaderClick(col, p);
}
}), {
sortIcon: slots.sortIcon
});
}
var isSortInfoSame = function isSortInfoSame2(a, b) {
var tmpSortInfo = isArray_1(a) ? a : [a];
var tmpInnerSortInfo = isArray_1(b) ? b : [b];
if (tmpSortInfo.length && !b)
return false;
var _loop = function _loop2() {
var item = tmpSortInfo[i];
var result = tmpInnerSortInfo.find(function(t) {
return t.sortBy === item.sortBy;
});
if (!result)
return {
v: false
};
return {
v: item.descending === result.descending
};
}, _ret;
for (var i = 0, len2 = tmpSortInfo.length; i < len2; i++) {
_ret = _loop();
if (_ret)
return _ret.v;
}
};
vue.watch(function() {
return [tSortInfo, props2.data];
}, function() {
if (!tSortInfo.value || !Object.keys(tSortInfo.value).length || !tData.value.length)
return;
if (!isSortInfoSame(tSortInfo.value, innerSort.value)) {
handleDataSort(tSortInfo.value);
}
}, {
immediate: true
});
return {
renderSortIcon
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$b(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$a(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$b(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$b(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var TableFilterController = vue.defineComponent({
name: "TableFilterController",
props: {
locale: Object,
column: Object,
colIndex: Number,
tFilterValue: Object,
innerFilterValue: Object,
tableFilterClasses: Object,
isFocusClass: String,
primaryTableElement: {},
popupProps: Object,
attach: [String, Function],
onVisibleChange: Function
},
emits: ["inner-filter-change", "reset", "confirm"],
setup: function setup44(props2, context) {
var triggerElementRef = vue.ref(null);
var renderTNode = useTNodeDefault();
var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
FilterIcon
}), FilterIcon$1 = _useGlobalIcon.FilterIcon;
var filterPopupVisible = vue.ref(false);
var onFilterPopupVisibleChange = function onFilterPopupVisibleChange2(visible) {
var _props$onVisibleChang;
filterPopupVisible.value = visible;
(_props$onVisibleChang = props2.onVisibleChange) === null || _props$onVisibleChang === void 0 || _props$onVisibleChang.call(props2, visible);
};
var renderComponent = function renderComponent2(column, filterComponentProps, component) {
if (!component)
return null;
var isVueComponent = !!component.setup;
if (isFunction_1(column.filter.component) && !isVueComponent) {
return column.filter.component(function(v, b) {
var tProps = _typeof$2(b) === "object" && "attrs" in b ? b.attrs : {};
return vue.h(v, {
props: _objectSpread$a(_objectSpread$a({}, filterComponentProps), tProps)
});
});
}
var filter3 = column.filter || {};
return vue.createVNode(component, vue.mergeProps({
"class": filter3.classNames,
"style": filter3.style
}, filter3.attrs, filterComponentProps), null);
};
var getFilterContent = function getFilterContent2(column) {
var _column$filter, _column$filter2;
var types = ["single", "multiple", "input"];
if (column.type && !types.includes(column.filter.type)) {
console.error("TDesign Table Error: column.filter.type must be the following: ".concat(JSON.stringify(types)));
return;
}
var _props$innerFilterVal = props2.innerFilterValue, innerFilterValue = _props$innerFilterVal === void 0 ? {} : _props$innerFilterVal;
var component = {
single: RadioGroup,
multiple: CheckboxGroup,
input: Input
}[column.filter.type] || column.filter.component;
if (!component && !column.filter.component)
return;
var filterComponentProps = _objectSpread$a(_objectSpread$a({
options: ["single", "multiple"].includes(column.filter.type) ? (_column$filter = column.filter) === null || _column$filter === void 0 ? void 0 : _column$filter.list : void 0
}, ((_column$filter2 = column.filter) === null || _column$filter2 === void 0 ? void 0 : _column$filter2.props) || {}), {}, {
onChange: function onChange(val, ctx) {
var _column$filter$props;
context.emit("inner-filter-change", val, column);
if ((_column$filter$props = column.filter.props) !== null && _column$filter$props !== void 0 && _column$filter$props.onChange) {
var _column$filter$props$, _column$filter$props2;
(_column$filter$props$ = (_column$filter$props2 = column.filter.props).onChange) === null || _column$filter$props$ === void 0 || _column$filter$props$.call(_column$filter$props2, val, ctx);
}
}
});
if (column.colKey && innerFilterValue && column.colKey in innerFilterValue) {
filterComponentProps.value = innerFilterValue === null || innerFilterValue === void 0 ? void 0 : innerFilterValue[column.colKey];
}
if (column.filter.confirmEvents) {
column.filter.confirmEvents.forEach(function(event) {
filterComponentProps[event] = function() {
context.emit("confirm", column);
filterPopupVisible.value = false;
};
});
}
return vue.createVNode("div", {
"class": props2.tableFilterClasses.contentInner
}, [renderComponent(column, filterComponentProps, component)]);
};
var getBottomButtons = function getBottomButtons2(column) {
if (!column.filter.showConfirmAndReset)
return;
return vue.createVNode("div", {
"class": props2.tableFilterClasses.bottomButtons
}, [vue.createVNode(Button, {
"theme": "default",
"size": "small",
"onClick": function onClick() {
context.emit("reset", column);
filterPopupVisible.value = false;
}
}, {
"default": function _default16() {
return [globalConfig.value.resetText];
}
}), vue.createVNode(Button, {
"theme": "primary",
"size": "small",
"onClick": function onClick() {
context.emit("confirm", column);
filterPopupVisible.value = false;
}
}, {
"default": function _default16() {
return [globalConfig.value.confirmText];
}
})]);
};
var getContent = function getContent2() {
return vue.createVNode("div", {
"class": props2.tableFilterClasses.popupContent
}, [getFilterContent(props2.column), getBottomButtons(props2.column)]);
};
return {
t,
globalConfig,
FilterIcon: FilterIcon$1,
filterPopupVisible,
triggerElementRef,
renderTNode,
getContent,
onFilterPopupVisibleChange
};
},
render: function render15() {
var _this$tFilterValue, _this = this;
var column = this.column, popupProps2 = this.popupProps, FilterIcon2 = this.FilterIcon;
if (!column.filter || column.filter && !Object.keys(column.filter).length)
return null;
var defaultFilterIcon = this.t(this.globalConfig.filterIcon) || vue.createVNode(FilterIcon2, null, null);
var filterValue = (_this$tFilterValue = this.tFilterValue) === null || _this$tFilterValue === void 0 ? void 0 : _this$tFilterValue[column.colKey];
var isObjectTrue = _typeof$2(filterValue) === "object" && !isEmpty_1(filterValue);
var isValueExist = (filterValue || filterValue === false) && _typeof$2(filterValue) !== "object";
return vue.createVNode(Popup, vue.mergeProps({
"attach": this.attach || (this.primaryTableElement ? function() {
return _this.primaryTableElement;
} : void 0),
"visible": this.filterPopupVisible,
"destroyOnClose": true,
"trigger": "click",
"placement": "bottom-right",
"showArrow": true,
"overlayClassName": this.tableFilterClasses.popup,
"onVisibleChange": function onVisibleChange(val) {
return _this.onFilterPopupVisibleChange(val);
},
"class": [this.tableFilterClasses.icon, _defineProperty$2({}, this.isFocusClass, isObjectTrue || isValueExist)],
"content": this.getContent
}, popupProps2), {
"default": function _default16() {
return [vue.createVNode("div", {
"ref": "triggerElementRef"
}, [_this.renderTNode("filterIcon", {
defaultNode: defaultFilterIcon,
params: {
col: column,
colIndex: _this.colIndex
}
})])];
}
});
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$a(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$9(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$a(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$a(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function isFilterValueExist(value) {
var isArrayTrue = value instanceof Array && value.length;
var isObject2 = _typeof$2(value) === "object" && !(value instanceof Array);
var isObjectTrue = isObject2 && Object.keys(value).length;
return isArrayTrue || isObjectTrue || !["null", "", "undefined"].includes(String(value));
}
function filterEmptyData(data2) {
var newFilterValue = {};
Object.keys(data2).forEach(function(key2) {
var item = data2[key2];
if (isFilterValueExist(item)) {
newFilterValue[key2] = item;
}
});
return newFilterValue;
}
function useFilter(props2, context) {
var primaryTableRef = vue.ref(null);
var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var renderTNode = useTNodeDefault();
var _toRefs = vue.toRefs(props2), filterValue = _toRefs.filterValue, columns = _toRefs.columns;
var _useClassName = useClassName(), tableFilterClasses = _useClassName.tableFilterClasses, isFocusClass = _useClassName.isFocusClass;
var isTableOverflowHidden = vue.ref();
var _useDefaultValue = useDefaultValue(filterValue, props2.defaultFilterValue, props2.onFilterChange, "filterValue"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tFilterValue = _useDefaultValue2[0], setTFilterValue = _useDefaultValue2[1];
var innerFilterValue = vue.ref(tFilterValue.value);
var hasEmptyCondition = vue.computed(function() {
var filterEmpty2 = filterEmptyData(tFilterValue.value || {});
return !tFilterValue.value || !Object.keys(filterEmpty2).length;
});
vue.watch([tFilterValue], function(_ref) {
var _ref2 = _slicedToArray(_ref, 1), val = _ref2[0];
innerFilterValue.value = val;
});
function renderFirstFilterRow() {
var _props$pagination, _props$data;
if (hasEmptyCondition.value)
return null;
var defaultNode = vue.createVNode("div", {
"class": tableFilterClasses.result
}, [vue.createVNode("span", null, [t(globalConfig.value.searchResultText, {
result: getFilterResultContent(),
count: ((_props$pagination = props2.pagination) === null || _props$pagination === void 0 ? void 0 : _props$pagination.total) || ((_props$data = props2.data) === null || _props$data === void 0 ? void 0 : _props$data.length)
})]), vue.createVNode(Button, {
"theme": "primary",
"variant": "text",
"onClick": onResetAll
}, {
"default": function _default16() {
return [globalConfig.value.clearFilterResultButtonText];
}
})]);
var filterContent = renderTNode("filterRow");
if (props2.filterRow && !filterContent || props2.filterRow === null)
return null;
return vue.createVNode("div", {
"class": tableFilterClasses.inner
}, [filterContent || defaultNode]);
}
function getFilterResultContent() {
var arr = [];
var columns2 = [];
getAllColumns(props2.columns, columns2);
columns2.filter(function(col) {
return col.filter;
}).forEach(function(col, index2) {
var value = tFilterValue.value[col.colKey];
if (col.filter.list && !["null"].includes(String(value))) {
var formattedValue = value instanceof Array ? value : [value];
var label = [];
col.filter.list.forEach(function(option2) {
if (formattedValue.includes(option2.value)) {
label.push(option2.label);
}
});
value = label.join();
}
if (isFilterValueExist(value)) {
var _col$filter, _col$filter2;
var _label = isFunction_1((_col$filter = col.filter) === null || _col$filter === void 0 ? void 0 : _col$filter.label) ? col.filter.label(vue.h) : (_col$filter2 = col.filter) === null || _col$filter2 === void 0 ? void 0 : _col$filter2.label;
var title = renderTitle(context.slots, col, index2);
arr.push("".concat(_label || title, ":").concat(value));
}
});
return arr.join(";");
}
function getAllColumns(col, columns2) {
col.forEach(function(column) {
if (column.children) {
getAllColumns(column.children, columns2);
}
columns2.push(column);
});
}
function onInnerFilterChange(val, column) {
var filterValue2 = _objectSpread$9(_objectSpread$9({}, innerFilterValue.value), {}, _defineProperty$2({}, column.colKey, val));
innerFilterValue.value = filterValue2;
if (!column.filter.showConfirmAndReset) {
emitFilterChange(filterValue2, "filter-change", column);
}
}
function emitFilterChange(filterValue2, trigger, column) {
var _props$onChange;
setTFilterValue(filterValue2, {
col: column,
trigger
});
(_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, {
filter: filterValue2
}, {
trigger: "filter"
});
}
function onReset(column) {
var _ref3, _column$filter$resetV;
var filterValue2 = _objectSpread$9(_objectSpread$9({}, tFilterValue.value), {}, _defineProperty$2({}, column.colKey, (_ref3 = (_column$filter$resetV = column.filter.resetValue) !== null && _column$filter$resetV !== void 0 ? _column$filter$resetV : {
single: "",
multiple: [],
input: ""
}[column.filter.type]) !== null && _ref3 !== void 0 ? _ref3 : ""));
emitFilterChange(filterValue2, "reset", column);
}
function onResetAll() {
var resetValue = getColumnsResetValue(columns.value);
emitFilterChange(resetValue, "clear", void 0);
}
function onConfirm(column) {
emitFilterChange(innerFilterValue.value, "confirm", column);
}
function renderFilterIcon(_ref4) {
var _primaryTableRef$valu;
var col = _ref4.col, colIndex = _ref4.colIndex;
return vue.createVNode(TableFilterController, {
"column": col,
"colIndex": colIndex,
"filterIcon": props2.filterIcon,
"tFilterValue": tFilterValue.value,
"innerFilterValue": innerFilterValue.value,
"tableFilterClasses": tableFilterClasses,
"isFocusClass": isFocusClass,
"popupProps": col.filter.popupProps,
"attach": props2.attach,
"locale": props2.locale,
"onReset": onReset,
"onConfirm": onConfirm,
"onInnerFilterChange": onInnerFilterChange,
"primaryTableElement": (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.$el,
"onVisibleChange": onPopupVisibleChange
}, {
filterIcon: context.slots.filterIcon
});
}
function setFilterPrimaryTableRef(primaryTableElement) {
primaryTableRef.value = primaryTableElement;
}
function onPopupVisibleChange(visible) {
if (visible && !isTableOverflowHidden.value) {
isTableOverflowHidden.value = !visible;
}
}
return {
hasEmptyCondition,
isTableOverflowHidden,
renderFilterIcon,
renderFirstFilterRow,
setFilterPrimaryTableRef
};
}
/**!
* Sortable 1.15.0
* @author RubaXa <[email protected]>
* @author owenm <[email protected]>
* @license MIT
*/
function ownKeys$9(object, enumerableOnly) {
var keys2 = Object.keys(object);
if (Object.getOwnPropertySymbols) {
var symbols = Object.getOwnPropertySymbols(object);
if (enumerableOnly) {
symbols = symbols.filter(function(sym) {
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
});
}
keys2.push.apply(keys2, symbols);
}
return keys2;
}
function _objectSpread2(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i] != null ? arguments[i] : {};
if (i % 2) {
ownKeys$9(Object(source), true).forEach(function(key2) {
_defineProperty(target, key2, source[key2]);
});
} else if (Object.getOwnPropertyDescriptors) {
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
} else {
ownKeys$9(Object(source)).forEach(function(key2) {
Object.defineProperty(target, key2, Object.getOwnPropertyDescriptor(source, key2));
});
}
}
return target;
}
function _typeof(obj) {
"@babel/helpers - typeof";
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function(obj2) {
return typeof obj2;
};
} else {
_typeof = function(obj2) {
return obj2 && typeof Symbol === "function" && obj2.constructor === Symbol && obj2 !== Symbol.prototype ? "symbol" : typeof obj2;
};
}
return _typeof(obj);
}
function _defineProperty(obj, key2, value) {
if (key2 in obj) {
Object.defineProperty(obj, key2, {
value,
enumerable: true,
configurable: true,
writable: true
});
} else {
obj[key2] = value;
}
return obj;
}
function _extends() {
_extends = Object.assign || function(target) {
for (var i = 1; i < arguments.length; i++) {
var source = arguments[i];
for (var key2 in source) {
if (Object.prototype.hasOwnProperty.call(source, key2)) {
target[key2] = source[key2];
}
}
}
return target;
};
return _extends.apply(this, arguments);
}
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null)
return {};
var target = {};
var sourceKeys = Object.keys(source);
var key2, i;
for (i = 0; i < sourceKeys.length; i++) {
key2 = sourceKeys[i];
if (excluded.indexOf(key2) >= 0)
continue;
target[key2] = source[key2];
}
return target;
}
function _objectWithoutProperties(source, excluded) {
if (source == null)
return {};
var target = _objectWithoutPropertiesLoose(source, excluded);
var key2, i;
if (Object.getOwnPropertySymbols) {
var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
for (i = 0; i < sourceSymbolKeys.length; i++) {
key2 = sourceSymbolKeys[i];
if (excluded.indexOf(key2) >= 0)
continue;
if (!Object.prototype.propertyIsEnumerable.call(source, key2))
continue;
target[key2] = source[key2];
}
}
return target;
}
var version = "1.15.0";
function userAgent(pattern2) {
if (typeof window !== "undefined" && window.navigator) {
return !!/* @__PURE__ */ navigator.userAgent.match(pattern2);
}
}
var IE11OrLess = userAgent(/(?:Trident.*rv[ :]?11\.|msie|iemobile|Windows Phone)/i);
var Edge = userAgent(/Edge/i);
var FireFox = userAgent(/firefox/i);
var Safari = userAgent(/safari/i) && !userAgent(/chrome/i) && !userAgent(/android/i);
var IOS = userAgent(/iP(ad|od|hone)/i);
var ChromeForAndroid = userAgent(/chrome/i) && userAgent(/android/i);
var captureMode = {
capture: false,
passive: false
};
function on(el, event, fn2) {
el.addEventListener(event, fn2, !IE11OrLess && captureMode);
}
function off(el, event, fn2) {
el.removeEventListener(event, fn2, !IE11OrLess && captureMode);
}
function matches(el, selector) {
if (!selector)
return;
selector[0] === ">" && (selector = selector.substring(1));
if (el) {
try {
if (el.matches) {
return el.matches(selector);
} else if (el.msMatchesSelector) {
return el.msMatchesSelector(selector);
} else if (el.webkitMatchesSelector) {
return el.webkitMatchesSelector(selector);
}
} catch (_) {
return false;
}
}
return false;
}
function getParentOrHost(el) {
return el.host && el !== document && el.host.nodeType ? el.host : el.parentNode;
}
function closest(el, selector, ctx, includeCTX) {
if (el) {
ctx = ctx || document;
do {
if (selector != null && (selector[0] === ">" ? el.parentNode === ctx && matches(el, selector) : matches(el, selector)) || includeCTX && el === ctx) {
return el;
}
if (el === ctx)
break;
} while (el = getParentOrHost(el));
}
return null;
}
var R_SPACE = /\s+/g;
function toggleClass(el, name, state) {
if (el && name) {
if (el.classList) {
el.classList[state ? "add" : "remove"](name);
} else {
var className = (" " + el.className + " ").replace(R_SPACE, " ").replace(" " + name + " ", " ");
el.className = (className + (state ? " " + name : "")).replace(R_SPACE, " ");
}
}
}
function css(el, prop, val) {
var style2 = el && el.style;
if (style2) {
if (val === void 0) {
if (document.defaultView && document.defaultView.getComputedStyle) {
val = document.defaultView.getComputedStyle(el, "");
} else if (el.currentStyle) {
val = el.currentStyle;
}
return prop === void 0 ? val : val[prop];
} else {
if (!(prop in style2) && prop.indexOf("webkit") === -1) {
prop = "-webkit-" + prop;
}
style2[prop] = val + (typeof val === "string" ? "" : "px");
}
}
}
function matrix(el, selfOnly) {
var appliedTransforms = "";
if (typeof el === "string") {
appliedTransforms = el;
} else {
do {
var transform = css(el, "transform");
if (transform && transform !== "none") {
appliedTransforms = transform + " " + appliedTransforms;
}
} while (!selfOnly && (el = el.parentNode));
}
var matrixFn = window.DOMMatrix || window.WebKitCSSMatrix || window.CSSMatrix || window.MSCSSMatrix;
return matrixFn && new matrixFn(appliedTransforms);
}
function find(ctx, tagName, iterator) {
if (ctx) {
var list = ctx.getElementsByTagName(tagName), i = 0, n = list.length;
if (iterator) {
for (; i < n; i++) {
iterator(list[i], i);
}
}
return list;
}
return [];
}
function getWindowScrollingElement() {
var scrollingElement = document.scrollingElement;
if (scrollingElement) {
return scrollingElement;
} else {
return document.documentElement;
}
}
function getRect(el, relativeToContainingBlock, relativeToNonStaticParent, undoScale, container) {
if (!el.getBoundingClientRect && el !== window)
return;
var elRect, top2, left2, bottom2, right2, height, width;
if (el !== window && el.parentNode && el !== getWindowScrollingElement()) {
elRect = el.getBoundingClientRect();
top2 = elRect.top;
left2 = elRect.left;
bottom2 = elRect.bottom;
right2 = elRect.right;
height = elRect.height;
width = elRect.width;
} else {
top2 = 0;
left2 = 0;
bottom2 = window.innerHeight;
right2 = window.innerWidth;
height = window.innerHeight;
width = window.innerWidth;
}
if ((relativeToContainingBlock || relativeToNonStaticParent) && el !== window) {
container = container || el.parentNode;
if (!IE11OrLess) {
do {
if (container && container.getBoundingClientRect && (css(container, "transform") !== "none" || relativeToNonStaticParent && css(container, "position") !== "static")) {
var containerRect = container.getBoundingClientRect();
top2 -= containerRect.top + parseInt(css(container, "border-top-width"));
left2 -= containerRect.left + parseInt(css(container, "border-left-width"));
bottom2 = top2 + elRect.height;
right2 = left2 + elRect.width;
break;
}
} while (container = container.parentNode);
}
}
if (undoScale && el !== window) {
var elMatrix = matrix(container || el), scaleX = elMatrix && elMatrix.a, scaleY = elMatrix && elMatrix.d;
if (elMatrix) {
top2 /= scaleY;
left2 /= scaleX;
width /= scaleX;
height /= scaleY;
bottom2 = top2 + height;
right2 = left2 + width;
}
}
return {
top: top2,
left: left2,
bottom: bottom2,
right: right2,
width,
height
};
}
function isScrolledPast(el, elSide, parentSide) {
var parent2 = getParentAutoScrollElement(el, true), elSideVal = getRect(el)[elSide];
while (parent2) {
var parentSideVal = getRect(parent2)[parentSide], visible = void 0;
if (parentSide === "top" || parentSide === "left") {
visible = elSideVal >= parentSideVal;
} else {
visible = elSideVal <= parentSideVal;
}
if (!visible)
return parent2;
if (parent2 === getWindowScrollingElement())
break;
parent2 = getParentAutoScrollElement(parent2, false);
}
return false;
}
function getChild(el, childNum, options, includeDragEl) {
var currentChild = 0, i = 0, children = el.children;
while (i < children.length) {
if (children[i].style.display !== "none" && children[i] !== Sortable.ghost && (includeDragEl || children[i] !== Sortable.dragged) && closest(children[i], options.draggable, el, false)) {
if (currentChild === childNum) {
return children[i];
}
currentChild++;
}
i++;
}
return null;
}
function lastChild(el, selector) {
var last2 = el.lastElementChild;
while (last2 && (last2 === Sortable.ghost || css(last2, "display") === "none" || selector && !matches(last2, selector))) {
last2 = last2.previousElementSibling;
}
return last2 || null;
}
function index$2(el, selector) {
var index2 = 0;
if (!el || !el.parentNode) {
return -1;
}
while (el = el.previousElementSibling) {
if (el.nodeName.toUpperCase() !== "TEMPLATE" && el !== Sortable.clone && (!selector || matches(el, selector))) {
index2++;
}
}
return index2;
}
function getRelativeScrollOffset(el) {
var offsetLeft = 0, offsetTop = 0, winScroller = getWindowScrollingElement();
if (el) {
do {
var elMatrix = matrix(el), scaleX = elMatrix.a, scaleY = elMatrix.d;
offsetLeft += el.scrollLeft * scaleX;
offsetTop += el.scrollTop * scaleY;
} while (el !== winScroller && (el = el.parentNode));
}
return [offsetLeft, offsetTop];
}
function indexOfObject(arr, obj) {
for (var i in arr) {
if (!arr.hasOwnProperty(i))
continue;
for (var key2 in obj) {
if (obj.hasOwnProperty(key2) && obj[key2] === arr[i][key2])
return Number(i);
}
}
return -1;
}
function getParentAutoScrollElement(el, includeSelf) {
if (!el || !el.getBoundingClientRect)
return getWindowScrollingElement();
var elem = el;
var gotSelf = false;
do {
if (elem.clientWidth < elem.scrollWidth || elem.clientHeight < elem.scrollHeight) {
var elemCSS = css(elem);
if (elem.clientWidth < elem.scrollWidth && (elemCSS.overflowX == "auto" || elemCSS.overflowX == "scroll") || elem.clientHeight < elem.scrollHeight && (elemCSS.overflowY == "auto" || elemCSS.overflowY == "scroll")) {
if (!elem.getBoundingClientRect || elem === document.body)
return getWindowScrollingElement();
if (gotSelf || includeSelf)
return elem;
gotSelf = true;
}
}
} while (elem = elem.parentNode);
return getWindowScrollingElement();
}
function extend$1(dst, src) {
if (dst && src) {
for (var key2 in src) {
if (src.hasOwnProperty(key2)) {
dst[key2] = src[key2];
}
}
}
return dst;
}
function isRectEqual(rect1, rect2) {
return Math.round(rect1.top) === Math.round(rect2.top) && Math.round(rect1.left) === Math.round(rect2.left) && Math.round(rect1.height) === Math.round(rect2.height) && Math.round(rect1.width) === Math.round(rect2.width);
}
var _throttleTimeout;
function throttle(callback, ms) {
return function() {
if (!_throttleTimeout) {
var args = arguments, _this = this;
if (args.length === 1) {
callback.call(_this, args[0]);
} else {
callback.apply(_this, args);
}
_throttleTimeout = setTimeout(function() {
_throttleTimeout = void 0;
}, ms);
}
};
}
function cancelThrottle() {
clearTimeout(_throttleTimeout);
_throttleTimeout = void 0;
}
function scrollBy(el, x, y) {
el.scrollLeft += x;
el.scrollTop += y;
}
function clone(el) {
var Polymer = window.Polymer;
var $ = window.jQuery || window.Zepto;
if (Polymer && Polymer.dom) {
return Polymer.dom(el).cloneNode(true);
} else if ($) {
return $(el).clone(true)[0];
} else {
return el.cloneNode(true);
}
}
var expando = "Sortable" + (/* @__PURE__ */ new Date()).getTime();
function AnimationStateManager() {
var animationStates = [], animationCallbackId;
return {
captureAnimationState: function captureAnimationState() {
animationStates = [];
if (!this.options.animation)
return;
var children = [].slice.call(this.el.children);
children.forEach(function(child) {
if (css(child, "display") === "none" || child === Sortable.ghost)
return;
animationStates.push({
target: child,
rect: getRect(child)
});
var fromRect = _objectSpread2({}, animationStates[animationStates.length - 1].rect);
if (child.thisAnimationDuration) {
var childMatrix = matrix(child, true);
if (childMatrix) {
fromRect.top -= childMatrix.f;
fromRect.left -= childMatrix.e;
}
}
child.fromRect = fromRect;
});
},
addAnimationState: function addAnimationState(state) {
animationStates.push(state);
},
removeAnimationState: function removeAnimationState(target) {
animationStates.splice(indexOfObject(animationStates, {
target
}), 1);
},
animateAll: function animateAll(callback) {
var _this = this;
if (!this.options.animation) {
clearTimeout(animationCallbackId);
if (typeof callback === "function")
callback();
return;
}
var animating = false, animationTime = 0;
animationStates.forEach(function(state) {
var time = 0, target = state.target, fromRect = target.fromRect, toRect = getRect(target), prevFromRect = target.prevFromRect, prevToRect = target.prevToRect, animatingRect = state.rect, targetMatrix = matrix(target, true);
if (targetMatrix) {
toRect.top -= targetMatrix.f;
toRect.left -= targetMatrix.e;
}
target.toRect = toRect;
if (target.thisAnimationDuration) {
if (isRectEqual(prevFromRect, toRect) && !isRectEqual(fromRect, toRect) && // Make sure animatingRect is on line between toRect & fromRect
(animatingRect.top - toRect.top) / (animatingRect.left - toRect.left) === (fromRect.top - toRect.top) / (fromRect.left - toRect.left)) {
time = calculateRealTime(animatingRect, prevFromRect, prevToRect, _this.options);
}
}
if (!isRectEqual(toRect, fromRect)) {
target.prevFromRect = fromRect;
target.prevToRect = toRect;
if (!time) {
time = _this.options.animation;
}
_this.animate(target, animatingRect, toRect, time);
}
if (time) {
animating = true;
animationTime = Math.max(animationTime, time);
clearTimeout(target.animationResetTimer);
target.animationResetTimer = setTimeout(function() {
target.animationTime = 0;
target.prevFromRect = null;
target.fromRect = null;
target.prevToRect = null;
target.thisAnimationDuration = null;
}, time);
target.thisAnimationDuration = time;
}
});
clearTimeout(animationCallbackId);
if (!animating) {
if (typeof callback === "function")
callback();
} else {
animationCallbackId = setTimeout(function() {
if (typeof callback === "function")
callback();
}, animationTime);
}
animationStates = [];
},
animate: function animate(target, currentRect, toRect, duration) {
if (duration) {
css(target, "transition", "");
css(target, "transform", "");
var elMatrix = matrix(this.el), scaleX = elMatrix && elMatrix.a, scaleY = elMatrix && elMatrix.d, translateX = (currentRect.left - toRect.left) / (scaleX || 1), translateY = (currentRect.top - toRect.top) / (scaleY || 1);
target.animatingX = !!translateX;
target.animatingY = !!translateY;
css(target, "transform", "translate3d(" + translateX + "px," + translateY + "px,0)");
this.forRepaintDummy = repaint(target);
css(target, "transition", "transform " + duration + "ms" + (this.options.easing ? " " + this.options.easing : ""));
css(target, "transform", "translate3d(0,0,0)");
typeof target.animated === "number" && clearTimeout(target.animated);
target.animated = setTimeout(function() {
css(target, "transition", "");
css(target, "transform", "");
target.animated = false;
target.animatingX = false;
target.animatingY = false;
}, duration);
}
}
};
}
function repaint(target) {
return target.offsetWidth;
}
function calculateRealTime(animatingRect, fromRect, toRect, options) {
return Math.sqrt(Math.pow(fromRect.top - animatingRect.top, 2) + Math.pow(fromRect.left - animatingRect.left, 2)) / Math.sqrt(Math.pow(fromRect.top - toRect.top, 2) + Math.pow(fromRect.left - toRect.left, 2)) * options.animation;
}
var plugins = [];
var defaults$2 = {
initializeByDefault: true
};
var PluginManager = {
mount: function mount(plugin) {
for (var option2 in defaults$2) {
if (defaults$2.hasOwnProperty(option2) && !(option2 in plugin)) {
plugin[option2] = defaults$2[option2];
}
}
plugins.forEach(function(p) {
if (p.pluginName === plugin.pluginName) {
throw "Sortable: Cannot mount plugin ".concat(plugin.pluginName, " more than once");
}
});
plugins.push(plugin);
},
pluginEvent: function pluginEvent(eventName, sortable, evt) {
var _this = this;
this.eventCanceled = false;
evt.cancel = function() {
_this.eventCanceled = true;
};
var eventNameGlobal = eventName + "Global";
plugins.forEach(function(plugin) {
if (!sortable[plugin.pluginName])
return;
if (sortable[plugin.pluginName][eventNameGlobal]) {
sortable[plugin.pluginName][eventNameGlobal](_objectSpread2({
sortable
}, evt));
}
if (sortable.options[plugin.pluginName] && sortable[plugin.pluginName][eventName]) {
sortable[plugin.pluginName][eventName](_objectSpread2({
sortable
}, evt));
}
});
},
initializePlugins: function initializePlugins(sortable, el, defaults2, options) {
plugins.forEach(function(plugin) {
var pluginName = plugin.pluginName;
if (!sortable.options[pluginName] && !plugin.initializeByDefault)
return;
var initialized = new plugin(sortable, el, sortable.options);
initialized.sortable = sortable;
initialized.options = sortable.options;
sortable[pluginName] = initialized;
_extends(defaults2, initialized.defaults);
});
for (var option2 in sortable.options) {
if (!sortable.options.hasOwnProperty(option2))
continue;
var modified = this.modifyOption(sortable, option2, sortable.options[option2]);
if (typeof modified !== "undefined") {
sortable.options[option2] = modified;
}
}
},
getEventProperties: function getEventProperties(name, sortable) {
var eventProperties = {};
plugins.forEach(function(plugin) {
if (typeof plugin.eventProperties !== "function")
return;
_extends(eventProperties, plugin.eventProperties.call(sortable[plugin.pluginName], name));
});
return eventProperties;
},
modifyOption: function modifyOption(sortable, name, value) {
var modifiedValue;
plugins.forEach(function(plugin) {
if (!sortable[plugin.pluginName])
return;
if (plugin.optionListeners && typeof plugin.optionListeners[name] === "function") {
modifiedValue = plugin.optionListeners[name].call(sortable[plugin.pluginName], value);
}
});
return modifiedValue;
}
};
function dispatchEvent(_ref) {
var sortable = _ref.sortable, rootEl2 = _ref.rootEl, name = _ref.name, targetEl = _ref.targetEl, cloneEl2 = _ref.cloneEl, toEl = _ref.toEl, fromEl = _ref.fromEl, oldIndex2 = _ref.oldIndex, newIndex2 = _ref.newIndex, oldDraggableIndex2 = _ref.oldDraggableIndex, newDraggableIndex2 = _ref.newDraggableIndex, originalEvent = _ref.originalEvent, putSortable2 = _ref.putSortable, extraEventProperties = _ref.extraEventProperties;
sortable = sortable || rootEl2 && rootEl2[expando];
if (!sortable)
return;
var evt, options = sortable.options, onName = "on" + name.charAt(0).toUpperCase() + name.substr(1);
if (window.CustomEvent && !IE11OrLess && !Edge) {
evt = new CustomEvent(name, {
bubbles: true,
cancelable: true
});
} else {
evt = document.createEvent("Event");
evt.initEvent(name, true, true);
}
evt.to = toEl || rootEl2;
evt.from = fromEl || rootEl2;
evt.item = targetEl || rootEl2;
evt.clone = cloneEl2;
evt.oldIndex = oldIndex2;
evt.newIndex = newIndex2;
evt.oldDraggableIndex = oldDraggableIndex2;
evt.newDraggableIndex = newDraggableIndex2;
evt.originalEvent = originalEvent;
evt.pullMode = putSortable2 ? putSortable2.lastPutMode : void 0;
var allEventProperties = _objectSpread2(_objectSpread2({}, extraEventProperties), PluginManager.getEventProperties(name, sortable));
for (var option2 in allEventProperties) {
evt[option2] = allEventProperties[option2];
}
if (rootEl2) {
rootEl2.dispatchEvent(evt);
}
if (options[onName]) {
options[onName].call(sortable, evt);
}
}
var _excluded$1 = ["evt"];
var pluginEvent2 = function pluginEvent3(eventName, sortable) {
var _ref = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}, originalEvent = _ref.evt, data2 = _objectWithoutProperties(_ref, _excluded$1);
PluginManager.pluginEvent.bind(Sortable)(eventName, sortable, _objectSpread2({
dragEl,
parentEl,
ghostEl,
rootEl,
nextEl,
lastDownEl,
cloneEl,
cloneHidden,
dragStarted: moved,
putSortable,
activeSortable: Sortable.active,
originalEvent,
oldIndex,
oldDraggableIndex,
newIndex,
newDraggableIndex,
hideGhostForTarget: _hideGhostForTarget,
unhideGhostForTarget: _unhideGhostForTarget,
cloneNowHidden: function cloneNowHidden() {
cloneHidden = true;
},
cloneNowShown: function cloneNowShown() {
cloneHidden = false;
},
dispatchSortableEvent: function dispatchSortableEvent(name) {
_dispatchEvent({
sortable,
name,
originalEvent
});
}
}, data2));
};
function _dispatchEvent(info3) {
dispatchEvent(_objectSpread2({
putSortable,
cloneEl,
targetEl: dragEl,
rootEl,
oldIndex,
oldDraggableIndex,
newIndex,
newDraggableIndex
}, info3));
}
var dragEl, parentEl, ghostEl, rootEl, nextEl, lastDownEl, cloneEl, cloneHidden, oldIndex, newIndex, oldDraggableIndex, newDraggableIndex, activeGroup, putSortable, awaitingDragStarted = false, ignoreNextClick = false, sortables = [], tapEvt, touchEvt, lastDx, lastDy, tapDistanceLeft, tapDistanceTop, moved, lastTarget, lastDirection, pastFirstInvertThresh = false, isCircumstantialInvert = false, targetMoveDistance, ghostRelativeParent, ghostRelativeParentInitialScroll = [], _silent = false, savedInputChecked = [];
var documentExists = typeof document !== "undefined", PositionGhostAbsolutely = IOS, CSSFloatProperty = Edge || IE11OrLess ? "cssFloat" : "float", supportDraggable = documentExists && !ChromeForAndroid && !IOS && "draggable" in document.createElement("div"), supportCssPointerEvents = function() {
if (!documentExists)
return;
if (IE11OrLess) {
return false;
}
var el = document.createElement("x");
el.style.cssText = "pointer-events:auto";
return el.style.pointerEvents === "auto";
}(), _detectDirection = function _detectDirection2(el, options) {
var elCSS = css(el), elWidth = parseInt(elCSS.width) - parseInt(elCSS.paddingLeft) - parseInt(elCSS.paddingRight) - parseInt(elCSS.borderLeftWidth) - parseInt(elCSS.borderRightWidth), child1 = getChild(el, 0, options), child2 = getChild(el, 1, options), firstChildCSS = child1 && css(child1), secondChildCSS = child2 && css(child2), firstChildWidth = firstChildCSS && parseInt(firstChildCSS.marginLeft) + parseInt(firstChildCSS.marginRight) + getRect(child1).width, secondChildWidth = secondChildCSS && parseInt(secondChildCSS.marginLeft) + parseInt(secondChildCSS.marginRight) + getRect(child2).width;
if (elCSS.display === "flex") {
return elCSS.flexDirection === "column" || elCSS.flexDirection === "column-reverse" ? "vertical" : "horizontal";
}
if (elCSS.display === "grid") {
return elCSS.gridTemplateColumns.split(" ").length <= 1 ? "vertical" : "horizontal";
}
if (child1 && firstChildCSS["float"] && firstChildCSS["float"] !== "none") {
var touchingSideChild2 = firstChildCSS["float"] === "left" ? "left" : "right";
return child2 && (secondChildCSS.clear === "both" || secondChildCSS.clear === touchingSideChild2) ? "vertical" : "horizontal";
}
return child1 && (firstChildCSS.display === "block" || firstChildCSS.display === "flex" || firstChildCSS.display === "table" || firstChildCSS.display === "grid" || firstChildWidth >= elWidth && elCSS[CSSFloatProperty] === "none" || child2 && elCSS[CSSFloatProperty] === "none" && firstChildWidth + secondChildWidth > elWidth) ? "vertical" : "horizontal";
}, _dragElInRowColumn = function _dragElInRowColumn2(dragRect, targetRect, vertical) {
var dragElS1Opp = vertical ? dragRect.left : dragRect.top, dragElS2Opp = vertical ? dragRect.right : dragRect.bottom, dragElOppLength = vertical ? dragRect.width : dragRect.height, targetS1Opp = vertical ? targetRect.left : targetRect.top, targetS2Opp = vertical ? targetRect.right : targetRect.bottom, targetOppLength = vertical ? targetRect.width : targetRect.height;
return dragElS1Opp === targetS1Opp || dragElS2Opp === targetS2Opp || dragElS1Opp + dragElOppLength / 2 === targetS1Opp + targetOppLength / 2;
}, _detectNearestEmptySortable = function _detectNearestEmptySortable2(x, y) {
var ret;
sortables.some(function(sortable) {
var threshold = sortable[expando].options.emptyInsertThreshold;
if (!threshold || lastChild(sortable))
return;
var rect = getRect(sortable), insideHorizontally = x >= rect.left - threshold && x <= rect.right + threshold, insideVertically = y >= rect.top - threshold && y <= rect.bottom + threshold;
if (insideHorizontally && insideVertically) {
return ret = sortable;
}
});
return ret;
}, _prepareGroup = function _prepareGroup2(options) {
function toFn(value, pull) {
return function(to, from, dragEl2, evt) {
var sameGroup = to.options.group.name && from.options.group.name && to.options.group.name === from.options.group.name;
if (value == null && (pull || sameGroup)) {
return true;
} else if (value == null || value === false) {
return false;
} else if (pull && value === "clone") {
return value;
} else if (typeof value === "function") {
return toFn(value(to, from, dragEl2, evt), pull)(to, from, dragEl2, evt);
} else {
var otherGroup = (pull ? to : from).options.group.name;
return value === true || typeof value === "string" && value === otherGroup || value.join && value.indexOf(otherGroup) > -1;
}
};
}
var group = {};
var originalGroup = options.group;
if (!originalGroup || _typeof(originalGroup) != "object") {
originalGroup = {
name: originalGroup
};
}
group.name = originalGroup.name;
group.checkPull = toFn(originalGroup.pull, true);
group.checkPut = toFn(originalGroup.put);
group.revertClone = originalGroup.revertClone;
options.group = group;
}, _hideGhostForTarget = function _hideGhostForTarget2() {
if (!supportCssPointerEvents && ghostEl) {
css(ghostEl, "display", "none");
}
}, _unhideGhostForTarget = function _unhideGhostForTarget2() {
if (!supportCssPointerEvents && ghostEl) {
css(ghostEl, "display", "");
}
};
if (documentExists && !ChromeForAndroid) {
document.addEventListener("click", function(evt) {
if (ignoreNextClick) {
evt.preventDefault();
evt.stopPropagation && evt.stopPropagation();
evt.stopImmediatePropagation && evt.stopImmediatePropagation();
ignoreNextClick = false;
return false;
}
}, true);
}
var nearestEmptyInsertDetectEvent = function nearestEmptyInsertDetectEvent2(evt) {
if (dragEl) {
evt = evt.touches ? evt.touches[0] : evt;
var nearest = _detectNearestEmptySortable(evt.clientX, evt.clientY);
if (nearest) {
var event = {};
for (var i in evt) {
if (evt.hasOwnProperty(i)) {
event[i] = evt[i];
}
}
event.target = event.rootEl = nearest;
event.preventDefault = void 0;
event.stopPropagation = void 0;
nearest[expando]._onDragOver(event);
}
}
};
var _checkOutsideTargetEl = function _checkOutsideTargetEl2(evt) {
if (dragEl) {
dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
}
};
function Sortable(el, options) {
if (!(el && el.nodeType && el.nodeType === 1)) {
throw "Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(el));
}
this.el = el;
this.options = options = _extends({}, options);
el[expando] = this;
var defaults2 = {
group: null,
sort: true,
disabled: false,
store: null,
handle: null,
draggable: /^[uo]l$/i.test(el.nodeName) ? ">li" : ">*",
swapThreshold: 1,
// percentage; 0 <= x <= 1
invertSwap: false,
// invert always
invertedSwapThreshold: null,
// will be set to same as swapThreshold if default
removeCloneOnHide: true,
direction: function direction() {
return _detectDirection(el, this.options);
},
ghostClass: "sortable-ghost",
chosenClass: "sortable-chosen",
dragClass: "sortable-drag",
ignore: "a, img",
filter: null,
preventOnFilter: true,
animation: 0,
easing: null,
setData: function setData(dataTransfer, dragEl2) {
dataTransfer.setData("Text", dragEl2.textContent);
},
dropBubble: false,
dragoverBubble: false,
dataIdAttr: "data-id",
delay: 0,
delayOnTouchOnly: false,
touchStartThreshold: (Number.parseInt ? Number : window).parseInt(window.devicePixelRatio, 10) || 1,
forceFallback: false,
fallbackClass: "sortable-fallback",
fallbackOnBody: false,
fallbackTolerance: 0,
fallbackOffset: {
x: 0,
y: 0
},
supportPointer: Sortable.supportPointer !== false && "PointerEvent" in window && !Safari,
emptyInsertThreshold: 5
};
PluginManager.initializePlugins(this, el, defaults2);
for (var name in defaults2) {
!(name in options) && (options[name] = defaults2[name]);
}
_prepareGroup(options);
for (var fn2 in this) {
if (fn2.charAt(0) === "_" && typeof this[fn2] === "function") {
this[fn2] = this[fn2].bind(this);
}
}
this.nativeDraggable = options.forceFallback ? false : supportDraggable;
if (this.nativeDraggable) {
this.options.touchStartThreshold = 1;
}
if (options.supportPointer) {
on(el, "pointerdown", this._onTapStart);
} else {
on(el, "mousedown", this._onTapStart);
on(el, "touchstart", this._onTapStart);
}
if (this.nativeDraggable) {
on(el, "dragover", this);
on(el, "dragenter", this);
}
sortables.push(this.el);
options.store && options.store.get && this.sort(options.store.get(this) || []);
_extends(this, AnimationStateManager());
}
Sortable.prototype = /** @lends Sortable.prototype */
{
constructor: Sortable,
_isOutsideThisEl: function _isOutsideThisEl(target) {
if (!this.el.contains(target) && target !== this.el) {
lastTarget = null;
}
},
_getDirection: function _getDirection(evt, target) {
return typeof this.options.direction === "function" ? this.options.direction.call(this, evt, target, dragEl) : this.options.direction;
},
_onTapStart: function _onTapStart(evt) {
if (!evt.cancelable)
return;
var _this = this, el = this.el, options = this.options, preventOnFilter = options.preventOnFilter, type = evt.type, touch = evt.touches && evt.touches[0] || evt.pointerType && evt.pointerType === "touch" && evt, target = (touch || evt).target, originalTarget = evt.target.shadowRoot && (evt.path && evt.path[0] || evt.composedPath && evt.composedPath()[0]) || target, filter3 = options.filter;
_saveInputCheckedState(el);
if (dragEl) {
return;
}
if (/mousedown|pointerdown/.test(type) && evt.button !== 0 || options.disabled) {
return;
}
if (originalTarget.isContentEditable) {
return;
}
if (!this.nativeDraggable && Safari && target && target.tagName.toUpperCase() === "SELECT") {
return;
}
target = closest(target, options.draggable, el, false);
if (target && target.animated) {
return;
}
if (lastDownEl === target) {
return;
}
oldIndex = index$2(target);
oldDraggableIndex = index$2(target, options.draggable);
if (typeof filter3 === "function") {
if (filter3.call(this, evt, target, this)) {
_dispatchEvent({
sortable: _this,
rootEl: originalTarget,
name: "filter",
targetEl: target,
toEl: el,
fromEl: el
});
pluginEvent2("filter", _this, {
evt
});
preventOnFilter && evt.cancelable && evt.preventDefault();
return;
}
} else if (filter3) {
filter3 = filter3.split(",").some(function(criteria) {
criteria = closest(originalTarget, criteria.trim(), el, false);
if (criteria) {
_dispatchEvent({
sortable: _this,
rootEl: criteria,
name: "filter",
targetEl: target,
fromEl: el,
toEl: el
});
pluginEvent2("filter", _this, {
evt
});
return true;
}
});
if (filter3) {
preventOnFilter && evt.cancelable && evt.preventDefault();
return;
}
}
if (options.handle && !closest(originalTarget, options.handle, el, false)) {
return;
}
this._prepareDragStart(evt, touch, target);
},
_prepareDragStart: function _prepareDragStart(evt, touch, target) {
var _this = this, el = _this.el, options = _this.options, ownerDocument = el.ownerDocument, dragStartFn;
if (target && !dragEl && target.parentNode === el) {
var dragRect = getRect(target);
rootEl = el;
dragEl = target;
parentEl = dragEl.parentNode;
nextEl = dragEl.nextSibling;
lastDownEl = target;
activeGroup = options.group;
Sortable.dragged = dragEl;
tapEvt = {
target: dragEl,
clientX: (touch || evt).clientX,
clientY: (touch || evt).clientY
};
tapDistanceLeft = tapEvt.clientX - dragRect.left;
tapDistanceTop = tapEvt.clientY - dragRect.top;
this._lastX = (touch || evt).clientX;
this._lastY = (touch || evt).clientY;
dragEl.style["will-change"] = "all";
dragStartFn = function dragStartFn2() {
pluginEvent2("delayEnded", _this, {
evt
});
if (Sortable.eventCanceled) {
_this._onDrop();
return;
}
_this._disableDelayedDragEvents();
if (!FireFox && _this.nativeDraggable) {
dragEl.draggable = true;
}
_this._triggerDragStart(evt, touch);
_dispatchEvent({
sortable: _this,
name: "choose",
originalEvent: evt
});
toggleClass(dragEl, options.chosenClass, true);
};
options.ignore.split(",").forEach(function(criteria) {
find(dragEl, criteria.trim(), _disableDraggable);
});
on(ownerDocument, "dragover", nearestEmptyInsertDetectEvent);
on(ownerDocument, "mousemove", nearestEmptyInsertDetectEvent);
on(ownerDocument, "touchmove", nearestEmptyInsertDetectEvent);
on(ownerDocument, "mouseup", _this._onDrop);
on(ownerDocument, "touchend", _this._onDrop);
on(ownerDocument, "touchcancel", _this._onDrop);
if (FireFox && this.nativeDraggable) {
this.options.touchStartThreshold = 4;
dragEl.draggable = true;
}
pluginEvent2("delayStart", this, {
evt
});
if (options.delay && (!options.delayOnTouchOnly || touch) && (!this.nativeDraggable || !(Edge || IE11OrLess))) {
if (Sortable.eventCanceled) {
this._onDrop();
return;
}
on(ownerDocument, "mouseup", _this._disableDelayedDrag);
on(ownerDocument, "touchend", _this._disableDelayedDrag);
on(ownerDocument, "touchcancel", _this._disableDelayedDrag);
on(ownerDocument, "mousemove", _this._delayedDragTouchMoveHandler);
on(ownerDocument, "touchmove", _this._delayedDragTouchMoveHandler);
options.supportPointer && on(ownerDocument, "pointermove", _this._delayedDragTouchMoveHandler);
_this._dragStartTimer = setTimeout(dragStartFn, options.delay);
} else {
dragStartFn();
}
}
},
_delayedDragTouchMoveHandler: function _delayedDragTouchMoveHandler(e) {
var touch = e.touches ? e.touches[0] : e;
if (Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) >= Math.floor(this.options.touchStartThreshold / (this.nativeDraggable && window.devicePixelRatio || 1))) {
this._disableDelayedDrag();
}
},
_disableDelayedDrag: function _disableDelayedDrag() {
dragEl && _disableDraggable(dragEl);
clearTimeout(this._dragStartTimer);
this._disableDelayedDragEvents();
},
_disableDelayedDragEvents: function _disableDelayedDragEvents() {
var ownerDocument = this.el.ownerDocument;
off(ownerDocument, "mouseup", this._disableDelayedDrag);
off(ownerDocument, "touchend", this._disableDelayedDrag);
off(ownerDocument, "touchcancel", this._disableDelayedDrag);
off(ownerDocument, "mousemove", this._delayedDragTouchMoveHandler);
off(ownerDocument, "touchmove", this._delayedDragTouchMoveHandler);
off(ownerDocument, "pointermove", this._delayedDragTouchMoveHandler);
},
_triggerDragStart: function _triggerDragStart(evt, touch) {
touch = touch || evt.pointerType == "touch" && evt;
if (!this.nativeDraggable || touch) {
if (this.options.supportPointer) {
on(document, "pointermove", this._onTouchMove);
} else if (touch) {
on(document, "touchmove", this._onTouchMove);
} else {
on(document, "mousemove", this._onTouchMove);
}
} else {
on(dragEl, "dragend", this);
on(rootEl, "dragstart", this._onDragStart);
}
try {
if (document.selection) {
_nextTick(function() {
document.selection.empty();
});
} else {
window.getSelection().removeAllRanges();
}
} catch (err) {
}
},
_dragStarted: function _dragStarted(fallback, evt) {
awaitingDragStarted = false;
if (rootEl && dragEl) {
pluginEvent2("dragStarted", this, {
evt
});
if (this.nativeDraggable) {
on(document, "dragover", _checkOutsideTargetEl);
}
var options = this.options;
!fallback && toggleClass(dragEl, options.dragClass, false);
toggleClass(dragEl, options.ghostClass, true);
Sortable.active = this;
fallback && this._appendGhost();
_dispatchEvent({
sortable: this,
name: "start",
originalEvent: evt
});
} else {
this._nulling();
}
},
_emulateDragOver: function _emulateDragOver() {
if (touchEvt) {
this._lastX = touchEvt.clientX;
this._lastY = touchEvt.clientY;
_hideGhostForTarget();
var target = document.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
var parent2 = target;
while (target && target.shadowRoot) {
target = target.shadowRoot.elementFromPoint(touchEvt.clientX, touchEvt.clientY);
if (target === parent2)
break;
parent2 = target;
}
dragEl.parentNode[expando]._isOutsideThisEl(target);
if (parent2) {
do {
if (parent2[expando]) {
var inserted = void 0;
inserted = parent2[expando]._onDragOver({
clientX: touchEvt.clientX,
clientY: touchEvt.clientY,
target,
rootEl: parent2
});
if (inserted && !this.options.dragoverBubble) {
break;
}
}
target = parent2;
} while (parent2 = parent2.parentNode);
}
_unhideGhostForTarget();
}
},
_onTouchMove: function _onTouchMove(evt) {
if (tapEvt) {
var options = this.options, fallbackTolerance = options.fallbackTolerance, fallbackOffset = options.fallbackOffset, touch = evt.touches ? evt.touches[0] : evt, ghostMatrix = ghostEl && matrix(ghostEl, true), scaleX = ghostEl && ghostMatrix && ghostMatrix.a, scaleY = ghostEl && ghostMatrix && ghostMatrix.d, relativeScrollOffset = PositionGhostAbsolutely && ghostRelativeParent && getRelativeScrollOffset(ghostRelativeParent), dx = (touch.clientX - tapEvt.clientX + fallbackOffset.x) / (scaleX || 1) + (relativeScrollOffset ? relativeScrollOffset[0] - ghostRelativeParentInitialScroll[0] : 0) / (scaleX || 1), dy = (touch.clientY - tapEvt.clientY + fallbackOffset.y) / (scaleY || 1) + (relativeScrollOffset ? relativeScrollOffset[1] - ghostRelativeParentInitialScroll[1] : 0) / (scaleY || 1);
if (!Sortable.active && !awaitingDragStarted) {
if (fallbackTolerance && Math.max(Math.abs(touch.clientX - this._lastX), Math.abs(touch.clientY - this._lastY)) < fallbackTolerance) {
return;
}
this._onDragStart(evt, true);
}
if (ghostEl) {
if (ghostMatrix) {
ghostMatrix.e += dx - (lastDx || 0);
ghostMatrix.f += dy - (lastDy || 0);
} else {
ghostMatrix = {
a: 1,
b: 0,
c: 0,
d: 1,
e: dx,
f: dy
};
}
var cssMatrix = "matrix(".concat(ghostMatrix.a, ",").concat(ghostMatrix.b, ",").concat(ghostMatrix.c, ",").concat(ghostMatrix.d, ",").concat(ghostMatrix.e, ",").concat(ghostMatrix.f, ")");
css(ghostEl, "webkitTransform", cssMatrix);
css(ghostEl, "mozTransform", cssMatrix);
css(ghostEl, "msTransform", cssMatrix);
css(ghostEl, "transform", cssMatrix);
lastDx = dx;
lastDy = dy;
touchEvt = touch;
}
evt.cancelable && evt.preventDefault();
}
},
_appendGhost: function _appendGhost() {
if (!ghostEl) {
var container = this.options.fallbackOnBody ? document.body : rootEl, rect = getRect(dragEl, true, PositionGhostAbsolutely, true, container), options = this.options;
if (PositionGhostAbsolutely) {
ghostRelativeParent = container;
while (css(ghostRelativeParent, "position") === "static" && css(ghostRelativeParent, "transform") === "none" && ghostRelativeParent !== document) {
ghostRelativeParent = ghostRelativeParent.parentNode;
}
if (ghostRelativeParent !== document.body && ghostRelativeParent !== document.documentElement) {
if (ghostRelativeParent === document)
ghostRelativeParent = getWindowScrollingElement();
rect.top += ghostRelativeParent.scrollTop;
rect.left += ghostRelativeParent.scrollLeft;
} else {
ghostRelativeParent = getWindowScrollingElement();
}
ghostRelativeParentInitialScroll = getRelativeScrollOffset(ghostRelativeParent);
}
ghostEl = dragEl.cloneNode(true);
toggleClass(ghostEl, options.ghostClass, false);
toggleClass(ghostEl, options.fallbackClass, true);
toggleClass(ghostEl, options.dragClass, true);
css(ghostEl, "transition", "");
css(ghostEl, "transform", "");
css(ghostEl, "box-sizing", "border-box");
css(ghostEl, "margin", 0);
css(ghostEl, "top", rect.top);
css(ghostEl, "left", rect.left);
css(ghostEl, "width", rect.width);
css(ghostEl, "height", rect.height);
css(ghostEl, "opacity", "0.8");
css(ghostEl, "position", PositionGhostAbsolutely ? "absolute" : "fixed");
css(ghostEl, "zIndex", "100000");
css(ghostEl, "pointerEvents", "none");
Sortable.ghost = ghostEl;
container.appendChild(ghostEl);
css(ghostEl, "transform-origin", tapDistanceLeft / parseInt(ghostEl.style.width) * 100 + "% " + tapDistanceTop / parseInt(ghostEl.style.height) * 100 + "%");
}
},
_onDragStart: function _onDragStart(evt, fallback) {
var _this = this;
var dataTransfer = evt.dataTransfer;
var options = _this.options;
pluginEvent2("dragStart", this, {
evt
});
if (Sortable.eventCanceled) {
this._onDrop();
return;
}
pluginEvent2("setupClone", this);
if (!Sortable.eventCanceled) {
cloneEl = clone(dragEl);
cloneEl.removeAttribute("id");
cloneEl.draggable = false;
cloneEl.style["will-change"] = "";
this._hideClone();
toggleClass(cloneEl, this.options.chosenClass, false);
Sortable.clone = cloneEl;
}
_this.cloneId = _nextTick(function() {
pluginEvent2("clone", _this);
if (Sortable.eventCanceled)
return;
if (!_this.options.removeCloneOnHide) {
rootEl.insertBefore(cloneEl, dragEl);
}
_this._hideClone();
_dispatchEvent({
sortable: _this,
name: "clone"
});
});
!fallback && toggleClass(dragEl, options.dragClass, true);
if (fallback) {
ignoreNextClick = true;
_this._loopId = setInterval(_this._emulateDragOver, 50);
} else {
off(document, "mouseup", _this._onDrop);
off(document, "touchend", _this._onDrop);
off(document, "touchcancel", _this._onDrop);
if (dataTransfer) {
dataTransfer.effectAllowed = "move";
options.setData && options.setData.call(_this, dataTransfer, dragEl);
}
on(document, "drop", _this);
css(dragEl, "transform", "translateZ(0)");
}
awaitingDragStarted = true;
_this._dragStartId = _nextTick(_this._dragStarted.bind(_this, fallback, evt));
on(document, "selectstart", _this);
moved = true;
if (Safari) {
css(document.body, "user-select", "none");
}
},
// Returns true - if no further action is needed (either inserted or another condition)
_onDragOver: function _onDragOver(evt) {
var el = this.el, target = evt.target, dragRect, targetRect, revert, options = this.options, group = options.group, activeSortable = Sortable.active, isOwner = activeGroup === group, canSort = options.sort, fromSortable = putSortable || activeSortable, vertical, _this = this, completedFired = false;
if (_silent)
return;
function dragOverEvent(name, extra) {
pluginEvent2(name, _this, _objectSpread2({
evt,
isOwner,
axis: vertical ? "vertical" : "horizontal",
revert,
dragRect,
targetRect,
canSort,
fromSortable,
target,
completed,
onMove: function onMove(target2, after2) {
return _onMove(rootEl, el, dragEl, dragRect, target2, getRect(target2), evt, after2);
},
changed
}, extra));
}
function capture() {
dragOverEvent("dragOverAnimationCapture");
_this.captureAnimationState();
if (_this !== fromSortable) {
fromSortable.captureAnimationState();
}
}
function completed(insertion) {
dragOverEvent("dragOverCompleted", {
insertion
});
if (insertion) {
if (isOwner) {
activeSortable._hideClone();
} else {
activeSortable._showClone(_this);
}
if (_this !== fromSortable) {
toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : activeSortable.options.ghostClass, false);
toggleClass(dragEl, options.ghostClass, true);
}
if (putSortable !== _this && _this !== Sortable.active) {
putSortable = _this;
} else if (_this === Sortable.active && putSortable) {
putSortable = null;
}
if (fromSortable === _this) {
_this._ignoreWhileAnimating = target;
}
_this.animateAll(function() {
dragOverEvent("dragOverAnimationComplete");
_this._ignoreWhileAnimating = null;
});
if (_this !== fromSortable) {
fromSortable.animateAll();
fromSortable._ignoreWhileAnimating = null;
}
}
if (target === dragEl && !dragEl.animated || target === el && !target.animated) {
lastTarget = null;
}
if (!options.dragoverBubble && !evt.rootEl && target !== document) {
dragEl.parentNode[expando]._isOutsideThisEl(evt.target);
!insertion && nearestEmptyInsertDetectEvent(evt);
}
!options.dragoverBubble && evt.stopPropagation && evt.stopPropagation();
return completedFired = true;
}
function changed() {
newIndex = index$2(dragEl);
newDraggableIndex = index$2(dragEl, options.draggable);
_dispatchEvent({
sortable: _this,
name: "change",
toEl: el,
newIndex,
newDraggableIndex,
originalEvent: evt
});
}
if (evt.preventDefault !== void 0) {
evt.cancelable && evt.preventDefault();
}
target = closest(target, options.draggable, el, true);
dragOverEvent("dragOver");
if (Sortable.eventCanceled)
return completedFired;
if (dragEl.contains(evt.target) || target.animated && target.animatingX && target.animatingY || _this._ignoreWhileAnimating === target) {
return completed(false);
}
ignoreNextClick = false;
if (activeSortable && !options.disabled && (isOwner ? canSort || (revert = parentEl !== rootEl) : putSortable === this || (this.lastPutMode = activeGroup.checkPull(this, activeSortable, dragEl, evt)) && group.checkPut(this, activeSortable, dragEl, evt))) {
vertical = this._getDirection(evt, target) === "vertical";
dragRect = getRect(dragEl);
dragOverEvent("dragOverValid");
if (Sortable.eventCanceled)
return completedFired;
if (revert) {
parentEl = rootEl;
capture();
this._hideClone();
dragOverEvent("revert");
if (!Sortable.eventCanceled) {
if (nextEl) {
rootEl.insertBefore(dragEl, nextEl);
} else {
rootEl.appendChild(dragEl);
}
}
return completed(true);
}
var elLastChild = lastChild(el, options.draggable);
if (!elLastChild || _ghostIsLast(evt, vertical, this) && !elLastChild.animated) {
if (elLastChild === dragEl) {
return completed(false);
}
if (elLastChild && el === evt.target) {
target = elLastChild;
}
if (target) {
targetRect = getRect(target);
}
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, !!target) !== false) {
capture();
if (elLastChild && elLastChild.nextSibling) {
el.insertBefore(dragEl, elLastChild.nextSibling);
} else {
el.appendChild(dragEl);
}
parentEl = el;
changed();
return completed(true);
}
} else if (elLastChild && _ghostIsFirst(evt, vertical, this)) {
var firstChild = getChild(el, 0, options, true);
if (firstChild === dragEl) {
return completed(false);
}
target = firstChild;
targetRect = getRect(target);
if (_onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, false) !== false) {
capture();
el.insertBefore(dragEl, firstChild);
parentEl = el;
changed();
return completed(true);
}
} else if (target.parentNode === el) {
targetRect = getRect(target);
var direction = 0, targetBeforeFirstSwap, differentLevel = dragEl.parentNode !== el, differentRowCol = !_dragElInRowColumn(dragEl.animated && dragEl.toRect || dragRect, target.animated && target.toRect || targetRect, vertical), side1 = vertical ? "top" : "left", scrolledPastTop = isScrolledPast(target, "top", "top") || isScrolledPast(dragEl, "top", "top"), scrollBefore = scrolledPastTop ? scrolledPastTop.scrollTop : void 0;
if (lastTarget !== target) {
targetBeforeFirstSwap = targetRect[side1];
pastFirstInvertThresh = false;
isCircumstantialInvert = !differentRowCol && options.invertSwap || differentLevel;
}
direction = _getSwapDirection(evt, target, targetRect, vertical, differentRowCol ? 1 : options.swapThreshold, options.invertedSwapThreshold == null ? options.swapThreshold : options.invertedSwapThreshold, isCircumstantialInvert, lastTarget === target);
var sibling;
if (direction !== 0) {
var dragIndex = index$2(dragEl);
do {
dragIndex -= direction;
sibling = parentEl.children[dragIndex];
} while (sibling && (css(sibling, "display") === "none" || sibling === ghostEl));
}
if (direction === 0 || sibling === target) {
return completed(false);
}
lastTarget = target;
lastDirection = direction;
var nextSibling = target.nextElementSibling, after = false;
after = direction === 1;
var moveVector = _onMove(rootEl, el, dragEl, dragRect, target, targetRect, evt, after);
if (moveVector !== false) {
if (moveVector === 1 || moveVector === -1) {
after = moveVector === 1;
}
_silent = true;
setTimeout(_unsilent, 30);
capture();
if (after && !nextSibling) {
el.appendChild(dragEl);
} else {
target.parentNode.insertBefore(dragEl, after ? nextSibling : target);
}
if (scrolledPastTop) {
scrollBy(scrolledPastTop, 0, scrollBefore - scrolledPastTop.scrollTop);
}
parentEl = dragEl.parentNode;
if (targetBeforeFirstSwap !== void 0 && !isCircumstantialInvert) {
targetMoveDistance = Math.abs(targetBeforeFirstSwap - getRect(target)[side1]);
}
changed();
return completed(true);
}
}
if (el.contains(dragEl)) {
return completed(false);
}
}
return false;
},
_ignoreWhileAnimating: null,
_offMoveEvents: function _offMoveEvents() {
off(document, "mousemove", this._onTouchMove);
off(document, "touchmove", this._onTouchMove);
off(document, "pointermove", this._onTouchMove);
off(document, "dragover", nearestEmptyInsertDetectEvent);
off(document, "mousemove", nearestEmptyInsertDetectEvent);
off(document, "touchmove", nearestEmptyInsertDetectEvent);
},
_offUpEvents: function _offUpEvents() {
var ownerDocument = this.el.ownerDocument;
off(ownerDocument, "mouseup", this._onDrop);
off(ownerDocument, "touchend", this._onDrop);
off(ownerDocument, "pointerup", this._onDrop);
off(ownerDocument, "touchcancel", this._onDrop);
off(document, "selectstart", this);
},
_onDrop: function _onDrop(evt) {
var el = this.el, options = this.options;
newIndex = index$2(dragEl);
newDraggableIndex = index$2(dragEl, options.draggable);
pluginEvent2("drop", this, {
evt
});
parentEl = dragEl && dragEl.parentNode;
newIndex = index$2(dragEl);
newDraggableIndex = index$2(dragEl, options.draggable);
if (Sortable.eventCanceled) {
this._nulling();
return;
}
awaitingDragStarted = false;
isCircumstantialInvert = false;
pastFirstInvertThresh = false;
clearInterval(this._loopId);
clearTimeout(this._dragStartTimer);
_cancelNextTick(this.cloneId);
_cancelNextTick(this._dragStartId);
if (this.nativeDraggable) {
off(document, "drop", this);
off(el, "dragstart", this._onDragStart);
}
this._offMoveEvents();
this._offUpEvents();
if (Safari) {
css(document.body, "user-select", "");
}
css(dragEl, "transform", "");
if (evt) {
if (moved) {
evt.cancelable && evt.preventDefault();
!options.dropBubble && evt.stopPropagation();
}
ghostEl && ghostEl.parentNode && ghostEl.parentNode.removeChild(ghostEl);
if (rootEl === parentEl || putSortable && putSortable.lastPutMode !== "clone") {
cloneEl && cloneEl.parentNode && cloneEl.parentNode.removeChild(cloneEl);
}
if (dragEl) {
if (this.nativeDraggable) {
off(dragEl, "dragend", this);
}
_disableDraggable(dragEl);
dragEl.style["will-change"] = "";
if (moved && !awaitingDragStarted) {
toggleClass(dragEl, putSortable ? putSortable.options.ghostClass : this.options.ghostClass, false);
}
toggleClass(dragEl, this.options.chosenClass, false);
_dispatchEvent({
sortable: this,
name: "unchoose",
toEl: parentEl,
newIndex: null,
newDraggableIndex: null,
originalEvent: evt
});
if (rootEl !== parentEl) {
if (newIndex >= 0) {
_dispatchEvent({
rootEl: parentEl,
name: "add",
toEl: parentEl,
fromEl: rootEl,
originalEvent: evt
});
_dispatchEvent({
sortable: this,
name: "remove",
toEl: parentEl,
originalEvent: evt
});
_dispatchEvent({
rootEl: parentEl,
name: "sort",
toEl: parentEl,
fromEl: rootEl,
originalEvent: evt
});
_dispatchEvent({
sortable: this,
name: "sort",
toEl: parentEl,
originalEvent: evt
});
}
putSortable && putSortable.save();
} else {
if (newIndex !== oldIndex) {
if (newIndex >= 0) {
_dispatchEvent({
sortable: this,
name: "update",
toEl: parentEl,
originalEvent: evt
});
_dispatchEvent({
sortable: this,
name: "sort",
toEl: parentEl,
originalEvent: evt
});
}
}
}
if (Sortable.active) {
if (newIndex == null || newIndex === -1) {
newIndex = oldIndex;
newDraggableIndex = oldDraggableIndex;
}
_dispatchEvent({
sortable: this,
name: "end",
toEl: parentEl,
originalEvent: evt
});
this.save();
}
}
}
this._nulling();
},
_nulling: function _nulling() {
pluginEvent2("nulling", this);
rootEl = dragEl = parentEl = ghostEl = nextEl = cloneEl = lastDownEl = cloneHidden = tapEvt = touchEvt = moved = newIndex = newDraggableIndex = oldIndex = oldDraggableIndex = lastTarget = lastDirection = putSortable = activeGroup = Sortable.dragged = Sortable.ghost = Sortable.clone = Sortable.active = null;
savedInputChecked.forEach(function(el) {
el.checked = true;
});
savedInputChecked.length = lastDx = lastDy = 0;
},
handleEvent: function handleEvent(evt) {
switch (evt.type) {
case "drop":
case "dragend":
this._onDrop(evt);
break;
case "dragenter":
case "dragover":
if (dragEl) {
this._onDragOver(evt);
_globalDragOver(evt);
}
break;
case "selectstart":
evt.preventDefault();
break;
}
},
/**
* Serializes the item into an array of string.
* @returns {String[]}
*/
toArray: function toArray() {
var order2 = [], el, children = this.el.children, i = 0, n = children.length, options = this.options;
for (; i < n; i++) {
el = children[i];
if (closest(el, options.draggable, this.el, false)) {
order2.push(el.getAttribute(options.dataIdAttr) || _generateId(el));
}
}
return order2;
},
/**
* Sorts the elements according to the array.
* @param {String[]} order order of the items
*/
sort: function sort(order2, useAnimation) {
var items = {}, rootEl2 = this.el;
this.toArray().forEach(function(id, i) {
var el = rootEl2.children[i];
if (closest(el, this.options.draggable, rootEl2, false)) {
items[id] = el;
}
}, this);
useAnimation && this.captureAnimationState();
order2.forEach(function(id) {
if (items[id]) {
rootEl2.removeChild(items[id]);
rootEl2.appendChild(items[id]);
}
});
useAnimation && this.animateAll();
},
/**
* Save the current sorting
*/
save: function save() {
var store2 = this.options.store;
store2 && store2.set && store2.set(this);
},
/**
* For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
* @param {HTMLElement} el
* @param {String} [selector] default: `options.draggable`
* @returns {HTMLElement|null}
*/
closest: function closest$1(el, selector) {
return closest(el, selector || this.options.draggable, this.el, false);
},
/**
* Set/get option
* @param {string} name
* @param {*} [value]
* @returns {*}
*/
option: function option(name, value) {
var options = this.options;
if (value === void 0) {
return options[name];
} else {
var modifiedValue = PluginManager.modifyOption(this, name, value);
if (typeof modifiedValue !== "undefined") {
options[name] = modifiedValue;
} else {
options[name] = value;
}
if (name === "group") {
_prepareGroup(options);
}
}
},
/**
* Destroy
*/
destroy: function destroy() {
pluginEvent2("destroy", this);
var el = this.el;
el[expando] = null;
off(el, "mousedown", this._onTapStart);
off(el, "touchstart", this._onTapStart);
off(el, "pointerdown", this._onTapStart);
if (this.nativeDraggable) {
off(el, "dragover", this);
off(el, "dragenter", this);
}
Array.prototype.forEach.call(el.querySelectorAll("[draggable]"), function(el2) {
el2.removeAttribute("draggable");
});
this._onDrop();
this._disableDelayedDragEvents();
sortables.splice(sortables.indexOf(this.el), 1);
this.el = el = null;
},
_hideClone: function _hideClone() {
if (!cloneHidden) {
pluginEvent2("hideClone", this);
if (Sortable.eventCanceled)
return;
css(cloneEl, "display", "none");
if (this.options.removeCloneOnHide && cloneEl.parentNode) {
cloneEl.parentNode.removeChild(cloneEl);
}
cloneHidden = true;
}
},
_showClone: function _showClone(putSortable2) {
if (putSortable2.lastPutMode !== "clone") {
this._hideClone();
return;
}
if (cloneHidden) {
pluginEvent2("showClone", this);
if (Sortable.eventCanceled)
return;
if (dragEl.parentNode == rootEl && !this.options.group.revertClone) {
rootEl.insertBefore(cloneEl, dragEl);
} else if (nextEl) {
rootEl.insertBefore(cloneEl, nextEl);
} else {
rootEl.appendChild(cloneEl);
}
if (this.options.group.revertClone) {
this.animate(dragEl, cloneEl);
}
css(cloneEl, "display", "");
cloneHidden = false;
}
}
};
function _globalDragOver(evt) {
if (evt.dataTransfer) {
evt.dataTransfer.dropEffect = "move";
}
evt.cancelable && evt.preventDefault();
}
function _onMove(fromEl, toEl, dragEl2, dragRect, targetEl, targetRect, originalEvent, willInsertAfter) {
var evt, sortable = fromEl[expando], onMoveFn = sortable.options.onMove, retVal;
if (window.CustomEvent && !IE11OrLess && !Edge) {
evt = new CustomEvent("move", {
bubbles: true,
cancelable: true
});
} else {
evt = document.createEvent("Event");
evt.initEvent("move", true, true);
}
evt.to = toEl;
evt.from = fromEl;
evt.dragged = dragEl2;
evt.draggedRect = dragRect;
evt.related = targetEl || toEl;
evt.relatedRect = targetRect || getRect(toEl);
evt.willInsertAfter = willInsertAfter;
evt.originalEvent = originalEvent;
fromEl.dispatchEvent(evt);
if (onMoveFn) {
retVal = onMoveFn.call(sortable, evt, originalEvent);
}
return retVal;
}
function _disableDraggable(el) {
el.draggable = false;
}
function _unsilent() {
_silent = false;
}
function _ghostIsFirst(evt, vertical, sortable) {
var rect = getRect(getChild(sortable.el, 0, sortable.options, true));
var spacer = 10;
return vertical ? evt.clientX < rect.left - spacer || evt.clientY < rect.top && evt.clientX < rect.right : evt.clientY < rect.top - spacer || evt.clientY < rect.bottom && evt.clientX < rect.left;
}
function _ghostIsLast(evt, vertical, sortable) {
var rect = getRect(lastChild(sortable.el, sortable.options.draggable));
var spacer = 10;
return vertical ? evt.clientX > rect.right + spacer || evt.clientX <= rect.right && evt.clientY > rect.bottom && evt.clientX >= rect.left : evt.clientX > rect.right && evt.clientY > rect.top || evt.clientX <= rect.right && evt.clientY > rect.bottom + spacer;
}
function _getSwapDirection(evt, target, targetRect, vertical, swapThreshold, invertedSwapThreshold, invertSwap, isLastTarget) {
var mouseOnAxis = vertical ? evt.clientY : evt.clientX, targetLength = vertical ? targetRect.height : targetRect.width, targetS1 = vertical ? targetRect.top : targetRect.left, targetS2 = vertical ? targetRect.bottom : targetRect.right, invert = false;
if (!invertSwap) {
if (isLastTarget && targetMoveDistance < targetLength * swapThreshold) {
if (!pastFirstInvertThresh && (lastDirection === 1 ? mouseOnAxis > targetS1 + targetLength * invertedSwapThreshold / 2 : mouseOnAxis < targetS2 - targetLength * invertedSwapThreshold / 2)) {
pastFirstInvertThresh = true;
}
if (!pastFirstInvertThresh) {
if (lastDirection === 1 ? mouseOnAxis < targetS1 + targetMoveDistance : mouseOnAxis > targetS2 - targetMoveDistance) {
return -lastDirection;
}
} else {
invert = true;
}
} else {
if (mouseOnAxis > targetS1 + targetLength * (1 - swapThreshold) / 2 && mouseOnAxis < targetS2 - targetLength * (1 - swapThreshold) / 2) {
return _getInsertDirection(target);
}
}
}
invert = invert || invertSwap;
if (invert) {
if (mouseOnAxis < targetS1 + targetLength * invertedSwapThreshold / 2 || mouseOnAxis > targetS2 - targetLength * invertedSwapThreshold / 2) {
return mouseOnAxis > targetS1 + targetLength / 2 ? 1 : -1;
}
}
return 0;
}
function _getInsertDirection(target) {
if (index$2(dragEl) < index$2(target)) {
return 1;
} else {
return -1;
}
}
function _generateId(el) {
var str = el.tagName + el.className + el.src + el.href + el.textContent, i = str.length, sum = 0;
while (i--) {
sum += str.charCodeAt(i);
}
return sum.toString(36);
}
function _saveInputCheckedState(root2) {
savedInputChecked.length = 0;
var inputs = root2.getElementsByTagName("input");
var idx = inputs.length;
while (idx--) {
var el = inputs[idx];
el.checked && savedInputChecked.push(el);
}
}
function _nextTick(fn2) {
return setTimeout(fn2, 0);
}
function _cancelNextTick(id) {
return clearTimeout(id);
}
if (documentExists) {
on(document, "touchmove", function(evt) {
if ((Sortable.active || awaitingDragStarted) && evt.cancelable) {
evt.preventDefault();
}
});
}
Sortable.utils = {
on,
off,
css,
find,
is: function is(el, selector) {
return !!closest(el, selector, el, false);
},
extend: extend$1,
throttle,
closest,
toggleClass,
clone,
index: index$2,
nextTick: _nextTick,
cancelNextTick: _cancelNextTick,
detectDirection: _detectDirection,
getChild
};
Sortable.get = function(element2) {
return element2[expando];
};
Sortable.mount = function() {
for (var _len = arguments.length, plugins2 = new Array(_len), _key = 0; _key < _len; _key++) {
plugins2[_key] = arguments[_key];
}
if (plugins2[0].constructor === Array)
plugins2 = plugins2[0];
plugins2.forEach(function(plugin) {
if (!plugin.prototype || !plugin.prototype.constructor) {
throw "Sortable: Mounted plugin must be a constructor function, not ".concat({}.toString.call(plugin));
}
if (plugin.utils)
Sortable.utils = _objectSpread2(_objectSpread2({}, Sortable.utils), plugin.utils);
PluginManager.mount(plugin);
});
};
Sortable.create = function(el, options) {
return new Sortable(el, options);
};
Sortable.version = version;
var autoScrolls = [], scrollEl, scrollRootEl, scrolling = false, lastAutoScrollX, lastAutoScrollY, touchEvt$1, pointerElemChangedInterval;
function AutoScrollPlugin() {
function AutoScroll() {
this.defaults = {
scroll: true,
forceAutoScrollFallback: false,
scrollSensitivity: 30,
scrollSpeed: 10,
bubbleScroll: true
};
for (var fn2 in this) {
if (fn2.charAt(0) === "_" && typeof this[fn2] === "function") {
this[fn2] = this[fn2].bind(this);
}
}
}
AutoScroll.prototype = {
dragStarted: function dragStarted(_ref) {
var originalEvent = _ref.originalEvent;
if (this.sortable.nativeDraggable) {
on(document, "dragover", this._handleAutoScroll);
} else {
if (this.options.supportPointer) {
on(document, "pointermove", this._handleFallbackAutoScroll);
} else if (originalEvent.touches) {
on(document, "touchmove", this._handleFallbackAutoScroll);
} else {
on(document, "mousemove", this._handleFallbackAutoScroll);
}
}
},
dragOverCompleted: function dragOverCompleted(_ref2) {
var originalEvent = _ref2.originalEvent;
if (!this.options.dragOverBubble && !originalEvent.rootEl) {
this._handleAutoScroll(originalEvent);
}
},
drop: function drop3() {
if (this.sortable.nativeDraggable) {
off(document, "dragover", this._handleAutoScroll);
} else {
off(document, "pointermove", this._handleFallbackAutoScroll);
off(document, "touchmove", this._handleFallbackAutoScroll);
off(document, "mousemove", this._handleFallbackAutoScroll);
}
clearPointerElemChangedInterval();
clearAutoScrolls();
cancelThrottle();
},
nulling: function nulling() {
touchEvt$1 = scrollRootEl = scrollEl = scrolling = pointerElemChangedInterval = lastAutoScrollX = lastAutoScrollY = null;
autoScrolls.length = 0;
},
_handleFallbackAutoScroll: function _handleFallbackAutoScroll(evt) {
this._handleAutoScroll(evt, true);
},
_handleAutoScroll: function _handleAutoScroll(evt, fallback) {
var _this = this;
var x = (evt.touches ? evt.touches[0] : evt).clientX, y = (evt.touches ? evt.touches[0] : evt).clientY, elem = document.elementFromPoint(x, y);
touchEvt$1 = evt;
if (fallback || this.options.forceAutoScrollFallback || Edge || IE11OrLess || Safari) {
autoScroll(evt, this.options, elem, fallback);
var ogElemScroller = getParentAutoScrollElement(elem, true);
if (scrolling && (!pointerElemChangedInterval || x !== lastAutoScrollX || y !== lastAutoScrollY)) {
pointerElemChangedInterval && clearPointerElemChangedInterval();
pointerElemChangedInterval = setInterval(function() {
var newElem = getParentAutoScrollElement(document.elementFromPoint(x, y), true);
if (newElem !== ogElemScroller) {
ogElemScroller = newElem;
clearAutoScrolls();
}
autoScroll(evt, _this.options, newElem, fallback);
}, 10);
lastAutoScrollX = x;
lastAutoScrollY = y;
}
} else {
if (!this.options.bubbleScroll || getParentAutoScrollElement(elem, true) === getWindowScrollingElement()) {
clearAutoScrolls();
return;
}
autoScroll(evt, this.options, getParentAutoScrollElement(elem, false), false);
}
}
};
return _extends(AutoScroll, {
pluginName: "scroll",
initializeByDefault: true
});
}
function clearAutoScrolls() {
autoScrolls.forEach(function(autoScroll2) {
clearInterval(autoScroll2.pid);
});
autoScrolls = [];
}
function clearPointerElemChangedInterval() {
clearInterval(pointerElemChangedInterval);
}
var autoScroll = throttle(function(evt, options, rootEl2, isFallback) {
if (!options.scroll)
return;
var x = (evt.touches ? evt.touches[0] : evt).clientX, y = (evt.touches ? evt.touches[0] : evt).clientY, sens = options.scrollSensitivity, speed = options.scrollSpeed, winScroller = getWindowScrollingElement();
var scrollThisInstance = false, scrollCustomFn;
if (scrollRootEl !== rootEl2) {
scrollRootEl = rootEl2;
clearAutoScrolls();
scrollEl = options.scroll;
scrollCustomFn = options.scrollFn;
if (scrollEl === true) {
scrollEl = getParentAutoScrollElement(rootEl2, true);
}
}
var layersOut = 0;
var currentParent = scrollEl;
do {
var el = currentParent, rect = getRect(el), top2 = rect.top, bottom2 = rect.bottom, left2 = rect.left, right2 = rect.right, width = rect.width, height = rect.height, canScrollX = void 0, canScrollY = void 0, scrollWidth = el.scrollWidth, scrollHeight = el.scrollHeight, elCSS = css(el), scrollPosX = el.scrollLeft, scrollPosY = el.scrollTop;
if (el === winScroller) {
canScrollX = width < scrollWidth && (elCSS.overflowX === "auto" || elCSS.overflowX === "scroll" || elCSS.overflowX === "visible");
canScrollY = height < scrollHeight && (elCSS.overflowY === "auto" || elCSS.overflowY === "scroll" || elCSS.overflowY === "visible");
} else {
canScrollX = width < scrollWidth && (elCSS.overflowX === "auto" || elCSS.overflowX === "scroll");
canScrollY = height < scrollHeight && (elCSS.overflowY === "auto" || elCSS.overflowY === "scroll");
}
var vx = canScrollX && (Math.abs(right2 - x) <= sens && scrollPosX + width < scrollWidth) - (Math.abs(left2 - x) <= sens && !!scrollPosX);
var vy = canScrollY && (Math.abs(bottom2 - y) <= sens && scrollPosY + height < scrollHeight) - (Math.abs(top2 - y) <= sens && !!scrollPosY);
if (!autoScrolls[layersOut]) {
for (var i = 0; i <= layersOut; i++) {
if (!autoScrolls[i]) {
autoScrolls[i] = {};
}
}
}
if (autoScrolls[layersOut].vx != vx || autoScrolls[layersOut].vy != vy || autoScrolls[layersOut].el !== el) {
autoScrolls[layersOut].el = el;
autoScrolls[layersOut].vx = vx;
autoScrolls[layersOut].vy = vy;
clearInterval(autoScrolls[layersOut].pid);
if (vx != 0 || vy != 0) {
scrollThisInstance = true;
autoScrolls[layersOut].pid = setInterval((function() {
if (isFallback && this.layer === 0) {
Sortable.active._onTouchMove(touchEvt$1);
}
var scrollOffsetY = autoScrolls[this.layer].vy ? autoScrolls[this.layer].vy * speed : 0;
var scrollOffsetX = autoScrolls[this.layer].vx ? autoScrolls[this.layer].vx * speed : 0;
if (typeof scrollCustomFn === "function") {
if (scrollCustomFn.call(Sortable.dragged.parentNode[expando], scrollOffsetX, scrollOffsetY, evt, touchEvt$1, autoScrolls[this.layer].el) !== "continue") {
return;
}
}
scrollBy(autoScrolls[this.layer].el, scrollOffsetX, scrollOffsetY);
}).bind({
layer: layersOut
}), 24);
}
}
layersOut++;
} while (options.bubbleScroll && currentParent !== winScroller && (currentParent = getParentAutoScrollElement(currentParent, false)));
scrolling = scrollThisInstance;
}, 30);
var drop = function drop2(_ref) {
var originalEvent = _ref.originalEvent, putSortable2 = _ref.putSortable, dragEl2 = _ref.dragEl, activeSortable = _ref.activeSortable, dispatchSortableEvent = _ref.dispatchSortableEvent, hideGhostForTarget = _ref.hideGhostForTarget, unhideGhostForTarget = _ref.unhideGhostForTarget;
if (!originalEvent)
return;
var toSortable = putSortable2 || activeSortable;
hideGhostForTarget();
var touch = originalEvent.changedTouches && originalEvent.changedTouches.length ? originalEvent.changedTouches[0] : originalEvent;
var target = document.elementFromPoint(touch.clientX, touch.clientY);
unhideGhostForTarget();
if (toSortable && !toSortable.el.contains(target)) {
dispatchSortableEvent("spill");
this.onSpill({
dragEl: dragEl2,
putSortable: putSortable2
});
}
};
function Revert() {
}
Revert.prototype = {
startIndex: null,
dragStart: function dragStart(_ref2) {
var oldDraggableIndex2 = _ref2.oldDraggableIndex;
this.startIndex = oldDraggableIndex2;
},
onSpill: function onSpill(_ref3) {
var dragEl2 = _ref3.dragEl, putSortable2 = _ref3.putSortable;
this.sortable.captureAnimationState();
if (putSortable2) {
putSortable2.captureAnimationState();
}
var nextSibling = getChild(this.sortable.el, this.startIndex, this.options);
if (nextSibling) {
this.sortable.el.insertBefore(dragEl2, nextSibling);
} else {
this.sortable.el.appendChild(dragEl2);
}
this.sortable.animateAll();
if (putSortable2) {
putSortable2.animateAll();
}
},
drop
};
_extends(Revert, {
pluginName: "revertOnSpill"
});
function Remove() {
}
Remove.prototype = {
onSpill: function onSpill2(_ref4) {
var dragEl2 = _ref4.dragEl, putSortable2 = _ref4.putSortable;
var parentSortable = putSortable2 || this.sortable;
parentSortable.captureAnimationState();
dragEl2.parentNode && dragEl2.parentNode.removeChild(dragEl2);
parentSortable.animateAll();
},
drop
};
_extends(Remove, {
pluginName: "removeOnSpill"
});
Sortable.mount(new AutoScrollPlugin());
Sortable.mount(Remove, Revert);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function swapDragArrayElement(data2, currentIndex, targetIndex) {
var newData = _toConsumableArray(data2);
if (targetIndex - currentIndex > 0) {
newData.splice(targetIndex + 1, 0, newData[currentIndex]);
newData.splice(currentIndex, 1);
} else {
newData.splice(targetIndex, 0, newData[currentIndex]);
newData.splice(currentIndex + 1, 1);
}
return newData;
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$8(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$8(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$8(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$8(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useDragSort(props2, context) {
var _toRefs = vue.toRefs(props2), sortOnRowDraggable = _toRefs.sortOnRowDraggable, dragSort = _toRefs.dragSort, data2 = _toRefs.data, rowKey = _toRefs.rowKey;
var innerPagination = vue.ref(props2.pagination);
var _useClassName = useClassName(), tableDraggableClasses = _useClassName.tableDraggableClasses, tableBaseClass = _useClassName.tableBaseClass, tableFullRowClasses = _useClassName.tableFullRowClasses;
var primaryTableRef = vue.ref(null);
var columns = vue.ref(props2.columns || []);
var dragCol = vue.computed(function() {
return columns.value.find(function(item) {
return item.colKey === "drag";
});
});
var isRowDraggable = vue.computed(function() {
return sortOnRowDraggable.value || ["row", "row-handler-col"].includes(dragSort.value);
});
var isRowHandlerDraggable = vue.computed(function() {
return ["row-handler", "row-handler-col"].includes(dragSort.value) && !!dragCol.value;
});
var isColDraggable = vue.computed(function() {
return ["col", "row-handler-col"].includes(dragSort.value);
});
var lastRowList = vue.ref([]);
var lastColList = vue.ref([]);
var dragRowInstanceTmp = null;
var dragColInstanceTmp = null;
if (props2.sortOnRowDraggable) {
log.error("Table", "`sortOnRowDraggable` is going to be deprecated, use dragSort='row' instead.");
}
vue.watch([data2], function(_ref) {
var _ref2 = _slicedToArray(_ref, 1), data22 = _ref2[0];
lastRowList.value = (data22 === null || data22 === void 0 ? void 0 : data22.map(function(item) {
return get_1(item, rowKey.value);
})) || [];
var timer = setTimeout(function() {
if (data22.length) {
var _dragRowInstanceTmp;
(_dragRowInstanceTmp = dragRowInstanceTmp) === null || _dragRowInstanceTmp === void 0 || _dragRowInstanceTmp.sort(lastRowList.value);
} else {
var _primaryTableRef$valu;
var trList = (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.$el.querySelectorAll("tr[data-id]");
trList === null || trList === void 0 || trList.forEach(function(node) {
return node.remove();
});
}
clearTimeout(timer);
}, 0);
}, {
immediate: true
});
vue.watch(columns, function(columns2) {
lastColList.value = columns2 ? columns2.map(function(t) {
return t.colKey;
}) : [];
var timer = setTimeout(function() {
var _dragColInstanceTmp;
if (!dragColInstanceTmp || !dragColInstanceTmp.el)
return;
(_dragColInstanceTmp = dragColInstanceTmp) === null || _dragColInstanceTmp === void 0 || _dragColInstanceTmp.sort(lastColList.value);
clearTimeout(timer);
}, 0);
});
function getDataPageIndex(index2, pagination) {
var _pagination$current, _pagination$pageSize;
var current = (_pagination$current = pagination.current) !== null && _pagination$current !== void 0 ? _pagination$current : pagination.defaultCurrent;
var pageSize = (_pagination$pageSize = pagination.pageSize) !== null && _pagination$pageSize !== void 0 ? _pagination$pageSize : pagination.defaultPageSize;
if (!props2.disableDataPage && pagination && data2.value.length > pageSize) {
return pageSize * (current - 1) + index2;
}
return index2;
}
var registerRowDragEvent = function registerRowDragEvent2(element2) {
if (!isRowHandlerDraggable.value && !isRowDraggable.value)
return;
var dragContainer = element2 === null || element2 === void 0 ? void 0 : element2.querySelector("tbody");
if (!dragContainer) {
console.error("tbody does not exist.");
return null;
}
var baseOptions = _objectSpread$8({
animation: 150,
ghostClass: tableDraggableClasses.ghost,
chosenClass: tableDraggableClasses.chosen,
dragClass: tableDraggableClasses.dragging,
filter: ".".concat(tableFullRowClasses.base),
onMove: function onMove(evt) {
return !hasClass(evt.related, tableFullRowClasses.base);
},
onEnd: function onEnd(evt) {
var _dragRowInstanceTmp2, _props$onDragSort;
if (evt.newIndex === evt.oldIndex)
return;
(_dragRowInstanceTmp2 = dragRowInstanceTmp) === null || _dragRowInstanceTmp2 === void 0 || _dragRowInstanceTmp2.sort(lastRowList.value);
var currentIndex = evt.oldIndex, targetIndex = evt.newIndex;
if (isFunction_1(props2.firstFullRow) && props2.firstFullRow(vue.h) || context.slots.firstFullRow) {
currentIndex -= 1;
targetIndex -= 1;
}
if (innerPagination.value) {
currentIndex = getDataPageIndex(currentIndex, innerPagination.value);
targetIndex = getDataPageIndex(targetIndex, innerPagination.value);
}
var params = {
data: data2.value,
currentIndex,
current: data2.value[currentIndex],
targetIndex,
target: data2.value[targetIndex],
newData: swapDragArrayElement(_toConsumableArray(props2.data), currentIndex, targetIndex),
e: evt,
sort: "row"
};
params.currentData = params.newData;
(_props$onDragSort = props2.onDragSort) === null || _props$onDragSort === void 0 || _props$onDragSort.call(props2, params);
}
}, props2.dragSortOptions);
if (!dragContainer)
return;
if (isRowDraggable.value) {
dragRowInstanceTmp = new Sortable(dragContainer, _objectSpread$8({}, baseOptions));
} else {
dragRowInstanceTmp = new Sortable(dragContainer, _objectSpread$8(_objectSpread$8({}, baseOptions), {}, {
handle: ".".concat(tableDraggableClasses.handle)
}));
}
lastRowList.value = dragRowInstanceTmp.toArray();
};
var registerOneLevelColDragEvent = function registerOneLevelColDragEvent2(container, recover) {
var options = _objectSpread$8({
animation: 150,
dataIdAttr: "data-colkey",
direction: "vertical",
ghostClass: tableDraggableClasses.ghost,
chosenClass: tableDraggableClasses.chosen,
dragClass: tableDraggableClasses.dragging,
handle: ".".concat(tableBaseClass.thCellInner),
onEnd: function onEnd(evt) {
var _props$onDragSort2;
if (evt.newIndex === evt.oldIndex)
return;
if (recover) {
var _dragColInstanceTmp2;
(_dragColInstanceTmp2 = dragColInstanceTmp) === null || _dragColInstanceTmp2 === void 0 || _dragColInstanceTmp2.sort(_toConsumableArray(lastColList.value));
}
var oldIndex2 = evt.oldIndex, newIndex2 = evt.newIndex, targetElement = evt.target;
var currentIndex = recover ? oldIndex2 : newIndex2;
var targetIndex = recover ? newIndex2 : oldIndex2;
var oldElement = targetElement.children[currentIndex];
var newElement = targetElement.children[targetIndex];
var current = getColumnDataByKey(columns.value, oldElement.dataset.colkey);
var target = getColumnDataByKey(columns.value, newElement.dataset.colkey);
if (!current || !current.colKey) {
log.error("Table", "colKey is missing in ".concat(JSON.stringify(current)));
}
if (!target || !target.colKey) {
log.error("Table", "colKey is missing in ".concat(JSON.stringify(target)));
}
currentIndex = getColumnIndexByKey(props2.columns, current.colKey);
targetIndex = getColumnIndexByKey(props2.columns, target.colKey);
var params = {
data: columns.value,
currentIndex,
current,
targetIndex,
target,
newData: swapDragArrayElement(_toConsumableArray(props2.columns), currentIndex, targetIndex),
e: evt,
sort: "col"
};
params.currentData = params.newData;
(_props$onDragSort2 = props2.onDragSort) === null || _props$onDragSort2 === void 0 || _props$onDragSort2.call(props2, params);
}
}, props2.dragSortOptions);
if (!container)
return;
dragColInstanceTmp = new Sortable(container, options);
return dragColInstanceTmp;
};
var registerColDragEvent = function registerColDragEvent2(tableElement) {
if (!isColDraggable.value || !tableElement)
return;
var trList = tableElement.querySelectorAll("thead > tr");
if (trList.length <= 1) {
var _trList = _slicedToArray(trList, 1), container = _trList[0];
var dragInstanceTmp = registerOneLevelColDragEvent(container, true);
lastColList.value = dragInstanceTmp === null || dragInstanceTmp === void 0 ? void 0 : dragInstanceTmp.toArray();
} else {
trList === null || trList === void 0 || trList.forEach(function(container2) {
registerOneLevelColDragEvent(container2, false);
});
}
};
function setDragSortPrimaryTableRef(primaryTableElement) {
primaryTableRef.value = primaryTableElement;
}
function setDragSortColumns(val) {
columns.value = val;
}
vue.watch([primaryTableRef, columns, dragSort], function(_ref3) {
var _ref4 = _slicedToArray(_ref3, 1), val = _ref4[0];
if (!val || !val.$el)
return;
var timerA = setTimeout(function() {
registerRowDragEvent(val.$el);
registerColDragEvent(val.$el);
var timer = setTimeout(function() {
if (val.$refs.affixHeaderRef) {
registerColDragEvent(val.$refs.affixHeaderRef);
}
clearTimeout(timer);
});
clearTimeout(timerA);
}, 0);
});
return {
innerPagination,
isRowDraggable,
isRowHandlerDraggable,
isColDraggable,
setDragSortPrimaryTableRef,
setDragSortColumns
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function useAsyncLoading(props2) {
var renderTNode = useTNodeJSX();
var _useConfig = useConfig("table", props2.locale), globalConfig = _useConfig.globalConfig;
var _useClassName = useClassName(), isLoadingClass = _useClassName.isLoadingClass, isLoadMoreClass = _useClassName.isLoadMoreClass, asyncLoadingClass = _useClassName.asyncLoadingClass;
var classes = vue.computed(function() {
var _ref;
return [asyncLoadingClass, (_ref = {}, _defineProperty$2(_ref, isLoadingClass, props2.asyncLoading === "loading"), _defineProperty$2(_ref, isLoadMoreClass, props2.asyncLoading === "load-more"), _ref)];
});
function onLoadClick() {
var _props$onAsyncLoading;
if (!isString_1(props2.asyncLoading))
return;
(_props$onAsyncLoading = props2.onAsyncLoadingClick) === null || _props$onAsyncLoading === void 0 || _props$onAsyncLoading.call(props2, {
status: props2.asyncLoading
});
}
function renderAsyncLoading() {
var asyncLoadingNode = renderTNode("asyncLoading");
if (isString_1(asyncLoadingNode)) {
var asyncLoading = props2.asyncLoading;
var loadingText = {
"load-more": globalConfig.value.loadingMoreText,
loading: globalConfig.value.loadingText
}[String(asyncLoading)];
return vue.createVNode("div", {
"class": classes.value,
"onClick": onLoadClick
}, [vue.createVNode(Loading, {
"indicator": asyncLoading === "loading",
"loading": !!asyncLoading,
"size": "small",
"text": loadingText
}, null)]);
}
if (![null, false, void 0].includes(asyncLoadingNode)) {
return vue.createVNode("div", {
"class": classes.value,
"onClick": onLoadClick
}, [asyncLoadingNode]);
}
return null;
}
return {
renderAsyncLoading
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _toArray(arr) {
return _arrayWithHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray$3(arr) || _nonIterableRest();
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$7(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$7(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$7(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$7(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var EditableCell = vue.defineComponent({
name: "TableEditableCell",
props: {
row: Object,
rowIndex: Number,
col: Object,
colIndex: Number,
oldCell: [Function, String],
tableBaseClass: Object,
cellEmptyContent: [Function, String],
editable: {
type: Boolean,
"default": void 0
},
readonly: {
type: Boolean
},
errors: {
type: Array,
"default": void 0
},
onChange: Function,
onValidate: Function,
onRuleChange: Function,
onEditableChange: Function
},
setup: function setup45(props2, context) {
var _props$col$edit;
var _toRefs = vue.toRefs(props2), row = _toRefs.row, col = _toRefs.col;
vue.ref(null);
var isKeepEditMode = vue.computed(function() {
var _col$value$edit;
return (_col$value$edit = col.value.edit) === null || _col$value$edit === void 0 ? void 0 : _col$value$edit.keepEditMode;
});
var isEdit = vue.ref(isKeepEditMode.value || ((_props$col$edit = props2.col.edit) === null || _props$col$edit === void 0 ? void 0 : _props$col$edit.defaultEditable) || false);
var editValue = vue.ref();
var errorList = vue.ref();
var classPrefix = usePrefixClass();
var _useGlobalIcon = useGlobalIcon({
Edit1Icon
}), Edit1Icon$1 = _useGlobalIcon.Edit1Icon;
var updateEditedCellValue = function updateEditedCellValue2(val) {
editValue.value = val;
};
vue.watch([isKeepEditMode], function(val) {
if (val) {
isEdit.value = true;
}
});
var editOnListeners = vue.computed(function() {
var _col$value$edit2, _col$value$edit2$on;
return ((_col$value$edit2 = col.value.edit) === null || _col$value$edit2 === void 0 || (_col$value$edit2$on = _col$value$edit2.on) === null || _col$value$edit2$on === void 0 ? void 0 : _col$value$edit2$on.call(_col$value$edit2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
editedRow: currentRow.value,
updateEditedCellValue
}))) || {};
});
var cellParams = vue.computed(function() {
return {
rowIndex: props2.rowIndex,
colIndex: props2.colIndex,
col: props2.col,
row: props2.row
};
});
var currentRow = vue.computed(function() {
var colKey = col.value.colKey;
var _ref = colKey.split(".") || [], _ref2 = _toArray(_ref), firstKey = _ref2[0], restKeys = _ref2.slice(1);
var newRow = _objectSpread$7({}, row.value);
if (restKeys.length) {
newRow[firstKey] = cloneDeep_1(row.value[firstKey]);
set_1(newRow[firstKey], restKeys.join("."), editValue.value);
} else {
set_1(newRow, colKey, editValue.value);
}
return newRow;
});
var cellNode = vue.computed(function() {
var node = renderCell({
row: currentRow.value,
col: _objectSpread$7(_objectSpread$7({}, col.value), {}, {
cell: props2.oldCell
}),
rowIndex: props2.rowIndex,
colIndex: props2.colIndex
}, context.slots, {
cellEmptyContent: props2.cellEmptyContent
});
return node;
});
var editProps = vue.computed(function() {
var edit = col.value.edit;
return isFunction_1(edit.props) ? edit.props(_objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
editedRow: currentRow.value,
updateEditedCellValue
})) : _objectSpread$7({}, edit.props);
});
var componentProps = vue.computed(function() {
var _edit$abortEditOnEven;
var edit = col.value.edit;
if (!edit)
return {};
var tmpProps = _objectSpread$7({}, editProps.value);
delete tmpProps.onChange;
delete tmpProps.value;
(_edit$abortEditOnEven = edit.abortEditOnEvent) === null || _edit$abortEditOnEven === void 0 || _edit$abortEditOnEven.forEach(function(item) {
delete tmpProps[item];
});
return tmpProps;
});
var isAbortEditOnChange = vue.computed(function() {
var _edit$abortEditOnEven2;
var edit = col.value.edit;
if (!edit)
return false;
return Boolean((_edit$abortEditOnEven2 = edit.abortEditOnEvent) === null || _edit$abortEditOnEven2 === void 0 ? void 0 : _edit$abortEditOnEven2.includes("onChange"));
});
var validateEdit = function validateEdit2(trigger) {
return new Promise(function(resolve2) {
var params = {
result: [_objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
errorList: [],
value: editValue.value
})],
trigger
};
var rules = isFunction_1(col.value.edit.rules) ? col.value.edit.rules(cellParams.value) : col.value.edit.rules;
if (!col.value.edit || !rules || !rules.length) {
var _props$onValidate;
(_props$onValidate = props2.onValidate) === null || _props$onValidate === void 0 || _props$onValidate.call(props2, params);
resolve2(true);
return;
}
validate(editValue.value, rules).then(function(result) {
var _props$onValidate2;
var list = result === null || result === void 0 ? void 0 : result.filter(function(t) {
return !t.result;
});
params.result[0].errorList = list;
(_props$onValidate2 = props2.onValidate) === null || _props$onValidate2 === void 0 || _props$onValidate2.call(props2, params);
if (!list || !list.length) {
errorList.value = [];
resolve2(true);
} else {
errorList.value = list;
resolve2(list);
}
});
});
};
var isSame = function isSame2(a, b) {
if (isObject_1(a) && isObject_1(b)) {
return JSON.stringify(a) === JSON.stringify(b);
}
return a === b;
};
var updateAndSaveAbort = function updateAndSaveAbort2(outsideAbortEvent, eventName) {
for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {
args[_key - 2] = arguments[_key];
}
validateEdit("self").then(function(result) {
var _editOnListeners$valu, _editOnListeners$valu2;
if (result !== true)
return;
var oldValue = get_1(row.value, col.value.colKey);
if (!isSame(editValue.value, oldValue)) {
editValue.value = oldValue;
outsideAbortEvent === null || outsideAbortEvent === void 0 || outsideAbortEvent.apply(void 0, args);
}
(_editOnListeners$valu = (_editOnListeners$valu2 = editOnListeners.value)[eventName]) === null || _editOnListeners$valu === void 0 || _editOnListeners$valu.call(_editOnListeners$valu2, args[2]);
var timer = setTimeout(function() {
var _props$onEditableChan;
if (!isKeepEditMode.value) {
isEdit.value = false;
}
errorList.value = [];
(_props$onEditableChan = props2.onEditableChange) === null || _props$onEditableChan === void 0 || _props$onEditableChan.call(props2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
value: editValue.value,
editedRow: _objectSpread$7(_objectSpread$7({}, props2.row), {}, _defineProperty$2({}, props2.col.colKey, editValue.value)),
validateEdit,
isEdit: false
}));
clearTimeout(timer);
}, 0);
});
};
var listeners = vue.computed(function() {
var _edit$abortEditOnEven3;
var edit = col.value.edit;
var isCellEditable = props2.editable === void 0;
if (!isEdit.value || !isCellEditable)
return;
if (!(edit !== null && edit !== void 0 && (_edit$abortEditOnEven3 = edit.abortEditOnEvent) !== null && _edit$abortEditOnEven3 !== void 0 && _edit$abortEditOnEven3.length))
return {};
var tListeners = {};
var outsideAbortEvent = edit === null || edit === void 0 ? void 0 : edit.onEdited;
edit.abortEditOnEvent.forEach(function(itemEvent) {
if (itemEvent === "onChange")
return;
tListeners[itemEvent] = function() {
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
args[_key2] = arguments[_key2];
}
updateAndSaveAbort.apply(void 0, [outsideAbortEvent, itemEvent, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
trigger: itemEvent,
newRowData: currentRow.value
})].concat(args));
};
});
return tListeners;
});
var onEditChange = function onEditChange2(val) {
var _editProps$value, _editProps$value$onCh, _props$onChange, _props$onRuleChange, _editOnListeners$valu3, _editOnListeners$valu4, _col$value$edit4;
editValue.value = val;
var params = _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
value: val,
editedRow: _objectSpread$7(_objectSpread$7({}, props2.row), {}, _defineProperty$2({}, props2.col.colKey, val))
});
for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {
args[_key3 - 1] = arguments[_key3];
}
(_editProps$value = editProps.value) === null || _editProps$value === void 0 || (_editProps$value$onCh = _editProps$value.onChange) === null || _editProps$value$onCh === void 0 || _editProps$value$onCh.call.apply(_editProps$value$onCh, [_editProps$value, val].concat(args));
(_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call(props2, params);
(_props$onRuleChange = props2.onRuleChange) === null || _props$onRuleChange === void 0 || _props$onRuleChange.call(props2, params);
(_editOnListeners$valu3 = editOnListeners.value) === null || _editOnListeners$valu3 === void 0 || (_editOnListeners$valu4 = _editOnListeners$valu3.onChange) === null || _editOnListeners$valu4 === void 0 || _editOnListeners$valu4.call(_editOnListeners$valu3, params);
var isCellEditable = props2.editable === void 0;
if (isCellEditable && isAbortEditOnChange.value) {
var _col$value$edit3;
var outsideAbortEvent = (_col$value$edit3 = col.value.edit) === null || _col$value$edit3 === void 0 ? void 0 : _col$value$edit3.onEdited;
updateAndSaveAbort.apply(void 0, [outsideAbortEvent, "change", _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
trigger: "onChange",
newRowData: currentRow.value
})].concat(args));
}
if (((_col$value$edit4 = col.value.edit) === null || _col$value$edit4 === void 0 ? void 0 : _col$value$edit4.validateTrigger) === "change") {
validateEdit("self");
}
};
var documentClickHandler = function documentClickHandler2(e) {
var _e$composedPath;
if (!col.value.edit || !col.value.edit.component)
return;
if (!isEdit.value)
return;
var path = ((_e$composedPath = e.composedPath) === null || _e$composedPath === void 0 ? void 0 : _e$composedPath.call(e)) || e.path || [];
var node = path.find(function(node2) {
var _node2$classList;
return (_node2$classList = node2.classList) === null || _node2$classList === void 0 ? void 0 : _node2$classList.contains("".concat(classPrefix.value, "-popup__content"));
});
if (node)
return;
var outsideAbortEvent = col.value.edit.onEdited;
updateAndSaveAbort(outsideAbortEvent, "", _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
trigger: "document",
newRowData: currentRow.value
}));
};
var enterEdit = function enterEdit2() {
var _props$onEditableChan2;
(_props$onEditableChan2 = props2.onEditableChange) === null || _props$onEditableChan2 === void 0 || _props$onEditableChan2.call(props2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
value: editValue.value,
editedRow: props2.row,
isEdit: true,
validateEdit
}));
};
var onCellClick = function onCellClick2(e) {
isEdit.value = true;
enterEdit();
e.stopPropagation();
};
vue.onMounted(function() {
var _props$col$edit2;
if ((_props$col$edit2 = props2.col.edit) !== null && _props$col$edit2 !== void 0 && _props$col$edit2.defaultEditable) {
enterEdit();
}
});
var cellValue = vue.computed(function() {
return get_1(row.value, col.value.colKey);
});
vue.watch(cellValue, function(cellValue2) {
editValue.value = cellValue2;
}, {
immediate: true
});
vue.watch(isEdit, function(isEdit2) {
var isCellEditable = props2.editable === void 0;
if (!col.value.edit || !col.value.edit.component || !isCellEditable)
return;
if (isEdit2) {
on$1(document, "click", documentClickHandler);
} else {
off$1(document, "click", documentClickHandler);
}
}, {
immediate: true
});
vue.watch(function() {
return [props2.editable, props2.row, props2.col, props2.rowIndex, props2.colIndex];
}, function(_ref3) {
var _ref4 = _slicedToArray(_ref3, 1), editable = _ref4[0];
if (editable === false) {
editValue.value = cellValue.value;
} else if (editable === true) {
var _props$onRuleChange2;
(_props$onRuleChange2 = props2.onRuleChange) === null || _props$onRuleChange2 === void 0 || _props$onRuleChange2.call(props2, _objectSpread$7(_objectSpread$7({}, cellParams.value), {}, {
value: cellValue.value,
editedRow: row.value
}));
}
}, {
immediate: true
});
vue.watch(function() {
return props2.errors;
}, function(errors) {
errorList.value = errors;
});
return function() {
var _col$value$edit6, _errorList$value, _col$value$edit7, _errorList$value2;
if (props2.readonly) {
return cellNode.value;
}
if (props2.editable === void 0 && !isEdit.value || props2.editable === false) {
var _col$value$edit5;
return vue.createVNode("div", {
"class": props2.tableBaseClass.cellEditable,
"onClick": onCellClick
}, [cellNode.value, ((_col$value$edit5 = col.value.edit) === null || _col$value$edit5 === void 0 ? void 0 : _col$value$edit5.showEditIcon) !== false && vue.createVNode(Edit1Icon$1, null, null)]);
}
var Component = (_col$value$edit6 = col.value.edit) === null || _col$value$edit6 === void 0 ? void 0 : _col$value$edit6.component;
if (!Component) {
log.error("Table", "edit.component is required.");
return null;
}
var errorMessage = (_errorList$value = errorList.value) === null || _errorList$value === void 0 || (_errorList$value = _errorList$value[0]) === null || _errorList$value === void 0 ? void 0 : _errorList$value.message;
var tmpEditOnListeners = _objectSpread$7({}, editOnListeners.value);
delete tmpEditOnListeners.onChange;
if ((_col$value$edit7 = col.value.edit) !== null && _col$value$edit7 !== void 0 && (_col$value$edit7 = _col$value$edit7.abortEditOnEvent) !== null && _col$value$edit7 !== void 0 && _col$value$edit7.length) {
col.value.edit.abortEditOnEvent.forEach(function(onEventName) {
if (tmpEditOnListeners[onEventName]) {
delete tmpEditOnListeners[onEventName];
}
});
}
return vue.createVNode("div", {
"class": props2.tableBaseClass.cellEditWrap,
"onClick": function onClick(e) {
e.stopPropagation();
},
"ref": "tableEditableCellRef"
}, [vue.createVNode(Component, vue.mergeProps({
"status": errorMessage ? ((_errorList$value2 = errorList.value) === null || _errorList$value2 === void 0 || (_errorList$value2 = _errorList$value2[0]) === null || _errorList$value2 === void 0 ? void 0 : _errorList$value2.type) || "error" : void 0,
"tips": errorMessage
}, componentProps.value, listeners.value, tmpEditOnListeners, {
"value": editValue.value,
"onChange": onEditChange
}), null)]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$6(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$6(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$6(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$6(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useRowEdit(props2) {
var cellRuleMap = /* @__PURE__ */ new Map();
var errorListMap = vue.ref({});
var editableKeysMap = vue.computed(function() {
return getEditableKeysMap(props2.editableRowKeys, props2.data, props2.rowKey || "id");
});
var editingCells = vue.ref({});
var getErrorListMapByErrors = function getErrorListMapByErrors2(errors) {
var errorMap = {};
errors.forEach(function(_ref) {
var row = _ref.row, col = _ref.col, errorList = _ref.errorList;
var rowValue = get_1(row, props2.rowKey || "id");
var key2 = [rowValue, col.colKey].join("__");
if (errorList !== null && errorList !== void 0 && errorList.length) {
errorMap[key2] = errorList;
} else {
delete errorMap[key2];
}
});
return errorMap;
};
var validateOneRowData = function validateOneRowData2(rowValue) {
var rowRules = cellRuleMap.get(rowValue);
if (!rowRules)
return;
var list = rowRules.map(function(item) {
return new Promise(function(resolve2) {
var editedRow = item.editedRow, col = item.col;
var rules = isFunction_1(col.edit.rules) ? col.edit.rules(item) : col.edit.rules;
if (!col.edit || !rules || !rules.length) {
resolve2(_objectSpread$6(_objectSpread$6({}, item), {}, {
errorList: []
}));
return;
}
validate(get_1(editedRow, col.colKey), rules).then(function(r) {
resolve2(_objectSpread$6(_objectSpread$6({}, item), {}, {
errorList: r.filter(function(t) {
return !t.result;
})
}));
});
});
});
return new Promise(function(resolve2, reject2) {
Promise.all(list).then(function(errors) {
resolve2({
errors: errors.filter(function(t) {
var _t$errorList;
return (_t$errorList = t.errorList) === null || _t$errorList === void 0 ? void 0 : _t$errorList.length;
}),
errorMap: getErrorListMapByErrors(errors)
});
}, reject2);
});
};
var validateRowData = function validateRowData2(rowValue) {
return new Promise(function(resolve2, reject2) {
validateOneRowData(rowValue).then(function(_ref2) {
var _props$onRowValidate;
var errors = _ref2.errors, errorMap = _ref2.errorMap;
errorListMap.value = errorMap;
var tTrigger = "parent";
(_props$onRowValidate = props2.onRowValidate) === null || _props$onRowValidate === void 0 || _props$onRowValidate.call(props2, {
trigger: tTrigger,
result: errors
});
resolve2({
trigger: tTrigger,
result: errors
});
}, reject2);
});
};
var validateTableCellData = function validateTableCellData2() {
var cellKeys = Object.keys(editingCells.value);
var promiseList = cellKeys.map(function(cellKey) {
return editingCells.value[cellKey].validateEdit("parent");
});
return new Promise(function(resolve2, reject2) {
Promise.all(promiseList).then(function(arr) {
var _props$onValidate;
var allErrorListMap = {};
arr.forEach(function(result, index2) {
if (result === true)
return;
allErrorListMap[cellKeys[index2]] = result;
});
(_props$onValidate = props2.onValidate) === null || _props$onValidate === void 0 || _props$onValidate.call(props2, {
result: allErrorListMap
});
resolve2({
result: allErrorListMap
});
}, reject2);
});
};
var validateTableData = function validateTableData2() {
if (Object.keys(editingCells.value).length) {
return validateTableCellData();
}
var promiseList = [];
var data2 = props2.data || [];
for (var i = 0, len2 = data2.length; i < len2; i++) {
var rowValue = get_1(data2[i], props2.rowKey || "id");
promiseList.push(validateOneRowData(rowValue));
}
return new Promise(function(resolve2, reject2) {
Promise.all(promiseList).then(function(rList) {
var _props$onValidate2;
var allErrorListMap = {};
rList.forEach(function() {
var _ref3 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {
errors: [],
errorMap: {}
}, errorMap = _ref3.errorMap;
errorMap && Object.assign(allErrorListMap, errorMap);
});
errorListMap.value = allErrorListMap;
(_props$onValidate2 = props2.onValidate) === null || _props$onValidate2 === void 0 || _props$onValidate2.call(props2, {
result: allErrorListMap
});
resolve2({
result: allErrorListMap
});
}, reject2);
});
};
var onRuleChange = function onRuleChange2(context) {
if (props2.editableRowKeys) {
var rowValue = get_1(context.row, props2.rowKey || "id");
var rules = cellRuleMap.get(rowValue);
if (rules) {
var index2 = rules.findIndex(function(t) {
return t.col.colKey === context.col.colKey;
});
if (index2 === -1) {
rules.push(context);
} else {
rules[index2] = context;
}
cellRuleMap.set(rowValue, rules);
} else {
cellRuleMap.set(rowValue, [context]);
}
}
};
var clearValidateData = function clearValidateData2() {
errorListMap.value = {};
};
var onPrimaryTableCellEditChange = function onPrimaryTableCellEditChange2(params) {
var cellKey = getCellKey(params.row, props2.rowKey, params.col.colKey, params.colIndex);
if (params.isEdit) {
editingCells.value[cellKey] = params;
} else {
delete editingCells.value[cellKey];
}
};
return {
errorListMap,
editableKeysMap,
validateTableData,
validateRowData,
onRuleChange,
clearValidateData,
onPrimaryTableCellEditChange
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$5(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$5(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$5(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$5(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var OMIT_PROPS = ["hideSortTips", "dragSort", "defaultExpandedRowKeys", "defaultSelectedRowKeys", "columnController", "filterRow", "sortOnRowDraggable", "expandOnRowClick", "multipleSort", "expandIcon", "reserveSelectedRowOnPaginate", "selectOnRowClick", "onChange", "onAsyncLoadingClick", "onColumnChange", "onColumnControllerVisibleChange", "onDataChange", "onDisplayColumnsChange", "onDragSort", "onExpandChange", "onFilterChange", "onSelectChange", "onSortChange"];
var _PrimaryTable = vue.defineComponent({
name: "TPrimaryTable",
props: _objectSpread$5(_objectSpread$5({}, baseTableProps), primaryTableProps),
setup: function setup46(props2, context) {
var renderTNode = useTNodeJSX();
var _toRefs = vue.toRefs(props2), columns = _toRefs.columns, columnController = _toRefs.columnController;
var primaryTableRef = vue.ref(null);
var _useClassName = useClassName(), classPrefix = _useClassName.classPrefix, tableDraggableClasses = _useClassName.tableDraggableClasses, tableBaseClass = _useClassName.tableBaseClass, tableSelectedClasses = _useClassName.tableSelectedClasses, tableSortClasses = _useClassName.tableSortClasses;
var _useStyle = useStyle(props2), sizeClassNames = _useStyle.sizeClassNames;
var _useColumnController = useColumnController(props2, context), tDisplayColumns = _useColumnController.tDisplayColumns, renderColumnController = _useColumnController.renderColumnController;
var _useRowExpand = useRowExpand(props2, context), showExpandedRow = _useRowExpand.showExpandedRow, showExpandIconColumn = _useRowExpand.showExpandIconColumn, getExpandColumn = _useRowExpand.getExpandColumn, renderExpandedRow = _useRowExpand.renderExpandedRow, onInnerExpandRowClick = _useRowExpand.onInnerExpandRowClick;
var _useSorter = useSorter(props2, context), renderSortIcon = _useSorter.renderSortIcon;
var _useRowSelect = useRowSelect(props2, tableSelectedClasses), selectColumn = _useRowSelect.selectColumn, showRowSelect = _useRowSelect.showRowSelect, selectedRowClassNames = _useRowSelect.selectedRowClassNames, currentPaginateData = _useRowSelect.currentPaginateData, formatToRowSelectColumn = _useRowSelect.formatToRowSelectColumn, setTSelectedRowKeys = _useRowSelect.setTSelectedRowKeys, onInnerSelectRowClick = _useRowSelect.onInnerSelectRowClick, handleRowSelectWithAreaSelection = _useRowSelect.handleRowSelectWithAreaSelection;
var _useFilter = useFilter(props2, context), hasEmptyCondition = _useFilter.hasEmptyCondition, isTableOverflowHidden = _useFilter.isTableOverflowHidden, renderFilterIcon = _useFilter.renderFilterIcon, renderFirstFilterRow = _useFilter.renderFirstFilterRow, setFilterPrimaryTableRef = _useFilter.setFilterPrimaryTableRef;
var _useDragSort = useDragSort(props2, context), isRowHandlerDraggable = _useDragSort.isRowHandlerDraggable, isRowDraggable = _useDragSort.isRowDraggable, isColDraggable = _useDragSort.isColDraggable, innerPagination = _useDragSort.innerPagination, setDragSortPrimaryTableRef = _useDragSort.setDragSortPrimaryTableRef, setDragSortColumns = _useDragSort.setDragSortColumns;
var _useTableHeader = useTableHeader(props2), renderTitleWidthIcon = _useTableHeader.renderTitleWidthIcon;
var _useAsyncLoading = useAsyncLoading(props2), renderAsyncLoading = _useAsyncLoading.renderAsyncLoading;
var _useEditableRow = useRowEdit(props2), errorListMap = _useEditableRow.errorListMap, editableKeysMap = _useEditableRow.editableKeysMap, validateRowData = _useEditableRow.validateRowData, validateTableData = _useEditableRow.validateTableData, onRuleChange = _useEditableRow.onRuleChange, clearValidateData = _useEditableRow.clearValidateData, onPrimaryTableCellEditChange = _useEditableRow.onPrimaryTableCellEditChange;
var innerKeyboardRowHover = vue.computed(function() {
return Boolean(showExpandedRow.value || showRowSelect.value);
});
var innerDisableSpaceInactiveRow = vue.computed(function() {
return Boolean(showExpandedRow.value || showRowSelect.value);
});
var primaryTableClasses = vue.computed(function() {
var _selectColumn$value, _ref;
return _ref = {}, _defineProperty$2(_ref, tableDraggableClasses.colDraggable, isColDraggable.value), _defineProperty$2(_ref, tableDraggableClasses.rowHandlerDraggable, isRowHandlerDraggable.value), _defineProperty$2(_ref, tableDraggableClasses.rowDraggable, isRowDraggable.value), _defineProperty$2(_ref, tableBaseClass.overflowVisible, isTableOverflowHidden.value === false), _defineProperty$2(_ref, tableBaseClass.tableRowEdit, props2.editableRowKeys), _defineProperty$2(_ref, "".concat(classPrefix, "-table--select-").concat((_selectColumn$value = selectColumn.value) === null || _selectColumn$value === void 0 ? void 0 : _selectColumn$value.type), selectColumn.value), _defineProperty$2(_ref, "".concat(classPrefix, "-table--row-select"), showRowSelect.value), _defineProperty$2(_ref, "".concat(classPrefix, "-table--row-expandable"), showExpandedRow.value), _ref;
});
var tRowClassNames = vue.computed(function() {
var tClassNames = [props2.rowClassName, selectedRowClassNames.value];
return tClassNames.filter(function(v) {
return v;
});
});
var tRowAttributes = vue.computed(function() {
var tAttributes = [props2.rowAttributes];
if (isRowHandlerDraggable.value || isRowDraggable.value) {
tAttributes.push(function(_ref2) {
var row = _ref2.row;
return {
"data-id": get_1(row, props2.rowKey || "id")
};
});
}
return tAttributes.filter(function(v) {
return v;
});
});
vue.onMounted(function() {
setFilterPrimaryTableRef(primaryTableRef.value);
setDragSortPrimaryTableRef(primaryTableRef.value);
});
context.expose({
validateRowData,
validateTableData,
clearValidateData,
refreshTable: function refreshTable() {
primaryTableRef.value.refreshTable();
},
scrollToElement: function scrollToElement(data2) {
primaryTableRef.value.virtualConfig.scrollToElement(data2);
},
scrollColumnIntoView: function scrollColumnIntoView(colKey) {
primaryTableRef.value.scrollColumnIntoView(colKey);
},
baseTableRef: primaryTableRef
});
var getColumns = function getColumns2(columns2) {
var arr = [];
var _loop = function _loop2() {
var _item$children, _tDisplayColumns$valu, _item$edit, _item$children2, _item$children3;
var item = _objectSpread$5({}, columns2[i]);
var isDisplayColumn = ((_item$children = item.children) === null || _item$children === void 0 ? void 0 : _item$children.length) || ((_tDisplayColumns$valu = tDisplayColumns.value) === null || _tDisplayColumns$valu === void 0 ? void 0 : _tDisplayColumns$valu.includes(item.colKey));
if (!isDisplayColumn && (props2.columnController || props2.displayColumns || props2.defaultDisplayColumns))
return 1;
item = formatToRowSelectColumn(item);
var sort2 = props2.sort;
if (item.sorter && props2.showSortColumnBgColor) {
var sorts = sort2 instanceof Array ? sort2 : [sort2];
var sortedColumn = sorts.find(function(sort22) {
return sort22 && sort22.sortBy === item.colKey && sort22.descending !== void 0;
});
if (sortedColumn) {
item.className = item.className instanceof Array ? item.className.concat(tableSortClasses.sortColumn) : [item.className, tableSortClasses.sortColumn];
}
}
if (item.sorter || item.filter) {
var titleContent = renderTitle(context.slots, item, i);
var _item = item, ellipsisTitle = _item.ellipsisTitle;
item.title = function(h2, p) {
var _primaryTableRef$valu;
var sortIcon = item.sorter ? renderSortIcon(p) : null;
var filterIcon = item.filter ? renderFilterIcon(p) : null;
var attach = (_primaryTableRef$valu = primaryTableRef.value) === null || _primaryTableRef$valu === void 0 ? void 0 : _primaryTableRef$valu.tableContentRef;
return renderTitleWidthIcon([titleContent, sortIcon, filterIcon], p.col, p.colIndex, ellipsisTitle, attach, {
classPrefix,
ellipsisOverlayClassName: props2.size !== "medium" ? sizeClassNames[props2.size] : ""
});
};
item.ellipsisTitle = false;
}
if ((_item$edit = item.edit) !== null && _item$edit !== void 0 && _item$edit.component) {
var oldCell = item.cell;
item.cell = function(h2, p) {
var cellProps = _objectSpread$5(_objectSpread$5({}, p), {}, {
oldCell,
tableBaseClass,
cellEmptyContent: props2.cellEmptyContent,
onChange: props2.onRowEdit,
onValidate: props2.onRowValidate,
onRuleChange,
onEditableChange: onPrimaryTableCellEditChange
});
if (props2.editableRowKeys) {
var _errorListMap$value;
var rowValue = get_1(p.row, props2.rowKey || "id");
cellProps.editable = editableKeysMap.value[rowValue] || false;
var key2 = [rowValue, p.col.colKey].join("__");
var errorList = (_errorListMap$value = errorListMap.value) === null || _errorListMap$value === void 0 ? void 0 : _errorListMap$value[key2];
errorList && (cellProps.errors = errorList);
}
if (props2.editableCellState) {
cellProps.readonly = !props2.editableCellState(p);
}
return vue.createVNode(EditableCell, cellProps, context.slots);
};
}
if ((_item$children2 = item.children) !== null && _item$children2 !== void 0 && _item$children2.length) {
item.children = getColumns2(item.children);
}
if (!item.children || (_item$children3 = item.children) !== null && _item$children3 !== void 0 && _item$children3.length) {
arr.push(item);
}
};
for (var i = 0, len2 = columns2.length; i < len2; i++) {
if (_loop())
continue;
}
return arr;
};
var tColumns = vue.computed(function() {
var cols = getColumns(columns.value);
if (showExpandIconColumn.value) {
cols.unshift(getExpandColumn());
}
return cols;
});
var onInnerPageChange = function onInnerPageChange2(pageInfo, newData) {
var _props$onPageChange, _props$onChange;
innerPagination.value = _objectSpread$5(_objectSpread$5({}, innerPagination.value), pageInfo);
currentPaginateData.value = newData;
(_props$onPageChange = props2.onPageChange) === null || _props$onPageChange === void 0 || _props$onPageChange.call(props2, pageInfo, newData);
var changeParams = [{
pagination: pageInfo
}, {
trigger: "pagination",
currentData: newData
}];
(_props$onChange = props2.onChange) === null || _props$onChange === void 0 || _props$onChange.call.apply(_props$onChange, [props2].concat(changeParams));
if (!props2.reserveSelectedRowOnPaginate) {
setTSelectedRowKeys([], {
selectedRowData: [],
type: "uncheck",
currentRowKey: "CLEAR_ON_PAGINATE"
});
}
};
var onInnerActiveRowAction = function onInnerActiveRowAction2(params) {
var _props$onActiveRowAct;
(_props$onActiveRowAct = props2.onActiveRowAction) === null || _props$onActiveRowAct === void 0 || _props$onActiveRowAct.call(props2, params);
handleRowSelectWithAreaSelection(params);
};
var onSingleRowClick = function onSingleRowClick2(params) {
if (props2.expandOnRowClick) {
onInnerExpandRowClick(params);
}
if (props2.selectOnRowClick) {
onInnerSelectRowClick(params);
}
};
var timer;
var DURATION = 250;
var onInnerRowClick = function onInnerRowClick2(params) {
if (!props2.onRowDblclick) {
onSingleRowClick(params);
return;
}
if (timer) {
clearTimeout(timer);
timer = void 0;
} else {
timer = setTimeout(function() {
onSingleRowClick(params);
timer = void 0;
}, DURATION);
}
};
return function() {
var _props$keyboardRowHov, _props$disableSpaceIn;
var formatNode = function formatNode2(api, renderInnerNode, condition, extra) {
if (!condition)
return props2[api];
var innerNode = renderInnerNode(vue.h);
var propsNode = renderTNode(api);
if (innerNode && !propsNode)
return function() {
return innerNode;
};
if (propsNode && !innerNode)
return function() {
return propsNode;
};
if (innerNode && propsNode) {
return function() {
return extra !== null && extra !== void 0 && extra.reverse ? vue.createVNode("div", null, [innerNode, propsNode]) : vue.createVNode("div", null, [propsNode, innerNode]);
};
}
return null;
};
var isColumnController = !!(columnController.value && Object.keys(columnController.value).length);
var placement = isColumnController ? columnController.value.placement || "top-right" : "";
var isBottomController = isColumnController && (placement === null || placement === void 0 ? void 0 : placement.indexOf("bottom")) !== -1;
var topContent = formatNode("topContent", renderColumnController, isColumnController && !isBottomController);
var bottomContent = formatNode("bottomContent", renderColumnController, isBottomController, {
reverse: true
});
var firstFullRow = formatNode("firstFullRow", renderFirstFilterRow, !hasEmptyCondition.value);
var lastFullRow = formatNode("lastFullRow", renderAsyncLoading, !!props2.asyncLoading);
var baseTableProps2 = _objectSpread$5(_objectSpread$5({}, omit_1(props2, OMIT_PROPS)), {}, {
rowClassName: tRowClassNames.value,
rowAttributes: tRowAttributes.value,
columns: tColumns.value,
keyboardRowHover: (_props$keyboardRowHov = props2.keyboardRowHover) !== null && _props$keyboardRowHov !== void 0 ? _props$keyboardRowHov : innerKeyboardRowHover.value,
disableSpaceInactiveRow: (_props$disableSpaceIn = props2.disableSpaceInactiveRow) !== null && _props$disableSpaceIn !== void 0 ? _props$disableSpaceIn : innerDisableSpaceInactiveRow.value,
topContent,
bottomContent,
firstFullRow,
lastFullRow,
thDraggable: ["col", "row-handler-col"].includes(props2.dragSort),
onPageChange: onInnerPageChange,
renderExpandedRow: showExpandedRow.value ? renderExpandedRow : void 0,
onActiveRowAction: onInnerActiveRowAction
});
if (props2.expandOnRowClick || props2.selectOnRowClick) {
baseTableProps2.onRowClick = onInnerRowClick;
}
return vue.createVNode(_BaseTable, vue.mergeProps({
"ref": primaryTableRef
}, baseTableProps2, {
"class": primaryTableClasses.value,
"onLeafColumnsChange": setDragSortColumns
}), context.slots);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var enhancedTableProps = {
beforeDragSort: {
type: Function
},
expandedTreeNodes: {
type: Array,
"default": void 0
},
defaultExpandedTreeNodes: {
type: Array,
"default": function _default15() {
return [];
}
},
tree: {
type: Object
},
treeExpandAndFoldIcon: {
type: Function
},
onAbnormalDragSort: Function,
onExpandedTreeNodesChange: Function,
onTreeExpandChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$4(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$4(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$4(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$4(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL = {
code: 1001,
reason: "The same level of rows can not be swapped."
};
function getUniqueRowValue(row, colKey) {
var rowIndex = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : 0;
var level = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : 0;
var rowValue = get_1(row, colKey);
return rowIndex || level ? "".concat(rowValue, "_").concat(rowIndex || 0, "_").concat(level || 0, "}") : rowValue;
}
var TableTreeStore = /* @__PURE__ */ function() {
function TableTreeStore2() {
_classCallCheck(this, TableTreeStore2);
_defineProperty$2(this, "treeDataMap", /* @__PURE__ */ new Map());
_defineProperty$2(this, "expandAllRowIndex", void 0);
this.treeDataMap = /* @__PURE__ */ new Map();
}
_createClass(TableTreeStore2, [{
key: "initialTreeStore",
value: function initialTreeStore(dataSource, columns, keys2) {
var _this$treeDataMap;
(_this$treeDataMap = this.treeDataMap) === null || _this$treeDataMap === void 0 || _this$treeDataMap.clear();
this.initialTreeDataMap(this.treeDataMap, dataSource, columns[0], keys2);
}
}, {
key: "getAllUniqueKeys",
value: function getAllUniqueKeys(data2, keys2) {
var arr = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
for (var i = 0, len2 = data2.length; i < len2; i++) {
var item = data2[i];
arr.push(getUniqueRowValue(item, keys2.rowKey));
var children = get_1(item, keys2.childrenKey);
if (children !== null && children !== void 0 && children.length) {
this.getAllUniqueKeys(children, keys2, arr);
}
}
return arr;
}
}, {
key: "getExpandedChildrenKeys",
value: function getExpandedChildrenKeys(data2, keys2) {
var arr = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
for (var i = 0, len2 = data2.length; i < len2; i++) {
var item = data2[i];
var rowValue = getUniqueRowValue(item, keys2.rowKey);
var rowState = this.treeDataMap.get(rowValue);
if (rowState.expanded) {
arr.push(rowValue);
}
var children = get_1(item, keys2.childrenKey);
if (children !== null && children !== void 0 && children.length) {
this.getExpandedChildrenKeys(children, keys2, arr);
}
}
return arr;
}
}, {
key: "expandTreeNode",
value: function expandTreeNode(rowList, dataSource, keys2) {
var _this = this;
if (!rowList.length)
return dataSource;
rowList.forEach(function(rowValue) {
var rowState = _this.treeDataMap.get(rowValue);
if (!rowState)
return;
_this.toggleExpandData({
row: rowState.row,
rowIndex: rowState.rowIndex
}, dataSource, keys2, "expand");
});
return dataSource;
}
}, {
key: "foldTreeNode",
value: function foldTreeNode(rowList, dataSource, keys2) {
var _this2 = this;
if (!rowList.length)
return dataSource;
rowList.forEach(function(rowValue) {
var rowState = _this2.treeDataMap.get(rowValue);
if (!rowState)
return;
_this2.toggleExpandData({
row: rowState.row,
rowIndex: rowState.rowIndex
}, dataSource, keys2, "fold");
});
return dataSource;
}
}, {
key: "toggleExpandData",
value: function toggleExpandData(p, dataSource, keys2, type) {
var _r$rowIndex;
if (!p) {
log.error("EnhancedTable", "the node toggleExpanded doest not exist in `data`");
return dataSource;
}
var rowValue = get_1(p.row, keys2.rowKey);
if (isUndefined_1(rowValue)) {
log.error("EnhancedTable", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
return [];
}
var childrenNodes = get_1(p.row, keys2.childrenKey);
if (childrenNodes === true)
return dataSource;
var r = this.treeDataMap.get(rowValue);
if (type === "expand" && r.expanded)
return dataSource;
if (type === "fold" && !r.expanded)
return dataSource;
r.rowIndex = (_r$rowIndex = r.rowIndex) !== null && _r$rowIndex !== void 0 ? _r$rowIndex : p.rowIndex;
r.expanded = !r.expanded;
this.treeDataMap.set(rowValue, r);
return this.updateExpandRow(r, dataSource, keys2);
}
}, {
key: "updateExpandRow",
value: function updateExpandRow(changeRow, dataSource, keys2) {
var row = changeRow.row, rowIndex = changeRow.rowIndex, expanded = changeRow.expanded;
var treeDataMap = this.treeDataMap;
var childrenNodes = get_1(row, keys2.childrenKey);
if (!row || !childrenNodes)
return dataSource;
if (expanded) {
updateChildrenRowState(treeDataMap, changeRow, expanded, keys2);
updateRowExpandLength(treeDataMap, row, childrenNodes.length, "expand", keys2);
dataSource.splice.apply(dataSource, [rowIndex + 1, 0].concat(childrenNodes));
} else {
updateChildrenRowState(treeDataMap, changeRow, expanded, keys2);
var len2 = changeRow.expandChildrenLength || childrenNodes.length;
updateRowExpandLength(treeDataMap, row, -1 * len2, "fold", keys2);
dataSource.splice(rowIndex + 1, len2);
}
updateRowIndex(treeDataMap, dataSource, {
rowKey: keys2.rowKey,
minRowIndex: rowIndex + 1
});
return dataSource;
}
}, {
key: "getData",
value: function getData(key2) {
return this.treeDataMap.get(key2);
}
}, {
key: "updateData",
value: function updateData(rowValue, newRowData, dataSource, keys2) {
var newRowValue = getUniqueRowValue(newRowData, keys2.rowKey);
var rowState = this.treeDataMap.get(rowValue);
if (!rowState || rowState.rowIndex === -1) {
updateRowData(dataSource, rowValue, newRowData, {
rowKey: keys2.rowKey,
childrenKey: keys2.childrenKey
});
return -1;
}
if (get_1(newRowData, keys2.childrenKey) === true) {
var oldChildren = get_1(rowState.row, keys2.childrenKey);
if (oldChildren !== null && oldChildren !== void 0 && oldChildren.length) {
for (var i = 0, len2 = oldChildren.length; i < len2; i++) {
var rowValue2 = getUniqueRowValue(oldChildren[i], keys2.rowKey);
var state = this.treeDataMap.get(rowValue2);
if (state) {
this.treeDataMap["delete"](rowValue2);
}
}
}
}
var currentRowIndex = rowState.rowIndex;
rowState.row = newRowData;
rowState.id = newRowValue;
if (rowState.parent) {
var siblings = get_1(rowState.parent.row, keys2.childrenKey);
var index2 = siblings.findIndex(function(item) {
return getUniqueRowValue(item, keys2.rowKey) === rowValue;
});
siblings[index2] = newRowData;
}
this.treeDataMap.set(newRowValue, rowState);
if (rowValue !== newRowValue) {
this.treeDataMap["delete"](rowValue);
}
return currentRowIndex;
}
}, {
key: "remove",
value: function remove2(key2, dataSource, keys2) {
var r = this.treeDataMap.get(key2);
if (r && r.rowIndex >= 0) {
var removeNumber = (r.expandChildrenLength || 0) + 1;
dataSource.splice(r.rowIndex, removeNumber);
if (r.parent) {
var siblings = get_1(r.parent.row, keys2.childrenKey);
var index2 = siblings.findIndex(function(item) {
return get_1(item, keys2.rowKey) === key2;
});
siblings.splice(index2, 1);
updateRowExpandLength(this.treeDataMap, r.parent.row, -1 * removeNumber, "delete", keys2);
}
this.treeDataMap["delete"](key2);
updateRowIndex(this.treeDataMap, dataSource, {
minRowIndex: r.rowIndex,
rowKey: keys2.rowKey,
type: "remove"
});
} else {
log.warn("EnhancedTable", "Can not remove this node, which is not appeared.");
}
return dataSource;
}
}, {
key: "removeChildren",
value: function removeChildren(key2, dataSource, keys2) {
var r = this.treeDataMap.get(key2);
if (r && r.rowIndex >= 0) {
var removeNumber = r.expandChildrenLength || 0;
if (removeNumber) {
dataSource.splice(r.rowIndex + 1, removeNumber);
}
if (r.parent) {
updateRowExpandLength(this.treeDataMap, r.parent.row, -1 * removeNumber, "delete", keys2);
}
r.expandChildrenLength = 0;
r.expanded = false;
set_1(r.row, keys2.childrenKey, void 0);
this.treeDataMap.set(key2, r);
if (removeNumber) {
updateRowIndex(this.treeDataMap, dataSource, {
minRowIndex: r.rowIndex + 1,
rowKey: keys2.rowKey,
type: "remove"
});
}
} else {
log.warn("EnhancedTable", "Can not remove this node's children, which is not appeared.");
}
return dataSource;
}
}, {
key: "appendTo",
value: function appendTo(rowValue, newData, dataSource, keys2) {
var state = this.treeDataMap.get(rowValue);
if (!this.validateDataExist(state, rowValue))
return dataSource;
var children = get_1(state.row, keys2.childrenKey);
var isShowNewNode = state.expanded || !(children !== null && children !== void 0 && children.length);
var tmpData = newData instanceof Array ? newData : [newData];
var newChildrenData = [];
var firstNewChildrenIndex = -1;
for (var i = 0, len2 = tmpData.length; i < len2; i++) {
var oneData = tmpData[i];
var newRowValue = getUniqueRowValue(oneData, keys2.rowKey);
var mapState = this.treeDataMap.get(newRowValue);
if (!this.validateDataDoubleExist(mapState, newRowValue)) {
log.warn("Table", "Duplicated Data `".concat(newRowValue, "` has been removed."));
} else {
var rowIndex = isShowNewNode ? state.rowIndex + (state.expandChildrenLength || 0) + (i + 1) : -1;
if (i === 0) {
firstNewChildrenIndex = rowIndex;
}
var newState = {
id: newRowValue,
row: oneData,
rowIndex,
level: state.level + 1,
expanded: false,
expandChildrenLength: 0,
disabled: false,
path: _toConsumableArray(state.path),
parent: state
};
newState.path = newState.path.concat(newState);
newChildrenData.push(oneData);
this.treeDataMap.set(newRowValue, newState);
}
}
if (!newChildrenData.length)
return dataSource;
if (children !== null && children !== void 0 && children.length) {
state.row[keys2.childrenKey] = state.row[keys2.childrenKey].concat(newChildrenData);
} else {
state.row[keys2.childrenKey] = newChildrenData;
state.expanded = true;
}
if (isShowNewNode) {
dataSource.splice.apply(dataSource, [firstNewChildrenIndex, 0].concat(newChildrenData));
var newChildrenCount = newChildrenData.length || 1;
updateRowExpandLength(this.treeDataMap, state.row, newChildrenCount, "insert", {
rowKey: keys2.rowKey,
childrenKey: keys2.childrenKey
});
updateRowIndex(this.treeDataMap, dataSource, {
minRowIndex: firstNewChildrenIndex + newChildrenData.length - 1,
rowKey: keys2.rowKey,
type: "add",
count: 1
});
}
return dataSource;
}
}, {
key: "appendToRoot",
value: function appendToRoot(newData, dataSource, keys2) {
var newDataSource = dataSource.concat(newData);
var tmpNewData = newData instanceof Array ? newData : [newData];
var dataSourceLen = dataSource.length;
for (var i = 0, len2 = tmpNewData.length; i < len2; i++) {
var rowValue = get_1(tmpNewData[i], keys2.rowKey);
if (!rowValue) {
log.error("Table", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
continue;
}
var state = {
id: rowValue,
row: tmpNewData[i],
rowIndex: dataSourceLen + i,
level: 0,
expanded: false,
expandChildrenLength: 0,
disabled: false
};
state.path = [state];
this.treeDataMap.set(rowValue, state);
}
return newDataSource;
}
}, {
key: "insertAfter",
value: function insertAfter(rowValue, newData, dataSource, keys2) {
return this.insert(rowValue, newData, dataSource, keys2, "after");
}
}, {
key: "insertBefore",
value: function insertBefore(rowValue, newData, dataSource, keys2) {
return this.insert(rowValue, newData, dataSource, keys2, "before");
}
}, {
key: "insert",
value: function insert(rowValue, newData, dataSource, keys2, type) {
var state = this.treeDataMap.get(rowValue);
if (!this.validateDataExist(state, rowValue))
return dataSource;
var newRowValue = get_1(newData, keys2.rowKey);
var mapState = this.treeDataMap.get(newRowValue);
if (!this.validateDataDoubleExist(mapState, newRowValue))
return dataSource;
var rowIndex = type === "after" ? state.rowIndex + 1 : state.rowIndex;
var newState = {
id: newRowValue,
row: newData,
rowIndex,
level: state.level,
expanded: false,
expandChildrenLength: 0,
disabled: false,
path: state.path.slice(0, -1),
parent: state.parent
};
newState.path = newState.path.concat(newState);
var dataIndex = type === "after" ? state.rowIndex + (state.expandChildrenLength + 1) : state.rowIndex;
dataSource.splice(dataIndex, 0, newData);
var distance2 = type === "after" ? 1 : 0;
if (state.parent) {
var childrenIndex = state.parent.row[keys2.childrenKey].findIndex(function(t) {
return rowValue === get_1(t, keys2.rowKey);
});
state.parent.row[keys2.childrenKey].splice(childrenIndex + distance2, 0, newData);
updateRowExpandLength(this.treeDataMap, state.parent.row, 1, "insert", keys2);
}
this.treeDataMap.set(newRowValue, newState);
updateRowIndex(this.treeDataMap, dataSource, {
rowKey: keys2.rowKey,
minRowIndex: state.rowIndex + 1,
type: "add"
});
return dataSource;
}
}, {
key: "swapData",
value: function swapData(dataSource, params, keys2) {
var startIndex = params.currentIndex;
var endIndex = params.targetIndex;
if (startIndex === endIndex)
return {
dataSource,
result: true
};
var startRowValue = get_1(params.current, keys2.rowKey);
var endRowValue = get_1(params.target, keys2.rowKey);
var startState = this.treeDataMap.get(startRowValue);
var endState = this.treeDataMap.get(endRowValue);
if (startState.level !== endState.level) {
return {
dataSource,
result: false,
code: TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL.code,
reason: TABLE_TREE_ERROR_CODE_NOT_SAME_LEVEL.reason
};
}
var startLastIndex = startIndex + startState.expandChildrenLength + 1;
var endLastIndex = endIndex + endState.expandChildrenLength + 1;
var startRowList = dataSource.slice(startIndex, startLastIndex);
var endRowList = dataSource.slice(endIndex, endLastIndex);
if (startIndex > endIndex) {
var middleRowList = dataSource.slice(endLastIndex, startIndex);
var allSwapList = startRowList.concat(endRowList, middleRowList);
dataSource.splice(endIndex, allSwapList.length);
dataSource.splice.apply(dataSource, [endIndex, 0].concat(_toConsumableArray(allSwapList)));
updateRowIndex(this.treeDataMap, dataSource, {
rowKey: keys2.rowKey,
minRowIndex: endIndex,
maxRowIndex: startLastIndex
});
} else {
var _middleRowList = dataSource.slice(startLastIndex, endIndex);
var _allSwapList = _middleRowList.concat(endRowList, startRowList);
dataSource.splice(startIndex, _allSwapList.length);
dataSource.splice.apply(dataSource, [startIndex, 0].concat(_toConsumableArray(_allSwapList)));
updateRowIndex(this.treeDataMap, dataSource, {
rowKey: keys2.rowKey,
minRowIndex: startIndex,
maxRowIndex: endLastIndex
});
}
if (startState.parent) {
var children = startState.parent.row[keys2.childrenKey];
var count = 0;
var targetIndex = -1;
var currentIndex = -1;
for (var i = 0, len2 = children.length; i < len2; i++) {
if (get_1(children[i], keys2.rowKey) === startRowValue) {
targetIndex = i;
count += 1;
}
if (get_1(children[i], keys2.rowKey) === endRowValue) {
currentIndex = i;
count += 1;
}
if (count >= 2)
break;
}
children[targetIndex] = params.target;
children[currentIndex] = params.current;
}
return {
dataSource,
result: true
};
}
}, {
key: "expandAll",
value: function expandAll(dataSource, keys2) {
var _this3 = this;
this.expandAllRowIndex = 0;
var newData = [];
var expandLoop = function expandLoop2(dataSource2, keys22) {
var parent2 = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
for (var i = 0, len2 = dataSource2.length; i < len2; i++) {
var item = dataSource2[i];
var rowValue = get_1(item, keys22.rowKey);
var state = _this3.treeDataMap.get(rowValue);
var children = get_1(item, keys22.childrenKey);
state.rowIndex = _this3.expandAllRowIndex;
if (children !== true && children !== null && children !== void 0 && children.length) {
state.expanded = true;
}
state.expandChildrenLength = (children === null || children === void 0 ? void 0 : children.length) || 0;
_this3.expandAllRowIndex += 1;
newData.push(item);
_this3.treeDataMap.set(rowValue, state);
if (children !== null && children !== void 0 && children.length) {
var tmpParent = parent2;
while ((_tmpParent = tmpParent) !== null && _tmpParent !== void 0 && _tmpParent.row) {
var _tmpParent;
tmpParent.expandChildrenLength += children.length;
_this3.treeDataMap.set(tmpParent.id, tmpParent);
tmpParent = tmpParent.parent;
}
expandLoop2(children, keys22, state);
}
}
};
expandLoop(dataSource, keys2);
return newData;
}
}, {
key: "foldAll",
value: function foldAll(dataSource, keys2) {
var newData = [];
for (var i = 0, len2 = dataSource.length; i < len2; i++) {
var item = dataSource[i];
var rowValue = get_1(item, keys2.rowKey);
var state = this.treeDataMap.get(rowValue);
state.rowIndex = state.level === 0 ? i : -1;
state.expanded = false;
state.expandChildrenLength = 0;
if (state.level === 0) {
newData.push(item);
}
var children = get_1(item, keys2.childrenKey);
if (children !== null && children !== void 0 && children.length) {
this.foldAll(children, keys2);
}
}
return newData;
}
}, {
key: "getTreeNode",
value: function getTreeNode(dataSource, keys2) {
var treeData = [];
for (var i = 0, len2 = dataSource.length; i < len2; i++) {
var item = dataSource[i];
var rowValue = get_1(item, keys2.rowKey);
var state = this.treeDataMap.get(rowValue);
if (state.level === 0) {
treeData.push(item);
}
}
return treeData;
}
}, {
key: "getTreeExpandedRow",
value: function getTreeExpandedRow(dataSource, keys2) {
var _this4 = this;
var type = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : "data";
var arr = [];
dataSource.forEach(function(item) {
var rowValue = get_1(item, keys2.rowKey);
var rowState = _this4.treeDataMap.get(rowValue);
if (!rowState.expanded)
return;
if (type === "unique") {
arr.push(rowValue);
} else if (type === "data") {
arr.push(item);
} else {
arr.push(rowState);
}
});
return arr;
}
}, {
key: "initialTreeDataMap",
value: function initialTreeDataMap(treeDataMap, dataSource, column, keys2) {
var level = arguments.length > 4 && arguments[4] !== void 0 ? arguments[4] : 0;
var parent2 = arguments.length > 5 && arguments[5] !== void 0 ? arguments[5] : null;
for (var i = 0, len2 = dataSource.length; i < len2; i++) {
var item = dataSource[i];
var rowValue = getUniqueRowValue(item, keys2.rowKey);
if (isUndefined_1(rowValue)) {
log.error("EnhancedTable", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
return;
}
var children = get_1(item, keys2.childrenKey);
var state = {
id: rowValue,
row: item,
rowIndex: level === 0 ? i : -1,
level,
expanded: false,
expandChildrenLength: 0,
disabled: isRowSelectedDisabled(column, item, i),
parent: parent2
};
state.path = parent2 ? parent2.path.concat(state) : [state];
treeDataMap.set(rowValue, state);
if (children !== null && children !== void 0 && children.length) {
this.initialTreeDataMap(treeDataMap, children, column, keys2, level + 1, state);
}
}
}
}, {
key: "updateDisabledState",
value: function updateDisabledState(dataSource, column, keys2) {
for (var i = 0, len2 = dataSource.length; i < len2; i++) {
var item = dataSource[i];
var rowValue = get_1(item, keys2.rowKey);
if (isUndefined_1(rowValue)) {
log.error("EnhancedTable", "`rowKey` could be wrong, can not get rowValue from `data` by `rowKey`.");
return;
}
var state = this.treeDataMap.get(rowValue);
state.disabled = isRowSelectedDisabled(column, item, i);
this.treeDataMap.set(rowValue, state);
var children = get_1(item, keys2.childrenKey);
if (children !== null && children !== void 0 && children.length) {
this.updateDisabledState(children, column, keys2);
}
}
}
}, {
key: "validateDataExist",
value: function validateDataExist(state, rowValue) {
if (!state) {
log.warn("EnhancedTable", "".concat(rowValue, " does not exist."));
return false;
}
return true;
}
}, {
key: "validateDataDoubleExist",
value: function validateDataDoubleExist(state, rowValue) {
if (state) {
log.warn("EnhancedTable", "Duplicated Key. ".concat(rowValue, " already exists."));
return false;
}
return true;
}
}]);
return TableTreeStore2;
}();
function updateRowExpandLength(treeDataMap, row, distance2, type, keys2) {
var tmp = row;
while (tmp) {
var _state$parent;
var state = treeDataMap.get(get_1(tmp, keys2.rowKey));
var expandLen = (state.expandChildrenLength || 0) + distance2;
state.expandChildrenLength = Math.max(0, expandLen);
tmp = state === null || state === void 0 || (_state$parent = state.parent) === null || _state$parent === void 0 ? void 0 : _state$parent.row;
}
if (type === "fold") {
clearRowExpandLength(treeDataMap, row, keys2);
}
}
function clearRowExpandLength(treeDataMap, row, keys2) {
var children = get_1(row, keys2.childrenKey);
if (children !== null && children !== void 0 && children.length) {
children.forEach(function(item) {
var state = treeDataMap.get(get_1(item, keys2.rowKey));
if (!state)
return;
state.expandChildrenLength = 0;
clearRowExpandLength(treeDataMap, state.row, keys2);
});
}
}
function updateChildrenRowState(treeDataMap, rowState, expanded, keys2) {
var row = rowState.row, rowIndex = rowState.rowIndex;
var childrenNodes = get_1(row, keys2.childrenKey);
childrenNodes.forEach(function(item, kidRowIndex) {
var rowValue = get_1(item, keys2.rowKey);
var index2 = expanded ? rowIndex + 1 + kidRowIndex : -1;
var curState = treeDataMap.get(rowValue);
var newState = _objectSpread$4(_objectSpread$4({}, curState), {}, {
row: item,
rowIndex: index2,
expanded: false,
parent: rowState
});
treeDataMap.set(rowValue, newState);
if (!expanded) {
var children = get_1(item, keys2.childrenKey);
if (children !== null && children !== void 0 && children.length) {
updateChildrenRowState(treeDataMap, _objectSpread$4(_objectSpread$4({}, newState), {}, {
rowIndex: -1,
expanded: false
}), expanded, keys2);
}
}
});
}
function updateRowData(data2, key2, newData, keys2) {
for (var i = 0, len2 = data2.length; i < len2; i++) {
var item = data2[i];
if (get_1(item, keys2.rowKey) === key2) {
data2[i] = newData;
return;
}
var children = get_1(item, keys2.childrenKey) || [];
if (children !== null && children !== void 0 && children.length) {
updateRowData(children, key2, newData, keys2);
}
}
}
function updateRowIndex(treeDataMap, dataSource, extra) {
var start2 = extra.minRowIndex || 0;
var end2 = extra.maxRowIndex || dataSource.length;
for (var rowIndex = start2; rowIndex < end2; rowIndex++) {
var item = dataSource[rowIndex];
var state = treeDataMap.get(get_1(item, extra.rowKey));
if (!state) {
log.warn("Table", "tree map went wrong");
}
state.rowIndex = rowIndex + ((extra === null || extra === void 0 ? void 0 : extra.count) || 1) - 1;
}
}
function diffExpandedTreeNode() {
var newExpandedNode = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [];
var oldExpandedNode = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : [];
var removedList = [];
var addedList = [];
var newExpandedNodeMap = /* @__PURE__ */ new Map();
var oldExpandedNodeMap = /* @__PURE__ */ new Map();
for (var i = 0, len2 = newExpandedNode.length; i < len2; i++) {
newExpandedNodeMap.set(newExpandedNode[i], true);
}
for (var _i = 0, _len = oldExpandedNode.length; _i < _len; _i++) {
oldExpandedNodeMap.set(oldExpandedNode[_i], true);
}
for (var _i2 = 0, _len2 = newExpandedNode.length; _i2 < _len2; _i2++) {
if (!oldExpandedNodeMap.get(newExpandedNode[_i2])) {
addedList.push(newExpandedNode[_i2]);
}
}
for (var _i3 = 0, _len3 = oldExpandedNode.length; _i3 < _len3; _i3++) {
if (!newExpandedNodeMap.get(oldExpandedNode[_i3])) {
removedList.push(oldExpandedNode[_i3]);
}
}
return {
removedList,
addedList
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$3(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$3(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$3(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useTreeDataExpand(props2, params) {
var store2 = params.store, dataSource = params.dataSource, rowDataKeys = params.rowDataKeys;
var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, expandedTreeNodes = _toRefs.expandedTreeNodes, tree = _toRefs.tree;
var isDefaultExpandAllExecute = vue.ref(false);
var isDefaultExpandedTreeNodesExecute = vue.ref(false);
var _useDefaultValue = useDefaultValue(expandedTreeNodes, props2.defaultExpandedTreeNodes, props2.onExpandedTreeNodesChange, "expandedTreeNodes"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tExpandedTreeNode = _useDefaultValue2[0], setTExpandedTreeNode = _useDefaultValue2[1];
var changedExpandTreeNode = vue.ref({
type: "props-change"
});
function expandAll() {
var type = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "expand-all";
var list = arguments.length > 1 ? arguments[1] : void 0;
var newData = list || data2.value;
dataSource.value = store2.value.expandAll(newData, rowDataKeys.value);
var expandedNode = dataSource.value.map(function(t) {
return getUniqueRowValue(t, rowDataKeys.value.rowKey);
});
setTExpandedTreeNode(expandedNode, {
row: void 0,
rowState: void 0,
rowIndex: void 0,
type: "expand",
trigger: type
});
changedExpandTreeNode.value.type = "expand-all";
}
function foldAll() {
dataSource.value = _toConsumableArray(store2.value.foldAll(dataSource.value, rowDataKeys.value));
setTExpandedTreeNode([], {
row: void 0,
rowState: void 0,
rowIndex: void 0,
type: "fold",
trigger: "fold-all"
});
}
function onExpandFoldIconClick(p, trigger) {
var _props$onTreeExpandCh;
var row = p.row, rowIndex = p.rowIndex;
changedExpandTreeNode.value = _objectSpread$3({
type: "user-reaction-change"
}, p);
var rowValue = getUniqueRowValue(row, rowDataKeys.value.rowKey);
var rowState = store2.value.treeDataMap.get(rowValue);
var expandedNodes = _toConsumableArray(tExpandedTreeNode.value);
if (rowState.expanded) {
var expandedChildrenKeys = store2.value.getExpandedChildrenKeys([row], rowDataKeys.value);
for (var i = 0, len2 = expandedNodes.length; i < len2; i++) {
var nodeValue = expandedNodes[i];
if (expandedChildrenKeys.includes(nodeValue)) {
expandedNodes[i] = void 0;
}
}
expandedNodes = expandedNodes.filter(Boolean);
} else {
expandedNodes.push(rowValue);
}
var params2 = {
row,
rowIndex,
rowState,
trigger
};
setTExpandedTreeNode(expandedNodes, _objectSpread$3(_objectSpread$3({}, params2), {}, {
type: rowState.expanded ? "fold" : "expand"
}));
(_props$onTreeExpandCh = props2.onTreeExpandChange) === null || _props$onTreeExpandCh === void 0 || _props$onTreeExpandCh.call(props2, params2);
}
function updateExpandState(data22, tExpandedTreeNode2) {
var oldExpandedTreeNode = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : [];
var _diffExpandedTreeNode = diffExpandedTreeNode(tExpandedTreeNode2, oldExpandedTreeNode), addedList = _diffExpandedTreeNode.addedList, removedList = _diffExpandedTreeNode.removedList;
store2.value.expandTreeNode(addedList, data22, rowDataKeys.value);
store2.value.foldTreeNode(removedList, data22, rowDataKeys.value);
return _toConsumableArray(data22);
}
vue.watch([tExpandedTreeNode], function(_ref, _ref2) {
var _ref3 = _slicedToArray(_ref, 1), tExpandedTreeNode2 = _ref3[0];
var _ref4 = _slicedToArray(_ref2, 1), oldExpandedTreeNode = _ref4[0];
if (!store2.value.treeDataMap.size)
return;
if (changedExpandTreeNode.value.type === "user-reaction-change") {
var _ref5 = changedExpandTreeNode.value || {}, row = _ref5.row, rowIndex = _ref5.rowIndex;
dataSource.value = _toConsumableArray(store2.value.toggleExpandData({
row,
rowIndex
}, _toConsumableArray(dataSource.value), rowDataKeys.value));
} else if (changedExpandTreeNode.value.type === "props-change") {
updateExpandState(dataSource.value, tExpandedTreeNode2, oldExpandedTreeNode);
}
changedExpandTreeNode.value.type = "props-change";
});
var updateExpandOnDataChange = function updateExpandOnDataChange2(data22) {
var _tree$value, _tExpandedTreeNode$va;
if ((_tree$value = tree.value) !== null && _tree$value !== void 0 && _tree$value.defaultExpandAll && !isDefaultExpandAllExecute.value) {
expandAll("default-expand-all", _toConsumableArray(data22));
isDefaultExpandAllExecute.value = true;
} else if ((_tExpandedTreeNode$va = tExpandedTreeNode.value) !== null && _tExpandedTreeNode$va !== void 0 && _tExpandedTreeNode$va.length) {
vue.nextTick(function() {
dataSource.value = updateExpandState(_toConsumableArray(data22), tExpandedTreeNode.value, []);
});
}
};
return {
tExpandedTreeNode,
isDefaultExpandAllExecute,
isDefaultExpandedTreeNodesExecute,
expandAll,
foldAll,
onExpandFoldIconClick,
updateExpandOnDataChange
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$2(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$2(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
function useTreeData(props2, context) {
var _toRefs = vue.toRefs(props2), data2 = _toRefs.data, columns = _toRefs.columns;
var _useConfig = useConfig("table", props2.locale), t = _useConfig.t, globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
AddRectangleIcon,
MinusRectangleIcon
}), AddRectangleIcon$1 = _useGlobalIcon.AddRectangleIcon, MinusRectangleIcon$1 = _useGlobalIcon.MinusRectangleIcon;
var store2 = vue.ref(new TableTreeStore());
var treeNodeCol = vue.shallowRef();
var dataSource = vue.ref([]);
var _useClassName = useClassName(), tableTreeClasses = _useClassName.tableTreeClasses;
var renderTNode = useTNodeDefault();
var rowDataKeys = vue.computed(function() {
var _props$tree;
return {
rowKey: props2.rowKey || "id",
childrenKey: ((_props$tree = props2.tree) === null || _props$tree === void 0 ? void 0 : _props$tree.childrenKey) || "children"
};
});
var _useTreeDataExpand = useTreeDataExpand(props2, {
store: store2,
dataSource,
rowDataKeys
}), tExpandedTreeNode = _useTreeDataExpand.tExpandedTreeNode, isDefaultExpandAllExecute = _useTreeDataExpand.isDefaultExpandAllExecute, isDefaultExpandedTreeNodesExecute = _useTreeDataExpand.isDefaultExpandedTreeNodesExecute, expandAll = _useTreeDataExpand.expandAll, foldAll = _useTreeDataExpand.foldAll, updateExpandOnDataChange = _useTreeDataExpand.updateExpandOnDataChange, onExpandFoldIconClick = _useTreeDataExpand.onExpandFoldIconClick;
var checkedColumn = vue.computed(function() {
return columns.value.find(function(col) {
return col.colKey === "row-select";
});
});
vue.watch(checkedColumn, function(column) {
if (!store2.value)
return;
store2.value.updateDisabledState(dataSource.value, column, rowDataKeys.value);
});
var foldIcon = function foldIcon2(context2) {
var params = _objectSpread$2(_objectSpread$2({}, context2), {}, {
type: "fold"
});
var defaultFoldIcon = t(globalConfig.value.treeExpandAndFoldIcon, vue.h, params) || vue.createVNode(MinusRectangleIcon$1, null, null);
return renderTNode("treeExpandAndFoldIcon", {
defaultNode: defaultFoldIcon,
params
});
};
var expandIcon = function expandIcon2(context2) {
var params = _objectSpread$2(_objectSpread$2({}, context2), {}, {
type: "expand"
});
var defaultExpandIcon = t(globalConfig.value.treeExpandAndFoldIcon, vue.h, params) || vue.createVNode(AddRectangleIcon$1, null, null);
return renderTNode("treeExpandAndFoldIcon", {
defaultNode: defaultExpandIcon,
params
});
};
vue.watch([data2], function() {
if (props2.tree) {
resetData(data2.value);
} else {
dataSource.value = data2.value;
}
}, {
immediate: true
});
vue.onUnmounted(function() {
var _store$value$treeData;
if (!props2.tree)
return;
(_store$value$treeData = store2.value.treeDataMap) === null || _store$value$treeData === void 0 || _store$value$treeData.clear();
store2.value = null;
});
vue.watch(function() {
var _props$tree2;
return [columns, (_props$tree2 = props2.tree) === null || _props$tree2 === void 0 ? void 0 : _props$tree2.treeNodeColumnIndex];
}, function() {
treeNodeCol.value = getTreeNodeColumnCol();
}, {
immediate: true
});
function resetData(data22) {
var _tExpandedTreeNode$va;
var columns2 = props2.columns, expandedTreeNodes = props2.expandedTreeNodes, defaultExpandedTreeNodes = props2.defaultExpandedTreeNodes, tree = props2.tree;
store2.value.initialTreeStore(data22, columns2, rowDataKeys.value);
var defaultNeedExpand = Boolean(!isDefaultExpandedTreeNodesExecute.value && (defaultExpandedTreeNodes === null || defaultExpandedTreeNodes === void 0 ? void 0 : defaultExpandedTreeNodes.length));
var needExpandAll = Boolean((tree === null || tree === void 0 ? void 0 : tree.defaultExpandAll) && !isDefaultExpandAllExecute.value);
if ((_tExpandedTreeNode$va = tExpandedTreeNode.value) !== null && _tExpandedTreeNode$va !== void 0 && _tExpandedTreeNode$va.length && !!(expandedTreeNodes || defaultNeedExpand) || needExpandAll) {
updateExpandOnDataChange(data22);
isDefaultExpandedTreeNodesExecute.value = true;
} else {
dataSource.value = _toConsumableArray(data22);
}
}
function getTreeNodeStyle(level) {
var _props$tree3, _props$tree4;
if (level === void 0)
return;
var indent = ((_props$tree3 = props2.tree) === null || _props$tree3 === void 0 ? void 0 : _props$tree3.indent) === void 0 ? 24 : (_props$tree4 = props2.tree) === null || _props$tree4 === void 0 ? void 0 : _props$tree4.indent;
return indent ? {
paddingLeft: "".concat(level * indent || 1, "px")
} : {};
}
function toggleExpandData(p, trigger) {
var _store$value, _props$onTreeExpandCh;
var currentData = _objectSpread$2({}, p);
if (p.row.__VIRTUAL_SCROLL_INDEX !== void 0) {
currentData.rowIndex = p.row.__VIRTUAL_SCROLL_INDEX;
}
dataSource.value = _toConsumableArray(store2.value.toggleExpandData(currentData, dataSource.value, rowDataKeys.value));
var rowValue = get_1(p.row, rowDataKeys.value.rowKey);
var rowState = (_store$value = store2.value) === null || _store$value === void 0 || (_store$value = _store$value.treeDataMap) === null || _store$value === void 0 ? void 0 : _store$value.get(rowValue);
(_props$onTreeExpandCh = props2.onTreeExpandChange) === null || _props$onTreeExpandCh === void 0 || _props$onTreeExpandCh.call(props2, {
row: p.row,
rowIndex: p.rowIndex,
rowState,
trigger
});
}
function getTreeNodeColumnCol() {
var _props$tree5;
var columns2 = props2.columns;
var treeNodeColumnIndex = ((_props$tree5 = props2.tree) === null || _props$tree5 === void 0 ? void 0 : _props$tree5.treeNodeColumnIndex) || 0;
while ((_columns2$treeNodeCol = columns2[treeNodeColumnIndex]) !== null && _columns2$treeNodeCol !== void 0 && _columns2$treeNodeCol.type || ((_columns2$treeNodeCol2 = columns2[treeNodeColumnIndex]) === null || _columns2$treeNodeCol2 === void 0 ? void 0 : _columns2$treeNodeCol2.colKey) === "__EXPAND_ROW_ICON_COLUMN__") {
var _columns2$treeNodeCol, _columns2$treeNodeCol2;
treeNodeColumnIndex += 1;
}
return columns2[treeNodeColumnIndex];
}
function formatTreeColumn(col) {
if (!props2.tree || col.colKey !== treeNodeCol.value.colKey)
return col;
var newCol = _objectSpread$2({}, treeNodeCol.value);
newCol.cell = function(h2, p) {
var cellInfo = renderCell(_objectSpread$2(_objectSpread$2({}, p), {}, {
col: _objectSpread$2({}, treeNodeCol.value)
}), context.slots, {
cellEmptyContent: props2.cellEmptyContent
});
var currentState = store2.value.treeDataMap.get(get_1(p.row, rowDataKeys.value.rowKey));
var colStyle = getTreeNodeStyle(currentState === null || currentState === void 0 ? void 0 : currentState.level);
var classes = _defineProperty$2({}, tableTreeClasses.inlineCol, !!col.ellipsis);
var childrenNodes = get_1(p.row, rowDataKeys.value.childrenKey);
if (childrenNodes && childrenNodes instanceof Array || childrenNodes === true) {
var _store$value$treeData2;
var iconNode = (_store$value$treeData2 = store2.value.treeDataMap.get(get_1(p.row, rowDataKeys.value.rowKey))) !== null && _store$value$treeData2 !== void 0 && _store$value$treeData2.expanded ? foldIcon(p) : expandIcon(p);
return vue.createVNode("div", {
"class": [tableTreeClasses.col, classes],
"style": colStyle
}, [!!(childrenNodes.length || childrenNodes === true) && vue.createVNode("span", {
"class": tableTreeClasses.icon,
"onClick": function onClick(e) {
onExpandFoldIconClick(p, "expand-fold-icon");
e.stopPropagation();
}
}, [iconNode]), cellInfo]);
}
return vue.createVNode("div", {
"style": colStyle,
"class": [classes, tableTreeClasses.leafNode]
}, [vue.createVNode("span", {
"class": tableTreeClasses.icon
}, null), cellInfo]);
};
if (newCol.ellipsis === true) {
newCol.ellipsis = function(h2, p) {
return renderCell(_objectSpread$2(_objectSpread$2({}, p), {}, {
col: _objectSpread$2({}, treeNodeCol.value)
}), context.slots);
};
}
return newCol;
}
function setData(key2, newRowData) {
var rowIndex = store2.value.updateData(key2, newRowData, dataSource.value, rowDataKeys.value);
var newData = _toConsumableArray(dataSource.value);
newData[rowIndex] = newRowData;
dataSource.value = newData;
}
function getData(key2) {
return store2.value.getData(key2);
}
function remove2(key2) {
dataSource.value = _toConsumableArray(store2.value.remove(key2, dataSource.value, rowDataKeys.value));
}
function removeChildren(key2) {
dataSource.value = _toConsumableArray(store2.value.removeChildren(key2, dataSource.value, rowDataKeys.value));
}
function appendTo() {
var key2 = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "";
var newData = arguments.length > 1 ? arguments[1] : void 0;
if (!key2) {
dataSource.value = store2.value.appendToRoot(newData, dataSource.value, rowDataKeys.value);
return;
}
dataSource.value = _toConsumableArray(store2.value.appendTo(key2, newData, dataSource.value, rowDataKeys.value));
}
function insertAfter(rowValue, newData) {
dataSource.value = _toConsumableArray(store2.value.insertAfter(rowValue, newData, dataSource.value, rowDataKeys.value));
}
function insertBefore(rowValue, newData) {
dataSource.value = _toConsumableArray(store2.value.insertBefore(rowValue, newData, dataSource.value, rowDataKeys.value));
}
function swapData(params) {
var r = store2.value.swapData(dataSource.value, params, rowDataKeys.value);
if (r.result) {
dataSource.value = _toConsumableArray(r.dataSource);
} else {
var _props$onAbnormalDrag;
var params2 = {
code: r.code,
reason: r.reason
};
(_props$onAbnormalDrag = props2.onAbnormalDragSort) === null || _props$onAbnormalDrag === void 0 || _props$onAbnormalDrag.call(props2, params2);
}
}
function getTreeNode() {
return store2.value.getTreeNode(dataSource.value, rowDataKeys.value);
}
function getTreeExpandedRow() {
var type = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : "data";
return store2.value.getTreeExpandedRow(dataSource.value, rowDataKeys.value, type);
}
return {
store: store2,
rowDataKeys,
dataSource,
swapData,
setData,
getData,
remove: remove2,
removeChildren,
appendTo,
insertAfter,
insertBefore,
formatTreeColumn,
toggleExpandData,
expandAll,
foldAll,
getTreeNode,
resetData,
getTreeExpandedRow,
onExpandFoldIconClick
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function ownKeys$1(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread$1(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var childrenMap = /* @__PURE__ */ new Map();
function getChildrenData(treeDataMap, data2, keys2, r) {
if (childrenMap.get(data2))
return childrenMap.get(data2);
var result = r || {
allChildren: [],
allChildrenKeys: [],
leafNodeKeys: []
};
var children = get_1(data2, keys2.childrenKey);
if (!children || !children.length)
return result;
var selectableChildren = children.filter(function(item2) {
var _treeDataMap$get;
return !((_treeDataMap$get = treeDataMap.get(get_1(item2, keys2.rowKey))) !== null && _treeDataMap$get !== void 0 && _treeDataMap$get.disabled);
});
result.allChildren = _toConsumableArray(new Set(result.allChildren.concat(selectableChildren)));
for (var i = 0, len2 = children.length; i < len2; i++) {
var tItem = children[i];
var c = get_1(tItem, keys2.childrenKey);
if (c !== null && c !== void 0 && c.length) {
var nextLevelData = getChildrenData(treeDataMap, tItem, keys2, result);
result.allChildren = _toConsumableArray(new Set(result.allChildren.concat(nextLevelData.allChildren)));
}
}
for (var _i = 0, _len = result.allChildren.length; _i < _len; _i++) {
var item = result.allChildren[_i];
var children2 = get_1(item, keys2.childrenKey);
var rowValue = get_1(item, keys2.rowKey);
result.allChildrenKeys.push(rowValue);
if (!children2 || !children2.length) {
result.leafNodeKeys.push(rowValue);
}
}
result.allChildrenKeys = _toConsumableArray(new Set(result.allChildrenKeys));
result.leafNodeKeys = _toConsumableArray(new Set(result.leafNodeKeys));
return result;
}
function removeChildrenKeys(p, r) {
var selectedRowKeys = p.selectedRowKeys, removeKeys = p.removeKeys;
var result = r || {
data: [],
keys: []
};
for (var i = 0, len2 = selectedRowKeys.length; i < len2; i++) {
var key2 = selectedRowKeys[i];
if (!removeKeys.includes(key2)) {
result.keys.push(key2);
}
}
return result;
}
function getRowDataByKeys(p) {
var treeDataMap = p.treeDataMap, selectedRowKeys = p.selectedRowKeys;
var result = [];
for (var i = 0, len2 = selectedRowKeys.length; i < len2; i++) {
var key2 = selectedRowKeys[i];
result.push(treeDataMap.get(key2));
}
return result;
}
function useTreeSelect(props2, treeDataMap) {
var _toRefs = vue.toRefs(props2), selectedRowKeys = _toRefs.selectedRowKeys, tree = _toRefs.tree, data2 = _toRefs.data, indeterminateSelectedRowKeys = _toRefs.indeterminateSelectedRowKeys;
var tIndeterminateSelectedRowKeys = vue.ref([]);
var _useDefaultValue = useDefaultValue(selectedRowKeys, props2.defaultSelectedRowKeys || [], props2.onSelectChange, "selectedRowKeys"), _useDefaultValue2 = _slicedToArray(_useDefaultValue, 2), tSelectedRowKeys = _useDefaultValue2[0], setTSelectedRowKeys = _useDefaultValue2[1];
var rowDataKeys = vue.computed(function() {
var _props$tree;
return {
rowKey: props2.rowKey || "id",
childrenKey: ((_props$tree = props2.tree) === null || _props$tree === void 0 ? void 0 : _props$tree.childrenKey) || "children"
};
});
vue.watch([tree, treeDataMap, data2, tSelectedRowKeys], function(_ref) {
var _ref2 = _slicedToArray(_ref, 2), tree2 = _ref2[0], treeDataMap2 = _ref2[1];
if (!tree2 || !treeDataMap2.size || tree2.checkStrictly)
return;
updateIndeterminateState();
});
function updateIndeterminateState() {
if (!tree.value || tree.value.checkStrictly)
return;
if (!tSelectedRowKeys.value.length) {
tIndeterminateSelectedRowKeys.value = [];
return;
}
var keys2 = [];
var parentMap = {};
for (var i = 0, len2 = tSelectedRowKeys.value.length; i < len2; i++) {
var rowValue = tSelectedRowKeys.value[i];
var state = treeDataMap.value.get(rowValue);
if (!state)
continue;
var children = get_1(state.row, rowDataKeys.value.childrenKey);
if (!children || !children.length) {
var parentTmp = state.parent;
while (parentTmp) {
if (!parentMap[parentTmp.id]) {
parentMap[parentTmp.id] = [];
}
parentMap[parentTmp.id].push(state.row);
var checkedLength = parentMap[parentTmp.id].length;
var _getChildrenData = getChildrenData(treeDataMap.value, parentTmp.row, rowDataKeys.value), allChildrenKeys = _getChildrenData.allChildrenKeys;
var parentTmpIndex = keys2.indexOf(parentTmp.id);
var selectedIndex = tSelectedRowKeys.value.indexOf(parentTmp.id);
if (checkedLength > 0 && checkedLength < allChildrenKeys.length && selectedIndex === -1) {
parentTmpIndex === -1 && keys2.push(parentTmp.id);
} else {
parentTmpIndex !== -1 && keys2.splice(parentTmpIndex, 1);
}
parentTmp = parentTmp.parent;
}
}
}
tIndeterminateSelectedRowKeys.value = keys2;
}
function updateParentCheckedState(selectedKeys, currentRowKey, type) {
if (!tree.value || tree.value.checkStrictly)
return;
var keys2 = _toConsumableArray(selectedKeys);
var state = treeDataMap.value.get(currentRowKey);
var parentTmp = state.parent;
while (parentTmp) {
var _getChildrenData2 = getChildrenData(treeDataMap.value, parentTmp.row, rowDataKeys.value), leafNodeKeys = _getChildrenData2.leafNodeKeys;
var checkedChildrenKeys = intersection_1(leafNodeKeys, selectedKeys);
var selectedIndex = keys2.indexOf(parentTmp.id);
if (type === "uncheck") {
selectedIndex !== -1 && keys2.splice(selectedIndex, 1);
} else if (checkedChildrenKeys.length === leafNodeKeys.length) {
selectedIndex === -1 && keys2.push(parentTmp.id);
}
parentTmp = parentTmp.parent;
}
return keys2;
}
function onInnerSelectChange(rowKeys, extraData) {
if (!tree.value || tree.value.checkStrictly) {
setTSelectedRowKeys(rowKeys, extraData);
return;
}
if (extraData.currentRowKey === "CHECK_ALL_BOX") {
handleSelectAll(extraData);
} else {
handleSelect(rowKeys, extraData);
}
}
function handleSelectAll(extraData) {
var newRowKeys = [];
var newRowData = [];
if (extraData.type === "check") {
var arr = _toConsumableArray(treeDataMap.value.values());
for (var i = 0, len2 = arr.length; i < len2; i++) {
var item = arr[i];
if (!item.disabled) {
newRowData.push(item.row);
newRowKeys.push(get_1(item.row, rowDataKeys.value.rowKey));
}
}
}
var newExtraData = _objectSpread$1(_objectSpread$1({}, extraData), {}, {
selectedRowData: newRowData || []
});
setTSelectedRowKeys(newRowKeys, newExtraData);
}
function handleSelect(rowKeys, extraData) {
var _props$tree2;
var newRowKeys = _toConsumableArray(rowKeys);
if (((_props$tree2 = props2.tree) === null || _props$tree2 === void 0 ? void 0 : _props$tree2.checkStrictly) === false) {
if ((extraData === null || extraData === void 0 ? void 0 : extraData.type) === "check") {
var result = getChildrenData(treeDataMap.value, extraData.currentRowData, rowDataKeys.value);
var allChildrenKeys = result.allChildrenKeys;
childrenMap.set(extraData.currentRowData, result);
newRowKeys = _toConsumableArray(new Set(newRowKeys.concat(allChildrenKeys)));
} else if ((extraData === null || extraData === void 0 ? void 0 : extraData.type) === "uncheck") {
var children = getChildrenData(treeDataMap.value, extraData.currentRowData, rowDataKeys.value);
var _result = removeChildrenKeys({
selectedRowKeys: rowKeys,
removeKeys: children.allChildrenKeys
});
newRowKeys = _result.keys;
}
}
newRowKeys = updateParentCheckedState(newRowKeys, extraData.currentRowKey, extraData.type);
var newRowData = getRowDataByKeys({
treeDataMap: treeDataMap.value,
selectedRowKeys: newRowKeys
});
var newExtraData = _objectSpread$1(_objectSpread$1({}, extraData), {}, {
selectedRowData: newRowData
});
setTSelectedRowKeys(newRowKeys, newExtraData);
}
return {
tIndeterminateSelectedRowKeys: indeterminateSelectedRowKeys.value ? indeterminateSelectedRowKeys : tIndeterminateSelectedRowKeys,
onInnerSelectChange
};
}
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _excluded = ["store", "dataSource", "formatTreeColumn", "swapData", "onExpandFoldIconClick"];
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function(r2) {
return Object.getOwnPropertyDescriptor(e, r2).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), true).forEach(function(r2) {
_defineProperty$2(e, r2, t[r2]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) {
Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2));
});
}
return e;
}
var _EnhancedTable = vue.defineComponent({
name: "TEnhancedTable",
props: _objectSpread(_objectSpread(_objectSpread({}, baseTableProps), primaryTableProps), enhancedTableProps),
setup: function setup47(props2, context) {
var primaryTableRef = vue.ref(null);
var _useTreeData = useTreeData(props2, context), store2 = _useTreeData.store, dataSource = _useTreeData.dataSource, formatTreeColumn = _useTreeData.formatTreeColumn, swapData = _useTreeData.swapData, onExpandFoldIconClick = _useTreeData.onExpandFoldIconClick, treeInstanceFunctions = _objectWithoutProperties$1(_useTreeData, _excluded);
var classPrefix = usePrefixClass();
var treeDataMap = vue.ref(store2.value.treeDataMap);
var _useTreeSelect = useTreeSelect(props2, treeDataMap), tIndeterminateSelectedRowKeys = _useTreeSelect.tIndeterminateSelectedRowKeys, onInnerSelectChange = _useTreeSelect.onInnerSelectChange;
var getColumns = function getColumns2(columns) {
var arr = [];
for (var i = 0, len2 = columns.length; i < len2; i++) {
var _item$children, _item$children2;
var item = _objectSpread({}, columns[i]);
item = formatTreeColumn(item);
if ((_item$children = item.children) !== null && _item$children !== void 0 && _item$children.length) {
item.children = getColumns2(item.children);
}
if (!item.children || (_item$children2 = item.children) !== null && _item$children2 !== void 0 && _item$children2.length) {
arr.push(item);
}
}
return arr;
};
var tColumns = vue.computed(function() {
var isTreeData = !props2.tree || !Object.keys(props2.tree).length;
return isTreeData ? props2.columns : getColumns(props2.columns);
});
var onDragSortChange = function onDragSortChange2(params) {
var _props$onDragSort;
if (props2.beforeDragSort && !props2.beforeDragSort(params))
return;
swapData({
current: params.current,
target: params.target,
currentIndex: params.currentIndex,
targetIndex: params.targetIndex
});
(_props$onDragSort = props2.onDragSort) === null || _props$onDragSort === void 0 || _props$onDragSort.call(props2, params);
};
var onEnhancedTableRowClick = function onEnhancedTableRowClick2(p) {
var _props$tree, _props$onRowClick;
if ((_props$tree = props2.tree) !== null && _props$tree !== void 0 && _props$tree.expandTreeNodeOnClick) {
onExpandFoldIconClick({
row: p.row,
rowIndex: p.index
}, "row-click");
}
(_props$onRowClick = props2.onRowClick) === null || _props$onRowClick === void 0 || _props$onRowClick.call(props2, p);
};
context.expose(_objectSpread(_objectSpread({
store: store2.value,
dataSource: dataSource.value
}, treeInstanceFunctions), {}, {
primaryTableRef,
validateRowData: function validateRowData(rowValue) {
return primaryTableRef.value.validateRowData(rowValue);
},
validateTableData: function validateTableData() {
return primaryTableRef.value.validateTableData();
},
clearValidateData: function clearValidateData() {
primaryTableRef.value.clearValidateData();
},
refreshTable: function refreshTable() {
primaryTableRef.value.refreshTable();
},
scrollToElement: function scrollToElement(data2) {
primaryTableRef.value.scrollToElement(data2);
}
}));
return function() {
var _props$tree2;
var _getCurrentInstance = vue.getCurrentInstance(), vnode = _getCurrentInstance.vnode;
var enhancedProps = _objectSpread(_objectSpread({}, vnode.props), {}, {
rowKey: props2.rowKey || "id",
data: dataSource.value,
columns: tColumns.value,
indeterminateSelectedRowKeys: tIndeterminateSelectedRowKeys.value,
disableDataPage: Boolean(props2.tree && Object.keys(props2.tree).length),
onSelectChange: onInnerSelectChange,
onDragSort: onDragSortChange,
rowClassName: function rowClassName(_ref) {
var row = _ref.row;
var rowValue = get_1(row, props2.rowKey || "id");
var rowState = treeDataMap.value.get(rowValue);
if (!rowState)
return [props2.rowClassName];
return ["".concat(classPrefix.value, "-table-tr--level-").concat(rowState.level), props2.rowClassName];
}
});
if ((_props$tree2 = props2.tree) !== null && _props$tree2 !== void 0 && _props$tree2.expandTreeNodeOnClick) {
enhancedProps.onRowClick = onEnhancedTableRowClick;
}
return vue.createVNode(_PrimaryTable, vue.mergeProps(enhancedProps, {
"ref": primaryTableRef
}), context.slots);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
withInstall(_BaseTable);
withInstall(_PrimaryTable);
withInstall(_EnhancedTable);
var table = cloneDeep_1(_PrimaryTable);
var Table = withInstall(table, "TTable");
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$2 = {
borderless: Boolean,
defaultExpandAll: Boolean,
disabled: Boolean,
expandIcon: {
type: [Boolean, Function],
"default": true
},
expandIconPlacement: {
type: String,
"default": "left",
validator: function validator51(val) {
if (!val)
return true;
return ["left", "right"].includes(val);
}
},
expandMutex: Boolean,
expandOnRowClick: {
type: Boolean,
"default": true
},
value: {
type: Array,
"default": void 0
},
modelValue: {
type: Array,
"default": void 0
},
defaultValue: {
type: Array
},
onChange: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var _Collapse = vue.defineComponent({
name: "TCollapse",
props: props$2,
setup: function setup48(props2) {
var componentName = usePrefixClass("collapse");
var borderlessClass = usePrefixClass("-border-less");
var renderTNodeJSX3 = useTNodeJSX();
var _toRefs = vue.toRefs(props2), value = _toRefs.value, expandMutex = _toRefs.expandMutex, borderless = _toRefs.borderless, modelValue = _toRefs.modelValue;
var _useVModel = useVModel(value, modelValue, props2.defaultValue, props2.onChange), _useVModel2 = _slicedToArray(_useVModel, 2), collapseValue = _useVModel2[0], setCollapseValue = _useVModel2[1];
var updateCollapseValue = function updateCollapseValue2(value2) {
var newValue = [].concat(collapseValue.value || []);
var index2 = newValue.indexOf(value2);
if (index2 >= 0) {
newValue.splice(index2, 1);
} else if (expandMutex.value) {
newValue = [value2];
} else {
newValue.push(value2);
}
setCollapseValue(newValue);
};
var classes = vue.computed(function() {
return [componentName.value, _defineProperty$2({}, borderlessClass.value, !!borderless.value)];
});
var getUniqId = function() {
var index2 = 0;
return function() {
return index2++;
};
}();
vue.provide("collapseValue", collapseValue);
vue.provide("updateCollapseValue", updateCollapseValue);
vue.provide("collapseProps", vue.toRefs(props2));
vue.provide("getUniqId", getUniqId);
vue.provide("renderParentTNode", renderTNodeJSX3);
return function() {
var nodes = renderTNodeJSX3("default");
return vue.createVNode("div", {
"class": classes.value
}, [nodes]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props$1 = {
content: {
type: [String, Function]
},
"default": {
type: [String, Function]
},
destroyOnCollapse: Boolean,
disabled: {
type: Boolean,
"default": void 0
},
expandIcon: {
type: [Boolean, Function],
"default": void 0
},
header: {
type: [String, Function]
},
headerRightContent: {
type: [String, Function]
},
value: {
type: [String, Number]
}
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
function _isSlot(s) {
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !vue.isVNode(s);
}
var _CollapsePanel = vue.defineComponent({
name: "TCollapsePanel",
props: props$1,
setup: function setup49(props2, _ref) {
var slots = _ref.slots;
var renderTNodeJSX3 = useTNodeJSX();
var renderContent3 = useContent();
var componentName = usePrefixClass("collapse-panel");
var disableClass = usePrefixClass("is-disabled");
var clickableClass = usePrefixClass("is-clickable");
var transitionClass = usePrefixClass("slide-down");
var _toRefs = vue.toRefs(props2), value = _toRefs.value, disabled = _toRefs.disabled, destroyOnCollapse = _toRefs.destroyOnCollapse;
var collapseValue = vue.inject("collapseValue");
var updateCollapseValue = vue.inject("updateCollapseValue");
var getUniqId = vue.inject("getUniqId", function() {
return void 0;
}, false);
var _inject = vue.inject("collapseProps"), defaultExpandAll = _inject.defaultExpandAll, disableAll = _inject.disabled, expandIconPlacement = _inject.expandIconPlacement, expandOnRowClick = _inject.expandOnRowClick;
var renderParentTNode = vue.inject("renderParentTNode");
var innerValue = value.value || getUniqId();
if (defaultExpandAll.value) {
updateCollapseValue(innerValue);
}
var _useCollapseAnimation = useCollapseAnimation(), beforeEnter = _useCollapseAnimation.beforeEnter, enter = _useCollapseAnimation.enter, afterEnter = _useCollapseAnimation.afterEnter, beforeLeave = _useCollapseAnimation.beforeLeave, leave = _useCollapseAnimation.leave, afterLeave = _useCollapseAnimation.afterLeave;
var iconRef = vue.ref();
var isDisabled = vue.computed(function() {
return disabled.value || disableAll.value;
});
var isActive = vue.computed(function() {
return collapseValue.value instanceof Array ? collapseValue.value.includes(innerValue) : collapseValue.value === innerValue;
});
var classes = vue.computed(function() {
return [componentName.value, _defineProperty$2({}, disableClass.value, isDisabled.value)];
});
var panelExpandIcon = vue.computed(function() {
return slots.expandIcon || props2.expandIcon;
});
var handleClick = function handleClick2(e) {
var canExpand = expandOnRowClick.value || e.currentTarget === iconRef.value;
if (canExpand && !isDisabled.value) {
updateCollapseValue(innerValue);
}
e.stopPropagation();
};
var renderDefaultIcon = function renderDefaultIcon2() {
return vue.createVNode(FakeArrow, {
"overlayClassName": "".concat(componentName.value, "__icon--default")
}, null);
};
var renderIcon = function renderIcon2() {
var tNodeRender = panelExpandIcon.value === void 0 ? renderParentTNode : renderTNodeJSX3;
return vue.createVNode("div", {
"ref": iconRef,
"class": "".concat(componentName.value, "__icon ").concat(componentName.value, "__icon--").concat(expandIconPlacement.value, " ").concat(isActive.value ? "".concat(componentName.value, "__icon--active") : ""),
"onClick": handleClick
}, [tNodeRender("expandIcon", renderDefaultIcon())]);
};
var renderBlank = function renderBlank2() {
return vue.createVNode("div", {
"class": "".concat(componentName.value, "__header--blank")
}, null);
};
var renderHeader = function renderHeader2() {
var cls = ["".concat(componentName.value, "__header"), _defineProperty$2({}, clickableClass.value, expandOnRowClick.value && !isDisabled.value)];
return vue.createVNode("div", {
"class": cls,
"onClick": handleClick
}, [expandIconPlacement.value === "left" && renderIcon(), renderTNodeJSX3("header"), renderBlank(), renderTNodeJSX3("headerRightContent"), expandIconPlacement.value === "right" && renderIcon()]);
};
var renderBodyByNormal = function renderBodyByNormal2() {
return vue.withDirectives(vue.createVNode("div", {
"class": "".concat(componentName.value, "__body")
}, [vue.createVNode("div", {
"class": "".concat(componentName.value, "__content")
}, [renderContent3("default", "content")])]), [[vue.vShow, isActive.value]]);
};
var renderBodyDestroyOnCollapse = function renderBodyDestroyOnCollapse2() {
return isActive.value ? vue.createVNode("div", {
"class": "".concat(componentName.value, "__body")
}, [vue.createVNode("div", {
"class": "".concat(componentName.value, "__content")
}, [renderContent3("default", "content")])]) : null;
};
var renderBody = function renderBody2() {
return destroyOnCollapse.value ? renderBodyDestroyOnCollapse() : renderBodyByNormal();
};
return function() {
var _slot;
return vue.createVNode("div", {
"class": classes.value
}, [vue.createVNode("div", {
"class": "".concat(componentName.value, "__wrapper")
}, [renderHeader(), vue.createVNode(vue.Transition, {
"name": transitionClass.value,
"onBeforeEnter": beforeEnter,
"onEnter": enter,
"onAfterEnter": afterEnter,
"onBeforeLeave": beforeLeave,
"onLeave": leave,
"onAfterLeave": afterLeave
}, _isSlot(_slot = renderBody()) ? _slot : {
"default": function _default16() {
return [_slot];
}
})])]);
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Collapse = withInstall(_Collapse);
var CollapsePanel = withInstall(_CollapsePanel);
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var props = {
attach: {
type: [String, Function],
"default": ""
},
body: {
type: [String, Function]
},
cancelBtn: {
type: [String, Object, Function],
"default": ""
},
closeBtn: {
type: [String, Boolean, Function]
},
closeOnEscKeydown: {
type: Boolean,
"default": void 0
},
closeOnOverlayClick: {
type: Boolean,
"default": void 0
},
confirmBtn: {
type: [String, Object, Function],
"default": ""
},
"default": {
type: [String, Function]
},
destroyOnClose: Boolean,
footer: {
type: [Boolean, Function],
"default": true
},
header: {
type: [String, Boolean, Function],
"default": true
},
mode: {
type: String,
"default": "overlay",
validator: function validator52(val) {
if (!val)
return true;
return ["overlay", "push"].includes(val);
}
},
placement: {
type: String,
"default": "right",
validator: function validator53(val) {
if (!val)
return true;
return ["left", "right", "top", "bottom"].includes(val);
}
},
preventScrollThrough: {
type: Boolean,
"default": true
},
showInAttachedElement: Boolean,
showOverlay: {
type: Boolean,
"default": true
},
size: {
type: String,
"default": void 0
},
sizeDraggable: Boolean,
visible: Boolean,
zIndex: {
type: Number
},
onCancel: Function,
onClose: Function,
onCloseBtnClick: Function,
onConfirm: Function,
onEscKeydown: Function,
onOverlayClick: Function
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var useDrag = function useDrag2(props2) {
var isSizeDragging = vue.ref(false);
var draggedSizeValue = vue.ref(null);
var enableDrag = function enableDrag2() {
document.addEventListener("mouseup", handleMouseup, true);
document.addEventListener("mousemove", handleMousemove, true);
isSizeDragging.value = true;
};
var handleMouseup = function handleMouseup2() {
document.removeEventListener("mouseup", handleMouseup2, true);
document.removeEventListener("mousemove", handleMousemove, true);
isSizeDragging.value = false;
};
var handleMousemove = function handleMousemove2(e) {
var x = e.x, y = e.y;
var maxHeight = document.documentElement.clientHeight;
var maxWidth = document.documentElement.clientWidth;
var offsetHeight = 8;
var offsetWidth = 8;
if (isSizeDragging.value && props2.sizeDraggable) {
if (props2.placement === "right") {
var moveLeft = Math.min(Math.max(maxWidth - x + offsetWidth, offsetWidth), maxWidth);
draggedSizeValue.value = "".concat(moveLeft, "px");
}
if (props2.placement === "left") {
var moveRight = Math.min(Math.max(x + offsetWidth, offsetWidth), maxWidth);
draggedSizeValue.value = "".concat(moveRight, "px");
}
if (props2.placement === "top") {
var moveBottom = Math.min(Math.max(y + offsetHeight, offsetHeight), maxHeight);
draggedSizeValue.value = "".concat(moveBottom, "px");
}
if (props2.placement === "bottom") {
var moveTop = Math.min(Math.max(maxHeight - y + offsetHeight, offsetHeight), maxHeight);
draggedSizeValue.value = "".concat(moveTop, "px");
}
}
};
var draggableLineStyles = vue.computed(function() {
var _ref;
var isHorizontal = ["right", "left"].includes(props2.placement);
var oppositeMap = {
left: "right",
right: "left",
top: "bottom",
bottom: "top"
};
return _ref = {
zIndex: 1,
position: "absolute",
background: "transparent"
}, _defineProperty$2(_ref, oppositeMap[props2.placement], 0), _defineProperty$2(_ref, "width", isHorizontal ? "16px" : "100%"), _defineProperty$2(_ref, "height", isHorizontal ? "100%" : "16px"), _defineProperty$2(_ref, "cursor", isHorizontal ? "col-resize" : "row-resize"), _ref;
});
return {
draggedSizeValue,
enableDrag,
draggableLineStyles
};
};
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var key = 1;
var _Drawer = vue.defineComponent({
name: "TDrawer",
inheritAttrs: false,
props,
emits: ["update:visible"],
setup: function setup50(props2, context) {
var destroyOnCloseVisible = vue.ref(false);
var isVisible = vue.ref(false);
var styleEl = vue.ref();
var styleTimer = vue.ref();
var _useConfig = useConfig("drawer"), globalConfig = _useConfig.globalConfig;
var _useGlobalIcon = useGlobalIcon({
CloseIcon
}), CloseIcon$1 = _useGlobalIcon.CloseIcon;
var renderTNodeJSX3 = useTNodeJSX();
var renderContent3 = useContent();
var COMPONENT_NAME = usePrefixClass("drawer");
var _useDrag = useDrag(props2), draggedSizeValue = _useDrag.draggedSizeValue, enableDrag = _useDrag.enableDrag, draggableLineStyles = _useDrag.draggableLineStyles;
var teleportElement = useTeleport(function() {
return props2.attach;
});
var confirmBtnAction = function confirmBtnAction2(e) {
var _props2$onConfirm;
(_props2$onConfirm = props2.onConfirm) === null || _props2$onConfirm === void 0 || _props2$onConfirm.call(props2, {
e
});
};
var cancelBtnAction = function cancelBtnAction2(e) {
var _props2$onCancel;
(_props2$onCancel = props2.onCancel) === null || _props2$onCancel === void 0 || _props2$onCancel.call(props2, {
e
});
closeDrawer({
trigger: "cancel",
e
});
};
var _useAction = useAction({
confirmBtnAction,
cancelBtnAction
}), getConfirmBtn = _useAction.getConfirmBtn, getCancelBtn = _useAction.getCancelBtn;
var drawerEle = vue.ref(null);
var drawerClasses = vue.computed(function() {
var _ref;
return [COMPONENT_NAME.value, "".concat(COMPONENT_NAME.value, "--").concat(props2.placement), (_ref = {}, _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--open"), isVisible.value), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--attach"), props2.showInAttachedElement), _defineProperty$2(_ref, "".concat(COMPONENT_NAME.value, "--without-mask"), !props2.showOverlay), _ref)];
});
var sizeValue = vue.computed(function() {
var _props2$size;
if (draggedSizeValue.value)
return draggedSizeValue.value;
var size = (_props2$size = props2.size) !== null && _props2$size !== void 0 ? _props2$size : globalConfig.value.size;
var defaultSize = isNaN(Number(size)) ? size : "".concat(size, "px");
return {
small: "300px",
medium: "500px",
large: "760px"
}[size] || defaultSize;
});
var wrapperStyles = vue.computed(function() {
return {
transform: isVisible.value ? "translateX(0)" : void 0,
width: ["left", "right"].includes(props2.placement) ? sizeValue.value : "",
height: ["top", "bottom"].includes(props2.placement) ? sizeValue.value : ""
};
});
var wrapperClasses = vue.computed(function() {
return ["".concat(COMPONENT_NAME.value, "__content-wrapper"), "".concat(COMPONENT_NAME.value, "__content-wrapper--").concat(props2.placement)];
});
var parentNode = vue.computed(function() {
return drawerEle.value && drawerEle.value.parentNode;
});
var modeAndPlacement = vue.computed(function() {
return [props2.mode, props2.placement].join();
});
var footerStyle = vue.computed(function() {
return {
display: "flex",
justifyContent: props2.placement === "right" ? "flex-start" : "flex-end"
};
});
var handleEscKeydown = function handleEscKeydown2(e) {
var _props2$closeOnEscKey;
if ((_props2$closeOnEscKey = props2.closeOnEscKeydown) !== null && _props2$closeOnEscKey !== void 0 ? _props2$closeOnEscKey : globalConfig.value.closeOnEscKeydown && e.key === "Escape") {
var _props2$onEscKeydown;
(_props2$onEscKeydown = props2.onEscKeydown) === null || _props2$onEscKeydown === void 0 || _props2$onEscKeydown.call(props2, {
e
});
closeDrawer({
trigger: "esc",
e
});
}
};
var clearStyleFunc = function clearStyleFunc2() {
clearTimeout(styleTimer.value);
styleTimer.value = setTimeout(function() {
var _styleEl$value, _styleEl$value$remove;
(_styleEl$value = styleEl.value) === null || _styleEl$value === void 0 || (_styleEl$value = _styleEl$value.parentNode) === null || _styleEl$value === void 0 || (_styleEl$value$remove = _styleEl$value.removeChild) === null || _styleEl$value$remove === void 0 || _styleEl$value$remove.call(_styleEl$value, styleEl.value);
}, 150);
};
var handlePushMode = function handlePushMode2() {
if (props2.mode !== "push")
return;
vue.nextTick(function() {
if (!parentNode.value)
return;
parentNode.value.style.cssText = "transition: margin 300ms cubic-bezier(0.7, 0.3, 0.1, 1) 0s;";
});
};
var updatePushMode = function updatePushMode2() {
if (!parentNode.value)
return;
if (props2.mode !== "push" || !parentNode.value)
return;
var marginStr = {
left: "margin: 0 0 0 ".concat(sizeValue.value),
right: "margin: 0 0 0 -".concat(sizeValue.value),
top: "margin: ".concat(sizeValue.value, " 0 0 0"),
bottom: "margin: -".concat(sizeValue.value, " 0 0 0")
}[props2.placement];
if (isVisible.value) {
parentNode.value.style.cssText += marginStr;
} else {
parentNode.value.style.cssText = parentNode.value.style.cssText.replace(/margin:.+;/, "");
}
};
var getDefaultFooter = function getDefaultFooter2() {
var confirmBtn = getConfirmBtn({
confirmBtn: props2.confirmBtn,
globalConfirm: globalConfig.value.confirm,
className: "".concat(COMPONENT_NAME.value, "__confirm")
});
var cancelBtn = getCancelBtn({
cancelBtn: props2.cancelBtn,
globalCancel: globalConfig.value.cancel,
className: "".concat(COMPONENT_NAME.value, "__cancel")
});
return vue.createVNode("div", {
"style": footerStyle.value
}, [props2.placement === "right" ? confirmBtn : null, cancelBtn, props2.placement !== "right" ? confirmBtn : null]);
};
vue.watch(modeAndPlacement, function() {
handlePushMode();
}, {
immediate: true
});
vue.watch(function() {
return props2.visible;
}, function(value) {
if (isServer)
return;
if (value) {
if (!props2.showInAttachedElement && props2.preventScrollThrough) {
styleEl.value && document.head.appendChild(styleEl.value);
}
} else {
clearStyleFunc();
}
if (props2.destroyOnClose) {
if (value) {
destroyOnCloseVisible.value = false;
setTimeout(function() {
isVisible.value = true;
});
} else {
isVisible.value = false;
setTimeout(function() {
destroyOnCloseVisible.value = true;
}, 200);
}
} else if (destroyOnCloseVisible.value === true && value) {
destroyOnCloseVisible.value = false;
setTimeout(function() {
isVisible.value = true;
});
} else {
isVisible.value = value;
}
}, {
immediate: true
});
var handleCloseBtnClick = function handleCloseBtnClick2(e) {
var _props2$onCloseBtnCli;
(_props2$onCloseBtnCli = props2.onCloseBtnClick) === null || _props2$onCloseBtnCli === void 0 || _props2$onCloseBtnCli.call(props2, {
e
});
closeDrawer({
trigger: "close-btn",
e
});
};
var handleWrapperClick = function handleWrapperClick2(e) {
var _props2$onOverlayClic, _props2$closeOnOverla;
(_props2$onOverlayClic = props2.onOverlayClick) === null || _props2$onOverlayClic === void 0 || _props2$onOverlayClic.call(props2, {
e
});
if ((_props2$closeOnOverla = props2.closeOnOverlayClick) !== null && _props2$closeOnOverla !== void 0 ? _props2$closeOnOverla : globalConfig.value.closeOnOverlayClick) {
closeDrawer({
trigger: "overlay",
e
});
}
};
var onKeyDown = function onKeyDown2(e) {
var _props2$closeOnEscKey2;
if (((_props2$closeOnEscKey2 = props2.closeOnEscKeydown) !== null && _props2$closeOnEscKey2 !== void 0 ? _props2$closeOnEscKey2 : globalConfig.value.closeOnEscKeydown) && e.key === "Escape") {
var _props2$onEscKeydown2;
(_props2$onEscKeydown2 = props2.onEscKeydown) === null || _props2$onEscKeydown2 === void 0 || _props2$onEscKeydown2.call(props2, {
e
});
closeDrawer({
trigger: "esc",
e
});
}
};
var closeDrawer = function closeDrawer2(params) {
var _props2$onClose;
(_props2$onClose = props2.onClose) === null || _props2$onClose === void 0 || _props2$onClose.call(props2, params);
context.emit("update:visible", false);
};
vue.onUpdated(function() {
updatePushMode();
});
vue.onMounted(function() {
var hasScrollBar = document.documentElement.scrollHeight > document.documentElement.clientHeight;
var scrollWidth = hasScrollBar ? getScrollbarWidth() : 0;
styleEl.value = document.createElement("style");
styleEl.value.dataset.id = "td_drawer_".concat(+/* @__PURE__ */ new Date(), "_").concat(key += 1);
styleEl.value.innerHTML = "\n html body {\n overflow-y: hidden;\n transition: margin 300ms cubic-bezier(0.7, 0.3, 0.1, 1) 0s;\n ".concat(props2.mode === "push" ? "" : "width: calc(100% - ".concat(scrollWidth, "px);"), "\n }\n ");
if (isVisible.value && !props2.showInAttachedElement && props2.preventScrollThrough) {
document.head.appendChild(styleEl.value);
}
window.addEventListener("keydown", handleEscKeydown);
});
vue.onBeforeUnmount(function() {
clearStyleFunc();
window.removeEventListener("keydown", handleEscKeydown);
});
return function() {
if (destroyOnCloseVisible.value)
return;
var body = renderContent3("body", "default");
var headerContent = renderTNodeJSX3("header");
var defaultFooter = getDefaultFooter();
return vue.createVNode(vue.Teleport, {
"disabled": !props2.attach || !teleportElement.value,
"to": teleportElement.value
}, {
"default": function _default16() {
return [vue.createVNode("div", vue.mergeProps({
"ref": drawerEle,
"class": drawerClasses.value,
"style": {
zIndex: props2.zIndex
},
"onKeydown": onKeyDown,
"tabindex": 0
}, context.attrs), [props2.showOverlay && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__mask"),
"onClick": handleWrapperClick
}, null), vue.createVNode("div", {
"class": wrapperClasses.value,
"style": wrapperStyles.value
}, [headerContent && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__header")
}, [headerContent]), props2.closeBtn && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__close-btn"),
"onClick": handleCloseBtnClick
}, [renderTNodeJSX3("closeBtn", vue.createVNode(CloseIcon$1, null, null))]), vue.createVNode("div", {
"class": ["".concat(COMPONENT_NAME.value, "__body"), "narrow-scrollbar"]
}, [body]), props2.footer && vue.createVNode("div", {
"class": "".concat(COMPONENT_NAME.value, "__footer")
}, [renderTNodeJSX3("footer", defaultFooter)]), props2.sizeDraggable && vue.createVNode("div", {
"style": draggableLineStyles.value,
"onMousedown": enableDrag
}, null)])])];
}
});
};
}
});
/**
* tdesign v1.5.7
* (c) 2023 tdesign
* @license MIT
*/
var Drawer = withInstall(_Drawer);
function bind(fn2, thisArg) {
return function wrap() {
return fn2.apply(thisArg, arguments);
};
}
const { toString } = Object.prototype;
const { getPrototypeOf } = Object;
const kindOf = ((cache) => (thing) => {
const str = toString.call(thing);
return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());
})(/* @__PURE__ */ Object.create(null));
const kindOfTest = (type) => {
type = type.toLowerCase();
return (thing) => kindOf(thing) === type;
};
const typeOfTest = (type) => (thing) => typeof thing === type;
const { isArray } = Array;
const isUndefined = typeOfTest("undefined");
function isBuffer(val) {
return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);
}
const isArrayBuffer = kindOfTest("ArrayBuffer");
function isArrayBufferView(val) {
let result;
if (typeof ArrayBuffer !== "undefined" && ArrayBuffer.isView) {
result = ArrayBuffer.isView(val);
} else {
result = val && val.buffer && isArrayBuffer(val.buffer);
}
return result;
}
const isString = typeOfTest("string");
const isFunction = typeOfTest("function");
const isNumber = typeOfTest("number");
const isObject = (thing) => thing !== null && typeof thing === "object";
const isBoolean = (thing) => thing === true || thing === false;
const isPlainObject = (val) => {
if (kindOf(val) !== "object") {
return false;
}
const prototype2 = getPrototypeOf(val);
return (prototype2 === null || prototype2 === Object.prototype || Object.getPrototypeOf(prototype2) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);
};
const isDate = kindOfTest("Date");
const isFile = kindOfTest("File");
const isBlob = kindOfTest("Blob");
const isFileList = kindOfTest("FileList");
const isStream = (val) => isObject(val) && isFunction(val.pipe);
const isFormData = (thing) => {
let kind;
return thing && (typeof FormData === "function" && thing instanceof FormData || isFunction(thing.append) && ((kind = kindOf(thing)) === "formdata" || // detect form-data instance
kind === "object" && isFunction(thing.toString) && thing.toString() === "[object FormData]"));
};
const isURLSearchParams = kindOfTest("URLSearchParams");
const trim$1 = (str) => str.trim ? str.trim() : str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, "");
function forEach(obj, fn2, { allOwnKeys = false } = {}) {
if (obj === null || typeof obj === "undefined") {
return;
}
let i;
let l;
if (typeof obj !== "object") {
obj = [obj];
}
if (isArray(obj)) {
for (i = 0, l = obj.length; i < l; i++) {
fn2.call(null, obj[i], i, obj);
}
} else {
const keys2 = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);
const len2 = keys2.length;
let key2;
for (i = 0; i < len2; i++) {
key2 = keys2[i];
fn2.call(null, obj[key2], key2, obj);
}
}
}
function findKey(obj, key2) {
key2 = key2.toLowerCase();
const keys2 = Object.keys(obj);
let i = keys2.length;
let _key;
while (i-- > 0) {
_key = keys2[i];
if (key2 === _key.toLowerCase()) {
return _key;
}
}
return null;
}
const _global = (() => {
if (typeof globalThis !== "undefined")
return globalThis;
return typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : global;
})();
const isContextDefined = (context) => !isUndefined(context) && context !== _global;
function merge() {
const { caseless } = isContextDefined(this) && this || {};
const result = {};
const assignValue2 = (val, key2) => {
const targetKey = caseless && findKey(result, key2) || key2;
if (isPlainObject(result[targetKey]) && isPlainObject(val)) {
result[targetKey] = merge(result[targetKey], val);
} else if (isPlainObject(val)) {
result[targetKey] = merge({}, val);
} else if (isArray(val)) {
result[targetKey] = val.slice();
} else {
result[targetKey] = val;
}
};
for (let i = 0, l = arguments.length; i < l; i++) {
arguments[i] && forEach(arguments[i], assignValue2);
}
return result;
}
const extend = (a, b, thisArg, { allOwnKeys } = {}) => {
forEach(b, (val, key2) => {
if (thisArg && isFunction(val)) {
a[key2] = bind(val, thisArg);
} else {
a[key2] = val;
}
}, { allOwnKeys });
return a;
};
const stripBOM = (content) => {
if (content.charCodeAt(0) === 65279) {
content = content.slice(1);
}
return content;
};
const inherits = (constructor, superConstructor, props2, descriptors2) => {
constructor.prototype = Object.create(superConstructor.prototype, descriptors2);
constructor.prototype.constructor = constructor;
Object.defineProperty(constructor, "super", {
value: superConstructor.prototype
});
props2 && Object.assign(constructor.prototype, props2);
};
const toFlatObject = (sourceObj, destObj, filter3, propFilter) => {
let props2;
let i;
let prop;
const merged = {};
destObj = destObj || {};
if (sourceObj == null)
return destObj;
do {
props2 = Object.getOwnPropertyNames(sourceObj);
i = props2.length;
while (i-- > 0) {
prop = props2[i];
if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {
destObj[prop] = sourceObj[prop];
merged[prop] = true;
}
}
sourceObj = filter3 !== false && getPrototypeOf(sourceObj);
} while (sourceObj && (!filter3 || filter3(sourceObj, destObj)) && sourceObj !== Object.prototype);
return destObj;
};
const endsWith = (str, searchString, position) => {
str = String(str);
if (position === void 0 || position > str.length) {
position = str.length;
}
position -= searchString.length;
const lastIndex = str.indexOf(searchString, position);
return lastIndex !== -1 && lastIndex === position;
};
const toArray2 = (thing) => {
if (!thing)
return null;
if (isArray(thing))
return thing;
let i = thing.length;
if (!isNumber(i))
return null;
const arr = new Array(i);
while (i-- > 0) {
arr[i] = thing[i];
}
return arr;
};
const isTypedArray = ((TypedArray) => {
return (thing) => {
return TypedArray && thing instanceof TypedArray;
};
})(typeof Uint8Array !== "undefined" && getPrototypeOf(Uint8Array));
const forEachEntry = (obj, fn2) => {
const generator = obj && obj[Symbol.iterator];
const iterator = generator.call(obj);
let result;
while ((result = iterator.next()) && !result.done) {
const pair = result.value;
fn2.call(obj, pair[0], pair[1]);
}
};
const matchAll = (regExp, str) => {
let matches2;
const arr = [];
while ((matches2 = regExp.exec(str)) !== null) {
arr.push(matches2);
}
return arr;
};
const isHTMLForm = kindOfTest("HTMLFormElement");
const toCamelCase = (str) => {
return str.toLowerCase().replace(
/[-_\s]([a-z\d])(\w*)/g,
function replacer(m, p1, p2) {
return p1.toUpperCase() + p2;
}
);
};
const hasOwnProperty = (({ hasOwnProperty: hasOwnProperty2 }) => (obj, prop) => hasOwnProperty2.call(obj, prop))(Object.prototype);
const isRegExp = kindOfTest("RegExp");
const reduceDescriptors = (obj, reducer) => {
const descriptors2 = Object.getOwnPropertyDescriptors(obj);
const reducedDescriptors = {};
forEach(descriptors2, (descriptor, name) => {
let ret;
if ((ret = reducer(descriptor, name, obj)) !== false) {
reducedDescriptors[name] = ret || descriptor;
}
});
Object.defineProperties(obj, reducedDescriptors);
};
const freezeMethods = (obj) => {
reduceDescriptors(obj, (descriptor, name) => {
if (isFunction(obj) && ["arguments", "caller", "callee"].indexOf(name) !== -1) {
return false;
}
const value = obj[name];
if (!isFunction(value))
return;
descriptor.enumerable = false;
if ("writable" in descriptor) {
descriptor.writable = false;
return;
}
if (!descriptor.set) {
descriptor.set = () => {
throw Error("Can not rewrite read-only method '" + name + "'");
};
}
});
};
const toObjectSet = (arrayOrString, delimiter) => {
const obj = {};
const define = (arr) => {
arr.forEach((value) => {
obj[value] = true;
});
};
isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));
return obj;
};
const noop = () => {
};
const toFiniteNumber = (value, defaultValue) => {
value = +value;
return Number.isFinite(value) ? value : defaultValue;
};
const ALPHA = "abcdefghijklmnopqrstuvwxyz";
const DIGIT = "0123456789";
const ALPHABET = {
DIGIT,
ALPHA,
ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT
};
const generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {
let str = "";
const { length } = alphabet;
while (size--) {
str += alphabet[Math.random() * length | 0];
}
return str;
};
function isSpecCompliantForm(thing) {
return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === "FormData" && thing[Symbol.iterator]);
}
const toJSONObject = (obj) => {
const stack2 = new Array(10);
const visit = (source, i) => {
if (isObject(source)) {
if (stack2.indexOf(source) >= 0) {
return;
}
if (!("toJSON" in source)) {
stack2[i] = source;
const target = isArray(source) ? [] : {};
forEach(source, (value, key2) => {
const reducedValue = visit(value, i + 1);
!isUndefined(reducedValue) && (target[key2] = reducedValue);
});
stack2[i] = void 0;
return target;
}
}
return source;
};
return visit(obj, 0);
};
const isAsyncFn = kindOfTest("AsyncFunction");
const isThenable = (thing) => thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);
const utils = {
isArray,
isArrayBuffer,
isBuffer,
isFormData,
isArrayBufferView,
isString,
isNumber,
isBoolean,
isObject,
isPlainObject,
isUndefined,
isDate,
isFile,
isBlob,
isRegExp,
isFunction,
isStream,
isURLSearchParams,
isTypedArray,
isFileList,
forEach,
merge,
extend,
trim: trim$1,
stripBOM,
inherits,
toFlatObject,
kindOf,
kindOfTest,
endsWith,
toArray: toArray2,
forEachEntry,
matchAll,
isHTMLForm,
hasOwnProperty,
hasOwnProp: hasOwnProperty,
// an alias to avoid ESLint no-prototype-builtins detection
reduceDescriptors,
freezeMethods,
toObjectSet,
toCamelCase,
noop,
toFiniteNumber,
findKey,
global: _global,
isContextDefined,
ALPHABET,
generateString,
isSpecCompliantForm,
toJSONObject,
isAsyncFn,
isThenable
};
function AxiosError(message, code, config, request, response) {
Error.call(this);
if (Error.captureStackTrace) {
Error.captureStackTrace(this, this.constructor);
} else {
this.stack = new Error().stack;
}
this.message = message;
this.name = "AxiosError";
code && (this.code = code);
config && (this.config = config);
request && (this.request = request);
response && (this.response = response);
}
utils.inherits(AxiosError, Error, {
toJSON: function toJSON() {
return {
// Standard
message: this.message,
name: this.name,
// Microsoft
description: this.description,
number: this.number,
// Mozilla
fileName: this.fileName,
lineNumber: this.lineNumber,
columnNumber: this.columnNumber,
stack: this.stack,
// Axios
config: utils.toJSONObject(this.config),
code: this.code,
status: this.response && this.response.status ? this.response.status : null
};
}
});
const prototype$2 = AxiosError.prototype;
const descriptors = {};
[
"ERR_BAD_OPTION_VALUE",
"ERR_BAD_OPTION",
"ECONNABORTED",
"ETIMEDOUT",
"ERR_NETWORK",
"ERR_FR_TOO_MANY_REDIRECTS",
"ERR_DEPRECATED",
"ERR_BAD_RESPONSE",
"ERR_BAD_REQUEST",
"ERR_CANCELED",
"ERR_NOT_SUPPORT",
"ERR_INVALID_URL"
// eslint-disable-next-line func-names
].forEach((code) => {
descriptors[code] = { value: code };
});
Object.defineProperties(AxiosError, descriptors);
Object.defineProperty(prototype$2, "isAxiosError", { value: true });
AxiosError.from = (error4, code, config, request, response, customProps) => {
const axiosError = Object.create(prototype$2);
utils.toFlatObject(error4, axiosError, function filter3(obj) {
return obj !== Error.prototype;
}, (prop) => {
return prop !== "isAxiosError";
});
AxiosError.call(axiosError, error4.message, code, config, request, response);
axiosError.cause = error4;
axiosError.name = error4.name;
customProps && Object.assign(axiosError, customProps);
return axiosError;
};
const httpAdapter = null;
function isVisitable(thing) {
return utils.isPlainObject(thing) || utils.isArray(thing);
}
function removeBrackets(key2) {
return utils.endsWith(key2, "[]") ? key2.slice(0, -2) : key2;
}
function renderKey(path, key2, dots) {
if (!path)
return key2;
return path.concat(key2).map(function each(token, i) {
token = removeBrackets(token);
return !dots && i ? "[" + token + "]" : token;
}).join(dots ? "." : "");
}
function isFlatArray(arr) {
return utils.isArray(arr) && !arr.some(isVisitable);
}
const predicates = utils.toFlatObject(utils, {}, null, function filter2(prop) {
return /^is[A-Z]/.test(prop);
});
function toFormData(obj, formData, options) {
if (!utils.isObject(obj)) {
throw new TypeError("target must be an object");
}
formData = formData || new FormData();
options = utils.toFlatObject(options, {
metaTokens: true,
dots: false,
indexes: false
}, false, function defined(option2, source) {
return !utils.isUndefined(source[option2]);
});
const metaTokens = options.metaTokens;
const visitor = options.visitor || defaultVisitor;
const dots = options.dots;
const indexes = options.indexes;
const _Blob = options.Blob || typeof Blob !== "undefined" && Blob;
const useBlob = _Blob && utils.isSpecCompliantForm(formData);
if (!utils.isFunction(visitor)) {
throw new TypeError("visitor must be a function");
}
function convertValue(value) {
if (value === null)
return "";
if (utils.isDate(value)) {
return value.toISOString();
}
if (!useBlob && utils.isBlob(value)) {
throw new AxiosError("Blob is not supported. Use a Buffer instead.");
}
if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {
return useBlob && typeof Blob === "function" ? new Blob([value]) : Buffer.from(value);
}
return value;
}
function defaultVisitor(value, key2, path) {
let arr = value;
if (value && !path && typeof value === "object") {
if (utils.endsWith(key2, "{}")) {
key2 = metaTokens ? key2 : key2.slice(0, -2);
value = JSON.stringify(value);
} else if (utils.isArray(value) && isFlatArray(value) || (utils.isFileList(value) || utils.endsWith(key2, "[]")) && (arr = utils.toArray(value))) {
key2 = removeBrackets(key2);
arr.forEach(function each(el, index2) {
!(utils.isUndefined(el) || el === null) && formData.append(
// eslint-disable-next-line no-nested-ternary
indexes === true ? renderKey([key2], index2, dots) : indexes === null ? key2 : key2 + "[]",
convertValue(el)
);
});
return false;
}
}
if (isVisitable(value)) {
return true;
}
formData.append(renderKey(path, key2, dots), convertValue(value));
return false;
}
const stack2 = [];
const exposedHelpers = Object.assign(predicates, {
defaultVisitor,
convertValue,
isVisitable
});
function build(value, path) {
if (utils.isUndefined(value))
return;
if (stack2.indexOf(value) !== -1) {
throw Error("Circular reference detected in " + path.join("."));
}
stack2.push(value);
utils.forEach(value, function each(el, key2) {
const result = !(utils.isUndefined(el) || el === null) && visitor.call(
formData,
el,
utils.isString(key2) ? key2.trim() : key2,
path,
exposedHelpers
);
if (result === true) {
build(el, path ? path.concat(key2) : [key2]);
}
});
stack2.pop();
}
if (!utils.isObject(obj)) {
throw new TypeError("data must be an object");
}
build(obj);
return formData;
}
function encode$1(str) {
const charMap = {
"!": "%21",
"'": "%27",
"(": "%28",
")": "%29",
"~": "%7E",
"%20": "+",
"%00": "\0"
};
return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {
return charMap[match];
});
}
function AxiosURLSearchParams(params, options) {
this._pairs = [];
params && toFormData(params, this, options);
}
const prototype$1 = AxiosURLSearchParams.prototype;
prototype$1.append = function append(name, value) {
this._pairs.push([name, value]);
};
prototype$1.toString = function toString2(encoder) {
const _encode = encoder ? function(value) {
return encoder.call(this, value, encode$1);
} : encode$1;
return this._pairs.map(function each(pair) {
return _encode(pair[0]) + "=" + _encode(pair[1]);
}, "").join("&");
};
function encode(val) {
return encodeURIComponent(val).replace(/%3A/gi, ":").replace(/%24/g, "$").replace(/%2C/gi, ",").replace(/%20/g, "+").replace(/%5B/gi, "[").replace(/%5D/gi, "]");
}
function buildURL(url, params, options) {
if (!params) {
return url;
}
const _encode = options && options.encode || encode;
const serializeFn = options && options.serialize;
let serializedParams;
if (serializeFn) {
serializedParams = serializeFn(params, options);
} else {
serializedParams = utils.isURLSearchParams(params) ? params.toString() : new AxiosURLSearchParams(params, options).toString(_encode);
}
if (serializedParams) {
const hashmarkIndex = url.indexOf("#");
if (hashmarkIndex !== -1) {
url = url.slice(0, hashmarkIndex);
}
url += (url.indexOf("?") === -1 ? "?" : "&") + serializedParams;
}
return url;
}
class InterceptorManager {
constructor() {
this.handlers = [];
}
/**
* Add a new interceptor to the stack
*
* @param {Function} fulfilled The function to handle `then` for a `Promise`
* @param {Function} rejected The function to handle `reject` for a `Promise`
*
* @return {Number} An ID used to remove interceptor later
*/
use(fulfilled, rejected, options) {
this.handlers.push({
fulfilled,
rejected,
synchronous: options ? options.synchronous : false,
runWhen: options ? options.runWhen : null
});
return this.handlers.length - 1;
}
/**
* Remove an interceptor from the stack
*
* @param {Number} id The ID that was returned by `use`
*
* @returns {Boolean} `true` if the interceptor was removed, `false` otherwise
*/
eject(id) {
if (this.handlers[id]) {
this.handlers[id] = null;
}
}
/**
* Clear all interceptors from the stack
*
* @returns {void}
*/
clear() {
if (this.handlers) {
this.handlers = [];
}
}
/**
* Iterate over all the registered interceptors
*
* This method is particularly useful for skipping over any
* interceptors that may have become `null` calling `eject`.
*
* @param {Function} fn The function to call for each interceptor
*
* @returns {void}
*/
forEach(fn2) {
utils.forEach(this.handlers, function forEachHandler(h2) {
if (h2 !== null) {
fn2(h2);
}
});
}
}
const InterceptorManager$1 = InterceptorManager;
const transitionalDefaults = {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
};
const URLSearchParams$1 = typeof URLSearchParams !== "undefined" ? URLSearchParams : AxiosURLSearchParams;
const FormData$1 = typeof FormData !== "undefined" ? FormData : null;
const Blob$1 = typeof Blob !== "undefined" ? Blob : null;
const isStandardBrowserEnv = (() => {
let product;
if (typeof navigator !== "undefined" && ((product = navigator.product) === "ReactNative" || product === "NativeScript" || product === "NS")) {
return false;
}
return typeof window !== "undefined" && typeof document !== "undefined";
})();
const isStandardBrowserWebWorkerEnv = (() => {
return typeof WorkerGlobalScope !== "undefined" && // eslint-disable-next-line no-undef
self instanceof WorkerGlobalScope && typeof self.importScripts === "function";
})();
const platform = {
isBrowser: true,
classes: {
URLSearchParams: URLSearchParams$1,
FormData: FormData$1,
Blob: Blob$1
},
isStandardBrowserEnv,
isStandardBrowserWebWorkerEnv,
protocols: ["http", "https", "file", "blob", "url", "data"]
};
function toURLEncodedForm(data2, options) {
return toFormData(data2, new platform.classes.URLSearchParams(), Object.assign({
visitor: function(value, key2, path, helpers) {
if (platform.isNode && utils.isBuffer(value)) {
this.append(key2, value.toString("base64"));
return false;
}
return helpers.defaultVisitor.apply(this, arguments);
}
}, options));
}
function parsePropPath(name) {
return utils.matchAll(/\w+|\[(\w*)]/g, name).map((match) => {
return match[0] === "[]" ? "" : match[1] || match[0];
});
}
function arrayToObject(arr) {
const obj = {};
const keys2 = Object.keys(arr);
let i;
const len2 = keys2.length;
let key2;
for (i = 0; i < len2; i++) {
key2 = keys2[i];
obj[key2] = arr[key2];
}
return obj;
}
function formDataToJSON(formData) {
function buildPath(path, value, target, index2) {
let name = path[index2++];
const isNumericKey = Number.isFinite(+name);
const isLast = index2 >= path.length;
name = !name && utils.isArray(target) ? target.length : name;
if (isLast) {
if (utils.hasOwnProp(target, name)) {
target[name] = [target[name], value];
} else {
target[name] = value;
}
return !isNumericKey;
}
if (!target[name] || !utils.isObject(target[name])) {
target[name] = [];
}
const result = buildPath(path, value, target[name], index2);
if (result && utils.isArray(target[name])) {
target[name] = arrayToObject(target[name]);
}
return !isNumericKey;
}
if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {
const obj = {};
utils.forEachEntry(formData, (name, value) => {
buildPath(parsePropPath(name), value, obj, 0);
});
return obj;
}
return null;
}
function stringifySafely(rawValue, parser, encoder) {
if (utils.isString(rawValue)) {
try {
(parser || JSON.parse)(rawValue);
return utils.trim(rawValue);
} catch (e) {
if (e.name !== "SyntaxError") {
throw e;
}
}
}
return (encoder || JSON.stringify)(rawValue);
}
const defaults = {
transitional: transitionalDefaults,
adapter: ["xhr", "http"],
transformRequest: [function transformRequest(data2, headers) {
const contentType = headers.getContentType() || "";
const hasJSONContentType = contentType.indexOf("application/json") > -1;
const isObjectPayload = utils.isObject(data2);
if (isObjectPayload && utils.isHTMLForm(data2)) {
data2 = new FormData(data2);
}
const isFormData2 = utils.isFormData(data2);
if (isFormData2) {
if (!hasJSONContentType) {
return data2;
}
return hasJSONContentType ? JSON.stringify(formDataToJSON(data2)) : data2;
}
if (utils.isArrayBuffer(data2) || utils.isBuffer(data2) || utils.isStream(data2) || utils.isFile(data2) || utils.isBlob(data2)) {
return data2;
}
if (utils.isArrayBufferView(data2)) {
return data2.buffer;
}
if (utils.isURLSearchParams(data2)) {
headers.setContentType("application/x-www-form-urlencoded;charset=utf-8", false);
return data2.toString();
}
let isFileList2;
if (isObjectPayload) {
if (contentType.indexOf("application/x-www-form-urlencoded") > -1) {
return toURLEncodedForm(data2, this.formSerializer).toString();
}
if ((isFileList2 = utils.isFileList(data2)) || contentType.indexOf("multipart/form-data") > -1) {
const _FormData = this.env && this.env.FormData;
return toFormData(
isFileList2 ? { "files[]": data2 } : data2,
_FormData && new _FormData(),
this.formSerializer
);
}
}
if (isObjectPayload || hasJSONContentType) {
headers.setContentType("application/json", false);
return stringifySafely(data2);
}
return data2;
}],
transformResponse: [function transformResponse(data2) {
const transitional2 = this.transitional || defaults.transitional;
const forcedJSONParsing = transitional2 && transitional2.forcedJSONParsing;
const JSONRequested = this.responseType === "json";
if (data2 && utils.isString(data2) && (forcedJSONParsing && !this.responseType || JSONRequested)) {
const silentJSONParsing = transitional2 && transitional2.silentJSONParsing;
const strictJSONParsing = !silentJSONParsing && JSONRequested;
try {
return JSON.parse(data2);
} catch (e) {
if (strictJSONParsing) {
if (e.name === "SyntaxError") {
throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);
}
throw e;
}
}
}
return data2;
}],
/**
* A timeout in milliseconds to abort a request. If set to 0 (default) a
* timeout is not created.
*/
timeout: 0,
xsrfCookieName: "XSRF-TOKEN",
xsrfHeaderName: "X-XSRF-TOKEN",
maxContentLength: -1,
maxBodyLength: -1,
env: {
FormData: platform.classes.FormData,
Blob: platform.classes.Blob
},
validateStatus: function validateStatus(status) {
return status >= 200 && status < 300;
},
headers: {
common: {
"Accept": "application/json, text/plain, */*",
"Content-Type": void 0
}
}
};
utils.forEach(["delete", "get", "head", "post", "put", "patch"], (method) => {
defaults.headers[method] = {};
});
const defaults$1 = defaults;
const ignoreDuplicateOf = utils.toObjectSet([
"age",
"authorization",
"content-length",
"content-type",
"etag",
"expires",
"from",
"host",
"if-modified-since",
"if-unmodified-since",
"last-modified",
"location",
"max-forwards",
"proxy-authorization",
"referer",
"retry-after",
"user-agent"
]);
const parseHeaders = (rawHeaders) => {
const parsed = {};
let key2;
let val;
let i;
rawHeaders && rawHeaders.split("\n").forEach(function parser(line) {
i = line.indexOf(":");
key2 = line.substring(0, i).trim().toLowerCase();
val = line.substring(i + 1).trim();
if (!key2 || parsed[key2] && ignoreDuplicateOf[key2]) {
return;
}
if (key2 === "set-cookie") {
if (parsed[key2]) {
parsed[key2].push(val);
} else {
parsed[key2] = [val];
}
} else {
parsed[key2] = parsed[key2] ? parsed[key2] + ", " + val : val;
}
});
return parsed;
};
const $internals = Symbol("internals");
function normalizeHeader(header) {
return header && String(header).trim().toLowerCase();
}
function normalizeValue(value) {
if (value === false || value == null) {
return value;
}
return utils.isArray(value) ? value.map(normalizeValue) : String(value);
}
function parseTokens(str) {
const tokens = /* @__PURE__ */ Object.create(null);
const tokensRE = /([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;
let match;
while (match = tokensRE.exec(str)) {
tokens[match[1]] = match[2];
}
return tokens;
}
const isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());
function matchHeaderValue(context, value, header, filter3, isHeaderNameFilter) {
if (utils.isFunction(filter3)) {
return filter3.call(this, value, header);
}
if (isHeaderNameFilter) {
value = header;
}
if (!utils.isString(value))
return;
if (utils.isString(filter3)) {
return value.indexOf(filter3) !== -1;
}
if (utils.isRegExp(filter3)) {
return filter3.test(value);
}
}
function formatHeader(header) {
return header.trim().toLowerCase().replace(/([a-z\d])(\w*)/g, (w, char, str) => {
return char.toUpperCase() + str;
});
}
function buildAccessors(obj, header) {
const accessorName = utils.toCamelCase(" " + header);
["get", "set", "has"].forEach((methodName) => {
Object.defineProperty(obj, methodName + accessorName, {
value: function(arg1, arg2, arg3) {
return this[methodName].call(this, header, arg1, arg2, arg3);
},
configurable: true
});
});
}
class AxiosHeaders {
constructor(headers) {
headers && this.set(headers);
}
set(header, valueOrRewrite, rewrite) {
const self2 = this;
function setHeader(_value, _header, _rewrite) {
const lHeader = normalizeHeader(_header);
if (!lHeader) {
throw new Error("header name must be a non-empty string");
}
const key2 = utils.findKey(self2, lHeader);
if (!key2 || self2[key2] === void 0 || _rewrite === true || _rewrite === void 0 && self2[key2] !== false) {
self2[key2 || _header] = normalizeValue(_value);
}
}
const setHeaders = (headers, _rewrite) => utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));
if (utils.isPlainObject(header) || header instanceof this.constructor) {
setHeaders(header, valueOrRewrite);
} else if (utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {
setHeaders(parseHeaders(header), valueOrRewrite);
} else {
header != null && setHeader(valueOrRewrite, header, rewrite);
}
return this;
}
get(header, parser) {
header = normalizeHeader(header);
if (header) {
const key2 = utils.findKey(this, header);
if (key2) {
const value = this[key2];
if (!parser) {
return value;
}
if (parser === true) {
return parseTokens(value);
}
if (utils.isFunction(parser)) {
return parser.call(this, value, key2);
}
if (utils.isRegExp(parser)) {
return parser.exec(value);
}
throw new TypeError("parser must be boolean|regexp|function");
}
}
}
has(header, matcher) {
header = normalizeHeader(header);
if (header) {
const key2 = utils.findKey(this, header);
return !!(key2 && this[key2] !== void 0 && (!matcher || matchHeaderValue(this, this[key2], key2, matcher)));
}
return false;
}
delete(header, matcher) {
const self2 = this;
let deleted = false;
function deleteHeader(_header) {
_header = normalizeHeader(_header);
if (_header) {
const key2 = utils.findKey(self2, _header);
if (key2 && (!matcher || matchHeaderValue(self2, self2[key2], key2, matcher))) {
delete self2[key2];
deleted = true;
}
}
}
if (utils.isArray(header)) {
header.forEach(deleteHeader);
} else {
deleteHeader(header);
}
return deleted;
}
clear(matcher) {
const keys2 = Object.keys(this);
let i = keys2.length;
let deleted = false;
while (i--) {
const key2 = keys2[i];
if (!matcher || matchHeaderValue(this, this[key2], key2, matcher, true)) {
delete this[key2];
deleted = true;
}
}
return deleted;
}
normalize(format) {
const self2 = this;
const headers = {};
utils.forEach(this, (value, header) => {
const key2 = utils.findKey(headers, header);
if (key2) {
self2[key2] = normalizeValue(value);
delete self2[header];
return;
}
const normalized = format ? formatHeader(header) : String(header).trim();
if (normalized !== header) {
delete self2[header];
}
self2[normalized] = normalizeValue(value);
headers[normalized] = true;
});
return this;
}
concat(...targets) {
return this.constructor.concat(this, ...targets);
}
toJSON(asStrings) {
const obj = /* @__PURE__ */ Object.create(null);
utils.forEach(this, (value, header) => {
value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(", ") : value);
});
return obj;
}
[Symbol.iterator]() {
return Object.entries(this.toJSON())[Symbol.iterator]();
}
toString() {
return Object.entries(this.toJSON()).map(([header, value]) => header + ": " + value).join("\n");
}
get [Symbol.toStringTag]() {
return "AxiosHeaders";
}
static from(thing) {
return thing instanceof this ? thing : new this(thing);
}
static concat(first, ...targets) {
const computed2 = new this(first);
targets.forEach((target) => computed2.set(target));
return computed2;
}
static accessor(header) {
const internals = this[$internals] = this[$internals] = {
accessors: {}
};
const accessors = internals.accessors;
const prototype2 = this.prototype;
function defineAccessor(_header) {
const lHeader = normalizeHeader(_header);
if (!accessors[lHeader]) {
buildAccessors(prototype2, _header);
accessors[lHeader] = true;
}
}
utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);
return this;
}
}
AxiosHeaders.accessor(["Content-Type", "Content-Length", "Accept", "Accept-Encoding", "User-Agent", "Authorization"]);
utils.reduceDescriptors(AxiosHeaders.prototype, ({ value }, key2) => {
let mapped = key2[0].toUpperCase() + key2.slice(1);
return {
get: () => value,
set(headerValue) {
this[mapped] = headerValue;
}
};
});
utils.freezeMethods(AxiosHeaders);
const AxiosHeaders$1 = AxiosHeaders;
function transformData(fns, response) {
const config = this || defaults$1;
const context = response || config;
const headers = AxiosHeaders$1.from(context.headers);
let data2 = context.data;
utils.forEach(fns, function transform(fn2) {
data2 = fn2.call(config, data2, headers.normalize(), response ? response.status : void 0);
});
headers.normalize();
return data2;
}
function isCancel(value) {
return !!(value && value.__CANCEL__);
}
function CanceledError(message, config, request) {
AxiosError.call(this, message == null ? "canceled" : message, AxiosError.ERR_CANCELED, config, request);
this.name = "CanceledError";
}
utils.inherits(CanceledError, AxiosError, {
__CANCEL__: true
});
function settle(resolve2, reject2, response) {
const validateStatus2 = response.config.validateStatus;
if (!response.status || !validateStatus2 || validateStatus2(response.status)) {
resolve2(response);
} else {
reject2(new AxiosError(
"Request failed with status code " + response.status,
[AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],
response.config,
response.request,
response
));
}
}
const cookies = platform.isStandardBrowserEnv ? (
// Standard browser envs support document.cookie
function standardBrowserEnv() {
return {
write: function write2(name, value, expires, path, domain, secure) {
const cookie = [];
cookie.push(name + "=" + encodeURIComponent(value));
if (utils.isNumber(expires)) {
cookie.push("expires=" + new Date(expires).toGMTString());
}
if (utils.isString(path)) {
cookie.push("path=" + path);
}
if (utils.isString(domain)) {
cookie.push("domain=" + domain);
}
if (secure === true) {
cookie.push("secure");
}
document.cookie = cookie.join("; ");
},
read: function read2(name) {
const match = document.cookie.match(new RegExp("(^|;\\s*)(" + name + ")=([^;]*)"));
return match ? decodeURIComponent(match[3]) : null;
},
remove: function remove2(name) {
this.write(name, "", Date.now() - 864e5);
}
};
}()
) : (
// Non standard browser env (web workers, react-native) lack needed support.
function nonStandardBrowserEnv() {
return {
write: function write2() {
},
read: function read2() {
return null;
},
remove: function remove2() {
}
};
}()
);
function isAbsoluteURL(url) {
return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
}
function combineURLs(baseURL, relativeURL) {
return relativeURL ? baseURL.replace(/\/+$/, "") + "/" + relativeURL.replace(/^\/+/, "") : baseURL;
}
function buildFullPath(baseURL, requestedURL) {
if (baseURL && !isAbsoluteURL(requestedURL)) {
return combineURLs(baseURL, requestedURL);
}
return requestedURL;
}
const isURLSameOrigin = platform.isStandardBrowserEnv ? (
// Standard browser envs have full support of the APIs needed to test
// whether the request URL is of the same origin as current location.
function standardBrowserEnv2() {
const msie = /(msie|trident)/i.test(navigator.userAgent);
const urlParsingNode = document.createElement("a");
let originURL;
function resolveURL(url) {
let href = url;
if (msie) {
urlParsingNode.setAttribute("href", href);
href = urlParsingNode.href;
}
urlParsingNode.setAttribute("href", href);
return {
href: urlParsingNode.href,
protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, "") : "",
host: urlParsingNode.host,
search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, "") : "",
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, "") : "",
hostname: urlParsingNode.hostname,
port: urlParsingNode.port,
pathname: urlParsingNode.pathname.charAt(0) === "/" ? urlParsingNode.pathname : "/" + urlParsingNode.pathname
};
}
originURL = resolveURL(window.location.href);
return function isURLSameOrigin2(requestURL) {
const parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;
return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
};
}()
) : (
// Non standard browser envs (web workers, react-native) lack needed support.
function nonStandardBrowserEnv2() {
return function isURLSameOrigin2() {
return true;
};
}()
);
function parseProtocol(url) {
const match = /^([-+\w]{1,25})(:?\/\/|:)/.exec(url);
return match && match[1] || "";
}
function speedometer(samplesCount, min3) {
samplesCount = samplesCount || 10;
const bytes = new Array(samplesCount);
const timestamps = new Array(samplesCount);
let head = 0;
let tail = 0;
let firstSampleTS;
min3 = min3 !== void 0 ? min3 : 1e3;
return function push3(chunkLength) {
const now3 = Date.now();
const startedAt = timestamps[tail];
if (!firstSampleTS) {
firstSampleTS = now3;
}
bytes[head] = chunkLength;
timestamps[head] = now3;
let i = tail;
let bytesCount = 0;
while (i !== head) {
bytesCount += bytes[i++];
i = i % samplesCount;
}
head = (head + 1) % samplesCount;
if (head === tail) {
tail = (tail + 1) % samplesCount;
}
if (now3 - firstSampleTS < min3) {
return;
}
const passed = startedAt && now3 - startedAt;
return passed ? Math.round(bytesCount * 1e3 / passed) : void 0;
};
}
function progressEventReducer(listener, isDownloadStream) {
let bytesNotified = 0;
const _speedometer = speedometer(50, 250);
return (e) => {
const loaded = e.loaded;
const total = e.lengthComputable ? e.total : void 0;
const progressBytes = loaded - bytesNotified;
const rate = _speedometer(progressBytes);
const inRange = loaded <= total;
bytesNotified = loaded;
const data2 = {
loaded,
total,
progress: total ? loaded / total : void 0,
bytes: progressBytes,
rate: rate ? rate : void 0,
estimated: rate && total && inRange ? (total - loaded) / rate : void 0,
event: e
};
data2[isDownloadStream ? "download" : "upload"] = true;
listener(data2);
};
}
const isXHRAdapterSupported = typeof XMLHttpRequest !== "undefined";
const xhrAdapter = isXHRAdapterSupported && function(config) {
return new Promise(function dispatchXhrRequest(resolve2, reject2) {
let requestData = config.data;
const requestHeaders = AxiosHeaders$1.from(config.headers).normalize();
const responseType = config.responseType;
let onCanceled;
function done() {
if (config.cancelToken) {
config.cancelToken.unsubscribe(onCanceled);
}
if (config.signal) {
config.signal.removeEventListener("abort", onCanceled);
}
}
let contentType;
if (utils.isFormData(requestData)) {
if (platform.isStandardBrowserEnv || platform.isStandardBrowserWebWorkerEnv) {
requestHeaders.setContentType(false);
} else if (!requestHeaders.getContentType(/^\s*multipart\/form-data/)) {
requestHeaders.setContentType("multipart/form-data");
} else if (utils.isString(contentType = requestHeaders.getContentType())) {
requestHeaders.setContentType(contentType.replace(/^\s*(multipart\/form-data);+/, "$1"));
}
}
let request = new XMLHttpRequest();
if (config.auth) {
const username = config.auth.username || "";
const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : "";
requestHeaders.set("Authorization", "Basic " + btoa(username + ":" + password));
}
const fullPath = buildFullPath(config.baseURL, config.url);
request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
request.timeout = config.timeout;
function onloadend() {
if (!request) {
return;
}
const responseHeaders = AxiosHeaders$1.from(
"getAllResponseHeaders" in request && request.getAllResponseHeaders()
);
const responseData = !responseType || responseType === "text" || responseType === "json" ? request.responseText : request.response;
const response = {
data: responseData,
status: request.status,
statusText: request.statusText,
headers: responseHeaders,
config,
request
};
settle(function _resolve(value) {
resolve2(value);
done();
}, function _reject(err) {
reject2(err);
done();
}, response);
request = null;
}
if ("onloadend" in request) {
request.onloadend = onloadend;
} else {
request.onreadystatechange = function handleLoad() {
if (!request || request.readyState !== 4) {
return;
}
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf("file:") === 0)) {
return;
}
setTimeout(onloadend);
};
}
request.onabort = function handleAbort() {
if (!request) {
return;
}
reject2(new AxiosError("Request aborted", AxiosError.ECONNABORTED, config, request));
request = null;
};
request.onerror = function handleError() {
reject2(new AxiosError("Network Error", AxiosError.ERR_NETWORK, config, request));
request = null;
};
request.ontimeout = function handleTimeout() {
let timeoutErrorMessage = config.timeout ? "timeout of " + config.timeout + "ms exceeded" : "timeout exceeded";
const transitional2 = config.transitional || transitionalDefaults;
if (config.timeoutErrorMessage) {
timeoutErrorMessage = config.timeoutErrorMessage;
}
reject2(new AxiosError(
timeoutErrorMessage,
transitional2.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,
config,
request
));
request = null;
};
if (platform.isStandardBrowserEnv) {
const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName && cookies.read(config.xsrfCookieName);
if (xsrfValue) {
requestHeaders.set(config.xsrfHeaderName, xsrfValue);
}
}
requestData === void 0 && requestHeaders.setContentType(null);
if ("setRequestHeader" in request) {
utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key2) {
request.setRequestHeader(key2, val);
});
}
if (!utils.isUndefined(config.withCredentials)) {
request.withCredentials = !!config.withCredentials;
}
if (responseType && responseType !== "json") {
request.responseType = config.responseType;
}
if (typeof config.onDownloadProgress === "function") {
request.addEventListener("progress", progressEventReducer(config.onDownloadProgress, true));
}
if (typeof config.onUploadProgress === "function" && request.upload) {
request.upload.addEventListener("progress", progressEventReducer(config.onUploadProgress));
}
if (config.cancelToken || config.signal) {
onCanceled = (cancel) => {
if (!request) {
return;
}
reject2(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);
request.abort();
request = null;
};
config.cancelToken && config.cancelToken.subscribe(onCanceled);
if (config.signal) {
config.signal.aborted ? onCanceled() : config.signal.addEventListener("abort", onCanceled);
}
}
const protocol = parseProtocol(fullPath);
if (protocol && platform.protocols.indexOf(protocol) === -1) {
reject2(new AxiosError("Unsupported protocol " + protocol + ":", AxiosError.ERR_BAD_REQUEST, config));
return;
}
request.send(requestData || null);
});
};
const knownAdapters = {
http: httpAdapter,
xhr: xhrAdapter
};
utils.forEach(knownAdapters, (fn2, value) => {
if (fn2) {
try {
Object.defineProperty(fn2, "name", { value });
} catch (e) {
}
Object.defineProperty(fn2, "adapterName", { value });
}
});
const renderReason = (reason) => `- ${reason}`;
const isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;
const adapters = {
getAdapter: (adapters2) => {
adapters2 = utils.isArray(adapters2) ? adapters2 : [adapters2];
const { length } = adapters2;
let nameOrAdapter;
let adapter;
const rejectedReasons = {};
for (let i = 0; i < length; i++) {
nameOrAdapter = adapters2[i];
let id;
adapter = nameOrAdapter;
if (!isResolvedHandle(nameOrAdapter)) {
adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];
if (adapter === void 0) {
throw new AxiosError(`Unknown adapter '${id}'`);
}
}
if (adapter) {
break;
}
rejectedReasons[id || "#" + i] = adapter;
}
if (!adapter) {
const reasons = Object.entries(rejectedReasons).map(
([id, state]) => `adapter ${id} ` + (state === false ? "is not supported by the environment" : "is not available in the build")
);
let s = length ? reasons.length > 1 ? "since :\n" + reasons.map(renderReason).join("\n") : " " + renderReason(reasons[0]) : "as no adapter specified";
throw new AxiosError(
`There is no suitable adapter to dispatch the request ` + s,
"ERR_NOT_SUPPORT"
);
}
return adapter;
},
adapters: knownAdapters
};
function throwIfCancellationRequested(config) {
if (config.cancelToken) {
config.cancelToken.throwIfRequested();
}
if (config.signal && config.signal.aborted) {
throw new CanceledError(null, config);
}
}
function dispatchRequest(config) {
throwIfCancellationRequested(config);
config.headers = AxiosHeaders$1.from(config.headers);
config.data = transformData.call(
config,
config.transformRequest
);
if (["post", "put", "patch"].indexOf(config.method) !== -1) {
config.headers.setContentType("application/x-www-form-urlencoded", false);
}
const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter);
return adapter(config).then(function onAdapterResolution(response) {
throwIfCancellationRequested(config);
response.data = transformData.call(
config,
config.transformResponse,
response
);
response.headers = AxiosHeaders$1.from(response.headers);
return response;
}, function onAdapterRejection(reason) {
if (!isCancel(reason)) {
throwIfCancellationRequested(config);
if (reason && reason.response) {
reason.response.data = transformData.call(
config,
config.transformResponse,
reason.response
);
reason.response.headers = AxiosHeaders$1.from(reason.response.headers);
}
}
return Promise.reject(reason);
});
}
const headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? thing.toJSON() : thing;
function mergeConfig(config1, config2) {
config2 = config2 || {};
const config = {};
function getMergedValue(target, source, caseless) {
if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
return utils.merge.call({ caseless }, target, source);
} else if (utils.isPlainObject(source)) {
return utils.merge({}, source);
} else if (utils.isArray(source)) {
return source.slice();
}
return source;
}
function mergeDeepProperties(a, b, caseless) {
if (!utils.isUndefined(b)) {
return getMergedValue(a, b, caseless);
} else if (!utils.isUndefined(a)) {
return getMergedValue(void 0, a, caseless);
}
}
function valueFromConfig2(a, b) {
if (!utils.isUndefined(b)) {
return getMergedValue(void 0, b);
}
}
function defaultToConfig2(a, b) {
if (!utils.isUndefined(b)) {
return getMergedValue(void 0, b);
} else if (!utils.isUndefined(a)) {
return getMergedValue(void 0, a);
}
}
function mergeDirectKeys(a, b, prop) {
if (prop in config2) {
return getMergedValue(a, b);
} else if (prop in config1) {
return getMergedValue(void 0, a);
}
}
const mergeMap = {
url: valueFromConfig2,
method: valueFromConfig2,
data: valueFromConfig2,
baseURL: defaultToConfig2,
transformRequest: defaultToConfig2,
transformResponse: defaultToConfig2,
paramsSerializer: defaultToConfig2,
timeout: defaultToConfig2,
timeoutMessage: defaultToConfig2,
withCredentials: defaultToConfig2,
adapter: defaultToConfig2,
responseType: defaultToConfig2,
xsrfCookieName: defaultToConfig2,
xsrfHeaderName: defaultToConfig2,
onUploadProgress: defaultToConfig2,
onDownloadProgress: defaultToConfig2,
decompress: defaultToConfig2,
maxContentLength: defaultToConfig2,
maxBodyLength: defaultToConfig2,
beforeRedirect: defaultToConfig2,
transport: defaultToConfig2,
httpAgent: defaultToConfig2,
httpsAgent: defaultToConfig2,
cancelToken: defaultToConfig2,
socketPath: defaultToConfig2,
responseEncoding: defaultToConfig2,
validateStatus: mergeDirectKeys,
headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)
};
utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {
const merge2 = mergeMap[prop] || mergeDeepProperties;
const configValue = merge2(config1[prop], config2[prop], prop);
utils.isUndefined(configValue) && merge2 !== mergeDirectKeys || (config[prop] = configValue);
});
return config;
}
const VERSION = "1.5.1";
const validators$1 = {};
["object", "boolean", "number", "function", "string", "symbol"].forEach((type, i) => {
validators$1[type] = function validator55(thing) {
return typeof thing === type || "a" + (i < 1 ? "n " : " ") + type;
};
});
const deprecatedWarnings = {};
validators$1.transitional = function transitional(validator55, version2, message) {
function formatMessage(opt, desc) {
return "[Axios v" + VERSION + "] Transitional option '" + opt + "'" + desc + (message ? ". " + message : "");
}
return (value, opt, opts) => {
if (validator55 === false) {
throw new AxiosError(
formatMessage(opt, " has been removed" + (version2 ? " in " + version2 : "")),
AxiosError.ERR_DEPRECATED
);
}
if (version2 && !deprecatedWarnings[opt]) {
deprecatedWarnings[opt] = true;
console.warn(
formatMessage(
opt,
" has been deprecated since v" + version2 + " and will be removed in the near future"
)
);
}
return validator55 ? validator55(value, opt, opts) : true;
};
};
function assertOptions(options, schema, allowUnknown) {
if (typeof options !== "object") {
throw new AxiosError("options must be an object", AxiosError.ERR_BAD_OPTION_VALUE);
}
const keys2 = Object.keys(options);
let i = keys2.length;
while (i-- > 0) {
const opt = keys2[i];
const validator55 = schema[opt];
if (validator55) {
const value = options[opt];
const result = value === void 0 || validator55(value, opt, options);
if (result !== true) {
throw new AxiosError("option " + opt + " must be " + result, AxiosError.ERR_BAD_OPTION_VALUE);
}
continue;
}
if (allowUnknown !== true) {
throw new AxiosError("Unknown option " + opt, AxiosError.ERR_BAD_OPTION);
}
}
}
const validator54 = {
assertOptions,
validators: validators$1
};
const validators = validator54.validators;
class Axios {
constructor(instanceConfig) {
this.defaults = instanceConfig;
this.interceptors = {
request: new InterceptorManager$1(),
response: new InterceptorManager$1()
};
}
/**
* Dispatch a request
*
* @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)
* @param {?Object} config
*
* @returns {Promise} The Promise to be fulfilled
*/
request(configOrUrl, config) {
if (typeof configOrUrl === "string") {
config = config || {};
config.url = configOrUrl;
} else {
config = configOrUrl || {};
}
config = mergeConfig(this.defaults, config);
const { transitional: transitional2, paramsSerializer, headers } = config;
if (transitional2 !== void 0) {
validator54.assertOptions(transitional2, {
silentJSONParsing: validators.transitional(validators.boolean),
forcedJSONParsing: validators.transitional(validators.boolean),
clarifyTimeoutError: validators.transitional(validators.boolean)
}, false);
}
if (paramsSerializer != null) {
if (utils.isFunction(paramsSerializer)) {
config.paramsSerializer = {
serialize: paramsSerializer
};
} else {
validator54.assertOptions(paramsSerializer, {
encode: validators.function,
serialize: validators.function
}, true);
}
}
config.method = (config.method || this.defaults.method || "get").toLowerCase();
let contextHeaders = headers && utils.merge(
headers.common,
headers[config.method]
);
headers && utils.forEach(
["delete", "get", "head", "post", "put", "patch", "common"],
(method) => {
delete headers[method];
}
);
config.headers = AxiosHeaders$1.concat(contextHeaders, headers);
const requestInterceptorChain = [];
let synchronousRequestInterceptors = true;
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
if (typeof interceptor.runWhen === "function" && interceptor.runWhen(config) === false) {
return;
}
synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
});
const responseInterceptorChain = [];
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
});
let promise;
let i = 0;
let len2;
if (!synchronousRequestInterceptors) {
const chain = [dispatchRequest.bind(this), void 0];
chain.unshift.apply(chain, requestInterceptorChain);
chain.push.apply(chain, responseInterceptorChain);
len2 = chain.length;
promise = Promise.resolve(config);
while (i < len2) {
promise = promise.then(chain[i++], chain[i++]);
}
return promise;
}
len2 = requestInterceptorChain.length;
let newConfig = config;
i = 0;
while (i < len2) {
const onFulfilled = requestInterceptorChain[i++];
const onRejected = requestInterceptorChain[i++];
try {
newConfig = onFulfilled(newConfig);
} catch (error4) {
onRejected.call(this, error4);
break;
}
}
try {
promise = dispatchRequest.call(this, newConfig);
} catch (error4) {
return Promise.reject(error4);
}
i = 0;
len2 = responseInterceptorChain.length;
while (i < len2) {
promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);
}
return promise;
}
getUri(config) {
config = mergeConfig(this.defaults, config);
const fullPath = buildFullPath(config.baseURL, config.url);
return buildURL(fullPath, config.params, config.paramsSerializer);
}
}
utils.forEach(["delete", "get", "head", "options"], function forEachMethodNoData(method) {
Axios.prototype[method] = function(url, config) {
return this.request(mergeConfig(config || {}, {
method,
url,
data: (config || {}).data
}));
};
});
utils.forEach(["post", "put", "patch"], function forEachMethodWithData(method) {
function generateHTTPMethod(isForm) {
return function httpMethod(url, data2, config) {
return this.request(mergeConfig(config || {}, {
method,
headers: isForm ? {
"Content-Type": "multipart/form-data"
} : {},
url,
data: data2
}));
};
}
Axios.prototype[method] = generateHTTPMethod();
Axios.prototype[method + "Form"] = generateHTTPMethod(true);
});
const Axios$1 = Axios;
class CancelToken {
constructor(executor) {
if (typeof executor !== "function") {
throw new TypeError("executor must be a function.");
}
let resolvePromise;
this.promise = new Promise(function promiseExecutor(resolve2) {
resolvePromise = resolve2;
});
const token = this;
this.promise.then((cancel) => {
if (!token._listeners)
return;
let i = token._listeners.length;
while (i-- > 0) {
token._listeners[i](cancel);
}
token._listeners = null;
});
this.promise.then = (onfulfilled) => {
let _resolve;
const promise = new Promise((resolve2) => {
token.subscribe(resolve2);
_resolve = resolve2;
}).then(onfulfilled);
promise.cancel = function reject2() {
token.unsubscribe(_resolve);
};
return promise;
};
executor(function cancel(message, config, request) {
if (token.reason) {
return;
}
token.reason = new CanceledError(message, config, request);
resolvePromise(token.reason);
});
}
/**
* Throws a `CanceledError` if cancellation has been requested.
*/
throwIfRequested() {
if (this.reason) {
throw this.reason;
}
}
/**
* Subscribe to the cancel signal
*/
subscribe(listener) {
if (this.reason) {
listener(this.reason);
return;
}
if (this._listeners) {
this._listeners.push(listener);
} else {
this._listeners = [listener];
}
}
/**
* Unsubscribe from the cancel signal
*/
unsubscribe(listener) {
if (!this._listeners) {
return;
}
const index2 = this._listeners.indexOf(listener);
if (index2 !== -1) {
this._listeners.splice(index2, 1);
}
}
/**
* Returns an object that contains a new `CancelToken` and a function that, when called,
* cancels the `CancelToken`.
*/
static source() {
let cancel;
const token = new CancelToken(function executor(c) {
cancel = c;
});
return {
token,
cancel
};
}
}
const CancelToken$1 = CancelToken;
function spread(callback) {
return function wrap(arr) {
return callback.apply(null, arr);
};
}
function isAxiosError(payload) {
return utils.isObject(payload) && payload.isAxiosError === true;
}
const HttpStatusCode = {
Continue: 100,
SwitchingProtocols: 101,
Processing: 102,
EarlyHints: 103,
Ok: 200,
Created: 201,
Accepted: 202,
NonAuthoritativeInformation: 203,
NoContent: 204,
ResetContent: 205,
PartialContent: 206,
MultiStatus: 207,
AlreadyReported: 208,
ImUsed: 226,
MultipleChoices: 300,
MovedPermanently: 301,
Found: 302,
SeeOther: 303,
NotModified: 304,
UseProxy: 305,
Unused: 306,
TemporaryRedirect: 307,
PermanentRedirect: 308,
BadRequest: 400,
Unauthorized: 401,
PaymentRequired: 402,
Forbidden: 403,
NotFound: 404,
MethodNotAllowed: 405,
NotAcceptable: 406,
ProxyAuthenticationRequired: 407,
RequestTimeout: 408,
Conflict: 409,
Gone: 410,
LengthRequired: 411,
PreconditionFailed: 412,
PayloadTooLarge: 413,
UriTooLong: 414,
UnsupportedMediaType: 415,
RangeNotSatisfiable: 416,
ExpectationFailed: 417,
ImATeapot: 418,
MisdirectedRequest: 421,
UnprocessableEntity: 422,
Locked: 423,
FailedDependency: 424,
TooEarly: 425,
UpgradeRequired: 426,
PreconditionRequired: 428,
TooManyRequests: 429,
RequestHeaderFieldsTooLarge: 431,
UnavailableForLegalReasons: 451,
InternalServerError: 500,
NotImplemented: 501,
BadGateway: 502,
ServiceUnavailable: 503,
GatewayTimeout: 504,
HttpVersionNotSupported: 505,
VariantAlsoNegotiates: 506,
InsufficientStorage: 507,
LoopDetected: 508,
NotExtended: 510,
NetworkAuthenticationRequired: 511
};
Object.entries(HttpStatusCode).forEach(([key2, value]) => {
HttpStatusCode[value] = key2;
});
const HttpStatusCode$1 = HttpStatusCode;
function createInstance2(defaultConfig2) {
const context = new Axios$1(defaultConfig2);
const instance = bind(Axios$1.prototype.request, context);
utils.extend(instance, Axios$1.prototype, context, { allOwnKeys: true });
utils.extend(instance, context, null, { allOwnKeys: true });
instance.create = function create(instanceConfig) {
return createInstance2(mergeConfig(defaultConfig2, instanceConfig));
};
return instance;
}
const axios = createInstance2(defaults$1);
axios.Axios = Axios$1;
axios.CanceledError = CanceledError;
axios.CancelToken = CancelToken$1;
axios.isCancel = isCancel;
axios.VERSION = VERSION;
axios.toFormData = toFormData;
axios.AxiosError = AxiosError;
axios.Cancel = axios.CanceledError;
axios.all = function all(promises) {
return Promise.all(promises);
};
axios.spread = spread;
axios.isAxiosError = isAxiosError;
axios.mergeConfig = mergeConfig;
axios.AxiosHeaders = AxiosHeaders$1;
axios.formToJSON = (thing) => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);
axios.getAdapter = adapters.getAdapter;
axios.HttpStatusCode = HttpStatusCode$1;
axios.default = axios;
const axios$1 = axios;
const useTianyiCloud = () => {
const userOptions = vue.ref({
shareDelay: 500,
expireTime: ExpireTimeEnum$7.forever,
shareInfo: [],
shareInfoUserSee: "",
shareProgress: 0,
selectFileInfoList: [],
isSharing: false
});
const handleTransformFormat = (info3) => {
let time = "";
switch (info3.expireTime) {
case ExpireTimeEnum$7.oneDay:
time = "1天";
break;
case ExpireTimeEnum$7.sevenDay:
time = "7天";
break;
case ExpireTimeEnum$7.forever:
time = "永久";
break;
default:
time = "未知";
}
return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.accessCode} 分享有效时间: ${time}`;
};
const handleTransformShareParams = (params) => {
return {
noCache: Math.random(),
fileId: params.id,
expireTime: params.expireTime,
shareType: "3"
//固定值
};
};
const handleBatchOperation = async () => {
var _a, _b, _c, _d, _e;
const selectDOM = document.querySelectorAll((_a = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _a.select);
if (!selectDOM.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
userOptions.value.isSharing = true;
userOptions.value.selectFileInfoList = [];
for (let dom of selectDOM) {
userOptions.value.selectFileInfoList.push({
id: dom.getAttribute((_c = (_b = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) ?? "",
fileName: ((_e = dom.querySelector((_d = ShareDOMSelect["cloudTianyi"]) == null ? void 0 : _d.fileNameSelect)) == null ? void 0 : _e.textContent) ?? "(!!$$未知名称!!$$)",
expireTime: userOptions.value.expireTime
});
}
for (let fileInfo of userOptions.value.selectFileInfoList) {
const { data: { shareLinkList } } = await axios$1({
method: "get",
url: window.location.origin + "/api/open/share/createShareLink.action",
params: handleTransformShareParams(fileInfo),
headers: {
"accept": "application/json;charset=UTF-8"
}
}).catch(() => ({ data: { shareLinkList: [] } }));
let tempData = {
...shareLinkList[0],
...fileInfo
};
userOptions.value.shareInfo.push(tempData);
userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareInfo = [];
userOptions.value.selectFileInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
userOptions,
handleBatchOperation,
handleTransformFormat,
handleTransformShareParams,
handleEnd,
copyValue,
download
};
};
const _withScopeId$8 = (n) => (vue.pushScopeId("data-v-7196713c"), n = n(), vue.popScopeId(), n);
const _hoisted_1$9 = { class: "tianyiCloud" };
const _hoisted_2$8 = { class: "tianyiCloud_option" };
const _hoisted_3$8 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
const _hoisted_4$8 = { class: "tianyiCloud_option_time" };
const _hoisted_5$8 = { class: "tianyiCloud_operation" };
const _hoisted_6$8 = { class: "tianyiCloud_progress" };
const _hoisted_7$8 = { class: "tianyiCloud_result" };
const _sfc_main$a = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = useTianyiCloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$9, [
vue.createElementVNode("div", _hoisted_2$8, [
_hoisted_3$8,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).expireTime,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$7).oneDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("1天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$7).sevenDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("7天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$7).forever
}, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"]),
vue.createElementVNode("div", _hoisted_4$8, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
vue.createTextVNode("延迟(毫秒):")
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
])
]),
vue.createElementVNode("div", _hoisted_5$8, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_6$8, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_7$8, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const _export_sfc = (sfc, props2) => {
const target = sfc.__vccOpts || sfc;
for (const [key2, val] of props2) {
target[key2] = val;
}
return target;
};
const cloudTianyi = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-7196713c"]]);
var ExpireTimeEnum$6 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 30] = "thirtyDay";
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 0] = "forever";
return ExpireTimeEnum2;
})(ExpireTimeEnum$6 || {});
var HasPwdEnum = /* @__PURE__ */ ((HasPwdEnum2) => {
HasPwdEnum2[HasPwdEnum2["random"] = 0] = "random";
HasPwdEnum2[HasPwdEnum2["self"] = 1] = "self";
return HasPwdEnum2;
})(HasPwdEnum || {});
var _GM_xmlhttpRequest = /* @__PURE__ */ (() => typeof GM_xmlhttpRequest != "undefined" ? GM_xmlhttpRequest : void 0)();
var _unsafeWindow = /* @__PURE__ */ (() => typeof unsafeWindow != "undefined" ? unsafeWindow : void 0)();
const useBaiduCloud = () => {
const userOptions = vue.ref({
shareDelay: 300,
expireTime: ExpireTimeEnum$6.forever,
shareInfo: [],
shareInfoUserSee: "",
shareProgress: 0,
selectFileInfoList: [],
isSharing: false,
pwdType: HasPwdEnum.random,
pwd: ""
});
const handleTransformFormat = (info3) => {
let time = "";
switch (info3.expireTime) {
case ExpireTimeEnum$6.oneDay:
time = "1天";
break;
case ExpireTimeEnum$6.sevenDay:
time = "7天";
break;
case ExpireTimeEnum$6.thirtyDay:
time = "30天";
break;
case ExpireTimeEnum$6.forever:
time = "永久";
break;
default:
time = "未知";
}
return `文件名称: ${info3.fileName} 分享链接:${info3.link} 提取码:${info3.pwd} 分享有效时间: ${time}`;
};
const handleBatchOperation = async () => {
var _a;
const selectDOM = document.querySelector("tbody").__vue__.$store.state.detail.view.fileMeta;
if (!selectDOM.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
if (userOptions.value.pwdType === HasPwdEnum.self && !userOptions.value.pwd) {
return MessagePlugin.warning("选择自定义提取码,请设置提取码!");
}
userOptions.value.isSharing = true;
userOptions.value.selectFileInfoList = [];
for (let item of selectDOM) {
userOptions.value.selectFileInfoList.push({
id: item.fs_id,
//存储文件id
fileName: item.formatName,
//文件名称
pwd: userOptions.value.pwdType === HasPwdEnum.random ? generateRandomString(4) : userOptions.value.pwd,
expireTime: userOptions.value.expireTime
});
}
for (let fileInfo of userOptions.value.selectFileInfoList) {
const { locals } = _unsafeWindow ?? {};
const { data: data2 } = await axios$1({
method: "post",
url: window.location.origin + "/share/set",
params: {
channel: "channel",
clienttype: "0",
bdstoken: (_a = locals == null ? void 0 : locals.userInfo) == null ? void 0 : _a.bdstoken,
app_id: "250528",
//未知-好像是定值
web: 1
//'dp-logid':'96456600647322280113',//未知
},
data: {
period: fileInfo.expireTime,
pwd: fileInfo.pwd,
"eflag_disable": true,
//不知道是什么参数,好像是分享类型eflag_disable: "personal" === e.shareType
channel_list: [],
//未知
schannel: 4,
//未知-貌似是一个定制
fid_list: `[${fileInfo.id}]`
//文件id
},
headers: {
"accept": "application/json;charset=UTF-8",
"Content-Type": " application/x-www-form-urlencoded"
}
}).catch(() => ({}));
let tempData = {
...data2,
...fileInfo
};
userOptions.value.shareInfo.push(tempData);
userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareInfo = [];
userOptions.value.selectFileInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
userOptions,
handleBatchOperation,
handleTransformFormat,
handleEnd,
copyValue,
download
};
};
const _withScopeId$7 = (n) => (vue.pushScopeId("data-v-09a4b72c"), n = n(), vue.popScopeId(), n);
const _hoisted_1$8 = { class: "baiduCloud" };
const _hoisted_2$7 = { class: "baiduCloud_option" };
const _hoisted_3$7 = { class: "baiduCloud_option_item" };
const _hoisted_4$7 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
const _hoisted_5$7 = { class: "baiduCloud_option_item" };
const _hoisted_6$7 = /* @__PURE__ */ _withScopeId$7(() => /* @__PURE__ */ vue.createElementVNode("span", null, "提取码:", -1));
const _hoisted_7$7 = {
key: 0,
style: { "margin-top": "4px" }
};
const _hoisted_8$6 = { class: "baiduCloud_operation" };
const _hoisted_9$6 = { class: "baiduCloud_progress" };
const _hoisted_10$4 = { class: "baiduCloud_result" };
const _sfc_main$9 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = useBaiduCloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_input = vue.resolveComponent("t-input");
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$8, [
vue.createElementVNode("div", _hoisted_2$7, [
vue.createElementVNode("div", _hoisted_3$7, [
_hoisted_4$7,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).expireTime,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$6).oneDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("1天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$6).sevenDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("7天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$6).thirtyDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("30天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$6).forever
}, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"]),
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
vue.createTextVNode(" 延迟(毫秒):")
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_5$7, [
_hoisted_6$7,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).pwdType,
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(HasPwdEnum).random
}, {
default: vue.withCtx(() => [
vue.createTextVNode("随机提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(HasPwdEnum).self
}, {
default: vue.withCtx(() => [
vue.createTextVNode("自定义提取码")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"]),
vue.unref(userOptions).pwdType === vue.unref(HasPwdEnum).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7$7, [
vue.createVNode(_component_t_input, {
modelValue: vue.unref(userOptions).pwd,
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).pwd = $event),
placeholder: "请输入自定义提取码(只支持数字和英文,最长4位)",
maxlength: "4"
}, null, 8, ["modelValue"])
])) : vue.createCommentVNode("", true)
])
]),
vue.createElementVNode("div", _hoisted_8$6, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_9$6, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_10$4, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloudBaidu = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-09a4b72c"]]);
var ExpireTimeEnum$5 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
return ExpireTimeEnum2;
})(ExpireTimeEnum$5 || {});
const use115Cloud = () => {
const shareDelay = vue.ref(500);
const expireTime = vue.ref(ExpireTimeEnum$5.forever);
const shareInfo = vue.ref([]);
const shareInfoUserSee = vue.ref("");
const shareProgress = vue.ref(0);
const selectFileInfoList = vue.ref([]);
const isSharing = vue.ref(false);
const handleTransformFormat = (info3) => {
return `文件名称: ${info3.fileName} 分享链接:${info3.share_url} 提取码:${info3.receive_code} 分享有效时间: ${info3.share_ex_duration}`;
};
const handleBatchOperation = async () => {
var _a, _b, _c, _d, _e;
const iframe = document.querySelector("iframe");
const iframeWindow = iframe.contentWindow ?? _unsafeWindow;
const selectDOM = iframeWindow.document.querySelectorAll((_a = ShareDOMSelect["cloud115"]) == null ? void 0 : _a.select);
if (!selectDOM.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
isSharing.value = true;
shareInfo.value = [];
for (let dom of selectDOM) {
const id = (dom.getAttribute((_c = (_b = ShareDOMSelect["cloud115"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) || dom.getAttribute((_e = (_d = ShareDOMSelect["cloud115"]) == null ? void 0 : _d.idAttribute) == null ? void 0 : _e[1])) ?? "";
const title = dom.getAttribute("title");
selectFileInfoList.value.push({
id,
//存储文件id
fileName: title ?? "(!!$$未知名称!!$$)"
//文件名称
});
}
for (let fileInfo of selectFileInfoList.value) {
const formData = new FormData();
const { user_id } = _unsafeWindow || {};
formData.append("user_id", user_id);
formData.append("file_ids", fileInfo.id + "");
formData.append("ignore_warn", "1");
formData.append("is_asc", "0");
formData.append("order", "user_ptime");
_GM_xmlhttpRequest({
method: "post",
url: "https://webapi.115.com/share/send",
headers: {
"Accept": "application/json, text/javascript, */*; q=0.01"
},
data: formData,
onload: ({ response }) => {
const result = JSON.parse(response);
let tempData = {
...result.data || {},
fileName: fileInfo.fileName
};
shareInfo.value.push(tempData);
shareInfoUserSee.value += handleTransformFormat(tempData) + "\n";
shareProgress.value = Math.floor(shareInfo.value.length / selectFileInfoList.value.length * 100);
},
onerror: (res) => {
console.error("失败", res);
}
});
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, shareDelay.value);
});
}
shareProgress.value = 100;
isSharing.value = false;
MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
shareInfo.value = [];
shareInfoUserSee.value = "";
shareProgress.value = 0;
};
const copyValue = () => {
CopyValueToClipBoard(shareInfoUserSee.value + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, shareInfoUserSee.value);
};
return {
shareDelay,
expireTime,
shareInfo,
selectFileInfoList,
shareInfoUserSee,
isSharing,
shareProgress,
handleBatchOperation,
handleTransformFormat,
handleEnd,
copyValue,
download
};
};
const _withScopeId$6 = (n) => (vue.pushScopeId("data-v-c2f69db3"), n = n(), vue.popScopeId(), n);
const _hoisted_1$7 = { class: "cloud115" };
const _hoisted_2$6 = { class: "cloud115_option" };
const _hoisted_3$6 = /* @__PURE__ */ _withScopeId$6(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
const _hoisted_4$6 = { class: "cloud115_option_time" };
const _hoisted_5$6 = { class: "cloud115_operation" };
const _hoisted_6$6 = { class: "cloud115_progress" };
const _hoisted_7$6 = { class: "cloud115_result" };
const _sfc_main$8 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
expireTime,
shareDelay,
isSharing,
shareInfoUserSee,
shareProgress,
handleBatchOperation,
handleEnd,
copyValue,
download
} = use115Cloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$7, [
vue.createElementVNode("div", _hoisted_2$6, [
_hoisted_3$6,
vue.createVNode(_component_t_radio_group, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, null, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
})
]),
_: 1
}),
vue.createElementVNode("div", _hoisted_4$6, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
vue.createTextVNode("延迟(毫秒):")
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(shareDelay),
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.isRef(shareDelay) ? shareDelay.value = $event : null),
step: "100"
}, null, 8, ["modelValue"])
])
]),
vue.createElementVNode("div", _hoisted_5$6, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(isSharing)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_6$6, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(shareProgress),
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_7$6, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(shareInfoUserSee),
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloud115 = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-c2f69db3"]]);
var ExpireTimeEnum$4 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 2] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 3] = "thirtyDay";
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 4] = "forever";
return ExpireTimeEnum2;
})(ExpireTimeEnum$4 || {});
var DefaultShowEnum$1 = /* @__PURE__ */ ((DefaultShowEnum2) => {
DefaultShowEnum2[DefaultShowEnum2["tile"] = 2] = "tile";
DefaultShowEnum2[DefaultShowEnum2["list"] = 1] = "list";
return DefaultShowEnum2;
})(DefaultShowEnum$1 || {});
var PwdEnum$2 = /* @__PURE__ */ ((PwdEnum2) => {
PwdEnum2[PwdEnum2["no"] = 0] = "no";
PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
PwdEnum2[PwdEnum2["self"] = 2] = "self";
return PwdEnum2;
})(PwdEnum$2 || {});
const use123Cloud = () => {
const userOptions = vue.ref({
expiration: ExpireTimeEnum$4.forever,
displayStatus: DefaultShowEnum$1.list,
pwdType: PwdEnum$2.yes,
pwd: "",
//自定义提取码或随机提取码
shareDelay: 500,
shareProgress: 0,
shareResultInfoList: [],
shareInfoUserSee: "",
isSharing: false
});
const transformOptions = (params) => {
let sharePwd = "";
if (params.pwdType === PwdEnum$2.yes) {
sharePwd = generateRandomString(4);
} else if (params.pwdType === PwdEnum$2.self) {
sharePwd = params.pwd;
}
let expiration;
switch (params.expiration) {
case ExpireTimeEnum$4.oneDay:
expiration = getDate123Cloud(1);
break;
case ExpireTimeEnum$4.sevenDay:
expiration = getDate123Cloud(7);
break;
case ExpireTimeEnum$4.thirtyDay:
expiration = getDate123Cloud(30);
break;
case ExpireTimeEnum$4.forever:
expiration = getDate123Cloud(99);
break;
}
return {
displayStatus: params.displayStatus,
sharePwd,
expiration
};
};
const transformInfoStyle = (info3) => {
let time;
switch (info3.timeCode) {
case ExpireTimeEnum$4.oneDay:
time = "1天";
break;
case ExpireTimeEnum$4.sevenDay:
time = "7天";
break;
case ExpireTimeEnum$4.thirtyDay:
time = "30天";
break;
case ExpireTimeEnum$4.forever:
time = "永久";
break;
default:
time = "未知";
}
return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "为空"} 分享有效时间: ${time}`;
};
const transformResult = (result) => {
const { data: data2 } = result || {};
return {
ShareKey: (data2 == null ? void 0 : data2.ShareKey) ?? "分享失败",
message: result.message ?? "",
code: result.code
};
};
const handleBatchOperation = async () => {
var _a, _b, _c;
const reactDOM = document.querySelector(".hombody");
const key2 = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
(key22) => key22.startsWith("__reactInternalInstance$")
);
const selectedRows = reactDOM[key2].memoizedProps.children[0].props.children._owner.memoizedState.selectedRows ?? [];
if (!selectedRows.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
if (userOptions.value.pwdType === PwdEnum$2.self && !userOptions.value.pwd) {
return MessagePlugin.warning("设置提取码为自定义提取码,请填写自定义提取码");
}
userOptions.value.isSharing = true;
for (let fileInfo of selectedRows) {
const data2 = {
...transformOptions(userOptions.value),
driveId: 0,
event: "shareCreate",
fileIdList: fileInfo.FileId,
//文件id
fileNum: 1,
//文件数量,
operatePlace: 1,
renameVisible: false,
shareModality: 2,
shareName: fileInfo.FileName
//分享文件名
};
const randomParams = get123CloudSecret();
const { data: backData } = await axios$1({
method: "post",
url: `${window.location.origin}/a/api/share/create`,
params: {
[randomParams[0]]: randomParams[1]
},
data: data2,
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Authorization": "Bearer " + ((_b = localStorage.getItem("authorToken")) == null ? void 0 : _b.slice(1, -1)),
"LoginUuid": (_c = localStorage.getItem("LoginUuid")) == null ? void 0 : _c.slice(1, -1),
"platform": "web"
}
}).catch(() => ({ data: {} }));
const backResult = transformResult(backData);
let tempData = {
fileName: fileInfo.FileName,
url: `${window.location.origin}/s/` + backResult.ShareKey,
pwd: data2.sharePwd,
time: data2.expiration,
timeCode: userOptions.value.expiration
};
userOptions.value.shareResultInfoList.push(tempData);
userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareResultInfoList.length / selectedRows.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareResultInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
userOptions,
transformOptions,
transformInfoStyle,
transformResult,
handleBatchOperation,
handleEnd,
copyValue,
download
};
};
const _withScopeId$5 = (n) => (vue.pushScopeId("data-v-99bbe20d"), n = n(), vue.popScopeId(), n);
const _hoisted_1$6 = { class: "cloud123" };
const _hoisted_2$5 = { class: "cloud123_operation" };
const _hoisted_3$5 = { class: "cloud123_progress" };
const _hoisted_4$5 = { class: "cloud123_option" };
const _hoisted_5$5 = { class: "cloud123_option_item" };
const _hoisted_6$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "延迟(毫秒):", -1));
const _hoisted_7$5 = { class: "cloud123_option_item" };
const _hoisted_8$5 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "有效期:", -1));
const _hoisted_9$5 = { class: "cloud123_option_item" };
const _hoisted_10$3 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "默认展示:", -1));
const _hoisted_11$3 = { class: "cloud123_option_item" };
const _hoisted_12 = /* @__PURE__ */ _withScopeId$5(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud123_option_item_title" }, "分享形式:", -1));
const _hoisted_13 = { class: "cloud123_result" };
const _sfc_main$7 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = use123Cloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_input = vue.resolveComponent("t-input");
const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
const _component_t_collapse = vue.resolveComponent("t-collapse");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$6, [
vue.createElementVNode("div", _hoisted_2$5, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_3$5, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_4$5, [
vue.createVNode(_component_t_collapse, {
expandMutex: "",
"default-expand-all": ""
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_collapse_panel, {
value: "0",
header: "分享配置"
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_5$5, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
_hoisted_6$5
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_7$5, [
_hoisted_8$5,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).expiration,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expiration = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$4).oneDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("1天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$4).sevenDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("7天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$4).thirtyDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("30天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$4).forever
}, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_9$5, [
_hoisted_10$3,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).displayStatus,
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).displayStatus = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(DefaultShowEnum$1).tile
}, {
default: vue.withCtx(() => [
vue.createTextVNode("平铺")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(DefaultShowEnum$1).list
}, {
default: vue.withCtx(() => [
vue.createTextVNode("列表")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_11$3, [
_hoisted_12,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).pwdType,
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).pwdType = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum$2).no
}, {
default: vue.withCtx(() => [
vue.createTextVNode("无提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum$2).yes
}, {
default: vue.withCtx(() => [
vue.createTextVNode("随机提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum$2).self
}, {
default: vue.withCtx(() => [
vue.createTextVNode("自定义提取码")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
]),
vue.unref(userOptions).pwdType === vue.unref(PwdEnum$2).self ? (vue.openBlock(), vue.createBlock(_component_t_input, {
key: 0,
modelValue: vue.unref(userOptions).pwd,
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => vue.unref(userOptions).pwd = $event),
placeholder: "请输入自定义提取码",
maxlength: "4"
}, null, 8, ["modelValue"])) : vue.createCommentVNode("", true)
]),
_: 1
})
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_13, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloud123 = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-99bbe20d"]]);
var PwdEnum$1 = /* @__PURE__ */ ((PwdEnum2) => {
PwdEnum2[PwdEnum2["no"] = 0] = "no";
PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
PwdEnum2[PwdEnum2["self"] = 2] = "self";
return PwdEnum2;
})(PwdEnum$1 || {});
var TaskEnum = /* @__PURE__ */ ((TaskEnum2) => {
TaskEnum2[TaskEnum2["file"] = 18] = "file";
TaskEnum2[TaskEnum2["share"] = 22] = "share";
TaskEnum2[TaskEnum2["setCodeFile"] = 23] = "setCodeFile";
TaskEnum2[TaskEnum2["setCodeFolder"] = 16] = "setCodeFolder";
TaskEnum2[TaskEnum2["reqFolderList"] = 47] = "reqFolderList";
TaskEnum2[TaskEnum2["reqFileList"] = 5] = "reqFileList";
return TaskEnum2;
})(TaskEnum || {});
var events = ["load", "loadend", "timeout", "error", "readystatechange", "abort"];
var OriginXhr = "__origin_xhr";
function configEvent(event, xhrProxy) {
var e = {};
for (var attr in event)
e[attr] = event[attr];
e.target = e.currentTarget = xhrProxy;
return e;
}
function hook(proxy2, win) {
win = win || window;
var originXhr = win.XMLHttpRequest;
var hooking = true;
var HookXMLHttpRequest = function() {
var xhr = new originXhr();
for (var i = 0; i < events.length; ++i) {
var key2 = "on" + events[i];
if (xhr[key2] === void 0)
xhr[key2] = null;
}
for (var attr in xhr) {
var type = "";
try {
type = typeof xhr[attr];
} catch (e) {
}
if (type === "function") {
this[attr] = hookFunction(attr);
} else if (attr !== OriginXhr) {
Object.defineProperty(this, attr, {
get: getterFactory(attr),
set: setterFactory(attr),
enumerable: true
});
}
}
var that = this;
xhr.getProxy = function() {
return that;
};
this[OriginXhr] = xhr;
};
HookXMLHttpRequest.prototype = originXhr.prototype;
HookXMLHttpRequest.prototype.constructor = HookXMLHttpRequest;
win.XMLHttpRequest = HookXMLHttpRequest;
Object.assign(win.XMLHttpRequest, { UNSENT: 0, OPENED: 1, HEADERS_RECEIVED: 2, LOADING: 3, DONE: 4 });
function getterFactory(attr) {
return function() {
var originValue = this[OriginXhr][attr];
if (hooking) {
var v = this.hasOwnProperty(attr + "_") ? this[attr + "_"] : originValue;
var attrGetterHook = (proxy2[attr] || {})["getter"];
return attrGetterHook && attrGetterHook(v, this) || v;
} else {
return originValue;
}
};
}
function setterFactory(attr) {
return function(v) {
var xhr = this[OriginXhr];
if (hooking) {
var that = this;
var hook2 = proxy2[attr];
if (attr.substring(0, 2) === "on") {
that[attr + "_"] = v;
xhr[attr] = function(e) {
e = configEvent(e, that);
var ret = proxy2[attr] && proxy2[attr].call(that, xhr, e);
ret || v.call(that, e);
};
} else {
var attrSetterHook = (hook2 || {})["setter"];
v = attrSetterHook && attrSetterHook(v, that) || v;
this[attr + "_"] = v;
try {
xhr[attr] = v;
} catch (e) {
}
}
} else {
xhr[attr] = v;
}
};
}
function hookFunction(fun) {
return function() {
var args = [].slice.call(arguments);
if (proxy2[fun] && hooking) {
var ret = proxy2[fun].call(this, args, this[OriginXhr]);
if (ret)
return ret;
}
return this[OriginXhr][fun].apply(this[OriginXhr], args);
};
}
function unHook() {
hooking = false;
if (win.XMLHttpRequest === HookXMLHttpRequest) {
win.XMLHttpRequest = originXhr;
HookXMLHttpRequest.prototype.constructor = originXhr;
originXhr = void 0;
}
}
return { originXhr, unHook };
}
var eventLoad = events[0], eventLoadEnd = events[1], eventTimeout = events[2], eventError = events[3], eventReadyStateChange = events[4], eventAbort = events[5];
var prototype = "prototype";
function proxy(proxy2, win) {
win = win || window;
return proxyAjax(proxy2, win);
}
function trim2(str) {
return str.replace(/^\s+|\s+$/g, "");
}
function getEventTarget(xhr) {
return xhr.watcher || (xhr.watcher = document.createElement("a"));
}
function triggerListener(xhr, name) {
var xhrProxy = xhr.getProxy();
var callback = "on" + name + "_";
var event = configEvent({ type: name }, xhrProxy);
xhrProxy[callback] && xhrProxy[callback](event);
var evt;
if (typeof Event === "function") {
evt = new Event(name, { bubbles: false });
} else {
evt = document.createEvent("Event");
evt.initEvent(name, false, true);
}
getEventTarget(xhr).dispatchEvent(evt);
}
function Handler(xhr) {
this.xhr = xhr;
this.xhrProxy = xhr.getProxy();
}
Handler[prototype] = /* @__PURE__ */ Object.create({
resolve: function resolve(response) {
var xhrProxy = this.xhrProxy;
var xhr = this.xhr;
xhrProxy.readyState = 4;
xhr.resHeader = response.headers;
xhrProxy.response = xhrProxy.responseText = response.response;
xhrProxy.statusText = response.statusText;
xhrProxy.status = response.status;
triggerListener(xhr, eventReadyStateChange);
triggerListener(xhr, eventLoad);
triggerListener(xhr, eventLoadEnd);
},
reject: function reject(error4) {
this.xhrProxy.status = 0;
triggerListener(this.xhr, error4.type);
triggerListener(this.xhr, eventLoadEnd);
}
});
function makeHandler(next) {
function sub(xhr) {
Handler.call(this, xhr);
}
sub[prototype] = Object.create(Handler[prototype]);
sub[prototype].next = next;
return sub;
}
var RequestHandler = makeHandler(function(rq) {
var xhr = this.xhr;
rq = rq || xhr.config;
xhr.withCredentials = rq.withCredentials;
xhr.open(rq.method, rq.url, rq.async !== false, rq.user, rq.password);
for (var key2 in rq.headers) {
xhr.setRequestHeader(key2, rq.headers[key2]);
}
xhr.send(rq.body);
});
var ResponseHandler = makeHandler(function(response) {
this.resolve(response);
});
var ErrorHandler = makeHandler(function(error4) {
this.reject(error4);
});
function proxyAjax(proxy2, win) {
var onRequest = proxy2.onRequest, onResponse = proxy2.onResponse, onError = proxy2.onError;
function getResponseData(xhrProxy) {
var responseType = xhrProxy.responseType;
if (!responseType || responseType === "text") {
return xhrProxy.responseText;
}
var response = xhrProxy.response;
if (responseType === "json" && !response) {
try {
return JSON.parse(xhrProxy.responseText);
} catch (e) {
console.warn(e);
}
}
return response;
}
function handleResponse(xhr, xhrProxy) {
var handler = new ResponseHandler(xhr);
var ret = {
response: getResponseData(xhrProxy),
status: xhrProxy.status,
statusText: xhrProxy.statusText,
config: xhr.config,
headers: xhr.resHeader || xhr.getAllResponseHeaders().split("\r\n").reduce(function(ob, str) {
if (str === "")
return ob;
var m = str.split(":");
ob[m.shift()] = trim2(m.join(":"));
return ob;
}, {})
};
if (!onResponse)
return handler.resolve(ret);
onResponse(ret, handler);
}
function onerror(xhr, xhrProxy, error4, errorType) {
var handler = new ErrorHandler(xhr);
error4 = { config: xhr.config, error: error4, type: errorType };
if (onError) {
onError(error4, handler);
} else {
handler.next(error4);
}
}
function preventXhrProxyCallback() {
return true;
}
function errorCallback(errorType) {
return function(xhr, e) {
onerror(xhr, this, e, errorType);
return true;
};
}
function stateChangeCallback(xhr, xhrProxy) {
if (xhr.readyState === 4 && xhr.status !== 0) {
handleResponse(xhr, xhrProxy);
} else if (xhr.readyState !== 4) {
triggerListener(xhr, eventReadyStateChange);
}
return true;
}
var { originXhr, unHook } = hook({
onload: preventXhrProxyCallback,
onloadend: preventXhrProxyCallback,
onerror: errorCallback(eventError),
ontimeout: errorCallback(eventTimeout),
onabort: errorCallback(eventAbort),
onreadystatechange: function(xhr) {
return stateChangeCallback(xhr, this);
},
open: function open(args, xhr) {
var _this = this;
var config = xhr.config = { headers: {} };
config.method = args[0];
config.url = args[1];
config.async = args[2];
config.user = args[3];
config.password = args[4];
config.xhr = xhr;
var evName = "on" + eventReadyStateChange;
if (!xhr[evName]) {
xhr[evName] = function() {
return stateChangeCallback(xhr, _this);
};
}
if (onRequest)
return true;
},
send: function(args, xhr) {
var config = xhr.config;
config.withCredentials = xhr.withCredentials;
config.body = args[0];
if (onRequest) {
var req = function() {
onRequest(config, new RequestHandler(xhr));
};
config.async === false ? req() : setTimeout(req);
return true;
}
},
setRequestHeader: function(args, xhr) {
xhr.config.headers[args[0].toLowerCase()] = args[1];
if (onRequest)
return true;
},
addEventListener: function(args, xhr) {
var _this = this;
if (events.indexOf(args[0]) !== -1) {
var handler = args[1];
getEventTarget(xhr).addEventListener(args[0], function(e) {
var event = configEvent(e, _this);
event.type = args[0];
event.isTrusted = true;
handler.call(_this, event);
});
return true;
}
},
getAllResponseHeaders: function(_, xhr) {
var headers = xhr.resHeader;
if (headers) {
var header = "";
for (var key2 in headers) {
header += key2 + ": " + headers[key2] + "\r\n";
}
return header;
}
},
getResponseHeader: function(args, xhr) {
var headers = xhr.resHeader;
if (headers) {
return headers[(args[0] || "").toLowerCase()];
}
}
}, win);
return {
originXhr,
unProxy: unHook
};
}
var FileTypeEnum = /* @__PURE__ */ ((FileTypeEnum2) => {
FileTypeEnum2[FileTypeEnum2["file"] = 0] = "file";
FileTypeEnum2[FileTypeEnum2["folder"] = 1] = "folder";
return FileTypeEnum2;
})(FileTypeEnum || {});
const uselanzouCloud = () => {
const userOptions = vue.ref({
pwdType: PwdEnum$1.yes,
pwd: "",
//自定义提取码或随机提取码
shareDelay: 500,
shareProgress: 0,
selectFileInfoList: [],
shareResultInfoList: [],
listData: [],
lastFolderData: [],
shareInfoUserSee: "",
isSharing: false
});
const init = () => {
proxy({
//请求成功后进入
onResponse: (response, handler) => {
var _a, _b;
if (handler.xhr.config.url.startsWith("/doupload.php")) {
console.log("拦截是否成功");
const bodyParams = bodyParse(handler.xhr.config.body ?? "");
const { task, pg } = bodyParams;
let data2 = [];
if (task * 1 === TaskEnum.reqFolderList) {
data2 = response.response ? ((_a = JSON.parse(response.response)) == null ? void 0 : _a.text) ?? [] : [];
userOptions.value.lastFolderData = data2;
userOptions.value.listData = [...vue.markRaw(userOptions.value.listData), ...data2];
} else if (task * 1 === TaskEnum.reqFileList) {
data2 = response.response ? ((_b = JSON.parse(response.response)) == null ? void 0 : _b.text) ?? [] : [];
if (pg * 1 === 1) {
userOptions.value.listData = [...vue.markRaw(userOptions.value.lastFolderData), ...data2];
} else {
userOptions.value.listData = [...vue.markRaw(userOptions.value.listData), ...data2];
}
}
}
handler.next(response);
}
});
};
init();
const transformInfoStyle = (info3) => {
return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "空"} 分享有效时间: 永久`;
};
const transformResult = (result) => {
return {
is_newd: (result == null ? void 0 : result.is_newd) ?? "",
pwd: userOptions.value.pwdType === PwdEnum$1.self ? userOptions.value.pwd : result == null ? void 0 : result.pwd,
f_id: (result == null ? void 0 : result.f_id) ?? "",
new_url: (result == null ? void 0 : result.new_url) ?? "",
name: (result == null ? void 0 : result.name) ?? ""
};
};
const handleBatchOperation = async () => {
const { selectFileInfoList } = userOptions.value;
if (!selectFileInfoList.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
userOptions.value.isSharing = true;
userOptions.value.selectFileInfoList = [];
for (let fileInfo of selectFileInfoList) {
const formData = new FormData();
formData.append("task", fileInfo.type === FileTypeEnum.file ? TaskEnum.share + "" : TaskEnum.file + "");
formData.append(fileInfo.type === FileTypeEnum.file ? "file_id" : "folder_id", fileInfo.id + "");
const { data: shareData } = await axios$1({
method: "post",
url: `${window.location.origin}/doupload.php`,
data: formData
}).catch(() => ({ data: {} }));
const backResult = transformResult((shareData == null ? void 0 : shareData.info) ?? {});
if (userOptions.value.pwdType !== PwdEnum$1.no) {
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
formData.set("task", fileInfo.type === FileTypeEnum.file ? TaskEnum.setCodeFile + "" : TaskEnum.setCodeFolder + "");
formData.append("shows", "1");
formData.append("shownames", backResult.pwd);
await axios$1({
method: "post",
url: `${window.location.origin}/doupload.php`,
data: formData
}).catch(() => ({ data: {} }));
}
let tempData = {
fileName: fileInfo.name_all || fileInfo.name,
url: fileInfo.type === FileTypeEnum.file ? backResult.is_newd + "/" + backResult.f_id : backResult.new_url,
pwd: userOptions.value.pwdType !== PwdEnum$1.no ? backResult.pwd : "空"
};
userOptions.value.shareResultInfoList.push(tempData);
userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareResultInfoList.length / userOptions.value.selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareResultInfoList = [];
userOptions.value.selectFileInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
init,
userOptions,
transformInfoStyle,
transformResult,
handleBatchOperation,
handleEnd,
copyValue,
download
};
};
const useListModule = (props2, emits) => {
const selectedRowKeys = vue.ref([]);
const selectedRowInfos = vue.ref([]);
const tableProps = vue.ref({
rowKey: "id",
columns: [
{
colKey: "row-select",
type: "multiple",
checkProps: ({ row }) => ({ disabled: row.Status === 2 }),
width: 50
},
{
colKey: "type",
title: "类型",
cell: (h2, { row }) => {
return h2("img", {
src: row["type"] === FileTypeEnum.file ? "https://pc.woozooo.com/images/filetype/txt.gif" : "https://pc.woozooo.com/images/folder_open.gif"
});
},
width: 60
},
{
colKey: "name",
title: "文件名"
},
{
colKey: "size",
title: "大小"
},
{
colKey: "time",
title: "时间"
}
],
empty: "暂无数据,请重新进入任意文件夹目录以拦截获取文件数据",
onSelectChange: (value, ctx) => {
selectedRowKeys.value = value;
selectedRowInfos.value = ctx.selectedRowData;
emits("update:ids", value);
emits("update:infos", ctx.selectedRowData);
}
});
const listData = vue.ref([]);
const transformListData = (data2) => {
if (!data2 || data2 && !(data2 == null ? void 0 : data2.length))
return [];
return (data2 == null ? void 0 : data2.map((item) => ({
id: (item == null ? void 0 : item.id) ? item == null ? void 0 : item.id : item == null ? void 0 : item.fol_id,
name_all: (item == null ? void 0 : item.name_all) ?? "",
//文件才有这个属性
name: (item == null ? void 0 : item.name) ?? "",
size: (item == null ? void 0 : item.size) ?? "-",
//文件才有
time: (item == null ? void 0 : item.time) ?? "-",
//文件才有
type: (item == null ? void 0 : item.id) ? FileTypeEnum.file : FileTypeEnum.folder
}))) ?? [];
};
return {
selectedRowKeys,
selectedRowInfos,
transformListData,
tableProps,
listData
};
};
const _hoisted_1$5 = { class: "list" };
const _sfc_main$6 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
props: {
list: {},
ids: {},
infos: {}
},
emits: ["update:ids", "update:infos"],
setup(__props, { emit: emits }) {
const props2 = __props;
const {
tableProps,
listData,
selectedRowKeys,
transformListData
} = useListModule(props2, emits);
vue.watchEffect(() => {
listData.value = transformListData(props2.list);
});
return (_ctx, _cache) => {
const _component_t_table = vue.resolveComponent("t-table");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$5, [
vue.createVNode(_component_t_table, vue.mergeProps(vue.unref(tableProps), {
data: vue.unref(listData),
"selected-row-keys": vue.unref(selectedRowKeys),
"select-on-row-click": ""
}), null, 16, ["data", "selected-row-keys"])
]);
};
}
});
const ListModule = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-1b910cfc"]]);
const _withScopeId$4 = (n) => (vue.pushScopeId("data-v-f7d1ff6d"), n = n(), vue.popScopeId(), n);
const _hoisted_1$4 = { class: "lanzouCloud" };
const _hoisted_2$4 = { class: "lanzouCloud_operation" };
const _hoisted_3$4 = { class: "lanzouCloud_progress" };
const _hoisted_4$4 = { class: "lanzouCloud_option" };
const _hoisted_5$4 = { class: "lanzouCloud_option_item" };
const _hoisted_6$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "lanzouCloud_option_item_title" }, "延迟(毫秒):", -1));
const _hoisted_7$4 = { class: "lanzouCloud_option_item" };
const _hoisted_8$4 = /* @__PURE__ */ _withScopeId$4(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "lanzouCloud_option_item_title" }, "分享形式:", -1));
const _hoisted_9$4 = {
key: 0,
style: { "margin-top": "4px" }
};
const _hoisted_10$2 = { style: { "height": "60vh", "overflow-y": "scroll" } };
const _hoisted_11$2 = { class: "lanzouCloud_result" };
const _sfc_main$5 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = uselanzouCloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_input = vue.resolveComponent("t-input");
const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
const _component_t_collapse = vue.resolveComponent("t-collapse");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$4, [
vue.createElementVNode("div", _hoisted_2$4, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_3$4, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_4$4, [
vue.createVNode(_component_t_collapse, { expandMutex: "" }, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_collapse_panel, {
value: "0",
header: "分享配置"
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_5$4, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
_hoisted_6$4
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_7$4, [
_hoisted_8$4,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).pwdType,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).pwdType = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum$1).no
}, {
default: vue.withCtx(() => [
vue.createTextVNode("无提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum$1).yes
}, {
default: vue.withCtx(() => [
vue.createTextVNode("随机提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum$1).self
}, {
default: vue.withCtx(() => [
vue.createTextVNode("自定义提取码")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
]),
vue.unref(userOptions).pwdType === vue.unref(PwdEnum$1).self ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_9$4, [
vue.createVNode(_component_t_input, {
modelValue: vue.unref(userOptions).pwd,
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwd = $event),
placeholder: "请输入自定义提取码(只支持数字和英文,最少2位最长6位)",
maxlength: "6"
}, null, 8, ["modelValue"])
])) : vue.createCommentVNode("", true)
]),
_: 1
}),
vue.createVNode(_component_t_collapse_panel, {
value: "1",
header: "文件选择"
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_10$2, [
vue.createVNode(ListModule, {
list: vue.unref(userOptions).listData,
infos: vue.unref(userOptions).selectFileInfoList,
"onUpdate:infos": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).selectFileInfoList = $event)
}, null, 8, ["list", "infos"])
])
]),
_: 1
})
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_11$2, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloudLanZou = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-f7d1ff6d"]]);
var ExpireTimeEnum$3 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 1] = "forever";
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 2] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 3] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 4] = "thirtyDay";
return ExpireTimeEnum2;
})(ExpireTimeEnum$3 || {});
var HasPwd = /* @__PURE__ */ ((HasPwd2) => {
HasPwd2[HasPwd2["no"] = 0] = "no";
HasPwd2[HasPwd2["yes"] = 1] = "yes";
return HasPwd2;
})(HasPwd || {});
var UrlTypeEnum = /* @__PURE__ */ ((UrlTypeEnum2) => {
UrlTypeEnum2[UrlTypeEnum2["noPwd"] = 1] = "noPwd";
UrlTypeEnum2[UrlTypeEnum2["hasPwd"] = 2] = "hasPwd";
return UrlTypeEnum2;
})(UrlTypeEnum || {});
function getTaskID(data2) {
return new Promise((resolve2, reject2) => {
_GM_xmlhttpRequest({
method: "post",
url: "https://drive-pc.quark.cn/1/clouddrive/share?pr=ucpro&fr=pc",
headers: {
"accept": "application/json, text/plain, */*",
"content-type": "application/json"
},
data: JSON.stringify(data2),
onload: ({ response }) => {
const { data: data22 } = JSON.parse(response) || {};
const task_id = (data22 == null ? void 0 : data22.task_id) ?? "";
resolve2(task_id);
},
onerror: (res) => {
reject2(res);
}
});
});
}
function getShareID(task_id, retry_index = 0) {
return new Promise((resolve2, reject2) => {
_GM_xmlhttpRequest({
method: "get",
url: `https://drive-pc.quark.cn/1/clouddrive/task?pr=ucpro&fr=pc&task_id=${task_id}&retry_index=${retry_index}`,
onload: ({ response }) => {
const { data: data2 } = JSON.parse(response) || {};
const share_id = (data2 == null ? void 0 : data2.share_id) ?? "";
resolve2(share_id);
},
onerror: (res) => {
reject2(res);
}
});
});
}
function getShareUrl(share_id) {
return new Promise((resolve2, reject2) => {
_GM_xmlhttpRequest({
method: "post",
url: "https://drive-pc.quark.cn/1/clouddrive/share/password?pr=ucpro&fr=pc",
data: JSON.stringify({
share_id
}),
onload: ({ response }) => {
const { data: data2 } = JSON.parse(response) || {};
const { passcode, share_url, title } = data2 || {};
resolve2(share_url ?? "");
},
onerror: (res) => {
reject2(res);
}
});
});
}
const usequarkCloud = () => {
const userOptions = vue.ref({
shareDelay: 1e3,
expireTime: ExpireTimeEnum$3.forever,
shareInfo: [],
shareInfoUserSee: "",
shareProgress: 0,
selectFileInfoList: [],
isSharing: false,
pwdType: HasPwd.yes
});
const handleTransformFormat = (info3) => {
let time;
switch (info3.expireTime) {
case ExpireTimeEnum$3.oneDay:
time = "1天";
break;
case ExpireTimeEnum$3.sevenDay:
time = "7天";
break;
case ExpireTimeEnum$3.forever:
time = "永久";
break;
default:
time = "未知";
}
return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "为空"} 分享有效时间: ${time}`;
};
const handleBatchOperation = async () => {
var _a, _b, _c, _d, _e;
const selectDOM = document.querySelectorAll((_a = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _a.select);
if (!selectDOM.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
userOptions.value.isSharing = true;
userOptions.value.selectFileInfoList = [];
for (let dom of selectDOM) {
userOptions.value.selectFileInfoList.push({
id: dom.getAttribute((_c = (_b = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _b.idAttribute) == null ? void 0 : _c[0]) ?? "",
fileName: ((_e = dom.querySelector((_d = ShareDOMSelect["cloudQuark"]) == null ? void 0 : _d.fileNameSelect)) == null ? void 0 : _e.textContent) ?? "(!!$$未知名称!!$$)",
expireTime: userOptions.value.expireTime,
pwd: userOptions.value.pwdType === HasPwd.yes ? generateRandomString(4) : ""
});
}
for (let fileInfo of userOptions.value.selectFileInfoList) {
const sendData = {
expired_type: fileInfo.expireTime,
fid_list: [fileInfo.id],
title: fileInfo.fileName,
url_type: fileInfo.pwd ? UrlTypeEnum.hasPwd : UrlTypeEnum.noPwd,
passcode: fileInfo.pwd
};
const task_id = await getTaskID(sendData).catch(() => "");
const share_id = await getShareID(task_id).catch(() => "");
let share_url = "";
if (share_id) {
share_url = await getShareUrl(share_id).catch(() => "");
} else {
const share_id2 = await getShareID(task_id, 1).catch(() => "");
share_url = await getShareUrl(share_id2).catch(() => "");
}
let tempData = {
...fileInfo,
url: share_url
};
userOptions.value.shareInfo.push(tempData);
userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareInfo = [];
userOptions.value.selectFileInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
userOptions,
handleBatchOperation,
handleTransformFormat,
handleEnd,
copyValue,
download
};
};
const _withScopeId$3 = (n) => (vue.pushScopeId("data-v-7808626c"), n = n(), vue.popScopeId(), n);
const _hoisted_1$3 = { class: "quarkCloud" };
const _hoisted_2$3 = { class: "quarkCloud_option" };
const _hoisted_3$3 = { class: "quarkCloud_option_item" };
const _hoisted_4$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", null, "有效期:", -1));
const _hoisted_5$3 = {
class: "quarkCloud_option_item",
style: { "margin": "6px 0" }
};
const _hoisted_6$3 = /* @__PURE__ */ _withScopeId$3(() => /* @__PURE__ */ vue.createElementVNode("span", null, "提取码:", -1));
const _hoisted_7$3 = { class: "quarkCloud_operation" };
const _hoisted_8$3 = { class: "quarkCloud_progress" };
const _hoisted_9$3 = { class: "quarkCloud_result" };
const _sfc_main$4 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = usequarkCloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$3, [
vue.createElementVNode("div", _hoisted_2$3, [
vue.createElementVNode("div", _hoisted_3$3, [
_hoisted_4$3,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).expireTime,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).expireTime = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$3).oneDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("1天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$3).sevenDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("7天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$3).thirtyDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("30天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$3).forever
}, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"]),
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
vue.createTextVNode("延迟(毫秒):")
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100",
min: "1000"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_5$3, [
_hoisted_6$3,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).pwdType,
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(HasPwd).no
}, {
default: vue.withCtx(() => [
vue.createTextVNode("无提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(HasPwd).yes
}, {
default: vue.withCtx(() => [
vue.createTextVNode("有提取码")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
])
]),
vue.createElementVNode("div", _hoisted_7$3, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_8$3, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_9$3, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloudQuark = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-7808626c"]]);
var ExpireTimeEnum$2 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 2] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = 4] = "forever";
return ExpireTimeEnum2;
})(ExpireTimeEnum$2 || {});
var DefaultShowEnum = /* @__PURE__ */ ((DefaultShowEnum2) => {
DefaultShowEnum2[DefaultShowEnum2["tile"] = 2] = "tile";
DefaultShowEnum2[DefaultShowEnum2["list"] = 1] = "list";
return DefaultShowEnum2;
})(DefaultShowEnum || {});
const use139Cloud = () => {
const userOptions = vue.ref({
expiration: ExpireTimeEnum$2.forever,
displayStatus: DefaultShowEnum.list,
pwd: "",
//自定义提取码或随机提取码
shareDelay: 500,
shareProgress: 0,
shareResultInfoList: [],
shareInfoUserSee: "",
isSharing: false,
auth: ""
//分享的Authorization
});
const init = () => {
let t = "authorization";
let e = t + "=", a = document.cookie.split(";"), n = 0;
for (; n < a.length; n++) {
let o = a[n].trim();
if (0 == o.indexOf(e))
userOptions.value.auth = o.substring(e.length, o.length);
}
};
init();
const transformOptions = (params) => {
let period2;
switch (params.expiration) {
case ExpireTimeEnum$2.oneDay:
period2 = 1;
break;
case ExpireTimeEnum$2.sevenDay:
period2 = 7;
break;
case ExpireTimeEnum$2.forever:
period2 = null;
break;
}
return {
period: period2
};
};
const transformInfoStyle = (info3) => {
let time;
switch (info3.timeCode) {
case ExpireTimeEnum$2.oneDay:
time = "1天";
break;
case ExpireTimeEnum$2.sevenDay:
time = "7天";
break;
case ExpireTimeEnum$2.forever:
time = "永久";
break;
default:
time = "未知";
}
return `文件名称: ${info3.fileName} 分享链接:${info3.url} 提取码:${info3.pwd ?? "为空"} 分享有效时间: ${time}`;
};
const transformResult = (result) => {
var _a, _b, _c, _d;
const list = ((_b = (_a = result == null ? void 0 : result.data) == null ? void 0 : _a.getOutLinkRes) == null ? void 0 : _b.getOutLinkResSet) ?? [];
return {
linkUrl: ((_c = list == null ? void 0 : list[0]) == null ? void 0 : _c.linkUrl) ?? "",
passwd: ((_d = list == null ? void 0 : list[0]) == null ? void 0 : _d.passwd) ?? ""
};
};
const handleBatchOperation = async () => {
var _a, _b;
const selectList = ((_b = (_a = document.querySelector(".main_file_list")) == null ? void 0 : _a.__vue__) == null ? void 0 : _b.selectList) ?? [];
const selectFileInfoList = (selectList == null ? void 0 : selectList.map(({ item }) => ({
fileName: (item == null ? void 0 : item.contentName) ? item == null ? void 0 : item.contentName : item == null ? void 0 : item.catalogName,
id: (item == null ? void 0 : item.contentID) ? item == null ? void 0 : item.contentID : item == null ? void 0 : item.catalogID,
owner: (item == null ? void 0 : item.owner) ?? "",
//分享用得到
catalogType: (item == null ? void 0 : item.contentID) ? 0 : 1
//0代表文件分享 1代表文件夹分享
}))) ?? [];
if (!selectFileInfoList.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
userOptions.value.isSharing = true;
for (let fileInfo of selectFileInfoList) {
const data2 = {
...transformOptions(userOptions.value),
caIDLst: fileInfo.catalogType === 0 ? [] : [fileInfo.id],
//分享的文件夹
coIDLst: fileInfo.catalogType === 0 ? [fileInfo.id] : [],
//分享的文件
commonAccountInfo: {
account: fileInfo.owner,
//账户名,一般是手机号
accountType: 1
},
dedicatedName: fileInfo.fileName,
//文件或文件夹名称
encrypt: 1,
extInfo: {
isWatermark: 0,
shareChannel: "3001"
},
periodUnit: 1,
pubType: 1,
subLinkType: 0,
viewerLst: []
};
const { data: backData } = await axios$1({
method: "post",
url: `${window.location.origin}/orchestration/personalCloud-rebuild/outlink/v1.0/getOutLink`,
data: {
getOutLinkReq: data2
},
headers: {
"Content-Type": "application/json;charset=UTF-8",
"Authorization": userOptions.value.auth
}
}).catch(() => ({ data: {} }));
const backResult = transformResult(backData);
let tempData = {
fileName: fileInfo.fileName,
url: backResult.linkUrl,
pwd: backResult.passwd,
timeCode: userOptions.value.expiration
};
userOptions.value.shareResultInfoList.push(tempData);
userOptions.value.shareInfoUserSee += transformInfoStyle(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareResultInfoList.length / selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareResultInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
init,
userOptions,
transformOptions,
transformInfoStyle,
transformResult,
handleBatchOperation,
handleEnd,
copyValue,
download
};
};
const _withScopeId$2 = (n) => (vue.pushScopeId("data-v-67f5c0e4"), n = n(), vue.popScopeId(), n);
const _hoisted_1$2 = { class: "cloud139" };
const _hoisted_2$2 = { class: "cloud139_operation" };
const _hoisted_3$2 = { class: "cloud139_progress" };
const _hoisted_4$2 = { class: "cloud139_option" };
const _hoisted_5$2 = { class: "cloud139_option_item" };
const _hoisted_6$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud139_option_item_title" }, "延迟(毫秒):", -1));
const _hoisted_7$2 = { class: "cloud139_option_item" };
const _hoisted_8$2 = /* @__PURE__ */ _withScopeId$2(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "cloud139_option_item_title" }, "有效期:", -1));
const _hoisted_9$2 = { class: "cloud139_result" };
const _sfc_main$3 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = use139Cloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_collapse_panel = vue.resolveComponent("t-collapse-panel");
const _component_t_collapse = vue.resolveComponent("t-collapse");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$2, [
vue.createElementVNode("div", _hoisted_2$2, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_3$2, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_4$2, [
vue.createVNode(_component_t_collapse, {
expandMutex: "",
"default-expand-all": ""
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_collapse_panel, {
value: "0",
header: "分享配置"
}, {
default: vue.withCtx(() => [
vue.createElementVNode("div", _hoisted_5$2, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
_hoisted_6$2
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_7$2, [
_hoisted_8$2,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).expiration,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expiration = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$2).oneDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("1天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$2).sevenDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("7天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum$2).forever
}, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
])
]),
_: 1
})
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_9$2, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloud139 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-67f5c0e4"]]);
var ExpireTimeEnum$1 = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["oneDay"] = 1] = "oneDay";
ExpireTimeEnum2[ExpireTimeEnum2["twoDay"] = 2] = "twoDay";
ExpireTimeEnum2[ExpireTimeEnum2["threeDay"] = 3] = "threeDay";
ExpireTimeEnum2[ExpireTimeEnum2["fourDay"] = 4] = "fourDay";
ExpireTimeEnum2[ExpireTimeEnum2["fiveDay"] = 5] = "fiveDay";
ExpireTimeEnum2[ExpireTimeEnum2["sixDay"] = 6] = "sixDay";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
return ExpireTimeEnum2;
})(ExpireTimeEnum$1 || {});
var ExtractEnum = /* @__PURE__ */ ((ExtractEnum2) => {
ExtractEnum2[ExtractEnum2["forever"] = -1] = "forever";
ExtractEnum2[ExtractEnum2["One"] = 1] = "One";
ExtractEnum2[ExtractEnum2["Two"] = 2] = "Two";
ExtractEnum2[ExtractEnum2["Three"] = 3] = "Three";
ExtractEnum2[ExtractEnum2["Four"] = 4] = "Four";
ExtractEnum2[ExtractEnum2["Five"] = 5] = "Five";
ExtractEnum2[ExtractEnum2["Six"] = 6] = "Six";
ExtractEnum2[ExtractEnum2["Seven"] = 7] = "Seven";
ExtractEnum2[ExtractEnum2["Eight"] = 8] = "Eight";
ExtractEnum2[ExtractEnum2["Nine"] = 9] = "Nine";
ExtractEnum2[ExtractEnum2["Ten"] = 10] = "Ten";
ExtractEnum2[ExtractEnum2["Eleven"] = 11] = "Eleven";
ExtractEnum2[ExtractEnum2["Twelve"] = 12] = "Twelve";
ExtractEnum2[ExtractEnum2["Thirteen"] = 13] = "Thirteen";
ExtractEnum2[ExtractEnum2["Fourteen"] = 14] = "Fourteen";
ExtractEnum2[ExtractEnum2["Fifteen"] = 15] = "Fifteen";
ExtractEnum2[ExtractEnum2["Sixteen"] = 16] = "Sixteen";
ExtractEnum2[ExtractEnum2["Seventeen"] = 17] = "Seventeen";
ExtractEnum2[ExtractEnum2["Eighteen"] = 18] = "Eighteen";
ExtractEnum2[ExtractEnum2["Nineteen"] = 19] = "Nineteen";
ExtractEnum2[ExtractEnum2["Twenty"] = 20] = "Twenty";
return ExtractEnum2;
})(ExtractEnum || {});
const useXunCloud = () => {
const userOptions = vue.ref({
expireTimeOptions: [
{ label: "不限", value: ExpireTimeEnum$1.forever },
{ label: "1天", value: ExpireTimeEnum$1.oneDay },
{ label: "2天", value: ExpireTimeEnum$1.twoDay },
{ label: "3天", value: ExpireTimeEnum$1.threeDay },
{ label: "4天", value: ExpireTimeEnum$1.fourDay },
{ label: "5天", value: ExpireTimeEnum$1.fiveDay },
{ label: "6天", value: ExpireTimeEnum$1.sixDay },
{ label: "7天", value: ExpireTimeEnum$1.sevenDay }
],
extractOptions: [
{ label: "不限", value: ExtractEnum.forever },
{ label: "1天", value: ExtractEnum.One },
{ label: "2天", value: ExtractEnum.Two },
{ label: "3天", value: ExtractEnum.Three },
{ label: "4天", value: ExtractEnum.Four },
{ label: "5天", value: ExtractEnum.Five },
{ label: "6天", value: ExtractEnum.Six },
{ label: "7天", value: ExtractEnum.Seven },
{ label: "8天", value: ExtractEnum.Eight },
{ label: "9天", value: ExtractEnum.Nine },
{ label: "10天", value: ExtractEnum.Ten },
{ label: "11天", value: ExtractEnum.Eleven },
{ label: "12天", value: ExtractEnum.Twelve },
{ label: "13天", value: ExtractEnum.Thirteen },
{ label: "14天", value: ExtractEnum.Fourteen },
{ label: "15天", value: ExtractEnum.Fifteen },
{ label: "16天", value: ExtractEnum.Sixteen },
{ label: "17天", value: ExtractEnum.Seventeen },
{ label: "18天", value: ExtractEnum.Eighteen },
{ label: "19天", value: ExtractEnum.Nineteen },
{ label: "20天", value: ExtractEnum.Twenty }
],
shareDelay: 500,
allowQuickAccess: true,
expireTime: ExpireTimeEnum$1.forever,
extractNumber: ExtractEnum.forever,
shareInfo: [],
shareInfoUserSee: "",
shareProgress: 0,
selectFileInfoList: [],
isSharing: false
});
const handleTransformFormat = (info3) => {
if (!info3.error_description) {
let time;
switch (info3.expireTime) {
case ExpireTimeEnum$1.forever:
time = "永久";
break;
case ExpireTimeEnum$1.oneDay:
time = "1天";
break;
case ExpireTimeEnum$1.twoDay:
time = "2天";
break;
case ExpireTimeEnum$1.threeDay:
time = "3天";
break;
case ExpireTimeEnum$1.fourDay:
time = "4天";
break;
case ExpireTimeEnum$1.fiveDay:
time = "5天";
break;
case ExpireTimeEnum$1.sixDay:
time = "6天";
break;
case ExpireTimeEnum$1.sevenDay:
time = "7天";
break;
default:
time = "未知";
}
let codeNumber;
switch (info3.extractNumber) {
case ExtractEnum.forever:
codeNumber = "无限";
break;
case ExtractEnum.One:
codeNumber = "1次";
break;
case ExtractEnum.Two:
codeNumber = "2次";
break;
case ExtractEnum.Three:
codeNumber = "3次";
break;
case ExtractEnum.Four:
codeNumber = "4次";
break;
case ExtractEnum.Five:
codeNumber = "5次";
break;
case ExtractEnum.Six:
codeNumber = "6次";
break;
case ExtractEnum.Seven:
codeNumber = "7次";
break;
case ExtractEnum.Eight:
codeNumber = "8次";
break;
case ExtractEnum.Nine:
codeNumber = "9次";
break;
case ExtractEnum.Ten:
codeNumber = "10次";
break;
case ExtractEnum.Eleven:
codeNumber = "11次";
break;
case ExtractEnum.Twelve:
codeNumber = "12次";
break;
case ExtractEnum.Thirteen:
codeNumber = "13次";
break;
case ExtractEnum.Fourteen:
codeNumber = "14次";
break;
case ExtractEnum.Fifteen:
codeNumber = "15次";
break;
case ExtractEnum.Sixteen:
codeNumber = "16次";
break;
case ExtractEnum.Seventeen:
codeNumber = "17次";
break;
case ExtractEnum.Eighteen:
codeNumber = "18次";
break;
case ExtractEnum.Nineteen:
codeNumber = "19次";
break;
case ExtractEnum.Twenty:
codeNumber = "20次";
break;
default:
codeNumber = "未知";
}
return `文件名称: ${info3.fileName} ${info3.share_text} 有效期: ${time} 有效次数:${codeNumber}`;
} else {
return `文件名称: ${info3.fileName} 分享错误信息: ${info3.error_description}`;
}
};
const handleBatchOperation = async () => {
var _a;
const tempDOM = document.querySelector(".pan-web");
const selectedRowKeys = tempDOM.__vue__.$parent.fileSelected ?? [];
const allInfo = tempDOM.__vue__.$store.state.drive.all ?? {};
const selectRowInfos = selectedRowKeys.map((id) => allInfo[id]) ?? [];
const temp1 = findLocalStorageKeysWithPrefix("captcha_") ?? {};
const temp2 = findLocalStorageKeysWithPrefix("credentials_") ?? {};
if (!selectedRowKeys.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
const headers = {
"x-client-id": "",
"x-device-id": (_a = localStorage.getItem("deviceid")) == null ? void 0 : _a.slice(6, 38),
"x-captcha-token": temp1.token,
"authorization": `${temp2.token_type} ` + temp2.access_token
};
userOptions.value.isSharing = true;
userOptions.value.selectFileInfoList = [];
for (let item of selectRowInfos) {
userOptions.value.selectFileInfoList.push({
id: item == null ? void 0 : item.id,
fileName: (item == null ? void 0 : item.name) ?? "",
expireTime: userOptions.value.expireTime,
extractNumber: userOptions.value.extractNumber
});
}
for (let fileInfo of userOptions.value.selectFileInfoList) {
const { data: data2 } = await axios$1({
method: "post",
url: "https://api-pan.xunlei.com/drive/v1/share",
data: {
expiration_days: fileInfo.expireTime + "",
file_ids: [fileInfo.id],
params: {
subscribe_push: "false"
},
restore_limit: fileInfo.extractNumber + "",
share_to: "copy",
title: "云盘资源分享"
},
headers
}).catch(({ response }) => response);
let tempData = {
...fileInfo,
share_text: (data2 == null ? void 0 : data2.share_text) ?? "",
share_url: (data2 == null ? void 0 : data2.share_url) ?? "",
error_description: (data2 == null ? void 0 : data2.error_description) ?? ""
};
userOptions.value.shareInfo.push(tempData);
userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.shareInfo = [];
userOptions.value.selectFileInfoList = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
userOptions,
handleBatchOperation,
handleTransformFormat,
handleEnd,
copyValue,
download
};
};
const _withScopeId$1 = (n) => (vue.pushScopeId("data-v-3eced9d8"), n = n(), vue.popScopeId(), n);
const _hoisted_1$1 = { class: "xunCloud" };
const _hoisted_2$1 = { class: "xunCloud_option" };
const _hoisted_3$1 = { class: "xunCloud_option_item" };
const _hoisted_4$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "延迟毫秒:", -1));
const _hoisted_5$1 = { class: "xunCloud_option_item" };
const _hoisted_6$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "提取次数:", -1));
const _hoisted_7$1 = { class: "xunCloud_option_item" };
const _hoisted_8$1 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "xunCloud_option_item_title" }, "提取期限:", -1));
const _hoisted_9$1 = { class: "xunCloud_operation" };
const _hoisted_10$1 = { class: "xunCloud_progress" };
const _hoisted_11$1 = { class: "xunCloud_result" };
const _sfc_main$2 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = useXunCloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_select = vue.resolveComponent("t-select");
const _component_t_checkbox = vue.resolveComponent("t-checkbox");
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1$1, [
vue.createElementVNode("div", _hoisted_2$1, [
vue.createElementVNode("div", _hoisted_3$1, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
_hoisted_4$1
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_5$1, [
_hoisted_6$1,
vue.createVNode(_component_t_select, {
modelValue: vue.unref(userOptions).extractNumber,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).extractNumber = $event),
placeholder: "请选择提取次数",
"auto-width": "",
options: vue.unref(userOptions).extractOptions
}, null, 8, ["modelValue", "options"])
]),
vue.createElementVNode("div", _hoisted_7$1, [
_hoisted_8$1,
vue.createVNode(_component_t_select, {
modelValue: vue.unref(userOptions).expireTime,
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).expireTime = $event),
placeholder: "请选择提取期限",
"auto-width": "",
options: vue.unref(userOptions).expireTimeOptions
}, null, 8, ["modelValue", "options"])
]),
vue.createVNode(_component_t_checkbox, {
modelValue: vue.unref(userOptions).allowQuickAccess,
"onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => vue.unref(userOptions).allowQuickAccess = $event)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("允许快速访问分享链接(无用功能)")
]),
_: 1
}, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_9$1, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_10$1, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_11$1, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx)"
}, null, 8, ["value"])
])
]);
};
}
});
const cloudXun = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3eced9d8"]]);
var ExpireTimeEnum = /* @__PURE__ */ ((ExpireTimeEnum2) => {
ExpireTimeEnum2[ExpireTimeEnum2["forever"] = -1] = "forever";
ExpireTimeEnum2[ExpireTimeEnum2["sevenDay"] = 7] = "sevenDay";
ExpireTimeEnum2[ExpireTimeEnum2["thirtyDay"] = 30] = "thirtyDay";
return ExpireTimeEnum2;
})(ExpireTimeEnum || {});
var PwdEnum = /* @__PURE__ */ ((PwdEnum2) => {
PwdEnum2[PwdEnum2["no"] = 0] = "no";
PwdEnum2[PwdEnum2["yes"] = 1] = "yes";
return PwdEnum2;
})(PwdEnum || {});
var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {};
function getDefaultExportFromCjs(x) {
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
}
var dayjs_min = { exports: {} };
(function(module, exports) {
!function(t, e) {
module.exports = e();
}(commonjsGlobal, function() {
var t = 1e3, e = 6e4, n = 36e5, r = "millisecond", i = "second", s = "minute", u = "hour", a = "day", o = "week", c = "month", f = "quarter", h2 = "year", d = "date", l = "Invalid Date", $ = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, y = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, M = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(t2) {
var e2 = ["th", "st", "nd", "rd"], n2 = t2 % 100;
return "[" + t2 + (e2[(n2 - 20) % 10] || e2[n2] || e2[0]) + "]";
} }, m = function(t2, e2, n2) {
var r2 = String(t2);
return !r2 || r2.length >= e2 ? t2 : "" + Array(e2 + 1 - r2.length).join(n2) + t2;
}, v = { s: m, z: function(t2) {
var e2 = -t2.utcOffset(), n2 = Math.abs(e2), r2 = Math.floor(n2 / 60), i2 = n2 % 60;
return (e2 <= 0 ? "+" : "-") + m(r2, 2, "0") + ":" + m(i2, 2, "0");
}, m: function t2(e2, n2) {
if (e2.date() < n2.date())
return -t2(n2, e2);
var r2 = 12 * (n2.year() - e2.year()) + (n2.month() - e2.month()), i2 = e2.clone().add(r2, c), s2 = n2 - i2 < 0, u2 = e2.clone().add(r2 + (s2 ? -1 : 1), c);
return +(-(r2 + (n2 - i2) / (s2 ? i2 - u2 : u2 - i2)) || 0);
}, a: function(t2) {
return t2 < 0 ? Math.ceil(t2) || 0 : Math.floor(t2);
}, p: function(t2) {
return { M: c, y: h2, w: o, d: a, D: d, h: u, m: s, s: i, ms: r, Q: f }[t2] || String(t2 || "").toLowerCase().replace(/s$/, "");
}, u: function(t2) {
return void 0 === t2;
} }, g = "en", D = {};
D[g] = M;
var p = "$isDayjsObject", S = function(t2) {
return t2 instanceof _ || !(!t2 || !t2[p]);
}, w = function t2(e2, n2, r2) {
var i2;
if (!e2)
return g;
if ("string" == typeof e2) {
var s2 = e2.toLowerCase();
D[s2] && (i2 = s2), n2 && (D[s2] = n2, i2 = s2);
var u2 = e2.split("-");
if (!i2 && u2.length > 1)
return t2(u2[0]);
} else {
var a2 = e2.name;
D[a2] = e2, i2 = a2;
}
return !r2 && i2 && (g = i2), i2 || !r2 && g;
}, O = function(t2, e2) {
if (S(t2))
return t2.clone();
var n2 = "object" == typeof e2 ? e2 : {};
return n2.date = t2, n2.args = arguments, new _(n2);
}, b = v;
b.l = w, b.i = S, b.w = function(t2, e2) {
return O(t2, { locale: e2.$L, utc: e2.$u, x: e2.$x, $offset: e2.$offset });
};
var _ = function() {
function M2(t2) {
this.$L = w(t2.locale, null, true), this.parse(t2), this.$x = this.$x || t2.x || {}, this[p] = true;
}
var m2 = M2.prototype;
return m2.parse = function(t2) {
this.$d = function(t3) {
var e2 = t3.date, n2 = t3.utc;
if (null === e2)
return /* @__PURE__ */ new Date(NaN);
if (b.u(e2))
return /* @__PURE__ */ new Date();
if (e2 instanceof Date)
return new Date(e2);
if ("string" == typeof e2 && !/Z$/i.test(e2)) {
var r2 = e2.match($);
if (r2) {
var i2 = r2[2] - 1 || 0, s2 = (r2[7] || "0").substring(0, 3);
return n2 ? new Date(Date.UTC(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2)) : new Date(r2[1], i2, r2[3] || 1, r2[4] || 0, r2[5] || 0, r2[6] || 0, s2);
}
}
return new Date(e2);
}(t2), this.init();
}, m2.init = function() {
var t2 = this.$d;
this.$y = t2.getFullYear(), this.$M = t2.getMonth(), this.$D = t2.getDate(), this.$W = t2.getDay(), this.$H = t2.getHours(), this.$m = t2.getMinutes(), this.$s = t2.getSeconds(), this.$ms = t2.getMilliseconds();
}, m2.$utils = function() {
return b;
}, m2.isValid = function() {
return !(this.$d.toString() === l);
}, m2.isSame = function(t2, e2) {
var n2 = O(t2);
return this.startOf(e2) <= n2 && n2 <= this.endOf(e2);
}, m2.isAfter = function(t2, e2) {
return O(t2) < this.startOf(e2);
}, m2.isBefore = function(t2, e2) {
return this.endOf(e2) < O(t2);
}, m2.$g = function(t2, e2, n2) {
return b.u(t2) ? this[e2] : this.set(n2, t2);
}, m2.unix = function() {
return Math.floor(this.valueOf() / 1e3);
}, m2.valueOf = function() {
return this.$d.getTime();
}, m2.startOf = function(t2, e2) {
var n2 = this, r2 = !!b.u(e2) || e2, f2 = b.p(t2), l2 = function(t3, e3) {
var i2 = b.w(n2.$u ? Date.UTC(n2.$y, e3, t3) : new Date(n2.$y, e3, t3), n2);
return r2 ? i2 : i2.endOf(a);
}, $2 = function(t3, e3) {
return b.w(n2.toDate()[t3].apply(n2.toDate("s"), (r2 ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(e3)), n2);
}, y2 = this.$W, M3 = this.$M, m3 = this.$D, v2 = "set" + (this.$u ? "UTC" : "");
switch (f2) {
case h2:
return r2 ? l2(1, 0) : l2(31, 11);
case c:
return r2 ? l2(1, M3) : l2(0, M3 + 1);
case o:
var g2 = this.$locale().weekStart || 0, D2 = (y2 < g2 ? y2 + 7 : y2) - g2;
return l2(r2 ? m3 - D2 : m3 + (6 - D2), M3);
case a:
case d:
return $2(v2 + "Hours", 0);
case u:
return $2(v2 + "Minutes", 1);
case s:
return $2(v2 + "Seconds", 2);
case i:
return $2(v2 + "Milliseconds", 3);
default:
return this.clone();
}
}, m2.endOf = function(t2) {
return this.startOf(t2, false);
}, m2.$set = function(t2, e2) {
var n2, o2 = b.p(t2), f2 = "set" + (this.$u ? "UTC" : ""), l2 = (n2 = {}, n2[a] = f2 + "Date", n2[d] = f2 + "Date", n2[c] = f2 + "Month", n2[h2] = f2 + "FullYear", n2[u] = f2 + "Hours", n2[s] = f2 + "Minutes", n2[i] = f2 + "Seconds", n2[r] = f2 + "Milliseconds", n2)[o2], $2 = o2 === a ? this.$D + (e2 - this.$W) : e2;
if (o2 === c || o2 === h2) {
var y2 = this.clone().set(d, 1);
y2.$d[l2]($2), y2.init(), this.$d = y2.set(d, Math.min(this.$D, y2.daysInMonth())).$d;
} else
l2 && this.$d[l2]($2);
return this.init(), this;
}, m2.set = function(t2, e2) {
return this.clone().$set(t2, e2);
}, m2.get = function(t2) {
return this[b.p(t2)]();
}, m2.add = function(r2, f2) {
var d2, l2 = this;
r2 = Number(r2);
var $2 = b.p(f2), y2 = function(t2) {
var e2 = O(l2);
return b.w(e2.date(e2.date() + Math.round(t2 * r2)), l2);
};
if ($2 === c)
return this.set(c, this.$M + r2);
if ($2 === h2)
return this.set(h2, this.$y + r2);
if ($2 === a)
return y2(1);
if ($2 === o)
return y2(7);
var M3 = (d2 = {}, d2[s] = e, d2[u] = n, d2[i] = t, d2)[$2] || 1, m3 = this.$d.getTime() + r2 * M3;
return b.w(m3, this);
}, m2.subtract = function(t2, e2) {
return this.add(-1 * t2, e2);
}, m2.format = function(t2) {
var e2 = this, n2 = this.$locale();
if (!this.isValid())
return n2.invalidDate || l;
var r2 = t2 || "YYYY-MM-DDTHH:mm:ssZ", i2 = b.z(this), s2 = this.$H, u2 = this.$m, a2 = this.$M, o2 = n2.weekdays, c2 = n2.months, f2 = n2.meridiem, h3 = function(t3, n3, i3, s3) {
return t3 && (t3[n3] || t3(e2, r2)) || i3[n3].slice(0, s3);
}, d2 = function(t3) {
return b.s(s2 % 12 || 12, t3, "0");
}, $2 = f2 || function(t3, e3, n3) {
var r3 = t3 < 12 ? "AM" : "PM";
return n3 ? r3.toLowerCase() : r3;
};
return r2.replace(y, function(t3, r3) {
return r3 || function(t4) {
switch (t4) {
case "YY":
return String(e2.$y).slice(-2);
case "YYYY":
return b.s(e2.$y, 4, "0");
case "M":
return a2 + 1;
case "MM":
return b.s(a2 + 1, 2, "0");
case "MMM":
return h3(n2.monthsShort, a2, c2, 3);
case "MMMM":
return h3(c2, a2);
case "D":
return e2.$D;
case "DD":
return b.s(e2.$D, 2, "0");
case "d":
return String(e2.$W);
case "dd":
return h3(n2.weekdaysMin, e2.$W, o2, 2);
case "ddd":
return h3(n2.weekdaysShort, e2.$W, o2, 3);
case "dddd":
return o2[e2.$W];
case "H":
return String(s2);
case "HH":
return b.s(s2, 2, "0");
case "h":
return d2(1);
case "hh":
return d2(2);
case "a":
return $2(s2, u2, true);
case "A":
return $2(s2, u2, false);
case "m":
return String(u2);
case "mm":
return b.s(u2, 2, "0");
case "s":
return String(e2.$s);
case "ss":
return b.s(e2.$s, 2, "0");
case "SSS":
return b.s(e2.$ms, 3, "0");
case "Z":
return i2;
}
return null;
}(t3) || i2.replace(":", "");
});
}, m2.utcOffset = function() {
return 15 * -Math.round(this.$d.getTimezoneOffset() / 15);
}, m2.diff = function(r2, d2, l2) {
var $2, y2 = this, M3 = b.p(d2), m3 = O(r2), v2 = (m3.utcOffset() - this.utcOffset()) * e, g2 = this - m3, D2 = function() {
return b.m(y2, m3);
};
switch (M3) {
case h2:
$2 = D2() / 12;
break;
case c:
$2 = D2();
break;
case f:
$2 = D2() / 3;
break;
case o:
$2 = (g2 - v2) / 6048e5;
break;
case a:
$2 = (g2 - v2) / 864e5;
break;
case u:
$2 = g2 / n;
break;
case s:
$2 = g2 / e;
break;
case i:
$2 = g2 / t;
break;
default:
$2 = g2;
}
return l2 ? $2 : b.a($2);
}, m2.daysInMonth = function() {
return this.endOf(c).$D;
}, m2.$locale = function() {
return D[this.$L];
}, m2.locale = function(t2, e2) {
if (!t2)
return this.$L;
var n2 = this.clone(), r2 = w(t2, e2, true);
return r2 && (n2.$L = r2), n2;
}, m2.clone = function() {
return b.w(this.$d, this);
}, m2.toDate = function() {
return new Date(this.valueOf());
}, m2.toJSON = function() {
return this.isValid() ? this.toISOString() : null;
}, m2.toISOString = function() {
return this.$d.toISOString();
}, m2.toString = function() {
return this.$d.toUTCString();
}, M2;
}(), k = _.prototype;
return O.prototype = k, [["$ms", r], ["$s", i], ["$m", s], ["$H", u], ["$W", a], ["$M", c], ["$y", h2], ["$D", d]].forEach(function(t2) {
k[t2[1]] = function(e2) {
return this.$g(e2, t2[0], t2[1]);
};
}), O.extend = function(t2, e2) {
return t2.$i || (t2(e2, _, O), t2.$i = true), O;
}, O.locale = w, O.isDayjs = S, O.unix = function(t2) {
return O(1e3 * t2);
}, O.en = D[g], O.Ls = D, O.p = {}, O;
});
})(dayjs_min);
var dayjs_minExports = dayjs_min.exports;
const dayjs = /* @__PURE__ */ getDefaultExportFromCjs(dayjs_minExports);
const useAliCloud = () => {
const userOptions = vue.ref({
shareDelay: 500,
expireTime: ExpireTimeEnum.forever,
shareInfo: [],
shareInfoUserSee: "",
shareProgress: 0,
selectFileInfoList: [],
isSharing: false,
pwd: "",
pwdType: PwdEnum.yes
});
const handleTransformFormat = (info3) => {
if (!info3.display_message) {
let time;
switch (info3.expireTimeEnum) {
case ExpireTimeEnum.forever:
time = "永久";
break;
case ExpireTimeEnum.sevenDay:
time = "7天";
break;
case ExpireTimeEnum.thirtyDay:
time = "30天";
break;
default:
time = "未知";
}
return `文件名称: ${info3.fileName} 链接:${info3.share_url} 提取码:${info3.pwd ?? "无"} 有效期: ${time} `;
} else {
return `文件名称: ${info3.fileName} 错误信息${info3.display_message}`;
}
};
const handleBatchOperation = async () => {
var _a, _b, _c, _d, _e;
const reactDOM = document.querySelector("div[class^='node-list--']");
if (!reactDOM) {
throw new Error("初始化阿里云盘失败,DOM未找到");
}
const key2 = (_a = Object.keys(reactDOM)) == null ? void 0 : _a.find(
(key22) => key22.startsWith("__reactFiber$")
);
if (!key2) {
throw new Error("初始化阿里云盘失败,key未找到");
}
const selectedRowInfos = ((_e = (_d = (_c = (_b = reactDOM == null ? void 0 : reactDOM[key2]) == null ? void 0 : _b["return"]) == null ? void 0 : _c.pendingProps) == null ? void 0 : _d.listModel) == null ? void 0 : _e.selectedItems) ?? [];
if (!selectedRowInfos.length) {
return MessagePlugin.warning("请选择要分享的文件!");
}
userOptions.value.isSharing = true;
userOptions.value.selectFileInfoList = [];
const token = JSON.parse(localStorage.getItem("token") ?? `{}`) ?? {};
for (let item of selectedRowInfos) {
userOptions.value.selectFileInfoList.push({
id: item == null ? void 0 : item.fileId,
fileName: (item == null ? void 0 : item.name) ?? "",
driveId: (item == null ? void 0 : item.driveId) ?? "",
expireTime: (() => {
let day;
switch (userOptions.value.expireTime) {
case ExpireTimeEnum.sevenDay:
day = 7;
break;
case ExpireTimeEnum.thirtyDay:
day = 30;
break;
}
if (!day)
return "";
return dayjs().add(day, "d");
})(),
expireTimeEnum: userOptions.value.expireTime,
//后期回显用
pwd: userOptions.value.pwdType === PwdEnum.yes ? generateRandomString(4) : ""
});
}
for (let fileInfo of userOptions.value.selectFileInfoList) {
const { data: data2 } = await axios$1({
method: "post",
url: "https://api.aliyundrive.com/adrive/v2/share_link/create",
data: {
"drive_id": fileInfo.driveId,
"expiration": fileInfo.expireTime,
"file_id_list": [fileInfo.id],
"sync_to_homepage": false,
"share_pwd": fileInfo.pwd
},
headers: {
"authorization": `${token.token_type} ${token.access_token}`
}
}).catch(({ response }) => response);
let tempData = {
...fileInfo,
share_url: (data2 == null ? void 0 : data2.share_url) ?? "",
share_name: (data2 == null ? void 0 : data2.share_name) ?? "",
display_message: (data2 == null ? void 0 : data2.display_message) || (data2 == null ? void 0 : data2.message)
};
userOptions.value.shareInfo.push(tempData);
userOptions.value.shareInfoUserSee += handleTransformFormat(tempData) + "\n";
userOptions.value.shareProgress = Math.floor(userOptions.value.shareInfo.length / userOptions.value.selectFileInfoList.length * 100);
await new Promise((resolve2) => {
setTimeout(() => {
resolve2();
}, userOptions.value.shareDelay);
});
}
userOptions.value.shareProgress = 100;
userOptions.value.isSharing = false;
await MessagePlugin.success("批量分享成功,请自行查看结果");
};
const handleEnd = () => {
userOptions.value.selectFileInfoList = [];
userOptions.value.shareInfo = [];
userOptions.value.shareInfoUserSee = "";
userOptions.value.shareProgress = 0;
};
const copyValue = () => {
CopyValueToClipBoard(userOptions.value.shareInfoUserSee + "").then(() => {
MessagePlugin.success("复制成功");
}).catch(() => {
MessagePlugin.warning("复制到剪贴板失败,可能是浏览器不支持该操作");
});
};
const download = () => {
DownloadTxt(`${cloudInfoStore.cloudName}批量分享${Date.now()}`, userOptions.value.shareInfoUserSee);
};
return {
userOptions,
handleBatchOperation,
handleTransformFormat,
handleEnd,
copyValue,
download
};
};
const _withScopeId = (n) => (vue.pushScopeId("data-v-cc7eb710"), n = n(), vue.popScopeId(), n);
const _hoisted_1 = { class: "aliCloud" };
const _hoisted_2 = { class: "aliCloud_option" };
const _hoisted_3 = { class: "aliCloud_option_item" };
const _hoisted_4 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "延迟毫秒:", -1));
const _hoisted_5 = { class: "aliCloud_option_item" };
const _hoisted_6 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "有效期:", -1));
const _hoisted_7 = { class: "aliCloud_option_item" };
const _hoisted_8 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ vue.createElementVNode("span", { class: "aliCloud_option_item_title" }, "分享形式:", -1));
const _hoisted_9 = { class: "aliCloud_operation" };
const _hoisted_10 = { class: "aliCloud_progress" };
const _hoisted_11 = { class: "aliCloud_result" };
const _sfc_main$1 = /* @__PURE__ */ vue.defineComponent({
__name: "index",
setup(__props, { expose: __expose }) {
const {
userOptions,
handleBatchOperation,
handleEnd,
copyValue,
download
} = useAliCloud();
__expose({
handleEnd
});
return (_ctx, _cache) => {
const _component_t_tooltip = vue.resolveComponent("t-tooltip");
const _component_t_input_number = vue.resolveComponent("t-input-number");
const _component_t_radio_button = vue.resolveComponent("t-radio-button");
const _component_t_radio_group = vue.resolveComponent("t-radio-group");
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_space = vue.resolveComponent("t-space");
const _component_t_progress = vue.resolveComponent("t-progress");
const _component_t_textarea = vue.resolveComponent("t-textarea");
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
vue.createElementVNode("div", _hoisted_2, [
vue.createElementVNode("div", _hoisted_3, [
vue.createVNode(_component_t_tooltip, { content: "分享一次后等待下一次分享的时间(避免请求频率过高)" }, {
default: vue.withCtx(() => [
_hoisted_4
]),
_: 1
}),
vue.createVNode(_component_t_input_number, {
modelValue: vue.unref(userOptions).shareDelay,
"onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(userOptions).shareDelay = $event),
step: "100"
}, null, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_5, [
_hoisted_6,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).expireTime,
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(userOptions).expireTime = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum).sevenDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("7天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum).thirtyDay
}, {
default: vue.withCtx(() => [
vue.createTextVNode("30天")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(ExpireTimeEnum).forever
}, {
default: vue.withCtx(() => [
vue.createTextVNode("永久")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
]),
vue.createElementVNode("div", _hoisted_7, [
_hoisted_8,
vue.createVNode(_component_t_radio_group, {
modelValue: vue.unref(userOptions).pwdType,
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(userOptions).pwdType = $event)
}, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum).no
}, {
default: vue.withCtx(() => [
vue.createTextVNode("无提取码")
]),
_: 1
}, 8, ["value"]),
vue.createVNode(_component_t_radio_button, {
value: vue.unref(PwdEnum).yes
}, {
default: vue.withCtx(() => [
vue.createTextVNode("随机提取码")
]),
_: 1
}, 8, ["value"])
]),
_: 1
}, 8, ["modelValue"])
])
]),
vue.createElementVNode("div", _hoisted_9, [
vue.createVNode(_component_t_space, null, {
default: vue.withCtx(() => [
vue.createVNode(_component_t_button, {
onClick: vue.unref(handleBatchOperation),
loading: vue.unref(userOptions).isSharing
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享")
]),
_: 1
}, 8, ["onClick", "loading"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(copyValue)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("复制到剪贴板")
]),
_: 1
}, 8, ["onClick"]),
vue.createVNode(_component_t_button, {
theme: "default",
onClick: vue.unref(download)
}, {
default: vue.withCtx(() => [
vue.createTextVNode("下载分享链接")
]),
_: 1
}, 8, ["onClick"])
]),
_: 1
})
]),
vue.createElementVNode("div", _hoisted_10, [
vue.createVNode(_component_t_progress, {
percentage: vue.unref(userOptions).shareProgress,
color: { from: " #84fab0", to: "#00A870" }
}, null, 8, ["percentage"])
]),
vue.createElementVNode("div", _hoisted_11, [
vue.createVNode(_component_t_textarea, {
readonly: "",
autosize: { minRows: 10 },
value: vue.unref(userOptions).shareInfoUserSee,
placeholder: "分享结果(格式为文件名称: xxxx 分享链接: xxxx 提取码:xxxx 分享有效时间: xxxx) 普通用户每天只能使用分享功能5次;会员用户和Lv.1及以上的达人用户,每天可使用分享次数1000次。超过上限后,将提示「今日分享次数已达上限」\r\n "
}, null, 8, ["value"])
])
]);
};
}
});
const cloudAli = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-cc7eb710"]]);
const _sfc_main = /* @__PURE__ */ vue.defineComponent({
__name: "App",
setup(__props) {
const visible = vue.ref(false);
const operationRef = vue.ref();
const cloudComponent = vue.shallowRef({
cloudTianyi,
cloudBaidu,
cloud115,
cloud123,
cloudLanZou,
cloudQuark,
cloud139,
cloudXun,
cloudAli
});
const handleOpenDrawerClick = () => {
visible.value = true;
};
const handleClose = () => {
visible.value = false;
operationRef.value.handleEnd();
};
return (_ctx, _cache) => {
const _component_t_button = vue.resolveComponent("t-button");
const _component_t_drawer = vue.resolveComponent("t-drawer");
return vue.openBlock(), vue.createElementBlock(vue.Fragment, null, [
vue.unref(cloudInfoStore).currentCloud === vue.unref(CloudInfoEnum).cloudAli ? (vue.openBlock(), vue.createElementBlock("div", {
key: 0,
onClick: handleOpenDrawerClick,
style: { "display": "flex", "flex-direction": "column", "align-items": "center" }
}, [
vue.createVNode(vue.unref(CalendarIcon), { slot: "icon" }),
vue.createElementVNode("span", { onClick: handleOpenDrawerClick }, "分享")
])) : (vue.openBlock(), vue.createBlock(_component_t_button, {
key: 1,
onClick: handleOpenDrawerClick
}, {
default: vue.withCtx(() => [
vue.createTextVNode("批量分享操作")
]),
_: 1
})),
vue.createVNode(_component_t_drawer, {
visible: visible.value,
"onUpdate:visible": _cache[0] || (_cache[0] = ($event) => visible.value = $event),
header: vue.unref(cloudInfoStore).cloudName,
size: "600px",
"on-confirm": handleClose,
onClose: handleClose,
placement: "right",
closeOnOverlayClick: false
}, {
default: vue.withCtx(() => [
(vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(cloudComponent.value[vue.unref(cloudInfoStore).cloudKey]), {
ref_key: "operationRef",
ref: operationRef
}, null, 512))
]),
_: 1
}, 8, ["visible", "header"])
], 64);
};
}
});
const TDesign = (app) => {
app.use(Button).use(Drawer).use(Radio).use(Space).use(RadioGroup).use(RadioButton).use(Textarea).use(InputNumber).use(Progress).use(Checkbox).use(Tooltip).use(Collapse).use(CollapsePanel).use(Input).use(Table).use(Select).use(Option);
};
const Mount = () => {
const app = document.createElement("div");
switch (cloudInfoStore.currentCloud) {
case CloudInfoEnum.cloudBaidu:
{
observeDOMChanges("body", () => {
const tempDOM = document.querySelector("div.wp-s-header__right");
tempDOM == null ? void 0 : tempDOM.insertBefore(app, tempDOM == null ? void 0 : tempDOM.firstChild);
});
}
break;
case CloudInfoEnum.cloud115:
{
setTimeout(() => {
var _a;
const temp = document.createElement("li");
app.style.cssText = `
margin-top: 12px;
margin-left: 10px;
`;
temp.append(app);
(_a = document.querySelector("div.navigation-ceiling ul")) == null ? void 0 : _a.append(temp);
}, 1e3);
}
break;
case CloudInfoEnum.cloud123:
{
observeDOMChanges("body", () => {
var _a;
app.style.textAlign = "center";
(_a = document.querySelector(".ant-menu-light")) == null ? void 0 : _a.append(app);
});
}
break;
case CloudInfoEnum.cloudLanZou:
{
setTimeout(() => {
var _a;
app.style.cssText = `
margin-top: -2px;
`;
(_a = document.querySelector(".toum")) == null ? void 0 : _a.append(app);
}, 2e3);
}
break;
case CloudInfoEnum.cloudTianyi:
{
observeDOMChanges("body", () => {
var _a;
(_a = document.querySelector("ul.nav-menu")) == null ? void 0 : _a.append(app);
});
}
break;
case CloudInfoEnum.cloudQuark:
{
observeDOMChanges("body", () => {
setTimeout(() => {
var _a;
const tempDOM = document.querySelector(".file-search-box");
app.style.cssText = `
margin-right:200px;
`;
(_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.insertBefore(app, tempDOM);
}, 1e3);
});
}
break;
case CloudInfoEnum.cloud139:
{
observeDOMChanges(".document_main_warp", () => {
var _a;
const tempDOM = document.querySelector(".document_top_upload_button");
app.style.cssText = `
display:inline-block;
margin-top:20px;
`;
(_a = tempDOM == null ? void 0 : tempDOM.parentNode) == null ? void 0 : _a.append(app, tempDOM);
});
}
break;
case CloudInfoEnum.cloudXun:
{
setTimeout(() => {
const tempDOM = document.querySelector(".pan-list-menu");
app.style.cssText = `
margin-left: 10px;
margin-top: -2px;
`;
tempDOM == null ? void 0 : tempDOM.append(app);
}, 1e3);
}
break;
case CloudInfoEnum.cloudAli:
{
observeDOMChanges("body", () => {
var _a;
const tempDOM = document.querySelector("div[class^='nav-tab-item--']");
const iterator = tempDOM == null ? void 0 : tempDOM.classList;
let name;
for (const value of iterator) {
if (value.startsWith("nav-tab-item"))
name = value;
}
if (name) {
app.classList.add(name);
(_a = document.querySelector("div[class^='nav-tab-content--']")) == null ? void 0 : _a.append(app);
} else {
document.body.append(app);
}
});
}
break;
}
return app;
};
const bootstrap = () => {
const app = vue.createApp(_sfc_main);
app.use(Pinia);
app.use(TDesign);
app.mount(Mount());
};
void bootstrap();
})(Vue);