xinwen-design 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/README.md +195 -0
  2. package/dist/style.css +1 -0
  3. package/dist/types/App.vue.d.ts +3 -0
  4. package/dist/types/components/alert/Alert.d.ts +10 -0
  5. package/dist/types/components/alert/Alert.vue.d.ts +22 -0
  6. package/dist/types/components/alert/index.d.ts +2 -0
  7. package/dist/types/components/autocomplete/Autocomplete.d.ts +13 -0
  8. package/dist/types/components/autocomplete/Autocomplete.vue.d.ts +17 -0
  9. package/dist/types/components/autocomplete/index.d.ts +2 -0
  10. package/dist/types/components/avatar/Avatar.d.ts +7 -0
  11. package/dist/types/components/avatar/Avatar.vue.d.ts +17 -0
  12. package/dist/types/components/avatar/index.d.ts +2 -0
  13. package/dist/types/components/backtop/Backtop.d.ts +9 -0
  14. package/dist/types/components/backtop/Backtop.vue.d.ts +23 -0
  15. package/dist/types/components/backtop/index.d.ts +2 -0
  16. package/dist/types/components/badge/Badge.d.ts +13 -0
  17. package/dist/types/components/badge/Badge.vue.d.ts +19 -0
  18. package/dist/types/components/badge/index.d.ts +4 -0
  19. package/dist/types/components/breadcrumb/Breadcrumb.d.ts +17 -0
  20. package/dist/types/components/breadcrumb/Breadcrumb.vue.d.ts +11 -0
  21. package/dist/types/components/breadcrumb/index.d.ts +4 -0
  22. package/dist/types/components/button/Button.d.ts +35 -0
  23. package/dist/types/components/button/Button.vue.d.ts +34 -0
  24. package/dist/types/components/button/button.test.d.ts +1 -0
  25. package/dist/types/components/button/index.d.ts +4 -0
  26. package/dist/types/components/card/Card.d.ts +4 -0
  27. package/dist/types/components/card/Card.vue.d.ts +20 -0
  28. package/dist/types/components/card/index.d.ts +2 -0
  29. package/dist/types/components/carousel/Carousel.d.ts +8 -0
  30. package/dist/types/components/carousel/Carousel.vue.d.ts +22 -0
  31. package/dist/types/components/carousel/index.d.ts +2 -0
  32. package/dist/types/components/cascader/Cascader.d.ts +15 -0
  33. package/dist/types/components/cascader/Cascader.vue.d.ts +14 -0
  34. package/dist/types/components/cascader/index.d.ts +2 -0
  35. package/dist/types/components/checkbox/Checkbox.d.ts +31 -0
  36. package/dist/types/components/checkbox/Checkbox.vue.d.ts +27 -0
  37. package/dist/types/components/checkbox/checkbox.test.d.ts +1 -0
  38. package/dist/types/components/checkbox/index.d.ts +4 -0
  39. package/dist/types/components/collapse/Collapse.d.ts +14 -0
  40. package/dist/types/components/collapse/Collapse.vue.d.ts +24 -0
  41. package/dist/types/components/collapse/index.d.ts +2 -0
  42. package/dist/types/components/color-picker/ColorPicker.vue.d.ts +7 -0
  43. package/dist/types/components/date-picker/DatePicker.d.ts +10 -0
  44. package/dist/types/components/date-picker/DatePicker.vue.d.ts +14 -0
  45. package/dist/types/components/date-picker/index.d.ts +2 -0
  46. package/dist/types/components/demo/DemoSection.vue.d.ts +18 -0
  47. package/dist/types/components/divider/Divider.d.ts +10 -0
  48. package/dist/types/components/divider/Divider.vue.d.ts +18 -0
  49. package/dist/types/components/divider/index.d.ts +4 -0
  50. package/dist/types/components/drawer/Drawer.d.ts +12 -0
  51. package/dist/types/components/drawer/Drawer.vue.d.ts +27 -0
  52. package/dist/types/components/drawer/index.d.ts +2 -0
  53. package/dist/types/components/dropdown/Dropdown.d.ts +11 -0
  54. package/dist/types/components/dropdown/Dropdown.vue.d.ts +20 -0
  55. package/dist/types/components/dropdown/index.d.ts +2 -0
  56. package/dist/types/components/empty/Empty.d.ts +3 -0
  57. package/dist/types/components/empty/Empty.vue.d.ts +18 -0
  58. package/dist/types/components/empty/index.d.ts +2 -0
  59. package/dist/types/components/image/Image.d.ts +9 -0
  60. package/dist/types/components/image/Image.vue.d.ts +24 -0
  61. package/dist/types/components/image/index.d.ts +2 -0
  62. package/dist/types/components/input/Input.d.ts +58 -0
  63. package/dist/types/components/input/Input.vue.d.ts +51 -0
  64. package/dist/types/components/input/index.d.ts +4 -0
  65. package/dist/types/components/input-number/InputNumber.d.ts +25 -0
  66. package/dist/types/components/input-number/InputNumber.vue.d.ts +18 -0
  67. package/dist/types/components/input-number/index.d.ts +4 -0
  68. package/dist/types/components/link/Link.d.ts +18 -0
  69. package/dist/types/components/link/Link.vue.d.ts +24 -0
  70. package/dist/types/components/link/index.d.ts +4 -0
  71. package/dist/types/components/loading/Loading.d.ts +11 -0
  72. package/dist/types/components/loading/Loading.vue.d.ts +8 -0
  73. package/dist/types/components/loading/index.d.ts +4 -0
  74. package/dist/types/components/menu/Menu.d.ts +13 -0
  75. package/dist/types/components/menu/Menu.vue.d.ts +11 -0
  76. package/dist/types/components/menu/index.d.ts +2 -0
  77. package/dist/types/components/modal/Modal.d.ts +31 -0
  78. package/dist/types/components/modal/Modal.vue.d.ts +38 -0
  79. package/dist/types/components/modal/index.d.ts +4 -0
  80. package/dist/types/components/pagination/Pagination.d.ts +25 -0
  81. package/dist/types/components/pagination/Pagination.vue.d.ts +22 -0
  82. package/dist/types/components/pagination/index.d.ts +4 -0
  83. package/dist/types/components/popover/Popover.d.ts +6 -0
  84. package/dist/types/components/popover/Popover.vue.d.ts +19 -0
  85. package/dist/types/components/popover/index.d.ts +2 -0
  86. package/dist/types/components/progress/Progress.d.ts +16 -0
  87. package/dist/types/components/progress/Progress.vue.d.ts +9 -0
  88. package/dist/types/components/progress/index.d.ts +4 -0
  89. package/dist/types/components/radio/Radio.d.ts +25 -0
  90. package/dist/types/components/radio/Radio.vue.d.ts +23 -0
  91. package/dist/types/components/radio/index.d.ts +4 -0
  92. package/dist/types/components/radio/radio.test.d.ts +1 -0
  93. package/dist/types/components/rate/Rate.d.ts +20 -0
  94. package/dist/types/components/rate/Rate.vue.d.ts +18 -0
  95. package/dist/types/components/rate/index.d.ts +4 -0
  96. package/dist/types/components/select/Select.d.ts +31 -0
  97. package/dist/types/components/select/Select.vue.d.ts +20 -0
  98. package/dist/types/components/select/index.d.ts +4 -0
  99. package/dist/types/components/skeleton/Skeleton.d.ts +4 -0
  100. package/dist/types/components/skeleton/Skeleton.vue.d.ts +7 -0
  101. package/dist/types/components/skeleton/index.d.ts +2 -0
  102. package/dist/types/components/slider/Slider.d.ts +27 -0
  103. package/dist/types/components/slider/Slider.vue.d.ts +20 -0
  104. package/dist/types/components/slider/index.d.ts +4 -0
  105. package/dist/types/components/space/Space.d.ts +13 -0
  106. package/dist/types/components/space/Space.vue.d.ts +9 -0
  107. package/dist/types/components/space/index.d.ts +4 -0
  108. package/dist/types/components/steps/Steps.d.ts +9 -0
  109. package/dist/types/components/steps/Steps.vue.d.ts +8 -0
  110. package/dist/types/components/steps/index.d.ts +2 -0
  111. package/dist/types/components/switch/Switch.d.ts +29 -0
  112. package/dist/types/components/switch/Switch.vue.d.ts +16 -0
  113. package/dist/types/components/switch/index.d.ts +4 -0
  114. package/dist/types/components/switch/switch.test.d.ts +1 -0
  115. package/dist/types/components/table/Table.d.ts +11 -0
  116. package/dist/types/components/table/Table.vue.d.ts +22 -0
  117. package/dist/types/components/table/index.d.ts +2 -0
  118. package/dist/types/components/tabs/Tabs.d.ts +22 -0
  119. package/dist/types/components/tabs/Tabs.vue.d.ts +26 -0
  120. package/dist/types/components/tabs/index.d.ts +4 -0
  121. package/dist/types/components/tag/Tag.d.ts +15 -0
  122. package/dist/types/components/tag/Tag.vue.d.ts +23 -0
  123. package/dist/types/components/tag/index.d.ts +4 -0
  124. package/dist/types/components/time-picker/TimePicker.d.ts +9 -0
  125. package/dist/types/components/time-picker/TimePicker.vue.d.ts +13 -0
  126. package/dist/types/components/time-picker/index.d.ts +2 -0
  127. package/dist/types/components/timeline/Timeline.d.ts +9 -0
  128. package/dist/types/components/timeline/Timeline.vue.d.ts +6 -0
  129. package/dist/types/components/timeline/index.d.ts +2 -0
  130. package/dist/types/components/toast/Toast.d.ts +21 -0
  131. package/dist/types/components/toast/Toast.vue.d.ts +15 -0
  132. package/dist/types/components/toast/index.d.ts +4 -0
  133. package/dist/types/components/tooltip/Tooltip.d.ts +16 -0
  134. package/dist/types/components/tooltip/Tooltip.vue.d.ts +22 -0
  135. package/dist/types/components/tooltip/index.d.ts +4 -0
  136. package/dist/types/components/transfer/Transfer.d.ts +14 -0
  137. package/dist/types/components/transfer/Transfer.vue.d.ts +14 -0
  138. package/dist/types/components/transfer/index.d.ts +2 -0
  139. package/dist/types/components/upload/Upload.d.ts +17 -0
  140. package/dist/types/components/upload/Upload.vue.d.ts +24 -0
  141. package/dist/types/components/upload/index.d.ts +2 -0
  142. package/dist/types/index.d.ts +49 -0
  143. package/dist/types/main.d.ts +1 -0
  144. package/dist/xinwen-design.es.js +2929 -0
  145. package/dist/xinwen-design.umd.js +6 -0
  146. package/package.json +85 -0
package/README.md ADDED
@@ -0,0 +1,195 @@
1
+ # Xinwen Design
2
+
3
+ <p align="center">
4
+ <img src="https://img.shields.io/npm/v/xinwen-design.svg" alt="npm version">
5
+ <img src="https://img.shields.io/npm/dm/xinwen-design.svg" alt="downloads">
6
+ <img src="https://img.shields.io/npm/l/xinwen-design.svg" alt="license">
7
+ <img src="https://img.shields.io/badge/vue-3.x-brightgreen.svg" alt="vue">
8
+ </p>
9
+
10
+ <p align="center">
11
+ 一个现代化的 Vue 3 组件库,提供 50+ 高质量可复用组件,
12
+ 支持 TypeScript、主题定制、可访问性增强与 npm 发布。
13
+ </p>
14
+
15
+ ---
16
+
17
+ ## 为什么选择 Xinwen Design
18
+
19
+ - **组件覆盖完整**:基础、表单、数据展示、反馈、导航五大类场景
20
+ - **Vue 3 + TypeScript**:完整类型提示,适合中大型项目
21
+ - **双模式引入**:支持全量注册和按需注册
22
+ - **统一命名规范**:支持 `xw-` 前缀组件标签(如 `<xw-button />`)
23
+ - **可主题化**:通过 CSS Variables 快速调整品牌视觉
24
+ - **可访问性增强**:关键组件已支持 focus ring、键盘路径、aria 语义
25
+
26
+ ---
27
+
28
+ ## 安装
29
+
30
+ ```bash
31
+ # npm
32
+ npm install xinwen-design
33
+
34
+ # pnpm
35
+ pnpm add xinwen-design
36
+
37
+ # yarn
38
+ yarn add xinwen-design
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 快速开始
44
+
45
+ ### 1) 全量注册(推荐初期接入)
46
+
47
+ ```ts
48
+ import { createApp } from 'vue'
49
+ import App from './App.vue'
50
+ import XinwenDesign from 'xinwen-design'
51
+ import 'xinwen-design/style.css'
52
+
53
+ const app = createApp(App)
54
+ app.use(XinwenDesign)
55
+ app.mount('#app')
56
+ ```
57
+
58
+ 使用示例:
59
+
60
+ ```vue
61
+ <template>
62
+ <xw-button type="primary">主要按钮</xw-button>
63
+ <xw-input v-model="value" placeholder="请输入" />
64
+ </template>
65
+
66
+ <script setup lang="ts">
67
+ import { ref } from 'vue'
68
+
69
+ const value = ref('')
70
+ </script>
71
+ ```
72
+
73
+ ### 2) 按需引入(推荐线上优化)
74
+
75
+ ```ts
76
+ import { createApp } from 'vue'
77
+ import App from './App.vue'
78
+ import { Button, Input, Select } from 'xinwen-design'
79
+ import 'xinwen-design/style.css'
80
+
81
+ const app = createApp(App)
82
+ app.component('xw-button', Button)
83
+ app.component('xw-input', Input)
84
+ app.component('xw-select', Select)
85
+ app.mount('#app')
86
+ ```
87
+
88
+ ---
89
+
90
+ ## 组件清单(按类别)
91
+
92
+ ### 基础
93
+ Button、Input、Link、Divider、Space
94
+
95
+ ### 表单
96
+ Checkbox、Radio、Switch、Slider、Select、Rate、InputNumber、Autocomplete、Cascader、DatePicker、TimePicker、Transfer、Upload
97
+
98
+ ### 数据展示
99
+ Table、Tag、Badge、Avatar、Card、Carousel、Collapse、Empty、Image、Timeline、Skeleton
100
+
101
+ ### 反馈
102
+ Alert、Modal、Drawer、Toast、Tooltip、Popover、Loading、Progress
103
+
104
+ ### 导航
105
+ Menu、Tabs、Breadcrumb、Pagination、Dropdown、Steps、Backtop
106
+
107
+ ---
108
+
109
+ ## 主题定制(CSS Variables)
110
+
111
+ 你可以在业务项目中覆盖组件库 token:
112
+
113
+ ```css
114
+ :root {
115
+ --xw-btn-primary: #2563eb;
116
+ --xw-btn-primary-hover: #3b82f6;
117
+ --xw-btn-primary-active: #1d4ed8;
118
+
119
+ --xw-focus-ring: 0 0 0 3px rgba(37, 99, 235, 0.26);
120
+ }
121
+ ```
122
+
123
+ 建议:
124
+ - 优先覆盖语义变量,不直接改组件内部类名
125
+ - 主色与 focus ring 保持同色系,保证一致性
126
+
127
+ ---
128
+
129
+ ## 文档导航
130
+
131
+ - [文档总览](./docs/README.md)
132
+ - [快速开始](./docs/getting-started.md)
133
+ - [开发与贡献](./docs/contributing.md)
134
+ - [主题定制](./docs/theming.md)
135
+ - [发布到 npm](./docs/publishing.md)
136
+
137
+ ---
138
+
139
+ ## 开发指南
140
+
141
+ ```bash
142
+ # 安装依赖
143
+ pnpm install
144
+
145
+ # 本地开发
146
+ pnpm dev
147
+
148
+ # 代码检查
149
+ pnpm lint
150
+ pnpm type-check
151
+
152
+ # 测试
153
+ pnpm test
154
+
155
+ # 构建组件库
156
+ pnpm build:lib
157
+ ```
158
+
159
+ ---
160
+
161
+ ## 发布到 npm(维护者)
162
+
163
+ ```bash
164
+ # 登录 npm
165
+ npm login
166
+
167
+ # 构建并检查
168
+ npm run build:lib
169
+ npm run type-check
170
+ npm pack --dry-run
171
+
172
+ # 发布
173
+ npm publish --access public
174
+ ```
175
+
176
+ 发布后验证:
177
+
178
+ ```bash
179
+ npm view xinwen-design version
180
+ npm view xinwen-design files
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 兼容性与约定
186
+
187
+ - **Vue**:`^3.3.0`
188
+ - **组件命名**:推荐使用 `xw-` 前缀标签
189
+ - **样式入口**:`xinwen-design/style.css`
190
+
191
+ ---
192
+
193
+ ## 许可证
194
+
195
+ [MIT](./LICENSE)
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ :root{--xw-btn-primary: #409EFF;--xw-btn-primary-hover: #79bbff;--xw-btn-primary-active: #337ecc;--xw-btn-secondary-bg: #ffffff;--xw-btn-secondary-border: #dcdfe6;--xw-btn-secondary-hover: #ecf5ff;--xw-btn-danger: #f56c6c;--xw-btn-danger-hover: #f89898;--xw-btn-success: #67c23a;--xw-btn-success-hover: #95d475;--xw-btn-radius: 4px;--xw-btn-transition: all .2s cubic-bezier(.645, .045, .355, 1);--xw-btn-shadow: none;--xw-btn-shadow-hover: none;--xw-btn-shadow-active: none;--xw-focus-ring: 0 0 0 3px rgba(64, 158, 255, .26)}.xd-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:9px 20px;font-size:14px;font-weight:500;font-family:inherit;border:1px solid transparent;border-radius:var(--xw-btn-radius);cursor:pointer;transition:var(--xw-btn-transition);outline:none;-webkit-user-select:none;user-select:none;white-space:nowrap;background-color:var(--xw-btn-primary);color:#fff}.xd-button:focus-visible{outline:none;box-shadow:var(--xw-focus-ring)}.xd-button--primary{background-color:var(--xw-btn-primary);border-color:var(--xw-btn-primary);color:#fff}.xd-button--primary:hover:not(.xd-button--disabled):not(.xd-button--loading){background-color:var(--xw-btn-primary-hover);border-color:var(--xw-btn-primary-hover);transform:none}.xd-button--primary:active:not(.xd-button--disabled){background-color:var(--xw-btn-primary-active);transform:none}.xd-button--secondary{background-color:var(--xw-btn-secondary-bg);border-color:var(--xw-btn-secondary-border);color:#606266}.xd-button--secondary:hover:not(.xd-button--disabled):not(.xd-button--loading){background-color:var(--xw-btn-secondary-hover);border-color:var(--xw-btn-primary-hover);color:var(--xw-btn-primary);transform:none}.xd-button--secondary:active:not(.xd-button--disabled){background-color:var(--xw-btn-secondary-hover);border-color:var(--xw-btn-primary-active);color:var(--xw-btn-primary-active);transform:none}.xd-button--danger{background-color:var(--xw-btn-danger);border-color:var(--xw-btn-danger);color:#fff}.xd-button--danger:hover:not(.xd-button--disabled):not(.xd-button--loading){background-color:var(--xw-btn-danger-hover);border-color:var(--xw-btn-danger-hover);transform:none}.xd-button--danger:active:not(.xd-button--disabled){background-color:#f56c6c;transform:none}.xd-button--success{background-color:var(--xw-btn-success);border-color:var(--xw-btn-success);color:#fff}.xd-button--success:hover:not(.xd-button--disabled):not(.xd-button--loading){background-color:var(--xw-btn-success-hover);border-color:var(--xw-btn-success-hover);transform:none}.xd-button--success:active:not(.xd-button--disabled){background-color:#529b2e;transform:none}.xd-button--ghost.xd-button--primary{background-color:transparent;border-color:var(--xw-btn-primary);color:var(--xw-btn-primary)}.xd-button--ghost.xd-button--primary:hover:not(.xd-button--disabled){background-color:var(--color-primary-light-9);transform:none}.xd-button--ghost.xd-button--danger{background-color:transparent;border-color:var(--xw-btn-danger);color:var(--xw-btn-danger)}.xd-button--ghost.xd-button--danger:hover:not(.xd-button--disabled){background-color:#fef0f0;transform:none}.xd-button--ghost.xd-button--secondary{background-color:transparent;border-color:var(--xw-btn-secondary-border);color:#606266}.xd-button--ghost.xd-button--secondary:hover:not(.xd-button--disabled){background-color:var(--xw-btn-secondary-hover);color:var(--xw-btn-primary);border-color:var(--xw-btn-primary-hover);transform:none}.xd-button--small{min-height:32px;padding:5px 12px;font-size:12px;border-radius:6px;gap:4px}.xd-button--medium{min-height:40px;padding:9px 20px;font-size:14px}.xd-button--large{min-height:44px;padding:12px 28px;font-size:16px;border-radius:10px;gap:8px}.xd-button--round{border-radius:999px}.xd-button--block{display:flex;width:100%}.xd-button--disabled{opacity:.52;cursor:not-allowed;box-shadow:none}.xd-button--loading{cursor:wait;pointer-events:none}.xd-button__spinner{display:inline-flex;width:1em;height:1em}.xd-button__spinner svg{animation:xd-spin 1.2s linear infinite;width:100%;height:100%}.xd-button__spinner circle{animation:xd-dash 1.5s ease-in-out infinite;stroke-dasharray:1,200;stroke-dashoffset:0}@keyframes xd-spin{to{transform:rotate(360deg)}}@keyframes xd-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35px}to{stroke-dasharray:90,200;stroke-dashoffset:-125px}}.xd-button--toggle{transition:var(--xw-btn-transition)}.xd-button--toggle.xd-button--primary:not(.xd-button--active){background-color:transparent;border-color:var(--xw-btn-secondary-border);color:var(--text-regular)}.xd-button--toggle.xd-button--primary:not(.xd-button--active):hover{border-color:var(--xw-btn-primary);color:var(--xw-btn-primary);background-color:var(--color-primary-light-9)}.xd-button--toggle.xd-button--active.xd-button--primary{background-color:var(--xw-btn-primary);border-color:var(--xw-btn-primary);color:#fff}.xd-button--toggle.xd-button--danger:not(.xd-button--active){background-color:transparent;border-color:var(--xw-btn-secondary-border);color:var(--text-regular)}.xd-button--toggle.xd-button--danger:not(.xd-button--active):hover{border-color:var(--xw-btn-danger);color:var(--xw-btn-danger);background-color:#fef0f0}.xd-button--toggle.xd-button--active.xd-button--danger{background-color:var(--xw-btn-danger);border-color:var(--xw-btn-danger);color:#fff}.xd-button__toggle-dot{width:6px;height:6px;border-radius:50%;background-color:currentColor;opacity:0;transform:scale(0);transition:var(--xw-btn-transition);margin-left:2px}.xd-button--active .xd-button__toggle-dot{opacity:.7;transform:scale(1)}.xd-button__ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);pointer-events:none}.xd-button--secondary .xd-button__ripple,.xd-button--ghost .xd-button__ripple{background:rgba(64,158,255,.2)}.xd-button__ripple.animate{animation:xd-ripple .5s ease-out forwards}@keyframes xd-ripple{to{transform:scale(2.5);opacity:0}}.xd-button__icon{display:inline-flex;align-items:center;font-size:1.1em}.xd-button__text{line-height:1}:root{--xw-input-radius: 4px;--xw-input-border: #dcdfe6;--xw-input-border-hover: #c0c4cc;--xw-input-border-focus: #409eff;--xw-input-bg: #ffffff;--xw-input-bg-disabled: #f5f7fa;--xw-input-color: #606266;--xw-input-color-placeholder: #a8abb2;--xw-input-color-disabled: #a8abb2;--xw-input-prefix-color: #a8abb2;--xw-input-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2);--xw-input-transition: all .2s cubic-bezier(.4, 0, .2, 1);--xw-input-border-error: #f56c6c;--xw-input-shadow-error: 0 0 0 2px rgba(245, 108, 108, .2);--xw-input-border-success: #67c23a;--xw-input-shadow-success: 0 0 0 2px rgba(103, 194, 58, .2);--xw-input-border-warning: #e6a23c;--xw-input-shadow-warning: 0 0 0 2px rgba(230, 162, 60, .2);--xw-focus-ring: 0 0 0 3px rgba(64, 158, 255, .26)}.xw-input-wrap[data-v-1752b784]{display:inline-flex;flex-direction:column;gap:5px;font-family:inherit}.xw-input-wrap--block[data-v-1752b784]{display:flex;width:100%}.xw-input-wrap--block .xw-input[data-v-1752b784]{flex:1}.xw-input[data-v-1752b784]{position:relative;display:inline-flex;align-items:center;width:240px;min-height:40px;background:var(--xw-input-bg);border:1px solid var(--xw-input-border);border-radius:var(--xw-input-radius);transition:var(--xw-input-transition);overflow:hidden}.xw-input--block[data-v-1752b784]{width:100%}.xw-input[data-v-1752b784]:hover:not(.xw-input--disabled):not(.xw-input--focused){border-color:var(--xw-input-border-hover)}.xw-input--focused[data-v-1752b784]{border-color:var(--xw-input-border-focus);box-shadow:var(--xw-focus-ring);transform:translateY(-1px)}.xw-input--error[data-v-1752b784]{border-color:var(--xw-input-border-error)!important}.xw-input--error.xw-input--focused[data-v-1752b784]{box-shadow:var(--xw-input-shadow-error)}.xw-input--success[data-v-1752b784]{border-color:var(--xw-input-border-success)!important}.xw-input--success.xw-input--focused[data-v-1752b784]{box-shadow:var(--xw-input-shadow-success)}.xw-input--warning[data-v-1752b784]{border-color:var(--xw-input-border-warning)!important}.xw-input--warning.xw-input--focused[data-v-1752b784]{box-shadow:var(--xw-input-shadow-warning)}.xw-input--disabled[data-v-1752b784]{background:var(--xw-input-bg-disabled);cursor:not-allowed;opacity:.65}.xw-input--small[data-v-1752b784]{min-height:32px;border-radius:var(--xw-input-radius)}.xw-input--small .xw-input__inner[data-v-1752b784]{padding:5px 10px;font-size:12px}.xw-input--medium[data-v-1752b784]{min-height:40px}.xw-input--medium .xw-input__inner[data-v-1752b784]{padding:8px 12px;font-size:14px}.xw-input--large[data-v-1752b784]{min-height:44px;border-radius:var(--xw-input-radius)}.xw-input--large .xw-input__inner[data-v-1752b784]{padding:11px 16px;font-size:16px}.xw-input__inner[data-v-1752b784]{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--xw-input-color);font-family:inherit;line-height:1.5;width:100%}.xw-input__inner[data-v-1752b784]::placeholder{color:var(--xw-input-color-placeholder)}.xw-input--disabled .xw-input__inner[data-v-1752b784]{cursor:not-allowed;color:var(--xw-input-color-disabled)}.xw-input__prefix[data-v-1752b784],.xw-input__suffix[data-v-1752b784]{display:flex;align-items:center;gap:4px;color:var(--xw-input-prefix-color);font-size:13px;flex-shrink:0;-webkit-user-select:none;user-select:none}.xw-input__prefix[data-v-1752b784]{padding-left:10px}.xw-input__suffix[data-v-1752b784]{padding-right:8px}.xw-input__suffix-btn[data-v-1752b784]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:none;cursor:pointer;color:var(--xw-input-prefix-color);border-radius:50%;padding:0;font-size:11px;transition:color .15s,background .15s;line-height:1}.xw-input__suffix-btn[data-v-1752b784]:hover{color:var(--xw-input-border-focus);background:var(--xw-input-bg-disabled)}.xw-input__count[data-v-1752b784]{font-size:11px;color:var(--xw-input-color-disabled);white-space:nowrap;font-variant-numeric:tabular-nums}.xw-input__prepend[data-v-1752b784],.xw-input__append[data-v-1752b784]{display:inline-flex;align-items:center;padding:0 12px;background:#f5f5f7;border:1px solid var(--xw-input-border);color:#6e6e73;font-size:13px;font-weight:500;white-space:nowrap;flex-shrink:0}.xw-input__prepend[data-v-1752b784]{border-right:none;border-radius:var(--xw-input-radius) 0 0 var(--xw-input-radius)}.xw-input__append[data-v-1752b784]{border-left:none;border-radius:0 var(--xw-input-radius) var(--xw-input-radius) 0}.xw-input--prepend[data-v-1752b784]{border-radius:0 var(--xw-input-radius) var(--xw-input-radius) 0}.xw-input--append[data-v-1752b784]{border-radius:var(--xw-input-radius) 0 0 var(--xw-input-radius)}.xw-input--prepend.xw-input--append[data-v-1752b784]{border-radius:0}.xw-input__hint[data-v-1752b784]{font-size:11px;line-height:1.4;padding-left:2px}.xw-input__hint--default[data-v-1752b784]{color:var(--xw-input-color-disabled)}.xw-input__hint--error[data-v-1752b784]{color:var(--xw-input-border-error)}.xw-input__hint--success[data-v-1752b784]{color:var(--xw-input-border-success)}.xw-input__hint--warning[data-v-1752b784]{color:var(--xw-input-border-warning)}:root{--xw-checkbox-primary: #409EFF;--xw-checkbox-primary-hover: #79bbff;--xw-checkbox-border: #dcdfe6;--xw-checkbox-border-hover: #409EFF;--xw-checkbox-bg: #ffffff;--xw-checkbox-bg-checked: var(--xw-checkbox-primary);--xw-checkbox-bg-disabled: #f5f7fa;--xw-checkbox-radius: 2px;--xw-checkbox-transition: all .25s cubic-bezier(.71, -.46, .29, 1.46);--xw-checkbox-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2)}.xw-checkbox[data-v-c0f86f5d]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit;position:relative}.xw-checkbox--disabled[data-v-c0f86f5d]{cursor:not-allowed;opacity:.5}.xw-checkbox--readonly[data-v-c0f86f5d]{cursor:default}.xw-checkbox__input-wrap[data-v-c0f86f5d]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.xw-checkbox__input[data-v-c0f86f5d]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.xw-checkbox__box[data-v-c0f86f5d]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--xw-checkbox-border);border-radius:var(--xw-checkbox-radius);background:var(--xw-checkbox-bg);transition:var(--xw-checkbox-transition)}.xw-checkbox:hover:not(.xw-checkbox--disabled):not(.xw-checkbox--readonly) .xw-checkbox__box[data-v-c0f86f5d]{border-color:var(--xw-checkbox-border-hover)}.xw-checkbox--checked .xw-checkbox__box[data-v-c0f86f5d],.xw-checkbox--indeterminate .xw-checkbox__box[data-v-c0f86f5d]{background:var(--xw-checkbox-bg-checked);border-color:var(--xw-checkbox-bg-checked)}.xw-checkbox--checked:hover:not(.xw-checkbox--disabled) .xw-checkbox__box[data-v-c0f86f5d],.xw-checkbox--indeterminate:hover:not(.xw-checkbox--disabled) .xw-checkbox__box[data-v-c0f86f5d]{background:var(--xw-checkbox-primary-hover);border-color:var(--xw-checkbox-primary-hover)}.xw-checkbox--disabled .xw-checkbox__box[data-v-c0f86f5d]{background:var(--xw-checkbox-bg-disabled);border-color:var(--xw-checkbox-border)}.xw-checkbox__input:focus-visible+.xw-checkbox__box[data-v-c0f86f5d]{box-shadow:var(--xw-checkbox-shadow-focus)}.xw-checkbox__icon[data-v-c0f86f5d]{width:12px;height:12px;color:#fff;opacity:0;transform:scale(.3);transition:var(--xw-checkbox-transition)}.xw-checkbox--checked .xw-checkbox__icon[data-v-c0f86f5d],.xw-checkbox--indeterminate .xw-checkbox__icon[data-v-c0f86f5d]{opacity:1;transform:scale(1)}.xw-checkbox__label[data-v-c0f86f5d]{font-size:14px;color:#374151;line-height:1.5}.xw-checkbox--disabled .xw-checkbox__label[data-v-c0f86f5d]{color:#9ca3af}.xw-checkbox--small .xw-checkbox__box[data-v-c0f86f5d]{width:12px;height:12px}.xw-checkbox--small .xw-checkbox__icon[data-v-c0f86f5d]{width:8px;height:8px}.xw-checkbox--small .xw-checkbox__label[data-v-c0f86f5d]{font-size:12px}.xw-checkbox--small[data-v-c0f86f5d]{gap:6px}.xw-checkbox--large .xw-checkbox__box[data-v-c0f86f5d]{width:16px;height:16px}.xw-checkbox--large .xw-checkbox__icon[data-v-c0f86f5d]{width:12px;height:12px}.xw-checkbox--large .xw-checkbox__label[data-v-c0f86f5d]{font-size:16px}.xw-checkbox--large[data-v-c0f86f5d]{gap:10px}:root{--xw-radio-primary: #409EFF;--xw-radio-primary-hover: #79bbff;--xw-radio-border: #dcdfe6;--xw-radio-border-hover: #409EFF;--xw-radio-bg: #ffffff;--xw-radio-bg-checked: #409EFF;--xw-radio-bg-disabled: #f5f7fa;--xw-radio-transition: all .25s cubic-bezier(.71, -.46, .29, 1.46);--xw-radio-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2)}.xw-radio[data-v-819af824]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:inherit;position:relative}.xw-radio--disabled[data-v-819af824]{cursor:not-allowed;opacity:.5}.xw-radio__input-wrap[data-v-819af824]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.xw-radio__input[data-v-819af824]{position:absolute;opacity:0;width:0;height:0;margin:0;pointer-events:none}.xw-radio__circle[data-v-819af824]{position:relative;display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border:1px solid var(--xw-radio-border);border-radius:50%;background:var(--xw-radio-bg);transition:var(--xw-radio-transition)}.xw-radio:hover:not(.xw-radio--disabled) .xw-radio__circle[data-v-819af824]{border-color:var(--xw-radio-border-hover)}.xw-radio__dot[data-v-819af824]{width:4px;height:4px;border-radius:50%;background:var(--xw-radio-bg);opacity:0;transform:scale(0);transition:var(--xw-radio-transition)}.xw-radio--checked .xw-radio__circle[data-v-819af824]{border-color:var(--xw-radio-primary);background:var(--xw-radio-primary)}.xw-radio--checked:hover:not(.xw-radio--disabled) .xw-radio__circle[data-v-819af824]{border-color:var(--xw-radio-primary-hover);background:var(--xw-radio-primary-hover);transform:none}.xw-radio--disabled .xw-radio__circle[data-v-819af824]{background:var(--xw-radio-bg-disabled);border-color:var(--xw-radio-border)}.xw-radio--disabled.xw-radio--checked .xw-radio__circle[data-v-819af824]{background:var(--xw-radio-border);border-color:var(--xw-radio-border)}.xw-radio--checked .xw-radio__dot[data-v-819af824]{opacity:1;transform:scale(1)}.xw-radio__label[data-v-819af824]{font-size:14px;color:#374151;line-height:1.5}.xw-radio--disabled .xw-radio__label[data-v-819af824]{color:#9ca3af}.xw-radio--small .xw-radio__circle[data-v-819af824]{width:14px;height:14px}.xw-radio--small .xw-radio__dot[data-v-819af824]{width:6px;height:6px}.xw-radio--small .xw-radio__label[data-v-819af824]{font-size:12px}.xw-radio--small[data-v-819af824]{gap:6px}.xw-radio--large .xw-radio__circle[data-v-819af824]{width:22px;height:22px}.xw-radio--large .xw-radio__dot[data-v-819af824]{width:10px;height:10px}.xw-radio--large .xw-radio__label[data-v-819af824]{font-size:16px}.xw-radio--large[data-v-819af824]{gap:10px}:root{--xw-switch-primary: #409EFF;--xw-switch-primary-hover: #79bbff;--xw-switch-inactive: #dcdfe6;--xw-switch-inactive-hover: #c0c4cc;--xw-switch-disabled: #f2f6fc;--xw-switch-transition: all .25s cubic-bezier(.71, -.46, .29, 1.46);--xw-switch-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2)}.xw-switch[data-v-6f4c57c6]{display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;background:none;padding:0;font-family:inherit;outline:none}.xw-switch--disabled[data-v-6f4c57c6]{cursor:not-allowed;opacity:.5}.xw-switch--loading[data-v-6f4c57c6]{cursor:wait}.xw-switch__track[data-v-6f4c57c6]{position:relative;display:inline-flex;align-items:center;width:40px;height:20px;background:var(--xw-switch-inactive);border-radius:999px;transition:var(--xw-switch-transition);flex-shrink:0}.xw-switch:hover:not(.xw-switch--disabled):not(.xw-switch--loading) .xw-switch__track[data-v-6f4c57c6]{background:var(--xw-switch-inactive-hover)}.xw-switch--checked .xw-switch__track[data-v-6f4c57c6]{background:var(--xw-switch-primary)}.xw-switch--checked:hover:not(.xw-switch--disabled):not(.xw-switch--loading) .xw-switch__track[data-v-6f4c57c6]{background:var(--xw-switch-primary-hover)}.xw-switch--disabled .xw-switch__track[data-v-6f4c57c6]{background:var(--xw-switch-disabled)}.xw-switch:focus-visible .xw-switch__track[data-v-6f4c57c6]{box-shadow:var(--xw-switch-shadow-focus)}.xw-switch__handle[data-v-6f4c57c6]{position:absolute;left:2px;width:16px;height:16px;background:white;border-radius:50%;transition:var(--xw-switch-transition)}.xw-switch--checked .xw-switch__handle[data-v-6f4c57c6]{left:calc(100% - 18px)}.xw-switch__icon[data-v-6f4c57c6],.xw-switch__loading[data-v-6f4c57c6]{position:absolute;left:50%;transform:translate(-50%);font-size:10px;color:#fff;display:flex;align-items:center;justify-content:center;pointer-events:none}.xw-switch__loading svg[data-v-6f4c57c6]{width:12px;height:12px;animation:xw-spin-6f4c57c6 1s linear infinite}@keyframes xw-spin-6f4c57c6{to{transform:rotate(360deg)}}.xw-switch__text[data-v-6f4c57c6]{font-size:14px;color:#374151;-webkit-user-select:none;user-select:none}.xw-switch--disabled .xw-switch__text[data-v-6f4c57c6]{color:#9ca3af}.xw-switch--small .xw-switch__track[data-v-6f4c57c6]{width:36px;height:18px}.xw-switch--small .xw-switch__handle[data-v-6f4c57c6]{width:14px;height:14px}.xw-switch--small.xw-switch--checked .xw-switch__handle[data-v-6f4c57c6]{left:calc(100% - 16px)}.xw-switch--small .xw-switch__text[data-v-6f4c57c6]{font-size:12px}.xw-switch--large .xw-switch__track[data-v-6f4c57c6]{width:52px;height:26px}.xw-switch--large .xw-switch__handle[data-v-6f4c57c6]{width:22px;height:22px}.xw-switch--large.xw-switch--checked .xw-switch__handle[data-v-6f4c57c6]{left:calc(100% - 24px)}.xw-switch--large .xw-switch__text[data-v-6f4c57c6]{font-size:16px}:root{--xw-slider-primary: #409EFF;--xw-slider-primary-hover: #79bbff;--xw-slider-track: var(--xw-slider-primary);--xw-slider-rail: #e4e7ed;--xw-slider-handle: #ffffff;--xw-slider-disabled: #c0c4cc;--xw-slider-transition: all .25s cubic-bezier(.71, -.46, .29, 1.46);--xw-slider-handle-shadow: none;--xw-slider-handle-shadow-hover: none}.xw-slider[data-v-53e2354a]{display:flex;align-items:center;gap:16px;width:100%}.xw-slider--disabled[data-v-53e2354a]{opacity:.5;cursor:not-allowed}.xw-slider__rail[data-v-53e2354a]{position:relative;flex:1;height:6px;background:var(--xw-slider-rail);border-radius:3px;cursor:pointer}.xw-slider--disabled .xw-slider__rail[data-v-53e2354a]{cursor:not-allowed}.xw-slider__track[data-v-53e2354a]{position:absolute;left:0;top:0;height:100%;background:var(--xw-slider-track);border-radius:3px;transition:var(--xw-slider-transition)}.xw-slider__handle[data-v-53e2354a]{position:absolute;top:50%;transform:translate(-50%,-50%);width:16px;height:16px;background:var(--xw-slider-handle);border:2px solid var(--xw-slider-primary);border-radius:50%;cursor:grab;transition:var(--xw-slider-transition)}.xw-slider__handle[data-v-53e2354a]:hover{transform:translate(-50%,-50%) scale(1.2);cursor:grab}.xw-slider__handle[data-v-53e2354a]:active{cursor:grabbing}.xw-slider--disabled .xw-slider__handle[data-v-53e2354a]{cursor:not-allowed;border-color:var(--xw-slider-disabled)}.xw-slider__tooltip[data-v-53e2354a]{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%);padding:4px 8px;background:#303133;color:#fff;font-size:12px;border-radius:4px;white-space:nowrap;pointer-events:none}.xw-slider__tooltip[data-v-53e2354a]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#303133}.xw-slider__stops[data-v-53e2354a]{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);pointer-events:none}.xw-slider__stop[data-v-53e2354a]{position:absolute;width:4px;height:4px;background:#ffffff;border-radius:50%;transform:translate(-50%,-50%)}.xw-slider__input[data-v-53e2354a]{flex-shrink:0}.xw-slider__input input[data-v-53e2354a]{width:60px;padding:4px 8px;border:1px solid #dcdfe6;border-radius:4px;font-size:14px;text-align:center;outline:none;transition:border-color .2s,box-shadow .2s}.xw-slider__input input[data-v-53e2354a]:focus{border-color:var(--xw-slider-primary);box-shadow:0 0 0 2px #409eff33}.xw-slider__input input[data-v-53e2354a]:disabled{background:var(--xw-slider-disabled);cursor:not-allowed}.xw-slider--small .xw-slider__rail[data-v-53e2354a]{height:4px}.xw-slider--small .xw-slider__handle[data-v-53e2354a]{width:14px;height:14px}.xw-slider--large .xw-slider__rail[data-v-53e2354a]{height:8px}.xw-slider--large .xw-slider__handle[data-v-53e2354a]{width:22px;height:22px}:root{--xw-select-border: #dcdfe6;--xw-select-border-hover: #c0c4cc;--xw-select-border-focus: #409eff;--xw-select-bg: #ffffff;--xw-select-bg-disabled: #f5f7fa;--xw-select-option-hover: #f5f7fa;--xw-select-option-selected: #f0f9eb;--xw-select-transition: border-color .2s, box-shadow .2s;--xw-select-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2);--xw-focus-ring: 0 0 0 3px rgba(64, 158, 255, .26)}.xw-select[data-v-bcc5b59d]{position:relative;display:inline-block;width:240px;font-family:inherit}.xw-select--disabled[data-v-bcc5b59d]{opacity:.6;cursor:not-allowed}.xw-select__input[data-v-bcc5b59d]{position:relative;display:flex;align-items:center;min-height:40px;padding:0 32px 0 12px;background:var(--xw-select-bg);border:1px solid var(--xw-select-border);border-radius:4px;cursor:pointer;transition:var(--xw-select-transition)}.xw-select[data-v-bcc5b59d]:focus-visible{outline:none}.xw-select:focus-visible .xw-select__input[data-v-bcc5b59d]{border-color:var(--xw-select-border-focus);box-shadow:var(--xw-focus-ring)}.xw-select:hover:not(.xw-select--disabled) .xw-select__input[data-v-bcc5b59d]{border-color:var(--xw-select-border-hover)}.xw-select--open .xw-select__input[data-v-bcc5b59d]{border-color:var(--xw-select-border-focus);box-shadow:var(--xw-select-shadow-focus);transform:translateY(-1px)}.xw-select--disabled .xw-select__input[data-v-bcc5b59d]{background:var(--xw-select-bg-disabled);cursor:not-allowed}.xw-select__text[data-v-bcc5b59d]{flex:1;font-size:14px;color:#606266;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xw-select__text[data-v-bcc5b59d]:empty:before{content:attr(placeholder);color:#a8abb2}.xw-select__search[data-v-bcc5b59d]{flex:1;border:none;outline:none;background:transparent;font-size:14px;color:#606266;font-family:inherit}.xw-select__search[data-v-bcc5b59d]::placeholder{color:#a8abb2}.xw-select__suffix[data-v-bcc5b59d]{position:absolute;right:8px;display:flex;align-items:center;gap:4px}.xw-select__clear[data-v-bcc5b59d]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:10px;color:#a8abb2;cursor:pointer;border-radius:50%;transition:var(--xw-select-transition)}.xw-select__clear[data-v-bcc5b59d]:hover{background:var(--xw-select-bg-disabled);color:var(--xw-select-border-focus)}.xw-select__arrow[data-v-bcc5b59d]{font-size:10px;color:#a8abb2;transition:transform .2s}.xw-select__arrow--open[data-v-bcc5b59d]{transform:rotate(180deg)}.xw-select__tags[data-v-bcc5b59d]{display:flex;flex-wrap:wrap;gap:4px;flex:1;padding:4px 0}.xw-select__tag[data-v-bcc5b59d]{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#ecf5ff;color:#409eff;font-size:12px;border-radius:4px;border:1px solid #d9ecff}.xw-select__tag-close[data-v-bcc5b59d]{cursor:pointer;font-size:10px;opacity:.7}.xw-select__tag-close[data-v-bcc5b59d]:hover{opacity:1}.xw-select__dropdown[data-v-bcc5b59d]{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:white;border:1px solid #e4e7ed;border-radius:4px;box-shadow:0 2px 12px #0000001a;z-index:100;padding:6px 0}.xw-select-dropdown-enter-active[data-v-bcc5b59d],.xw-select-dropdown-leave-active[data-v-bcc5b59d]{transition:opacity .2s,transform .2s}.xw-select-dropdown-enter-from[data-v-bcc5b59d],.xw-select-dropdown-leave-to[data-v-bcc5b59d]{opacity:0;transform:translateY(-8px)}.xw-select__option[data-v-bcc5b59d]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:14px;color:#606266;cursor:pointer;transition:var(--xw-select-transition)}.xw-select__option[data-v-bcc5b59d]:hover:not(.xw-select__option--disabled){background:var(--xw-select-option-hover)}.xw-select__option--active[data-v-bcc5b59d]:not(.xw-select__option--disabled){background:#ecf5ff;color:#409eff}.xw-select__option--selected[data-v-bcc5b59d]{color:#409eff;font-weight:700}.xw-select__option--disabled[data-v-bcc5b59d]{color:#a8abb2;cursor:not-allowed;opacity:.6}.xw-select__option-check[data-v-bcc5b59d]{font-size:12px;color:#409eff}.xw-select__empty[data-v-bcc5b59d]{padding:16px;text-align:center;font-size:14px;color:#a8abb2}.xw-select--small .xw-select__input[data-v-bcc5b59d]{min-height:32px;padding:0 28px 0 10px}.xw-select--small .xw-select__text[data-v-bcc5b59d],.xw-select--small .xw-select__search[data-v-bcc5b59d]{font-size:12px}.xw-select--large .xw-select__input[data-v-bcc5b59d]{min-height:44px;padding:0 36px 0 16px}.xw-select--large .xw-select__text[data-v-bcc5b59d],.xw-select--large .xw-select__search[data-v-bcc5b59d]{font-size:16px}:root{--xw-modal-overlay: rgba(0, 0, 0, .5);--xw-modal-bg: #ffffff;--xw-modal-radius: 4px;--xw-modal-shadow: 0 1px 3px rgba(0, 0, 0, .3);--xw-modal-border: #dcdfe6;--xw-modal-title-color: #303133;--xw-modal-text-color: #606266;--xw-modal-close-color: #909399;--xw-focus-ring: 0 0 0 3px rgba(64, 158, 255, .26)}.xw-modal-overlay[data-v-4f30207d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:var(--xw-modal-overlay);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:24px}.xw-modal-fade-enter-active[data-v-4f30207d],.xw-modal-fade-leave-active[data-v-4f30207d]{transition:opacity .3s}.xw-modal-fade-enter-from[data-v-4f30207d],.xw-modal-fade-leave-to[data-v-4f30207d]{opacity:0}.xw-modal[data-v-4f30207d]{position:relative;background:var(--xw-modal-bg);border-radius:var(--xw-modal-radius);box-shadow:var(--xw-modal-shadow);max-width:90vw;max-height:90vh;display:flex;flex-direction:column}.xw-modal[data-v-4f30207d]:focus-visible{outline:none;box-shadow:var(--xw-modal-shadow),var(--xw-focus-ring)}.xw-modal__sentinel[data-v-4f30207d]{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.xw-modal-zoom-enter-active[data-v-4f30207d],.xw-modal-zoom-leave-active[data-v-4f30207d]{transition:transform .3s,opacity .3s}.xw-modal-zoom-enter-from[data-v-4f30207d],.xw-modal-zoom-leave-to[data-v-4f30207d]{transform:translateY(10px) scale(.96);opacity:0}.xw-modal__header[data-v-4f30207d]{position:relative;padding:20px 20px 10px;background:var(--xw-modal-bg);flex-shrink:0}.xw-modal__title[data-v-4f30207d]{font-size:18px;font-weight:500;color:var(--xw-modal-title-color);line-height:1}.xw-modal__close[data-v-4f30207d]{position:absolute;top:16px;right:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--xw-modal-close-color);font-size:16px;cursor:pointer;transition:color .2s;padding:0}.xw-modal__close[data-v-4f30207d]:hover{color:#409eff}.xw-modal__body[data-v-4f30207d]{padding:30px 20px;flex:1;overflow-y:auto;font-size:14px;color:var(--xw-modal-text-color);line-height:1.5}.xw-modal__footer[data-v-4f30207d]{padding:10px 20px 20px;display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.xw-modal__btn[data-v-4f30207d]{padding:8px 15px;font-size:14px;font-weight:500;border-radius:4px;cursor:pointer;transition:all .2s;border:1px solid transparent;font-family:inherit;line-height:1}.xw-modal__btn--cancel[data-v-4f30207d]{background:#ffffff;border-color:#dcdfe6;color:#606266}.xw-modal__btn--cancel[data-v-4f30207d]:hover{color:#409eff;border-color:#c6e2ff;background-color:#ecf5ff}.xw-modal__btn--ok[data-v-4f30207d]{background:#409eff;border-color:#409eff;color:#fff}.xw-modal__btn--ok[data-v-4f30207d]:hover:not(:disabled){background:#66b1ff;border-color:#66b1ff;color:#fff}.xw-modal__btn--ok[data-v-4f30207d]:disabled{opacity:.6;cursor:not-allowed}.xw-modal--small[data-v-4f30207d]{width:400px}.xw-modal--medium[data-v-4f30207d]{width:520px}.xw-modal--large[data-v-4f30207d]{width:720px}:root{--xw-toast-success: #67c23a;--xw-toast-error: #f56c6c;--xw-toast-warning: #e6a23c;--xw-toast-info: #909399;--xw-toast-bg: #ffffff;--xw-toast-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--xw-toast-border: #ebeef5}.xw-toast-container[data-v-3420930e]{position:fixed;z-index:2000;display:flex;flex-direction:column;gap:12px;pointer-events:none}.xw-toast-container--top[data-v-3420930e]{top:24px;left:50%;transform:translate(-50%)}.xw-toast-container--top-left[data-v-3420930e]{top:24px;left:24px}.xw-toast-container--top-right[data-v-3420930e]{top:24px;right:24px}.xw-toast-container--bottom[data-v-3420930e]{bottom:24px;left:50%;transform:translate(-50%)}.xw-toast-container--bottom-left[data-v-3420930e]{bottom:24px;left:24px}.xw-toast-container--bottom-right[data-v-3420930e]{bottom:24px;right:24px}.xw-toast[data-v-3420930e]{display:flex;align-items:center;gap:10px;padding:15px 20px;background:var(--xw-toast-bg);border-radius:4px;box-shadow:var(--xw-toast-shadow);pointer-events:auto;min-width:300px;max-width:500px;border:1px solid var(--xw-toast-border)}.xw-toast-enter-active[data-v-3420930e],.xw-toast-leave-active[data-v-3420930e]{transition:all .28s}.xw-toast-enter-from[data-v-3420930e],.xw-toast-leave-to[data-v-3420930e]{opacity:0;transform:translateY(-20px)}.xw-toast__icon[data-v-3420930e]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;font-size:16px;font-weight:400;flex-shrink:0}.xw-toast--success .xw-toast__icon[data-v-3420930e]{color:var(--xw-toast-success)}.xw-toast--error .xw-toast__icon[data-v-3420930e]{color:var(--xw-toast-error)}.xw-toast--warning .xw-toast__icon[data-v-3420930e]{color:var(--xw-toast-warning)}.xw-toast--info .xw-toast__icon[data-v-3420930e]{color:var(--xw-toast-info)}.xw-toast__message[data-v-3420930e]{flex:1;font-size:14px;color:#606266;line-height:1.5}.xw-toast__close[data-v-3420930e]{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:none;color:#909399;font-size:14px;cursor:pointer;transition:color .2s;flex-shrink:0;padding:0}.xw-toast__close[data-v-3420930e]:hover{color:#c0c4cc}:root{--xw-tooltip-bg: #303133;--xw-tooltip-color: #ffffff}.xw-tooltip-trigger[data-v-28fa0e4c]{display:inline-block}.xw-tooltip-trigger[data-v-28fa0e4c]:focus-visible{outline:none;box-shadow:var(--xw-focus-ring, 0 0 0 3px rgba(64, 158, 255, .26));border-radius:4px}.xw-tooltip[data-v-28fa0e4c]{position:fixed;z-index:2000;max-width:300px;pointer-events:none;filter:drop-shadow(0 8px 18px rgba(15,23,42,.28))}.xw-tooltip-fade-enter-active[data-v-28fa0e4c],.xw-tooltip-fade-leave-active[data-v-28fa0e4c]{transition:opacity .2s,transform .2s}.xw-tooltip-fade-enter-from[data-v-28fa0e4c],.xw-tooltip-fade-leave-to[data-v-28fa0e4c]{opacity:0;transform:translateY(2px) scale(.98)}.xw-tooltip__content[data-v-28fa0e4c]{padding:8px 12px;background:var(--xw-tooltip-bg);color:var(--xw-tooltip-color);font-size:12px;line-height:1.2;border-radius:4px;word-wrap:break-word;border:1px solid var(--xw-tooltip-bg)}.xw-tooltip__arrow[data-v-28fa0e4c]{position:absolute;width:8px;height:8px;background:var(--xw-tooltip-bg);transform:rotate(45deg)}.xw-tooltip--top .xw-tooltip__arrow[data-v-28fa0e4c],.xw-tooltip--top-start .xw-tooltip__arrow[data-v-28fa0e4c],.xw-tooltip--top-end .xw-tooltip__arrow[data-v-28fa0e4c]{bottom:-4px;left:50%;margin-left:-4px}.xw-tooltip--bottom .xw-tooltip__arrow[data-v-28fa0e4c],.xw-tooltip--bottom-start .xw-tooltip__arrow[data-v-28fa0e4c],.xw-tooltip--bottom-end .xw-tooltip__arrow[data-v-28fa0e4c]{top:-4px;left:50%;margin-left:-4px}.xw-tooltip--left .xw-tooltip__arrow[data-v-28fa0e4c]{right:-4px;top:50%;margin-top:-4px}.xw-tooltip--right .xw-tooltip__arrow[data-v-28fa0e4c]{left:-4px;top:50%;margin-top:-4px}:root{--xw-loading-primary: #409eff;--xw-loading-bg: rgba(255, 255, 255, .9)}.xw-loading[data-v-6b053ae2]{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.xw-loading--fullscreen[data-v-6b053ae2]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3000;background:var(--xw-loading-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.xw-loading__spinner[data-v-6b053ae2]{width:40px;height:40px;color:var(--xw-loading-primary)}.xw-loading__svg[data-v-6b053ae2]{animation:xw-loading-rotate-6b053ae2 1.5s linear infinite}.xw-loading__svg circle[data-v-6b053ae2]{stroke-dasharray:90,150;stroke-dashoffset:0;stroke-linecap:round;animation:xw-loading-dash-6b053ae2 1.5s ease-in-out infinite}@keyframes xw-loading-rotate-6b053ae2{to{transform:rotate(360deg)}}@keyframes xw-loading-dash-6b053ae2{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}to{stroke-dasharray:90,150;stroke-dashoffset:-124}}.xw-loading__dots[data-v-6b053ae2]{display:flex;gap:8px;align-items:center}.xw-loading__dots span[data-v-6b053ae2]{width:10px;height:10px;background:var(--xw-loading-primary);border-radius:50%;animation:xw-loading-dots-6b053ae2 1.4s infinite ease-in-out both}.xw-loading__dots span[data-v-6b053ae2]:nth-child(1){animation-delay:-.32s}.xw-loading__dots span[data-v-6b053ae2]:nth-child(2){animation-delay:-.16s}@keyframes xw-loading-dots-6b053ae2{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.xw-loading__bars[data-v-6b053ae2]{display:flex;gap:4px;align-items:center;height:40px}.xw-loading__bars span[data-v-6b053ae2]{width:4px;height:100%;background:var(--xw-loading-primary);border-radius:2px;animation:xw-loading-bars-6b053ae2 1.2s infinite ease-in-out}.xw-loading__bars span[data-v-6b053ae2]:nth-child(1){animation-delay:-1.2s}.xw-loading__bars span[data-v-6b053ae2]:nth-child(2){animation-delay:-1.1s}.xw-loading__bars span[data-v-6b053ae2]:nth-child(3){animation-delay:-1s}.xw-loading__bars span[data-v-6b053ae2]:nth-child(4){animation-delay:-.9s}.xw-loading__bars span[data-v-6b053ae2]:nth-child(5){animation-delay:-.8s}@keyframes xw-loading-bars-6b053ae2{0%,40%,to{transform:scaleY(.4)}20%{transform:scaleY(1)}}.xw-loading__text[data-v-6b053ae2]{font-size:14px;color:#64748b;line-height:1.5}:root{--xw-tabs-primary: #409eff;--xw-tabs-border: #e4e7ed;--xw-tabs-hover: #f5f7fa;--xw-tabs-active: #ffffff;--xw-tabs-indicator: #409eff;--xw-tabs-text: #303133}.xw-tabs[data-v-ef13e5f3]{display:flex;flex-direction:column;font-family:inherit}.xw-tabs__nav[data-v-ef13e5f3]{position:relative;display:flex;gap:4px}.xw-tabs--line .xw-tabs__nav[data-v-ef13e5f3]{border-bottom:2px solid var(--xw-tabs-border);gap:0}.xw-tabs__tab[data-v-ef13e5f3]{display:flex;align-items:center;gap:8px;padding:0 20px;height:40px;font-size:14px;color:var(--xw-tabs-text);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;border-radius:4px 4px 0 0;position:relative;font-weight:500}.xw-tabs--line .xw-tabs__tab[data-v-ef13e5f3]{border-radius:0;margin-bottom:-2px}.xw-tabs--card .xw-tabs__tab[data-v-ef13e5f3]{background:var(--xw-tabs-hover);border:1px solid var(--xw-tabs-border);border-radius:4px 4px 0 0;margin-bottom:-1px}.xw-tabs__tab[data-v-ef13e5f3]:hover:not(.xw-tabs__tab--disabled){color:var(--xw-tabs-primary)}.xw-tabs--card .xw-tabs__tab[data-v-ef13e5f3]:hover:not(.xw-tabs__tab--disabled){background:var(--xw-tabs-active)}.xw-tabs__tab--active[data-v-ef13e5f3]{color:var(--xw-tabs-primary)}.xw-tabs--card .xw-tabs__tab--active[data-v-ef13e5f3]{background:var(--xw-tabs-active);border-bottom-color:transparent}.xw-tabs__tab--disabled[data-v-ef13e5f3]{color:#c7c7cc;cursor:not-allowed;opacity:.5}.xw-tabs__tab-label[data-v-ef13e5f3]{line-height:1.5}.xw-tabs__tab-close[data-v-ef13e5f3]{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:none;color:#909399;font-size:12px;cursor:pointer;border-radius:50%;transition:all .2s;padding:0}.xw-tabs__tab-close[data-v-ef13e5f3]:hover{background:#c0c4cc;color:#fff}.xw-tabs__indicator[data-v-ef13e5f3]{position:absolute;bottom:0;left:0;height:2px;background:var(--xw-tabs-indicator);border-radius:0;transition:all .3s cubic-bezier(.645,.045,.355,1)}.xw-tabs__content[data-v-ef13e5f3]{padding:20px 0}:root{--xw-breadcrumb-color: #606266;--xw-breadcrumb-active: #303133;--xw-breadcrumb-hover: #409eff;--xw-breadcrumb-separator: #c0c4cc}.xw-breadcrumb[data-v-558f094d]{display:flex;align-items:center;flex-wrap:wrap;font-size:14px;line-height:1.5;font-family:inherit}.xw-breadcrumb__item[data-v-558f094d]{display:inline-flex;align-items:center;gap:8px}.xw-breadcrumb__link[data-v-558f094d]{color:var(--xw-breadcrumb-color);text-decoration:none;transition:color .2s;cursor:pointer}.xw-breadcrumb__link[data-v-558f094d]:hover{color:var(--xw-breadcrumb-hover)}.xw-breadcrumb__link--active[data-v-558f094d]{color:var(--xw-breadcrumb-active);font-weight:400;cursor:default;pointer-events:none}.xw-breadcrumb__text[data-v-558f094d]{color:var(--xw-breadcrumb-color)}.xw-breadcrumb__text--active[data-v-558f094d]{color:var(--xw-breadcrumb-active);font-weight:400}.xw-breadcrumb__separator[data-v-558f094d]{color:var(--xw-breadcrumb-separator);-webkit-user-select:none;user-select:none;margin:0 8px;font-weight:400}:root{--xw-pagination-primary: #409eff;--xw-pagination-border: #dcdfe6;--xw-pagination-hover: #f4f4f5;--xw-pagination-active: #409eff;--xw-pagination-text: #606266;--xw-pagination-disabled: #c0c4cc}.xw-pagination[data-v-fdd60bca]{display:flex;align-items:center;gap:8px;font-size:14px;font-family:inherit}.xw-pagination--disabled[data-v-fdd60bca]{opacity:.5;cursor:not-allowed}.xw-pagination__total[data-v-fdd60bca]{color:var(--xw-pagination-text);margin-right:8px}.xw-pagination__btn[data-v-fdd60bca],.xw-pagination__pager[data-v-fdd60bca]{min-width:32px;height:32px;padding:0 8px;display:flex;align-items:center;justify-content:center;border:none;background:#f4f4f5;color:var(--xw-pagination-text);font-size:14px;font-family:inherit;border-radius:4px;cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;font-weight:500}.xw-pagination__btn[data-v-fdd60bca]:hover:not(:disabled),.xw-pagination__pager[data-v-fdd60bca]:hover:not(:disabled):not(.xw-pagination__pager--active){color:var(--xw-pagination-primary)}.xw-pagination__btn[data-v-fdd60bca]:disabled,.xw-pagination__pager[data-v-fdd60bca]:disabled{cursor:not-allowed;color:var(--xw-pagination-disabled)}.xw-pagination__pager--active[data-v-fdd60bca]{background:var(--xw-pagination-primary);color:#fff;cursor:default}.xw-pagination__simple-pager[data-v-fdd60bca]{display:flex;align-items:center;gap:8px;padding:0 8px}.xw-pagination__simple-input[data-v-fdd60bca]{width:40px;height:28px;padding:0 8px;border:1px solid var(--xw-pagination-border);border-radius:4px;text-align:center;font-size:14px;outline:none;transition:border-color .2s}.xw-pagination__simple-input[data-v-fdd60bca]:focus{border-color:var(--xw-pagination-primary)}.xw-pagination__simple-separator[data-v-fdd60bca]{color:var(--xw-pagination-text)}.xw-pagination__size-select[data-v-fdd60bca]{height:32px;padding:0 8px;border:1px solid var(--xw-pagination-border);border-radius:4px;background:white;color:var(--xw-pagination-text);font-size:14px;font-family:inherit;cursor:pointer;outline:none;transition:border-color .2s}.xw-pagination__size-select[data-v-fdd60bca]:hover:not(:disabled){border-color:var(--xw-pagination-primary)}.xw-pagination__size-select[data-v-fdd60bca]:disabled{cursor:not-allowed;opacity:.5}:root{--xw-link-default: #606266;--xw-link-primary: #409eff;--xw-link-hover: #409eff;--xw-link-success: #67c23a;--xw-link-warning: #e6a23c;--xw-link-danger: #f56c6c;--xw-link-info: #909399}.xw-link[data-v-fe2e0b00]{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--xw-link-default);text-decoration:none;cursor:pointer;transition:color .2s,opacity .2s;font-family:inherit;position:relative;font-weight:500}.xw-link[data-v-fe2e0b00]:hover{color:var(--xw-link-hover)}.xw-link--underline[data-v-fe2e0b00]:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:currentColor;opacity:0;transform:scaleX(.3);transform-origin:left;transition:opacity .2s,transform .2s}.xw-link--underline[data-v-fe2e0b00]:hover:after{opacity:.7;transform:scaleX(1)}.xw-link--disabled[data-v-fe2e0b00]{color:#c0c4cc;cursor:not-allowed}.xw-link--disabled[data-v-fe2e0b00]:hover{color:#c0c4cc}.xw-link--primary[data-v-fe2e0b00]{color:var(--xw-link-primary)}.xw-link--success[data-v-fe2e0b00]{color:var(--xw-link-success)}.xw-link--warning[data-v-fe2e0b00]{color:var(--xw-link-warning)}.xw-link--danger[data-v-fe2e0b00]{color:var(--xw-link-danger)}.xw-link--info[data-v-fe2e0b00]{color:var(--xw-link-info)}.xw-link__icon[data-v-fe2e0b00]{display:inline-flex;font-size:1em}.xw-link__text[data-v-fe2e0b00]{line-height:1.5}.xw-space[data-v-013cfe48]{display:inline-flex;font-family:inherit;padding:2px}.xw-space--horizontal[data-v-013cfe48]{flex-direction:row}.xw-space--vertical[data-v-013cfe48]{flex-direction:column}.xw-space--start[data-v-013cfe48]{align-items:flex-start}.xw-space--center[data-v-013cfe48]{align-items:center}.xw-space--end[data-v-013cfe48]{align-items:flex-end}.xw-space--baseline[data-v-013cfe48]{align-items:baseline}.xw-space__item[data-v-013cfe48]{display:inline-flex}:root{--xw-divider-color: #dcdfe6}.xw-divider[data-v-ad30380c]{position:relative;font-family:inherit}.xw-divider--horizontal[data-v-ad30380c]{width:100%;height:1px;background:var(--xw-divider-color);margin:16px 0}.xw-divider--vertical[data-v-ad30380c]{display:inline-block;width:1px;height:1em;background:var(--xw-divider-color);margin:0 8px;vertical-align:middle}.xw-divider--dashed[data-v-ad30380c]{background:none;border-top:1px dashed var(--xw-divider-color)}.xw-divider--vertical.xw-divider--dashed[data-v-ad30380c]{border-top:none;border-left:1px dashed var(--xw-divider-color)}.xw-divider--with-text[data-v-ad30380c]{display:flex;align-items:center;background:none}.xw-divider--with-text[data-v-ad30380c]:before,.xw-divider--with-text[data-v-ad30380c]:after{content:"";flex:1;height:1px;background:var(--xw-divider-color)}.xw-divider__text[data-v-ad30380c]{padding:0 20px;font-size:14px;color:#303133;white-space:nowrap;font-weight:500}.xw-divider__text--left[data-v-ad30380c]{padding-left:0}.xw-divider__text--right[data-v-ad30380c]{padding-right:0}:root{--xw-tag-default: #f4f4f5;--xw-tag-default-color: #909399;--xw-tag-default-border: #e9e9eb;--xw-tag-primary: #ecf5ff;--xw-tag-primary-color: #409eff;--xw-tag-primary-border: #d9ecff;--xw-tag-success: #f0f9eb;--xw-tag-success-color: #67c23a;--xw-tag-success-border: #e1f3d8;--xw-tag-warning: #fdf6ec;--xw-tag-warning-color: #e6a23c;--xw-tag-warning-border: #faecd8;--xw-tag-danger: #fef0f0;--xw-tag-danger-color: #f56c6c;--xw-tag-danger-border: #fde2e2}.xw-tag[data-v-3238731b]{display:inline-flex;align-items:center;gap:4px;padding:0 8px;height:24px;font-size:12px;font-family:inherit;border-radius:4px;background:var(--xw-tag-default);color:var(--xw-tag-default-color);border:1px solid var(--xw-tag-default-border);transition:all .2s;box-sizing:border-box}.xw-tag--round[data-v-3238731b]{border-radius:9999px;padding:0 12px}.xw-tag--small[data-v-3238731b]{height:20px;padding:0 6px;font-size:12px}.xw-tag--large[data-v-3238731b]{height:32px;padding:0 12px;font-size:14px}.xw-tag--primary[data-v-3238731b]{background:var(--xw-tag-primary);color:var(--xw-tag-primary-color);border-color:var(--xw-tag-primary-border)}.xw-tag--success[data-v-3238731b]{background:var(--xw-tag-success);color:var(--xw-tag-success-color);border-color:var(--xw-tag-success-border)}.xw-tag--warning[data-v-3238731b]{background:var(--xw-tag-warning);color:var(--xw-tag-warning-color);border-color:var(--xw-tag-warning-border)}.xw-tag--danger[data-v-3238731b]{background:var(--xw-tag-danger);color:var(--xw-tag-danger-color);border-color:var(--xw-tag-danger-border)}.xw-tag__text[data-v-3238731b]{line-height:1}.xw-tag__close[data-v-3238731b]{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border:none;background:none;color:currentColor;font-size:12px;cursor:pointer;border-radius:50%;transition:all .2s;padding:0}.xw-tag__close[data-v-3238731b]:hover{background:currentColor;color:#fff}:root{--xw-badge-primary: #409eff;--xw-badge-success: #67c23a;--xw-badge-warning: #e6a23c;--xw-badge-danger: #f56c6c;--xw-badge-info: #909399}.xw-badge[data-v-7a548ac0]{position:relative;display:inline-flex;vertical-align:middle;font-family:inherit}.xw-badge__content[data-v-7a548ac0]{display:inline-flex;align-items:center;justify-content:center;height:18px;padding:0 6px;font-size:12px;font-weight:400;line-height:1;color:#fff;background:var(--xw-badge-danger);border-radius:10px;white-space:nowrap;font-family:inherit;border:1px solid #ffffff}.xw-badge__content--fixed[data-v-7a548ac0]{position:absolute;top:0;right:0;transform:translate(50%,-50%)}.xw-badge__content--dot[data-v-7a548ac0]{width:8px;height:8px;padding:0;border-radius:50%}.xw-badge__content--primary[data-v-7a548ac0]{background:var(--xw-badge-primary)}.xw-badge__content--success[data-v-7a548ac0]{background:var(--xw-badge-success)}.xw-badge__content--warning[data-v-7a548ac0]{background:var(--xw-badge-warning)}.xw-badge__content--danger[data-v-7a548ac0]{background:var(--xw-badge-danger)}.xw-badge__content--info[data-v-7a548ac0]{background:var(--xw-badge-info)}:root{--xw-rate-color: #f5bc4b;--xw-rate-void-color: #e4e7ed;--xw-rate-text-color: #1f2d3d}.xw-rate[data-v-51af6294]{display:inline-flex;align-items:center;gap:4px;font-family:inherit}.xw-rate--disabled[data-v-51af6294]{opacity:.5;cursor:not-allowed}.xw-rate__item[data-v-51af6294]{display:inline-flex;cursor:pointer;transition:transform .25s ease,color .25s ease;font-size:20px;color:var(--xw-rate-void-color)}.xw-rate__item[data-v-51af6294]:hover{transform:scale(1.15)}.xw-rate--disabled .xw-rate__item[data-v-51af6294]{cursor:not-allowed}.xw-rate--disabled .xw-rate__item[data-v-51af6294]:hover{transform:none}.xw-rate__item--active[data-v-51af6294]{color:var(--xw-rate-color)}.xw-rate__icon[data-v-51af6294]{line-height:1}.xw-rate__text[data-v-51af6294]{margin-left:8px;font-size:14px;color:var(--xw-rate-text-color)}:root{--xw-input-number-border: #dcdfe6;--xw-input-number-border-hover: #c0c4cc;--xw-input-number-border-focus: #409EFF;--xw-input-number-bg: #ffffff;--xw-input-number-bg-disabled: #f5f7fa;--xw-input-number-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2);--xw-input-number-btn-bg: #f5f7fa;--xw-input-number-btn-hover-color: #409EFF}.xw-input-number[data-v-8c6041cc]{display:inline-flex;align-items:center;width:150px;border:1px solid var(--xw-input-number-border);border-radius:4px;background:var(--xw-input-number-bg);transition:all .2s;font-family:inherit;overflow:hidden}.xw-input-number[data-v-8c6041cc]:hover:not(.xw-input-number--disabled){border-color:var(--xw-input-number-border-hover)}.xw-input-number[data-v-8c6041cc]:focus-within{border-color:var(--xw-input-number-border-focus);box-shadow:var(--xw-input-number-shadow-focus)}.xw-input-number--disabled[data-v-8c6041cc]{background:var(--xw-input-number-bg-disabled);opacity:.6;cursor:not-allowed}.xw-input-number__input[data-v-8c6041cc]{flex:1;min-width:0;padding:8px 12px;border:none;outline:none;background:transparent;font-size:14px;color:#334155;text-align:center;font-family:inherit}.xw-input-number__input[data-v-8c6041cc]::placeholder{color:#c7c7cc}.xw-input-number--disabled .xw-input-number__input[data-v-8c6041cc]{cursor:not-allowed}.xw-input-number__btn[data-v-8c6041cc]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:var(--xw-input-number-btn-bg);color:#606266;font-size:16px;cursor:pointer;transition:all .2s;flex-shrink:0;font-family:inherit}.xw-input-number__btn[data-v-8c6041cc]:hover:not(:disabled){color:var(--xw-input-number-btn-hover-color)}.xw-input-number__btn[data-v-8c6041cc]:disabled{color:#c0c4cc;cursor:not-allowed}.xw-input-number__decrease[data-v-8c6041cc]{border-radius:4px 0 0 4px;border-right:1px solid var(--xw-input-number-border)}.xw-input-number__increase[data-v-8c6041cc]{border-radius:0 4px 4px 0;border-left:1px solid var(--xw-input-number-border)}.xw-input-number--small[data-v-8c6041cc]{width:120px}.xw-input-number--small .xw-input-number__input[data-v-8c6041cc]{padding:5px 10px;font-size:12px}.xw-input-number--small .xw-input-number__btn[data-v-8c6041cc]{width:28px;height:28px;font-size:14px}.xw-input-number--large[data-v-8c6041cc]{width:180px}.xw-input-number--large .xw-input-number__input[data-v-8c6041cc]{padding:11px 16px;font-size:16px}.xw-input-number--large .xw-input-number__btn[data-v-8c6041cc]{width:36px;height:36px;font-size:18px}:root{--xw-progress-bg: #ebeef5;--xw-progress-normal: #409eff;--xw-progress-success: #67c23a;--xw-progress-warning: #e6a23c;--xw-progress-exception: #f56c6c;--xw-progress-track: #409eff}.xw-progress[data-v-0d020ebf]{display:flex;align-items:center;font-family:inherit}.xw-progress--line[data-v-0d020ebf]{gap:12px}.xw-progress__bar[data-v-0d020ebf]{flex:1}.xw-progress__outer[data-v-0d020ebf]{width:100%;background:var(--xw-progress-bg);border-radius:999px;overflow:hidden}.xw-progress__inner[data-v-0d020ebf]{height:100%;background:var(--xw-progress-track);border-radius:999px;transition:width .6s ease}.xw-progress__inner--success[data-v-0d020ebf]{background:var(--xw-progress-success)}.xw-progress__inner--warning[data-v-0d020ebf]{background:var(--xw-progress-warning)}.xw-progress__inner--exception[data-v-0d020ebf]{background:var(--xw-progress-exception)}.xw-progress--circle[data-v-0d020ebf]{display:inline-flex}.xw-progress__circle[data-v-0d020ebf]{position:relative;display:inline-flex}.xw-progress__circle svg[data-v-0d020ebf]{transform:rotate(-90deg)}.xw-progress__circle-track[data-v-0d020ebf]{stroke:var(--xw-progress-bg)}.xw-progress__circle-path[data-v-0d020ebf]{stroke:var(--xw-progress-normal);stroke-linecap:round;transition:stroke-dashoffset .6s ease}.xw-progress__circle-path--success[data-v-0d020ebf]{stroke:var(--xw-progress-success)}.xw-progress__circle-path--warning[data-v-0d020ebf]{stroke:var(--xw-progress-warning)}.xw-progress__circle-path--exception[data-v-0d020ebf]{stroke:var(--xw-progress-exception)}.xw-progress__text[data-v-0d020ebf]{font-size:14px;color:#606266;white-space:nowrap;flex-shrink:0;font-weight:400}.xw-progress--circle .xw-progress__text[data-v-0d020ebf]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:16px;font-weight:400}:root{--xw-autocomplete-border: #dcdfe6;--xw-autocomplete-border-hover: #c0c4cc;--xw-autocomplete-border-focus: #409eff;--xw-autocomplete-bg: #ffffff;--xw-autocomplete-bg-disabled: #f5f7fa;--xw-autocomplete-dropdown-bg: #ffffff;--xw-autocomplete-dropdown-border: #e4e7ed;--xw-autocomplete-dropdown-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--xw-autocomplete-option-hover: #f5f7fa;--xw-autocomplete-shadow-focus: 0 0 0 2px rgba(64, 158, 255, .2);--xw-autocomplete-text-color: #606266}.xw-autocomplete[data-v-c07eca93]{position:relative;display:inline-flex;width:100%;font-family:inherit}.xw-autocomplete__input[data-v-c07eca93]{flex:1;padding:8px 12px;border:1px solid var(--xw-autocomplete-border);border-radius:4px;outline:none;font-size:14px;color:var(--xw-autocomplete-text-color);background:var(--xw-autocomplete-bg);transition:border-color .2s,box-shadow .2s;font-family:inherit}.xw-autocomplete__input[data-v-c07eca93]:hover:not(:disabled){border-color:var(--xw-autocomplete-border-hover)}.xw-autocomplete__input[data-v-c07eca93]:focus{border-color:var(--xw-autocomplete-border-focus);box-shadow:var(--xw-autocomplete-shadow-focus)}.xw-autocomplete__input[data-v-c07eca93]:disabled{background:var(--xw-autocomplete-bg-disabled);cursor:not-allowed;opacity:.6}.xw-autocomplete__clear[data-v-c07eca93]{position:absolute;right:12px;top:50%;transform:translateY(-50%);border:none;background:none;color:#a8abb2;font-size:14px;cursor:pointer;padding:0;width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.xw-autocomplete__clear[data-v-c07eca93]:hover{background:var(--xw-autocomplete-bg-disabled);color:var(--xw-autocomplete-border-focus)}.xw-autocomplete__dropdown[data-v-c07eca93]{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--xw-autocomplete-dropdown-bg);border:1px solid var(--xw-autocomplete-dropdown-border);border-radius:4px;box-shadow:var(--xw-autocomplete-dropdown-shadow);max-height:220px;overflow-y:auto;z-index:100;padding:6px 0}.xw-autocomplete__option[data-v-c07eca93]{padding:8px 12px;cursor:pointer;transition:background .2s,color .2s;border-radius:0;color:var(--xw-autocomplete-text-color);font-size:14px}.xw-autocomplete__option[data-v-c07eca93]:hover{background:var(--xw-autocomplete-option-hover)}.xw-autocomplete--small .xw-autocomplete__input[data-v-c07eca93]{padding:4px 10px;font-size:12px}.xw-autocomplete--large .xw-autocomplete__input[data-v-c07eca93]{padding:10px 16px;font-size:16px}:root{--xw-cascader-border: #dcdfe6;--xw-cascader-border-hover: #c0c4cc;--xw-cascader-border-focus: #409eff;--xw-cascader-bg: #ffffff;--xw-cascader-bg-disabled: #f5f7fa;--xw-cascader-text-color: #606266;--xw-cascader-placeholder-color: #a8abb2;--xw-cascader-panel-border: #e4e7ed;--xw-cascader-panel-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--xw-cascader-primary: #409eff;--xw-cascader-hover-bg: #f5f7fa;--xw-cascader-active-bg: #f5f7fa}.xw-cascader[data-v-cb375a56]{position:relative;display:inline-block;width:100%;font-family:inherit}.xw-cascader__input[data-v-cb375a56]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border:1px solid var(--xw-cascader-border);border-radius:4px;background:var(--xw-cascader-bg);cursor:pointer;transition:border-color .2s,box-shadow .2s}.xw-cascader__input[data-v-cb375a56]:hover{border-color:var(--xw-cascader-border-hover)}.xw-cascader__dropdown+.xw-cascader__input[data-v-cb375a56],.xw-cascader__input[data-v-cb375a56]:focus-within{border-color:var(--xw-cascader-border-focus);box-shadow:0 0 0 2px #409eff33}.xw-cascader--disabled .xw-cascader__input[data-v-cb375a56]{background:var(--xw-cascader-bg-disabled);cursor:not-allowed;opacity:.6}.xw-cascader__value[data-v-cb375a56]{font-size:14px;color:var(--xw-cascader-text-color)}.xw-cascader__placeholder[data-v-cb375a56]{font-size:14px;color:var(--xw-cascader-placeholder-color)}.xw-cascader__arrow[data-v-cb375a56]{font-size:12px;color:var(--xw-cascader-placeholder-color);transition:transform .2s}.xw-cascader__dropdown[data-v-cb375a56]{position:absolute;top:calc(100% + 6px);left:0;background:var(--xw-cascader-bg);border:1px solid var(--xw-cascader-panel-border);border-radius:4px;box-shadow:var(--xw-cascader-panel-shadow);z-index:100;min-width:220px;padding:6px 0}.xw-cascader__panel[data-v-cb375a56]{max-height:220px;overflow-y:auto}.xw-cascader__option[data-v-cb375a56]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background .2s,color .2s;font-size:14px;color:var(--xw-cascader-text-color);border-radius:0}.xw-cascader__option[data-v-cb375a56]:hover{background:var(--xw-cascader-hover-bg)}.xw-cascader__option--active[data-v-cb375a56]{color:var(--xw-cascader-primary);font-weight:700}.xw-cascader__expand[data-v-cb375a56]{color:var(--xw-cascader-placeholder-color);font-size:16px}:root{--xw-date-picker-border: #dcdfe6;--xw-date-picker-border-hover: #c0c4cc;--xw-date-picker-border-focus: #409eff;--xw-date-picker-bg: #ffffff;--xw-date-picker-bg-disabled: #f5f7fa;--xw-date-picker-text-color: #606266;--xw-date-picker-text-disabled: #a8abb2;--xw-date-picker-panel-border: #e4e7ed;--xw-date-picker-panel-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--xw-date-picker-primary: #409eff;--xw-date-picker-hover-bg: #f5f7fa;--xw-date-picker-selected-text: #ffffff}.xw-date-picker[data-v-b06d1463]{position:relative;display:inline-block;width:100%;font-family:inherit}.xw-date-picker__input[data-v-b06d1463]{width:100%;padding:8px 12px;border:1px solid var(--xw-date-picker-border);border-radius:4px;outline:none;font-size:14px;color:var(--xw-date-picker-text-color);background:var(--xw-date-picker-bg);cursor:pointer;transition:border-color .2s,box-shadow .2s;font-family:inherit}.xw-date-picker__input[data-v-b06d1463]:hover:not(:disabled){border-color:var(--xw-date-picker-border-hover)}.xw-date-picker__input[data-v-b06d1463]:focus:not(:disabled),.xw-date-picker__panel+.xw-date-picker__input[data-v-b06d1463]{border-color:var(--xw-date-picker-border-focus);box-shadow:0 0 0 2px #409eff33}.xw-date-picker__input[data-v-b06d1463]:disabled{background:var(--xw-date-picker-bg-disabled);cursor:not-allowed;opacity:.6}.xw-date-picker__panel[data-v-b06d1463]{position:absolute;top:calc(100% + 6px);left:0;background:var(--xw-date-picker-bg);border:1px solid var(--xw-date-picker-panel-border);border-radius:4px;box-shadow:var(--xw-date-picker-panel-shadow);padding:12px;z-index:100;min-width:280px}.xw-date-picker__header[data-v-b06d1463]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.xw-date-picker__header button[data-v-b06d1463]{border:none;background:transparent;font-size:16px;cursor:pointer;padding:4px 8px;color:var(--xw-date-picker-text-disabled);border-radius:4px;transition:color .2s}.xw-date-picker__header button[data-v-b06d1463]:hover{color:var(--xw-date-picker-primary)}.xw-date-picker__header span[data-v-b06d1463]{font-size:14px;font-weight:500;color:var(--xw-date-picker-text-color)}.xw-date-picker__weekdays[data-v-b06d1463]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.xw-date-picker__weekdays span[data-v-b06d1463]{text-align:center;font-size:12px;color:var(--xw-date-picker-text-color);padding:4px}.xw-date-picker__days[data-v-b06d1463]{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.xw-date-picker__day[data-v-b06d1463]{text-align:center;padding:4px 0;font-size:12px;cursor:pointer;border-radius:50%;width:24px;height:24px;line-height:16px;margin:0 auto;transition:all .2s;color:var(--xw-date-picker-text-color)}.xw-date-picker__day[data-v-b06d1463]:hover:not(.xw-date-picker__day--disabled){color:var(--xw-date-picker-primary)}.xw-date-picker__day--disabled[data-v-b06d1463]{cursor:default;color:transparent}.xw-date-picker__day--selected[data-v-b06d1463],.xw-date-picker__day--selected[data-v-b06d1463]:hover{background:var(--xw-date-picker-primary);color:var(--xw-date-picker-selected-text)!important}:root{--xw-time-picker-border: #dcdfe6;--xw-time-picker-border-hover: #c0c4cc;--xw-time-picker-border-focus: #409eff;--xw-time-picker-bg: #ffffff;--xw-time-picker-bg-disabled: #f5f7fa;--xw-time-picker-text-color: #606266;--xw-time-picker-panel-border: #e4e7ed;--xw-time-picker-panel-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1);--xw-time-picker-primary: #409eff;--xw-time-picker-hover-bg: #f5f7fa;--xw-time-picker-selected-text: #409eff}.xw-time-picker[data-v-c6678d42]{position:relative;display:inline-block;width:100%;font-family:inherit}.xw-time-picker__input[data-v-c6678d42]{width:100%;padding:8px 12px;border:1px solid var(--xw-time-picker-border);border-radius:4px;outline:none;font-size:14px;color:var(--xw-time-picker-text-color);background:var(--xw-time-picker-bg);cursor:pointer;transition:border-color .2s,box-shadow .2s;font-family:inherit}.xw-time-picker__input[data-v-c6678d42]:hover:not(:disabled){border-color:var(--xw-time-picker-border-hover)}.xw-time-picker__input[data-v-c6678d42]:focus:not(:disabled),.xw-time-picker__panel+.xw-time-picker__input[data-v-c6678d42]{border-color:var(--xw-time-picker-border-focus);box-shadow:0 0 0 2px #409eff33}.xw-time-picker__input[data-v-c6678d42]:disabled{background:var(--xw-time-picker-bg-disabled);cursor:not-allowed;opacity:.6}.xw-time-picker__panel[data-v-c6678d42]{position:absolute;top:calc(100% + 6px);left:0;background:var(--xw-time-picker-bg);border:1px solid var(--xw-time-picker-panel-border);border-radius:4px;box-shadow:var(--xw-time-picker-panel-shadow);z-index:100}.xw-time-picker__columns[data-v-c6678d42]{display:flex;gap:8px;padding:8px}.xw-time-picker__column[data-v-c6678d42]{width:60px;max-height:200px;overflow-y:auto;border:none;border-right:1px solid var(--xw-time-picker-panel-border);border-radius:0}.xw-time-picker__column[data-v-c6678d42]:last-child{border-right:none}.xw-time-picker__item[data-v-c6678d42]{padding:8px;text-align:center;font-size:12px;cursor:pointer;transition:all .2s;color:var(--xw-time-picker-text-color)}.xw-time-picker__item[data-v-c6678d42]:hover{background:var(--xw-time-picker-hover-bg)}.xw-time-picker__item--selected[data-v-c6678d42]{color:var(--xw-time-picker-selected-text);font-weight:700}.xw-time-picker__footer[data-v-c6678d42]{padding:8px;border-top:1px solid var(--xw-time-picker-panel-border);text-align:right}.xw-time-picker__footer button[data-v-c6678d42]{padding:4px 12px;border:none;border-radius:4px;background:transparent;color:var(--xw-time-picker-primary);font-size:12px;cursor:pointer;transition:all .2s}.xw-time-picker__footer button[data-v-c6678d42]:hover{background:transparent;opacity:.8}:root{--xw-transfer-border: #dcdfe6;--xw-transfer-border-hover: #c0c4cc;--xw-transfer-bg: #ffffff;--xw-transfer-bg-disabled: #f5f7fa;--xw-transfer-text-color: #606266;--xw-transfer-header-bg: #f5f7fa;--xw-transfer-primary: #409eff;--xw-transfer-primary-hover: #66b1ff;--xw-transfer-hover-bg: #f5f7fa;--xw-transfer-panel-shadow: 0 2px 12px 0 rgba(0, 0, 0, .1)}.xw-transfer[data-v-93f5a299]{display:flex;gap:16px;align-items:center;font-family:inherit}.xw-transfer__panel[data-v-93f5a299]{flex:1;border:1px solid var(--xw-transfer-border);border-radius:4px;overflow:hidden;background:var(--xw-transfer-bg)}.xw-transfer__header[data-v-93f5a299]{display:flex;justify-content:space-between;padding:12px 16px;background:var(--xw-transfer-header-bg);border-bottom:1px solid var(--xw-transfer-border);font-size:14px;font-weight:500;color:#303133}.xw-transfer__body[data-v-93f5a299]{max-height:300px;overflow-y:auto;padding:8px}.xw-transfer__item[data-v-93f5a299]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:background .2s;font-size:14px;color:var(--xw-transfer-text-color);border-radius:0}.xw-transfer__item[data-v-93f5a299]:hover:not(.xw-transfer__item--disabled){background:var(--xw-transfer-hover-bg);color:var(--xw-transfer-primary)}.xw-transfer__item--disabled[data-v-93f5a299]{opacity:.5;cursor:not-allowed}.xw-transfer__item input[type=checkbox][data-v-93f5a299]{cursor:pointer}.xw-transfer__buttons[data-v-93f5a299]{display:flex;flex-direction:column;gap:8px}.xw-transfer__buttons button[data-v-93f5a299]{width:36px;height:36px;border:1px solid var(--xw-transfer-border);border-radius:50%;background:var(--xw-transfer-bg);color:#909399;font-size:16px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.xw-transfer__buttons button[data-v-93f5a299]:hover:not(:disabled){background:var(--xw-transfer-primary);border-color:var(--xw-transfer-primary);color:#fff}.xw-transfer__buttons button[data-v-93f5a299]:disabled{background:var(--xw-transfer-bg-disabled);border-color:var(--xw-transfer-border);color:#c0c4cc;cursor:not-allowed}:root{--xw-upload-border: #dcdfe6;--xw-upload-border-hover: #409eff;--xw-upload-bg: #ffffff;--xw-upload-bg-hover: #f5f7fa;--xw-upload-text-color: #606266;--xw-upload-text-secondary: #a8abb2;--xw-upload-primary: #409eff;--xw-upload-danger: #f56c6c}.xw-upload[data-v-d7e7c31c]{font-family:inherit}.xw-upload__trigger[data-v-d7e7c31c]{display:inline-block;cursor:pointer}.xw-upload__trigger--disabled[data-v-d7e7c31c]{opacity:.5;cursor:not-allowed}.xw-upload__default[data-v-d7e7c31c]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border:1px dashed var(--xw-upload-border);border-radius:4px;transition:all .2s;background:var(--xw-upload-bg)}.xw-upload__default[data-v-d7e7c31c]:hover{border-color:var(--xw-upload-border-hover)}.xw-upload__icon[data-v-d7e7c31c]{font-size:28px;color:var(--xw-upload-text-secondary)}.xw-upload__text[data-v-d7e7c31c]{margin-top:8px;font-size:14px;color:var(--xw-upload-text-color)}.xw-upload__list[data-v-d7e7c31c]{margin-top:12px}.xw-upload__item[data-v-d7e7c31c]{display:flex;align-items:center;gap:12px;padding:4px 8px;border-radius:4px;margin-bottom:4px;transition:all .2s;cursor:pointer}.xw-upload__item[data-v-d7e7c31c]:hover{background:var(--xw-upload-bg-hover)}.xw-upload__filename[data-v-d7e7c31c]{flex:1;font-size:14px;color:var(--xw-upload-text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.xw-upload__size[data-v-d7e7c31c]{font-size:12px;color:var(--xw-upload-text-secondary)}.xw-upload__remove[data-v-d7e7c31c]{border:none;background:none;color:var(--xw-upload-text-secondary);font-size:16px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s,color .2s}.xw-upload__item:hover .xw-upload__remove[data-v-d7e7c31c]{opacity:1}.xw-upload__remove[data-v-d7e7c31c]:hover{color:var(--xw-upload-danger)}.xw-avatar[data-v-dc424a0d]{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(145deg,#f8fafc,#eef2f7);color:#64748b;font-weight:600;overflow:hidden;flex-shrink:0;font-family:inherit;border:1px solid #dbe3ef;box-shadow:0 2px 8px #0f172a0f}.xw-avatar--circle[data-v-dc424a0d]{border-radius:50%}.xw-avatar--square[data-v-dc424a0d]{border-radius:10px}.xw-avatar--small[data-v-dc424a0d]{width:32px;height:32px;font-size:14px}.xw-avatar--medium[data-v-dc424a0d]{width:40px;height:40px;font-size:16px}.xw-avatar--large[data-v-dc424a0d]{width:56px;height:56px;font-size:24px}.xw-avatar__img[data-v-dc424a0d]{width:100%;height:100%;object-fit:cover}.xw-avatar__icon[data-v-dc424a0d]{font-size:inherit}.xw-card[data-v-6809d29a]{border-radius:4px;border:1px solid #e4e7ed;background-color:#fff;overflow:hidden;color:#303133;transition:.3s;font-family:inherit}.xw-card--shadow-always[data-v-6809d29a]{box-shadow:0 2px 12px #0000001a}.xw-card--shadow-hover[data-v-6809d29a]{box-shadow:none}.xw-card--shadow-hover[data-v-6809d29a]:hover{box-shadow:0 2px 12px #0000001a}.xw-card--shadow-never[data-v-6809d29a]{box-shadow:none}.xw-card__header[data-v-6809d29a]{padding:18px 20px;border-bottom:1px solid #e4e7ed;box-sizing:border-box;background:#ffffff}.xw-card__title[data-v-6809d29a]{font-size:16px;font-weight:600;color:#303133}.xw-card__body[data-v-6809d29a]{padding:20px}.xw-card__footer[data-v-6809d29a]{padding:18px 20px;border-top:1px solid #e4e7ed;background:#ffffff;box-sizing:border-box}.xw-carousel[data-v-06447af9]{position:relative;overflow:hidden;border-radius:4px;font-family:inherit}.xw-carousel__container[data-v-06447af9]{display:flex;height:100%;transition:transform .5s ease}.xw-carousel__indicators[data-v-06447af9]{position:absolute;bottom:0;left:50%;transform:translate(-50%);display:flex;gap:0;z-index:2;padding:12px 0;background-color:transparent;list-style:none;margin:0}.xw-carousel__indicator[data-v-06447af9]{padding:12px 4px;cursor:pointer;background-color:transparent;border:none;display:inline-block;transition:.3s}.xw-carousel__indicator[data-v-06447af9]:before{content:"";display:block;width:30px;height:2px;background-color:#fff;opacity:.48;transition:.3s;border-radius:1px}.xw-carousel__indicator--active[data-v-06447af9]:before,.xw-carousel__indicator[data-v-06447af9]:hover:before{opacity:1}.xw-carousel__arrow[data-v-06447af9]{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border:none;border-radius:50%;background:rgba(31,45,61,.11);color:#fff;font-size:16px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .3s}.xw-carousel__arrow[data-v-06447af9]:hover{background:rgba(31,45,61,.23);color:#fff}.xw-carousel__arrow--left[data-v-06447af9]{left:16px}.xw-carousel__arrow--right[data-v-06447af9]{right:16px}:root{--xw-collapse-border: #ebeef5;--xw-collapse-bg: #ffffff;--xw-collapse-content-bg: #ffffff;--xw-collapse-header-text: #303133;--xw-collapse-content-text: #606266;--xw-collapse-header-hover: #f5f7fa;--xw-collapse-arrow-color: #909399}.xw-collapse[data-v-0c5d3a9b]{border-top:1px solid var(--xw-collapse-border);border-bottom:1px solid var(--xw-collapse-border);font-family:inherit}.xw-collapse__item[data-v-0c5d3a9b]{border-bottom:1px solid var(--xw-collapse-border)}.xw-collapse__item[data-v-0c5d3a9b]:last-child{border-bottom:none;margin-bottom:-1px}.xw-collapse__header[data-v-0c5d3a9b]{display:flex;justify-content:space-between;align-items:center;height:48px;line-height:48px;background:var(--xw-collapse-bg);cursor:pointer;font-size:13px;font-weight:500;color:var(--xw-collapse-header-text);transition:border-bottom-color .3s;outline:none}.xw-collapse__header[data-v-0c5d3a9b]:hover{color:var(--xw-collapse-header-text)}.xw-collapse__arrow[data-v-0c5d3a9b]{font-size:14px;color:var(--xw-collapse-arrow-color);transition:transform .3s;font-weight:300}.xw-collapse__header--active .xw-collapse__arrow[data-v-0c5d3a9b]{transform:rotate(90deg)}.xw-collapse__content[data-v-0c5d3a9b]{background:var(--xw-collapse-content-bg)}.xw-collapse__body[data-v-0c5d3a9b]{padding-bottom:25px;font-size:13px;color:var(--xw-collapse-content-text);line-height:1.769230769230769}.xw-empty[data-v-f947a902]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;font-family:inherit}.xw-empty__icon[data-v-f947a902]{font-size:64px;margin-bottom:16px;opacity:.42}.xw-empty__description[data-v-f947a902]{font-size:14px;color:#94a3b8;font-weight:500}.xw-image[data-v-a9a3a9fc]{position:relative;display:inline-block;overflow:hidden;font-family:inherit;border-radius:10px;background:#f8fafc}.xw-image__inner[data-v-a9a3a9fc]{width:100%;height:100%;display:block}.xw-image__inner--fill[data-v-a9a3a9fc]{object-fit:fill}.xw-image__inner--contain[data-v-a9a3a9fc]{object-fit:contain}.xw-image__inner--cover[data-v-a9a3a9fc]{object-fit:cover}.xw-image__inner--none[data-v-a9a3a9fc]{object-fit:none}.xw-image__inner--scale-down[data-v-a9a3a9fc]{object-fit:scale-down}.xw-image__loading[data-v-a9a3a9fc],.xw-image__error[data-v-a9a3a9fc]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.xw-image__loading-icon[data-v-a9a3a9fc]{font-size:32px}.xw-image__error-icon[data-v-a9a3a9fc]{font-size:32px;opacity:.35;margin-bottom:8px}.xw-image__error-text[data-v-a9a3a9fc]{font-size:12px;color:#94a3b8}:root{--xw-table-border: #ebeef5;--xw-table-bg: #ffffff;--xw-table-header-bg: #f5f7fa;--xw-table-text-color: #606266;--xw-table-header-color: #909399;--xw-table-hover-bg: #f5f7fa;--xw-table-stripe-bg: #fafafa}.xw-table[data-v-b741050d]{width:100%;overflow-x:auto;font-family:inherit;border-radius:4px}.xw-table__inner[data-v-b741050d]{width:100%;border-collapse:collapse;background:var(--xw-table-bg);border-radius:4px;overflow:hidden}.xw-table__inner--border[data-v-b741050d],.xw-table__inner--border .xw-table__cell[data-v-b741050d]{border:1px solid var(--xw-table-border)}.xw-table__header[data-v-b741050d]{background:var(--xw-table-header-bg)}.xw-table__cell[data-v-b741050d]{padding:12px 14px;text-align:left;font-size:14px;box-sizing:border-box;line-height:1.5}.xw-table__cell--header[data-v-b741050d]{font-weight:600;color:var(--xw-table-header-color);border-bottom:1px solid var(--xw-table-border);white-space:nowrap}.xw-table__row[data-v-b741050d]{transition:background .2s}.xw-table__row[data-v-b741050d]:hover{background:var(--xw-table-hover-bg)}.xw-table__inner--stripe .xw-table__row[data-v-b741050d]:nth-child(2n){background:var(--xw-table-stripe-bg)}.xw-table__inner--stripe .xw-table__row[data-v-b741050d]:nth-child(2n):hover{background:var(--xw-table-hover-bg)}.xw-table__body .xw-table__cell[data-v-b741050d]{color:var(--xw-table-text-color);border-bottom:1px solid var(--xw-table-border)}.xw-timeline[data-v-6512df04]{padding:8px 0;font-family:inherit}.xw-timeline__item[data-v-6512df04]{position:relative;padding-left:32px;padding-bottom:24px}.xw-timeline__item[data-v-6512df04]:last-child{padding-bottom:0}.xw-timeline__item[data-v-6512df04]:before{content:"";position:absolute;left:7px;top:16px;bottom:-8px;width:2px;background:#e4e7ed}.xw-timeline__item[data-v-6512df04]:last-child:before{display:none}.xw-timeline__dot[data-v-6512df04]{position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;border:2px solid #e4e7ed;background:#ffffff}.xw-timeline__dot--default[data-v-6512df04]{border-color:#e4e7ed;background:#e4e7ed}.xw-timeline__dot--primary[data-v-6512df04]{border-color:#409eff;background:#409eff}.xw-timeline__dot--success[data-v-6512df04]{border-color:#67c23a;background:#67c23a}.xw-timeline__dot--warning[data-v-6512df04]{border-color:#e6a23c;background:#e6a23c}.xw-timeline__dot--danger[data-v-6512df04]{border-color:#f56c6c;background:#f56c6c}.xw-timeline__content[data-v-6512df04]{padding-top:2px}.xw-timeline__title[data-v-6512df04]{font-size:14px;font-weight:500;color:#303133;margin-bottom:4px}.xw-timeline__description[data-v-6512df04]{font-size:13px;color:#606266;line-height:1.5;margin-bottom:4px}.xw-timeline__timestamp[data-v-6512df04]{font-size:12px;color:#909399}.xw-skeleton[data-v-24958523]{display:flex;gap:16px;font-family:inherit}.xw-skeleton__avatar[data-v-24958523]{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-loading-24958523 1.5s ease-in-out infinite;flex-shrink:0}.xw-skeleton__content[data-v-24958523]{flex:1;display:flex;flex-direction:column;gap:12px}.xw-skeleton__row[data-v-24958523]{height:16px;border-radius:6px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeleton-loading-24958523 1.5s ease-in-out infinite}.xw-skeleton__row[data-v-24958523]:last-child{width:60%}@keyframes skeleton-loading-24958523{0%{background-position:200% 0}to{background-position:-200% 0}}.xw-alert[data-v-9a4bfc11]{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;border-radius:10px;border:1px solid;font-family:inherit;box-shadow:inset 0 0 0 1px #ffffff59}.xw-alert--success[data-v-9a4bfc11]{background:#ecfdf3;border-color:#86efac;color:#166534}.xw-alert--info[data-v-9a4bfc11]{background:#eff6ff;border-color:#93c5fd;color:#1e40af}.xw-alert--warning[data-v-9a4bfc11]{background:#fffbeb;border-color:#fcd34d;color:#92400e}.xw-alert--error[data-v-9a4bfc11]{background:#fef2f2;border-color:#fca5a5;color:#991b1b}.xw-alert__icon[data-v-9a4bfc11]{font-size:18px;flex-shrink:0;line-height:1;margin-top:1px}.xw-alert__content[data-v-9a4bfc11]{flex:1}.xw-alert__title[data-v-9a4bfc11]{font-size:14px;font-weight:600;margin-bottom:4px}.xw-alert__description[data-v-9a4bfc11]{font-size:13px;line-height:1.6;opacity:.92}.xw-alert__close[data-v-9a4bfc11]{border:none;background:none;font-size:20px;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;opacity:.65;border-radius:4px;transition:opacity .2s,background .2s}.xw-alert__close[data-v-9a4bfc11]:hover{opacity:1;background:rgba(148,163,184,.2)}.xw-drawer[data-v-f1c67999]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;font-family:inherit}.xw-drawer__mask[data-v-f1c67999]{position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(2,6,23,.5);animation:fadeIn-f1c67999 .3s}.xw-drawer__wrapper[data-v-f1c67999]{position:absolute;background:#ffffff;display:flex;flex-direction:column;box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f;animation:slideIn-f1c67999 .3s}.xw-drawer__wrapper--right[data-v-f1c67999]{right:0;top:0;bottom:0}.xw-drawer__wrapper--left[data-v-f1c67999]{left:0;top:0;bottom:0}.xw-drawer__wrapper--top[data-v-f1c67999]{top:0;left:0;right:0}.xw-drawer__wrapper--bottom[data-v-f1c67999]{bottom:0;left:0;right:0}.xw-drawer__header[data-v-f1c67999]{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e4e7ed;background:#ffffff}.xw-drawer__title[data-v-f1c67999]{font-size:16px;font-weight:500;color:#303133}.xw-drawer__close[data-v-f1c67999]{border:none;background:none;font-size:20px;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:#909399;border-radius:4px;transition:color .3s}.xw-drawer__close[data-v-f1c67999]:hover{color:#409eff}.xw-drawer__body[data-v-f1c67999]{flex:1;padding:20px;overflow-y:auto;color:#606266}.xw-drawer__footer[data-v-f1c67999]{padding:20px;border-top:1px solid #e4e7ed;background:#ffffff}@keyframes fadeIn-f1c67999{0%{opacity:0}to{opacity:1}}@keyframes slideIn-f1c67999{0%{transform:translate(100%)}to{transform:translate(0)}}.xw-dropdown[data-v-2c90a7a8]{position:relative;display:inline-block;font-family:inherit}.xw-dropdown__trigger[data-v-2c90a7a8]:focus-visible{outline:none;box-shadow:var(--xw-focus-ring, 0 0 0 3px rgba(64, 158, 255, .26));border-radius:4px}.xw-dropdown__item[data-v-2c90a7a8]:focus-visible{outline:none;background:#ecf5ff;color:#409eff}.xw-dropdown__menu[data-v-2c90a7a8]{position:absolute;top:calc(100% + 6px);left:0;min-width:136px;background:#ffffff;border:1px solid #e4e7ed;border-radius:4px;box-shadow:0 2px 12px #0000001a;padding:6px 0;z-index:100}.xw-dropdown__item[data-v-2c90a7a8]{padding:8px 16px;font-size:14px;color:#606266;cursor:pointer;border-radius:0;transition:background .2s,color .2s}.xw-dropdown__item[data-v-2c90a7a8]:hover:not(.xw-dropdown__item--disabled){background:#ecf5ff;color:#409eff}.xw-dropdown__item--active[data-v-2c90a7a8]:not(.xw-dropdown__item--disabled){background:#ecf5ff;color:#409eff}.xw-dropdown__item--disabled[data-v-2c90a7a8]{color:#a8abb2;cursor:not-allowed}:root{--xw-steps-primary: #409eff;--xw-steps-line: #e4e7ed;--xw-steps-active-title: #303133;--xw-steps-text-color: #606266;--xw-steps-secondary-color: #c0c4cc}.xw-steps[data-v-de6ad603]{display:flex;font-family:inherit}.xw-steps--horizontal[data-v-de6ad603]{flex-direction:row}.xw-steps--vertical[data-v-de6ad603]{flex-direction:column}.xw-steps__item[data-v-de6ad603]{position:relative;display:flex;align-items:flex-start;gap:12px;flex:1}.xw-steps--vertical .xw-steps__item[data-v-de6ad603]{padding-bottom:24px}.xw-steps__icon[data-v-de6ad603]{width:24px;height:24px;border-radius:50%;border:2px solid var(--xw-steps-secondary-color);background:#ffffff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:500;color:var(--xw-steps-secondary-color);flex-shrink:0;transition:all .3s}.xw-steps__item--active .xw-steps__icon[data-v-de6ad603]{border-color:var(--xw-steps-primary);color:var(--xw-steps-primary)}.xw-steps__item--finish .xw-steps__icon[data-v-de6ad603]{border-color:var(--xw-steps-primary);background:var(--xw-steps-primary);color:#fff}.xw-steps__content[data-v-de6ad603]{flex:1;padding-top:2px}.xw-steps__title[data-v-de6ad603]{font-size:14px;font-weight:500;color:var(--xw-steps-secondary-color);line-height:20px}.xw-steps__item--active .xw-steps__title[data-v-de6ad603]{color:var(--xw-steps-active-title);font-weight:700}.xw-steps__item--finish .xw-steps__title[data-v-de6ad603]{color:var(--xw-steps-text-color)}.xw-steps__description[data-v-de6ad603]{font-size:12px;color:var(--xw-steps-secondary-color);line-height:1.5;margin-top:4px}.xw-steps__item--active .xw-steps__description[data-v-de6ad603],.xw-steps__item--finish .xw-steps__description[data-v-de6ad603]{color:var(--xw-steps-text-color)}.xw-steps__line[data-v-de6ad603]{position:absolute;background:var(--xw-steps-line);transition:background .3s}.xw-steps--horizontal .xw-steps__line[data-v-de6ad603]{top:11px;left:36px;right:calc(-100% + 36px);height:2px}.xw-steps--vertical .xw-steps__line[data-v-de6ad603]{left:11px;top:28px;bottom:4px;width:2px}.xw-steps__item--finish .xw-steps__line[data-v-de6ad603]{background:var(--xw-steps-primary)}.xw-backtop[data-v-812247e2]{position:fixed;width:40px;height:40px;border-radius:50%;background:#ffffff;color:#606266;border:1px solid #e4e7ed;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 0 6px #0000001f;transition:all .3s;z-index:999;font-family:inherit}.xw-backtop[data-v-812247e2]:hover{color:#409eff;background:#f2f6fc}.xw-backtop__icon[data-v-812247e2]{font-size:24px;line-height:1}:root{--xw-menu-border: #dcdfe6;--xw-menu-bg: #ffffff;--xw-menu-text-color: #303133;--xw-menu-hover-bg: #ecf5ff;--xw-menu-hover-color: #409eff;--xw-menu-active-bg: #ecf5ff;--xw-menu-active-color: #409eff;--xw-menu-active-border: #409eff}.xw-menu[data-v-b0f596a9]{background:var(--xw-menu-bg);border:1px solid var(--xw-menu-border);border-radius:4px;overflow:hidden;font-family:inherit}.xw-menu--vertical[data-v-b0f596a9]{display:flex;flex-direction:column}.xw-menu--horizontal[data-v-b0f596a9]{display:flex;flex-direction:row}.xw-menu__item[data-v-b0f596a9]{display:flex;align-items:center;gap:8px;padding:12px 20px;font-size:14px;color:var(--xw-menu-text-color);cursor:pointer;transition:all .2s}.xw-menu__item[data-v-b0f596a9]:hover{background:var(--xw-menu-hover-bg);color:var(--xw-menu-hover-color)}.xw-menu__item--active[data-v-b0f596a9]{background:var(--xw-menu-active-bg);color:var(--xw-menu-active-color);box-shadow:inset 2px 0 0 var(--xw-menu-active-border)}.xw-menu__icon[data-v-b0f596a9]{font-size:16px;opacity:.9}.xw-menu__label[data-v-b0f596a9]{flex:1}.xw-popover[data-v-fc878ae2]{position:relative;display:inline-block;font-family:inherit}.xw-popover__trigger[data-v-fc878ae2]:focus-visible{outline:none;box-shadow:var(--xw-focus-ring, 0 0 0 3px rgba(64, 158, 255, .26));border-radius:4px}.xw-popover__content[data-v-fc878ae2]{position:absolute;z-index:100;background:#ffffff;border:1px solid #dbe3ef;border-radius:4px;box-shadow:0 2px 12px #0000001a;padding:12px;min-width:150px;max-width:300px}.xw-popover__content--top[data-v-fc878ae2]{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.xw-popover__content--bottom[data-v-fc878ae2]{top:calc(100% + 8px);left:50%;transform:translate(-50%)}.xw-popover__content--left[data-v-fc878ae2]{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.xw-popover__content--right[data-v-fc878ae2]{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}.xw-popover__title[data-v-fc878ae2]{font-size:14px;font-weight:600;color:#334155;margin-bottom:8px}.xw-popover__body[data-v-fc878ae2]{font-size:13px;color:#64748b;line-height:1.6}
@@ -0,0 +1,3 @@
1
+ declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ declare const _default: typeof __VLS_export;
3
+ export default _default;
@@ -0,0 +1,10 @@
1
+ export interface AlertProps {
2
+ type?: 'success' | 'info' | 'warning' | 'error';
3
+ title?: string;
4
+ description?: string;
5
+ closable?: boolean;
6
+ showIcon?: boolean;
7
+ }
8
+ export interface AlertEmits {
9
+ (e: 'close'): void;
10
+ }
@@ -0,0 +1,22 @@
1
+ import type { AlertProps } from './Alert';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<AlertProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ close: () => any;
8
+ }, string, import("vue").PublicProps, Readonly<AlertProps> & Readonly<{
9
+ onClose?: (() => any) | undefined;
10
+ }>, {
11
+ type: "success" | "info" | "warning" | "error";
12
+ closable: boolean;
13
+ showIcon: boolean;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
18
+ type __VLS_WithSlots<T, S> = T & {
19
+ new (): {
20
+ $slots: S;
21
+ };
22
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Alert } from './Alert.vue';
2
+ export type { AlertProps, AlertEmits } from './Alert';
@@ -0,0 +1,13 @@
1
+ export interface AutocompleteProps {
2
+ modelValue?: string;
3
+ options?: string[];
4
+ placeholder?: string;
5
+ disabled?: boolean;
6
+ size?: 'small' | 'medium' | 'large';
7
+ clearable?: boolean;
8
+ }
9
+ export interface AutocompleteEmits {
10
+ (e: 'update:modelValue', value: string): void;
11
+ (e: 'select', value: string): void;
12
+ (e: 'search', value: string): void;
13
+ }
@@ -0,0 +1,17 @@
1
+ import type { AutocompleteProps } from './Autocomplete';
2
+ declare const __VLS_export: import("vue").DefineComponent<AutocompleteProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
3
+ "update:modelValue": (value: string) => any;
4
+ search: (value: string) => any;
5
+ select: (value: string) => any;
6
+ }, string, import("vue").PublicProps, Readonly<AutocompleteProps> & Readonly<{
7
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
8
+ onSearch?: ((value: string) => any) | undefined;
9
+ onSelect?: ((value: string) => any) | undefined;
10
+ }>, {
11
+ size: "small" | "medium" | "large";
12
+ disabled: boolean;
13
+ clearable: boolean;
14
+ options: string[];
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const _default: typeof __VLS_export;
17
+ export default _default;
@@ -0,0 +1,2 @@
1
+ export { default as Autocomplete } from './Autocomplete.vue';
2
+ export type { AutocompleteProps, AutocompleteEmits } from './Autocomplete';
@@ -0,0 +1,7 @@
1
+ export interface AvatarProps {
2
+ src?: string;
3
+ alt?: string;
4
+ size?: 'small' | 'medium' | 'large' | number;
5
+ shape?: 'circle' | 'square';
6
+ icon?: string;
7
+ }
@@ -0,0 +1,17 @@
1
+ import type { AvatarProps } from './Avatar';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<AvatarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<AvatarProps> & Readonly<{}>, {
7
+ size: "small" | "medium" | "large" | number;
8
+ shape: "circle" | "square";
9
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
11
+ declare const _default: typeof __VLS_export;
12
+ export default _default;
13
+ type __VLS_WithSlots<T, S> = T & {
14
+ new (): {
15
+ $slots: S;
16
+ };
17
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Avatar } from './Avatar.vue';
2
+ export type { AvatarProps } from './Avatar';
@@ -0,0 +1,9 @@
1
+ export interface BacktopProps {
2
+ visibilityHeight?: number;
3
+ right?: number;
4
+ bottom?: number;
5
+ position?: 'fixed' | 'absolute';
6
+ }
7
+ export interface BacktopEmits {
8
+ (e: 'click'): void;
9
+ }
@@ -0,0 +1,23 @@
1
+ import type { BacktopProps } from './Backtop';
2
+ declare var __VLS_7: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_7) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<BacktopProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
7
+ click: () => any;
8
+ }, string, import("vue").PublicProps, Readonly<BacktopProps> & Readonly<{
9
+ onClick?: (() => any) | undefined;
10
+ }>, {
11
+ bottom: number;
12
+ position: "fixed" | "absolute";
13
+ right: number;
14
+ visibilityHeight: number;
15
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
+ declare const _default: typeof __VLS_export;
18
+ export default _default;
19
+ type __VLS_WithSlots<T, S> = T & {
20
+ new (): {
21
+ $slots: S;
22
+ };
23
+ };
@@ -0,0 +1,2 @@
1
+ export { default as Backtop } from './Backtop.vue';
2
+ export type { BacktopProps, BacktopEmits } from './Backtop';
@@ -0,0 +1,13 @@
1
+ export type BadgeType = 'primary' | 'success' | 'warning' | 'danger' | 'info';
2
+ export interface BadgeProps {
3
+ /** 显示值 */
4
+ value?: string | number;
5
+ /** 类型 @default 'danger' */
6
+ type?: BadgeType;
7
+ /** 是否显示小圆点 @default false */
8
+ dot?: boolean;
9
+ /** 是否隐藏 @default false */
10
+ hidden?: boolean;
11
+ /** 最大值,超过显示 + @default 99 */
12
+ max?: number;
13
+ }
@@ -0,0 +1,19 @@
1
+ import type { BadgeProps } from './Badge';
2
+ declare var __VLS_1: {};
3
+ type __VLS_Slots = {} & {
4
+ default?: (props: typeof __VLS_1) => any;
5
+ };
6
+ declare const __VLS_base: import("vue").DefineComponent<BadgeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<BadgeProps> & Readonly<{}>, {
7
+ type: import("./Badge").BadgeType;
8
+ hidden: boolean;
9
+ max: number;
10
+ dot: boolean;
11
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
13
+ declare const _default: typeof __VLS_export;
14
+ export default _default;
15
+ type __VLS_WithSlots<T, S> = T & {
16
+ new (): {
17
+ $slots: S;
18
+ };
19
+ };
@@ -0,0 +1,4 @@
1
+ import Badge from './Badge.vue';
2
+ import type { BadgeProps } from './Badge';
3
+ export { Badge, type BadgeProps };
4
+ export default Badge;
@@ -0,0 +1,17 @@
1
+ export interface BreadcrumbItem {
2
+ /** 显示文字 */
3
+ label: string;
4
+ /** 链接地址 */
5
+ href?: string;
6
+ /** 路由地址(用于 Vue Router)*/
7
+ to?: string | object;
8
+ }
9
+ export interface BreadcrumbProps {
10
+ /** 面包屑项目列表 */
11
+ items?: BreadcrumbItem[];
12
+ /** 分隔符 @default '/' */
13
+ separator?: string;
14
+ }
15
+ export interface BreadcrumbEmits {
16
+ (e: 'click', item: BreadcrumbItem, index: number): void;
17
+ }
@@ -0,0 +1,11 @@
1
+ import type { BreadcrumbProps, BreadcrumbItem } from './Breadcrumb';
2
+ declare const __VLS_export: import("vue").DefineComponent<BreadcrumbProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {} & {
3
+ click: (item: BreadcrumbItem, index: number) => any;
4
+ }, string, import("vue").PublicProps, Readonly<BreadcrumbProps> & Readonly<{
5
+ onClick?: ((item: BreadcrumbItem, index: number) => any) | undefined;
6
+ }>, {
7
+ items: BreadcrumbItem[];
8
+ separator: string;
9
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ export default _default;
@@ -0,0 +1,4 @@
1
+ import Breadcrumb from './Breadcrumb.vue';
2
+ import type { BreadcrumbProps, BreadcrumbEmits, BreadcrumbItem } from './Breadcrumb';
3
+ export { Breadcrumb, type BreadcrumbProps, type BreadcrumbEmits, type BreadcrumbItem };
4
+ export default Breadcrumb;