tt-design-web-vue 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 (227) hide show
  1. package/CHANGELOG.md +61 -0
  2. package/README.md +120 -0
  3. package/dist/index.cjs +2 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.js +5220 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/rich-text.css +1 -0
  8. package/dist/style.cjs +2 -0
  9. package/dist/style.cjs.map +1 -0
  10. package/dist/style.css +1 -0
  11. package/dist/style.js +2 -0
  12. package/dist/style.js.map +1 -0
  13. package/dist/types/components/ActivityFeed/ActivityFeed.vue.d.ts +13 -0
  14. package/dist/types/components/ActivityFeed/index.d.ts +2 -0
  15. package/dist/types/components/Alert/Alert.vue.d.ts +164 -0
  16. package/dist/types/components/Alert/index.d.ts +1 -0
  17. package/dist/types/components/Anchor/Anchor.vue.d.ts +12 -0
  18. package/dist/types/components/Anchor/AnchorLink.vue.d.ts +14 -0
  19. package/dist/types/components/Anchor/index.d.ts +2 -0
  20. package/dist/types/components/AttachmentList/AttachmentList.vue.d.ts +19 -0
  21. package/dist/types/components/AttachmentList/index.d.ts +2 -0
  22. package/dist/types/components/Avatar/Avatar.vue.d.ts +153 -0
  23. package/dist/types/components/Avatar/AvatarGroup.vue.d.ts +208 -0
  24. package/dist/types/components/Avatar/avatar.d.ts +3 -0
  25. package/dist/types/components/Avatar/index.d.ts +6 -0
  26. package/dist/types/components/BackTop/BackTop.vue.d.ts +138 -0
  27. package/dist/types/components/BackTop/index.d.ts +1 -0
  28. package/dist/types/components/Badge/Badge.vue.d.ts +164 -0
  29. package/dist/types/components/Badge/index.d.ts +1 -0
  30. package/dist/types/components/Breadcrumb/Breadcrumb.vue.d.ts +108 -0
  31. package/dist/types/components/Breadcrumb/BreadcrumbItem.vue.d.ts +108 -0
  32. package/dist/types/components/Breadcrumb/index.d.ts +2 -0
  33. package/dist/types/components/Button/Button.vue.d.ts +12 -0
  34. package/dist/types/components/Button/index.d.ts +2 -0
  35. package/dist/types/components/Calendar/Calendar.vue.d.ts +205 -0
  36. package/dist/types/components/Calendar/index.d.ts +1 -0
  37. package/dist/types/components/Card/Card.vue.d.ts +179 -0
  38. package/dist/types/components/Card/index.d.ts +2 -0
  39. package/dist/types/components/CardSelect/CardSelect.vue.d.ts +56 -0
  40. package/dist/types/components/CardSelect/index.d.ts +2 -0
  41. package/dist/types/components/Carousel/Carousel.vue.d.ts +214 -0
  42. package/dist/types/components/Carousel/CarouselItem.vue.d.ts +112 -0
  43. package/dist/types/components/Carousel/index.d.ts +2 -0
  44. package/dist/types/components/Cascader/Cascader.vue.d.ts +704 -0
  45. package/dist/types/components/Cascader/index.d.ts +3 -0
  46. package/dist/types/components/Chart/Chart.vue.d.ts +47 -0
  47. package/dist/types/components/Chart/index.d.ts +2 -0
  48. package/dist/types/components/Checkbox/Checkbox.vue.d.ts +21 -0
  49. package/dist/types/components/Checkbox/CheckboxGroup.vue.d.ts +20 -0
  50. package/dist/types/components/Checkbox/index.d.ts +5 -0
  51. package/dist/types/components/Collapse/Collapse.vue.d.ts +150 -0
  52. package/dist/types/components/Collapse/CollapseItem.vue.d.ts +146 -0
  53. package/dist/types/components/Collapse/index.d.ts +2 -0
  54. package/dist/types/components/Color/Color.vue.d.ts +26 -0
  55. package/dist/types/components/Color/index.d.ts +2 -0
  56. package/dist/types/components/ColorPicker/ColorPicker.vue.d.ts +195 -0
  57. package/dist/types/components/ColorPicker/index.d.ts +3 -0
  58. package/dist/types/components/Comment/Comment.vue.d.ts +46 -0
  59. package/dist/types/components/Comment/index.d.ts +2 -0
  60. package/dist/types/components/Container/Container.vue.d.ts +12 -0
  61. package/dist/types/components/Container/index.d.ts +1 -0
  62. package/dist/types/components/DatePicker/DatePicker.vue.d.ts +568 -0
  63. package/dist/types/components/DatePicker/index.d.ts +3 -0
  64. package/dist/types/components/Descriptions/Descriptions.vue.d.ts +138 -0
  65. package/dist/types/components/Descriptions/DescriptionsItem.vue.d.ts +150 -0
  66. package/dist/types/components/Descriptions/index.d.ts +2 -0
  67. package/dist/types/components/Dialog/Dialog.vue.d.ts +360 -0
  68. package/dist/types/components/Dialog/index.d.ts +1 -0
  69. package/dist/types/components/Divider/Divider.vue.d.ts +123 -0
  70. package/dist/types/components/Divider/index.d.ts +1 -0
  71. package/dist/types/components/Drawer/Drawer.vue.d.ts +398 -0
  72. package/dist/types/components/Drawer/index.d.ts +1 -0
  73. package/dist/types/components/Dropdown/Dropdown.vue.d.ts +1610 -0
  74. package/dist/types/components/Dropdown/DropdownItem.vue.d.ts +12 -0
  75. package/dist/types/components/Dropdown/DropdownMenu.vue.d.ts +12 -0
  76. package/dist/types/components/Dropdown/index.d.ts +3 -0
  77. package/dist/types/components/EChartsWrapper/EChartsWrapper.vue.d.ts +39 -0
  78. package/dist/types/components/EChartsWrapper/index.d.ts +2 -0
  79. package/dist/types/components/Empty/Empty.vue.d.ts +126 -0
  80. package/dist/types/components/Empty/index.d.ts +1 -0
  81. package/dist/types/components/FilePreview/FilePreview.vue.d.ts +67 -0
  82. package/dist/types/components/FilePreview/index.d.ts +2 -0
  83. package/dist/types/components/FloatButton/FloatButton.vue.d.ts +44 -0
  84. package/dist/types/components/FloatButton/index.d.ts +2 -0
  85. package/dist/types/components/Font/Font.vue.d.ts +18 -0
  86. package/dist/types/components/Font/index.d.ts +2 -0
  87. package/dist/types/components/Form/Form.vue.d.ts +221 -0
  88. package/dist/types/components/Form/FormItem.vue.d.ts +17 -0
  89. package/dist/types/components/Form/index.d.ts +4 -0
  90. package/dist/types/components/Grid/Col.vue.d.ts +160 -0
  91. package/dist/types/components/Grid/Row.vue.d.ts +120 -0
  92. package/dist/types/components/Grid/index.d.ts +2 -0
  93. package/dist/types/components/Icon/Icon.vue.d.ts +30 -0
  94. package/dist/types/components/Icon/gradient.d.ts +10 -0
  95. package/dist/types/components/Icon/index.d.ts +1 -0
  96. package/dist/types/components/Image/Image.vue.d.ts +285 -0
  97. package/dist/types/components/Image/index.d.ts +1 -0
  98. package/dist/types/components/Input/Input.vue.d.ts +407 -0
  99. package/dist/types/components/Input/index.d.ts +2 -0
  100. package/dist/types/components/InputNumber/InputNumber.vue.d.ts +282 -0
  101. package/dist/types/components/InputNumber/index.d.ts +2 -0
  102. package/dist/types/components/Layout/Layout.vue.d.ts +27 -0
  103. package/dist/types/components/Layout/index.d.ts +1 -0
  104. package/dist/types/components/Link/Link.vue.d.ts +148 -0
  105. package/dist/types/components/Link/index.d.ts +1 -0
  106. package/dist/types/components/List/List.vue.d.ts +26 -0
  107. package/dist/types/components/List/ListItem.vue.d.ts +27 -0
  108. package/dist/types/components/List/index.d.ts +2 -0
  109. package/dist/types/components/Loading/Loading.vue.d.ts +12 -0
  110. package/dist/types/components/Loading/index.d.ts +3 -0
  111. package/dist/types/components/Masonry/Masonry.vue.d.ts +35 -0
  112. package/dist/types/components/Masonry/index.d.ts +2 -0
  113. package/dist/types/components/Menu/Menu.vue.d.ts +235 -0
  114. package/dist/types/components/Menu/MenuItem.vue.d.ts +295 -0
  115. package/dist/types/components/Menu/MenuItemGroup.vue.d.ts +14 -0
  116. package/dist/types/components/Menu/SubMenu.vue.d.ts +216 -0
  117. package/dist/types/components/Menu/index.d.ts +4 -0
  118. package/dist/types/components/Message/index.d.ts +9 -0
  119. package/dist/types/components/Money/Money.vue.d.ts +30 -0
  120. package/dist/types/components/Money/index.d.ts +2 -0
  121. package/dist/types/components/Notification/index.d.ts +9 -0
  122. package/dist/types/components/Pagination/Pagination.vue.d.ts +3 -0
  123. package/dist/types/components/Pagination/index.d.ts +1 -0
  124. package/dist/types/components/Plate/Plate.vue.d.ts +46 -0
  125. package/dist/types/components/Plate/index.d.ts +2 -0
  126. package/dist/types/components/Popconfirm/Popconfirm.vue.d.ts +23 -0
  127. package/dist/types/components/Popconfirm/index.d.ts +1 -0
  128. package/dist/types/components/Popover/Popover.vue.d.ts +19 -0
  129. package/dist/types/components/Popover/index.d.ts +1 -0
  130. package/dist/types/components/Progress/Progress.vue.d.ts +180 -0
  131. package/dist/types/components/Progress/index.d.ts +1 -0
  132. package/dist/types/components/QRCode/QRCode.vue.d.ts +43 -0
  133. package/dist/types/components/QRCode/index.d.ts +2 -0
  134. package/dist/types/components/QueryForm/QueryForm.vue.d.ts +227 -0
  135. package/dist/types/components/QueryForm/index.d.ts +1 -0
  136. package/dist/types/components/Radio/Radio.vue.d.ts +20 -0
  137. package/dist/types/components/Radio/RadioButton.vue.d.ts +12 -0
  138. package/dist/types/components/Radio/RadioGroup.vue.d.ts +20 -0
  139. package/dist/types/components/Radio/index.d.ts +6 -0
  140. package/dist/types/components/Rate/Rate.vue.d.ts +120 -0
  141. package/dist/types/components/Rate/index.d.ts +3 -0
  142. package/dist/types/components/Result/Result.vue.d.ts +136 -0
  143. package/dist/types/components/Result/index.d.ts +1 -0
  144. package/dist/types/components/RichText/RichText.vue.d.ts +42 -0
  145. package/dist/types/components/RichText/index.d.ts +2 -0
  146. package/dist/types/components/SearchFilter/SearchFilter.vue.d.ts +14 -0
  147. package/dist/types/components/SearchFilter/index.d.ts +1 -0
  148. package/dist/types/components/Segmented/Segmented.vue.d.ts +24 -0
  149. package/dist/types/components/Segmented/index.d.ts +3 -0
  150. package/dist/types/components/Select/Select.vue.d.ts +56 -0
  151. package/dist/types/components/Select/index.d.ts +3 -0
  152. package/dist/types/components/Skeleton/Skeleton.vue.d.ts +140 -0
  153. package/dist/types/components/Skeleton/SkeletonItem.vue.d.ts +26 -0
  154. package/dist/types/components/Skeleton/index.d.ts +2 -0
  155. package/dist/types/components/Space/Space.vue.d.ts +184 -0
  156. package/dist/types/components/Space/SpaceCompact.vue.d.ts +23 -0
  157. package/dist/types/components/Space/index.d.ts +579 -0
  158. package/dist/types/components/Spin/Spin.vue.d.ts +23 -0
  159. package/dist/types/components/Spin/index.d.ts +3 -0
  160. package/dist/types/components/Splitter/Splitter.vue.d.ts +146 -0
  161. package/dist/types/components/Splitter/SplitterPanel.vue.d.ts +144 -0
  162. package/dist/types/components/Splitter/index.d.ts +2 -0
  163. package/dist/types/components/Statistic/Statistic.vue.d.ts +158 -0
  164. package/dist/types/components/Statistic/index.d.ts +1 -0
  165. package/dist/types/components/Steps/Step.vue.d.ts +136 -0
  166. package/dist/types/components/Steps/Steps.vue.d.ts +148 -0
  167. package/dist/types/components/Steps/index.d.ts +2 -0
  168. package/dist/types/components/Switch/Switch.vue.d.ts +238 -0
  169. package/dist/types/components/Switch/index.d.ts +3 -0
  170. package/dist/types/components/Table/Table.vue.d.ts +38 -0
  171. package/dist/types/components/Table/TableColumn.vue.d.ts +4 -0
  172. package/dist/types/components/Table/TableOperationColumn.vue.d.ts +27 -0
  173. package/dist/types/components/Table/index.d.ts +3 -0
  174. package/dist/types/components/Tabs/TabPane.vue.d.ts +14 -0
  175. package/dist/types/components/Tabs/Tabs.vue.d.ts +19 -0
  176. package/dist/types/components/Tabs/index.d.ts +4 -0
  177. package/dist/types/components/Tag/CheckableTag.vue.d.ts +23 -0
  178. package/dist/types/components/Tag/Tag.vue.d.ts +150 -0
  179. package/dist/types/components/Tag/index.d.ts +479 -0
  180. package/dist/types/components/TimePicker/TimePicker.vue.d.ts +551 -0
  181. package/dist/types/components/TimePicker/index.d.ts +3 -0
  182. package/dist/types/components/Timeline/Timeline.vue.d.ts +60 -0
  183. package/dist/types/components/Timeline/TimelineItem.vue.d.ts +144 -0
  184. package/dist/types/components/Timeline/index.d.ts +2 -0
  185. package/dist/types/components/Tooltip/Tooltip.vue.d.ts +19 -0
  186. package/dist/types/components/Tooltip/index.d.ts +1 -0
  187. package/dist/types/components/TopicSwitch/TopicSwitch.vue.d.ts +36 -0
  188. package/dist/types/components/TopicSwitch/index.d.ts +3 -0
  189. package/dist/types/components/Tour/Tour.vue.d.ts +222 -0
  190. package/dist/types/components/Tour/index.d.ts +2 -0
  191. package/dist/types/components/Transfer/Transfer.vue.d.ts +29 -0
  192. package/dist/types/components/Transfer/index.d.ts +3 -0
  193. package/dist/types/components/Tree/Tree.vue.d.ts +5857 -0
  194. package/dist/types/components/Tree/index.d.ts +3 -0
  195. package/dist/types/components/TreeSelect/TreeSelect.vue.d.ts +990 -0
  196. package/dist/types/components/TreeSelect/index.d.ts +3 -0
  197. package/dist/types/components/Upload/Upload.vue.d.ts +322 -0
  198. package/dist/types/components/Upload/index.d.ts +3 -0
  199. package/dist/types/components/UserDisplay/UserDisplay.vue.d.ts +21 -0
  200. package/dist/types/components/UserDisplay/index.d.ts +1 -0
  201. package/dist/types/components/Watermark/Watermark.vue.d.ts +13 -0
  202. package/dist/types/components/Watermark/index.d.ts +1 -0
  203. package/dist/types/index.d.ts +119 -0
  204. package/dist/types/style.d.ts +0 -0
  205. package/dist/types/theme.d.ts +5 -0
  206. package/docs/component-compatibility.md +85 -0
  207. package/docs/component-manifest.json +100 -0
  208. package/docs/components/button.md +32 -0
  209. package/docs/components/chart.md +37 -0
  210. package/docs/components/container.md +28 -0
  211. package/docs/components/dialog.md +46 -0
  212. package/docs/components/echarts-wrapper.md +46 -0
  213. package/docs/components/form.md +67 -0
  214. package/docs/components/grid.md +32 -0
  215. package/docs/components/icon.md +45 -0
  216. package/docs/components/index.md +36 -0
  217. package/docs/components/loading.md +46 -0
  218. package/docs/components/message.md +26 -0
  219. package/docs/components/qr-code.md +49 -0
  220. package/docs/components/rich-text.md +65 -0
  221. package/docs/components/select.md +71 -0
  222. package/docs/components/table.md +44 -0
  223. package/docs/components/upload.md +40 -0
  224. package/docs/index.md +35 -0
  225. package/docs/migration-from-workspace.md +79 -0
  226. package/docs/theme.md +100 -0
  227. package/package.json +88 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,61 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## Unreleased
6
+
7
+ ## 0.1.0
8
+
9
+ - 根入口组件导出统一使用 `Tt` 前缀(例如 `TtButton`、`TtInput`、`TtDialog`),移除未加前缀的旧导出名称;Vue 模板中对应使用 `<tt-button>`、`<tt-input>`、`<tt-dialog>`。
10
+ - 调整版本管理策略:日常源码、样式、测试、文档和构建配置修改只记录在本章节,不自动递增 `package.json` 版本号。
11
+ - 仅在组件库准备实际发布时递增版本号,并将本章节内容归档到对应版本。
12
+ - 将组件运行时样式中的固定浅色背景、边框、阴影和遮罩替换为语义化主题 Token,覆盖 DatePicker、TimePicker、Tag、Upload、Alert、BackTop、Color、Popconfirm、Card、ColorPicker、UserDisplay、Segmented、Tour、Image、Splitter、QueryForm、QRCode、FloatButton、Plate、Avatar、FilePreview 等组件。
13
+ - 修复 Select 的 footer 悬停状态清理、`options` 普通/分组选项渲染、自定义搜索过滤和递归全选逻辑。
14
+ - 新增 DatePicker、TimePicker、Select、Cascader、Tree、Upload 的深色主题视觉契约测试。
15
+ - 扩展发布包 consumer 类型测试,覆盖 Button、Input、Select、Dialog、Drawer、Pagination、Table 的合法属性和错误类型校验。
16
+ - 使用独立可写缓存完成构建、完整 Vitest 与 npm tarball consumer 验证。
17
+ - 补充 Select 分组选项的递归全选处理,并完善 Select 组件文档中的搜索、全选和分组选项类型说明。
18
+ - 按 TongClaw UI 设计规范对齐色彩 Token:成功色调整为 `#35D4A7`(及配套 hover `#5CE0B6`、浅色底 `#EDFFF9`、深色底 `#123B35`),页面底色改为 `#F2F2F2`,新增 `--tt-bg-subtle`(标签与搜索框 `#F2F3F5`)、`--tt-bg-thead`(表头与提示行 `#F7F8FA`)和 `--tt-bg-hover`(激活底与浅蓝面 `#F0F9FF`)语义 Token;`--tt-border-color` 收敛为 `#E9ECF2`(控件边框),`--tt-border-color-light` 收敛为 `#F5F7FA`(分割线与容器外框),深色主题与 system 主题同步推导对应值。
19
+ - 将 21 个组件样式中混用的描边引用迁移到正确语义层级:Input、InputNumber、DatePicker、TimePicker、Radio、ColorPicker、Popconfirm、Cascader、Transfer、TreeSelect、Upload、Button、Pagination、Tag、Tooltip、UserDisplay、QRCode、Plate、Tree、TopicSwitch、FloatButton 的控件边框统一使用 `--tt-border-color`;Table 表头底色改用 `--tt-bg-thead`(与其表头分隔线同源,均为 `--tt-bg-light` / `--tt-border-color-light`),Tag 底色改用 `--tt-bg-subtle`。
20
+ - `--tt-color-success-active` 保持 `#06A17F`(深色主题 `#11C79B`)不变:规范值 `#35D4A7` 在白色背景上对比度仅约 1.9:1,不满足文本可读性要求,且既有取色与其色相基本一致。
21
+ - 补全发布包元数据:新增 `author` 与 `license: MIT` 声明,`publishConfig.tag` 由 `next` 修正为 `latest`,使不带版本号的安装能解析到本版本。
22
+ - 收窄发布包内容边界:`files` 增加 `!docs/.vitepress` 负向排除,避免 VitePress 构建产物 `docs/.vitepress/dist` 进入 tarball;`docs/` 下的 Markdown 源文档仍正常发布。
23
+ - 修复 `scripts/test-package.mjs` 在 `npm pack --dry-run` 与 `npm publish --dry-run` 下失败的问题:嵌套 `npm pack` 不再继承外层注入的 `npm_config_dry_run`,确保发布前审阅步骤可用。
24
+ - 包名由 `tt-design-vue` 变更为 `tt-design-web-vue`:原名称被 npm 判定为与既有包 `ant-design-vue` 过度相似而拒绝发布(E403)。同步更新 README、VitePress 文档、迁出计划、`scripts/test-package.mjs` 消费者冒烟测试的导入语句与 `vite.config.ts` 注释中的包名引用;原 workspace 路径、`.claude`/`.agents` 技能目录名与示例 URL 保持不变。
25
+
26
+ ## 0.1.0-rc.4
27
+
28
+ ### P0 基础能力与主题支持
29
+
30
+ - 新增 `light`、`dark`、`system` 三种主题模式,提供 `applyTheme`、`getTheme`、`normalizeThemeMode`、`getThemeAttributeName` 和 `TTThemeMode` 公共 API。
31
+ - 建立 `data-tt-theme` 主题契约,支持通过 HTML 属性或 JavaScript API 切换主题。
32
+ - 重构主题 Token,覆盖背景、文本、边框、遮罩、焦点环和阴影等语义化变量。
33
+ - 增加 Element Plus `--el-*` 变量桥接,使 TT 主题能够统一覆盖 Element Plus 基础样式。
34
+ - 为 Button、Input、Form、FormItem、Pagination、Dialog、Drawer wrapper 补充公共 TypeScript 属性类型,并保留 `$attrs` 属性透传。
35
+ - 修复 Dialog、Drawer 的 `appendToBody` 默认行为,保持遮罩层和弹层的预期挂载位置。
36
+ - 更新 Button、Dialog、Drawer、Message、Notification、Popover、Tooltip、Pagination、Table 样式,改用语义化主题 Token,支持深浅主题切换。
37
+ - 新增主题契约测试,补充主题接入、迁移边界和 RichText 相关文档。
38
+
39
+ ## 0.1.0-rc.3
40
+
41
+ - 将组件库版本与变更记录约定明确写入 `AGENTS.md` 和 `CLAUDE.md`。
42
+ - 统一 README、迁出计划和 Storybook 示例中的当前版本引用。
43
+ - 后续每次源码、样式、测试、文档或构建配置修改,都必须递增版本号并新增对应的 CHANGELOG 条目。
44
+
45
+ ## 0.1.0-rc.2
46
+
47
+ - Synchronized the migration plan, README, and Storybook version examples with the current package version.
48
+ - Clarified the repository rule to increment the `0.1.0-rc.N` prerelease sequence for every source, style, test, documentation, or build configuration change.
49
+
50
+ ## 0.1.0-rc.1
51
+
52
+ - Added light, dark, and system theme modes through the public `data-tt-theme` contract and `applyTheme` API.
53
+ - Added semantic TT tokens and Element Plus theme bridging for surfaces, text, borders, overlays, focus rings, and shadows.
54
+ - Improved public TypeScript props for core Button, Input, Form, FormItem, Pagination, Dialog, and Drawer wrappers while preserving attribute forwarding and overlay defaults.
55
+ - Updated core feedback, overlay, table, pagination, and button styles to consume semantic theme tokens.
56
+ - Added theme contract tests and documented the theme integration and per-change versioning requirement.
57
+
58
+ ## 0.1.0-rc.0
59
+
60
+ - Migrated the existing Vue component source into an independently buildable package.
61
+ - Added real JavaScript, declaration, and CSS build outputs.
package/README.md ADDED
@@ -0,0 +1,120 @@
1
+ # TT Design Vue
2
+
3
+ 基于 Vue 3 与 Element Plus 的 TT Design 风格组件库。
4
+
5
+ > 当前版本为 `0.1.0`。它从原 workspace 的 `tt-design-vue` 迁出,但作为独立项目构建并提供真实的 JavaScript、类型声明和 CSS 产物。
6
+
7
+ ## 安装
8
+
9
+ ```bash
10
+ yarn add vue element-plus tt-design-web-vue
11
+ ```
12
+
13
+ `vue` 与 `element-plus` 是 peer dependencies,请由宿主应用自行安装和维护版本。
14
+
15
+ ## 快速开始
16
+
17
+ 先注册 Element Plus,并按顺序导入基础样式和 TT Design 样式:
18
+
19
+ ```ts
20
+ import { createApp } from 'vue';
21
+ import ElementPlus from 'element-plus';
22
+ import 'element-plus/dist/index.css';
23
+ import 'tt-design-web-vue/style.css';
24
+
25
+ import App from './App.vue';
26
+
27
+ createApp(App)
28
+ .use(ElementPlus)
29
+ .mount('#app');
30
+ ```
31
+
32
+ 主题模式通过 `data-tt-theme` 控制,也可使用公共 API:
33
+
34
+ ```ts
35
+ import { applyTheme } from 'tt-design-web-vue';
36
+
37
+ applyTheme('light'); // 'light' | 'dark' | 'system'
38
+ ```
39
+
40
+ 按需从根入口导入组件:
41
+
42
+ ```vue
43
+ <script setup lang="ts">
44
+ import { TtButton, TtDialog, TtForm, TtFormItem, TtInput } from 'tt-design-web-vue';
45
+ </script>
46
+
47
+ <template>
48
+ <tt-form>
49
+ <tt-form-item label="名称">
50
+ <tt-input />
51
+ </tt-form-item>
52
+ <tt-button type="primary">保存</tt-button>
53
+ </tt-form>
54
+ </template>
55
+ ```
56
+
57
+ ## 样式入口
58
+
59
+ 下面两个入口都指向同一份构建后的 CSS;第二个保留用于兼容旧 workspace 的调用方式:
60
+
61
+ ```ts
62
+ import 'tt-design-web-vue/style.css';
63
+ // 或
64
+ import 'tt-design-web-vue/dist/style.css';
65
+ ```
66
+
67
+ 组件库不会内置完整的 Element Plus 样式。因此,宿主必须先加载 Element Plus 的 CSS(或其自定义 Sass 主题),再加载 TT Design 样式。
68
+
69
+ ## 主题
70
+
71
+ 组件库通过 `--tt-*` CSS 变量提供主题契约。主色会按以下顺序读取:
72
+
73
+ ```text
74
+ --micro-base-* → --micro-app-* → --el-* → TT 默认值
75
+ ```
76
+
77
+ 这使独立项目可直接使用默认主题,同时也能在既有微前端宿主中继承主题变量。完整变量列表和覆盖示例见 [主题说明](./docs/theme.md)。
78
+
79
+ ## 兼容范围
80
+
81
+ 首发版本保留迁出源中全部根入口导出,包括基础组件与既有组合组件,例如 `TtActivityFeed`、`TtQueryForm`、`TtEChartsWrapper` 和 `TtUserDisplay`。所有组件导出均使用 `Tt` 前缀,与 Element Plus 的组件名称区分;与 React 基线的对应状态将记录在 [组件兼容清单](./docs/component-compatibility.md)。
82
+
83
+ ## 本地开发
84
+
85
+ ```bash
86
+ yarn install
87
+ yarn lint
88
+ yarn test
89
+ yarn build
90
+ yarn test:package
91
+ ```
92
+
93
+ - `lint`:运行严格的 Vue/TypeScript 静态检查。
94
+ - `test`:运行组件与公开 API 测试。
95
+ - `build`:生成 `dist/index.js`、`dist/index.cjs`、`dist/types/index.d.ts` 和 `dist/style.css`。
96
+ - `test:package`:校验构建产物、ESM/CJS 导出、CSS Token 和 npm tarball 包含的文件。
97
+ - `docs:build`:构建安装、主题、迁出与兼容性等 VitePress 长文档。
98
+ - `storybook`:启动组件交互展示站,提供 Docs、Canvas、Controls、Actions 与状态案例。
99
+ - `storybook:build`:构建静态 Storybook 展示站,用于 CI 验证。
100
+
101
+ ## 迁出边界
102
+
103
+ 原 workspace 包仍保留在:
104
+
105
+ ```text
106
+ /Users/meng/Documents/productcode/platform/apps/frontend/web/packages/tt-design-vue
107
+ ```
108
+
109
+ 本项目不会删除、移动或修改该路径,也不会在本次迁出中切换任何旧 workspace 消费者。详情见 [迁出说明](./docs/migration-from-workspace.md)。
110
+
111
+ ## 发布
112
+
113
+ 发布前请依次运行构建与打包校验,并审阅 npm 将包含的文件:
114
+
115
+ ```bash
116
+ yarn prepack
117
+ npm pack --dry-run
118
+ ```
119
+
120
+ 实际发布 registry 与 `latest` 标签必须在发布操作前单独确认。
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var xe=Object.create;var de=Object.defineProperty;var Ne=Object.getOwnPropertyDescriptor;var Pe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,Me=Object.prototype.hasOwnProperty;var Ae=(t,a,o,n)=>{if(a&&typeof a=="object"||typeof a=="function")for(let l of Pe(a))!Me.call(t,l)&&l!==o&&de(t,l,{get:()=>a[l],enumerable:!(n=Ne(a,l))||n.enumerable});return t};var De=(t,a,o)=>(o=t!=null?xe(Re(t)):{},Ae(a||!t||!t.__esModule?de(o,"default",{value:t,enumerable:!0}):o,t));Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),L=require("@element-plus/icons-vue"),k=require("element-plus"),ze=require("echarts"),Ie=require("qrcode");function fe(t){const a=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const o in t)if(o!=="default"){const n=Object.getOwnPropertyDescriptor(t,o);Object.defineProperty(a,o,n.get?n:{enumerable:!0,get:()=>t[o]})}}return a.default=t,Object.freeze(a)}const Le=fe(ze),Fe=fe(Ie),ve=e.defineComponent({name:"Timeline",__name:"Timeline",setup(t,{expose:a}){const o=e.ref();return a({timelineRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElTimeline),e.mergeProps({ref_key:"timelineRef",ref:o,class:"tt-timeline"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Ue={class:"tt-timeline-item__dot"},ke=e.defineComponent({name:"TimelineItem",__name:"TimelineItem",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({timelineItemRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElTimelineItem),e.mergeProps({ref_key:"timelineItemRef",ref:n,class:"tt-timeline-item"},l.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:2},[e.unref(o).dot?{name:"dot",fn:e.withCtx(()=>[e.createElementVNode("span",Ue,[e.renderSlot(l.$slots,"dot")])]),key:"0"}:void 0]),1040))}}),Oe={class:"tt-activity-feed"},Ke={class:"tt-activity-feed__item"},je={class:"tt-activity-feed__title"},We={key:0,class:"tt-activity-feed__description"},Ge={key:1,class:"tt-activity-feed__user"},qe=e.defineComponent({name:"ActivityFeed",__name:"ActivityFeed",props:{items:{}},setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(e.unref(ve),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.items,n=>(e.openBlock(),e.createBlock(e.unref(ke),{key:n.key,timestamp:n.time,type:n.type||"primary",placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("div",Ke,[e.createElementVNode("div",je,e.toDisplayString(n.title),1),n.description?(e.openBlock(),e.createElementBlock("div",We,e.toDisplayString(n.description),1)):e.createCommentVNode("",!0),n.user?(e.openBlock(),e.createElementBlock("div",Ge,e.toDisplayString(n.user),1)):e.createCommentVNode("",!0)])]),_:2},1032,["timestamp","type"]))),128))]),_:1})]))}}),Ye=e.defineComponent({name:"Alert",__name:"Alert",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({alertRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElAlert),e.mergeProps({ref_key:"alertRef",ref:n,class:"tt-alert"},l.$attrs),e.createSlots({_:2},[e.unref(o).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),key:"0"}:void 0,e.unref(o).default?{name:"default",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),key:"1"}:void 0]),1040))}}),Xe=e.defineComponent({name:"Anchor",__name:"Anchor",setup(t){return(a,o)=>(e.openBlock(),e.createBlock(e.unref(k.ElAnchor),e.mergeProps({class:"tt-anchor"},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),He=e.defineComponent({name:"AnchorLink",__name:"AnchorLink",setup(t){return(a,o)=>(e.openBlock(),e.createBlock(e.unref(k.ElAnchorLink),e.mergeProps({class:"tt-anchor-link"},a.$attrs),{"sub-link":e.withCtx(()=>[e.renderSlot(a.$slots,"sub-link")]),default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),Qe=["role","tabindex"],Ze={class:"tt-file-preview__icon","aria-hidden":"true"},Je={class:"tt-file-preview__body"},et={key:0},tt=["aria-label"],ot={class:"tt-file-preview-overlay__header"},nt=["title"],lt={class:"tt-file-preview-overlay__actions"},at=["disabled"],rt=["href","download","aria-disabled"],st={class:"tt-file-preview-overlay__content"},it=["src","alt"],ct=["src"],ut=["src"],dt={key:3,class:"tt-file-preview-overlay__text"},pt=["src","title"],mt=["src","title"],ft={key:6,class:"tt-file-preview-overlay__file-card"},vt=["title"],kt=["href","download"],ht=["disabled"],yt=["disabled"],gt={key:0,class:"tt-file-preview-overlay__toolbar","aria-label":"图片工具栏"},_t={class:"tt-file-preview-overlay__footer-bar"},bt=["aria-label"],Bt={key:0,class:"tt-file-preview-overlay__file-list"},Ct=["aria-label","onClick"],$t={class:"tt-file-preview-overlay__thumb"},wt=["src","alt"],St={key:1},Et=["title"],Vt=.2,Tt=5,le=.2,xt="https://view.officeapps.live.com/op/embed.aspx?src=",he=e.defineComponent({name:"FilePreview",__name:"FilePreview",props:{name:{default:""},description:{default:""},type:{default:"file"},clickable:{type:Boolean,default:!0},visible:{type:Boolean,default:!0},fileList:{default:()=>[]},startFile:{},copyable:{type:Boolean,default:!0},downloadable:{type:Boolean,default:!0},loop:{type:Boolean,default:!0},officePreviewUrl:{},zIndex:{default:2e3},closeOnMaskClick:{type:Boolean,default:!1},showToolbar:{type:Boolean,default:!0}},emits:["close","preview","update:visible"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.useAttrs(),s=e.ref(null),d=e.ref(!1),u=e.ref(0),i=e.ref({scale:1,rotate:0,offsetX:0,offsetY:0}),c=e.ref(null),m={dragging:!1,startX:0,startY:0,offsetX:0,offsetY:0},p=e.computed(()=>n.fileList.filter(Boolean)),y=e.computed(()=>p.value.length>0),f=e.computed(()=>p.value[u.value]),h=e.computed(()=>{var v;return((v=f.value)==null?void 0:v.name)||"未命名文件"}),b=e.computed(()=>{var v;return I((v=f.value)==null?void 0:v.url)}),B=e.computed(()=>P(f.value)),V=e.computed(()=>W(f.value)),D=e.computed(()=>j(b.value)),z=e.computed(()=>Q(b.value)),T=e.computed(()=>["word","excel","ppt"].includes(B.value)),R=e.computed(()=>p.value.length>1),$=e.computed(()=>n.loop||u.value>0),S=e.computed(()=>n.loop||u.value<p.value.length-1),A=e.computed(()=>n.type.slice(0,3).toUpperCase()||"FILE"),w=e.computed(()=>({transform:`translate(${i.value.offsetX}px, ${i.value.offsetY}px) scale(${i.value.scale}) rotate(${i.value.rotate}deg)`}));e.watch([p,()=>n.startFile,()=>n.visible],([v,_])=>{const N=_?v.findIndex(U=>U===_||U.url===_.url&&U.name===_.name):-1;u.value=N>=0?N:0,K()},{immediate:!0}),e.watch([y,()=>n.visible],([v,_],N,U)=>{if(!v||!_||typeof document>"u")return;const ee=document.body.style.overflow;document.body.style.overflow="hidden",U(()=>{document.body.style.overflow=ee})},{immediate:!0}),e.watch([B,b],async([v,_],N,U)=>{if(c.value=null,v!=="txt"||!_)return;const ee=new AbortController;U(()=>ee.abort());try{const ue=await fetch(_,{signal:ee.signal});ue.ok&&(c.value=await ue.text())}catch{}},{immediate:!0});function E(v){var N;return((N=((v==null?void 0:v.name)||(v==null?void 0:v.url)||"").split(/[?#]/)[0].split(".").pop())==null?void 0:N.toLowerCase())||""}function P(v){const _=E(v);return["png","jpg","jpeg","gif","webp","svg","bmp"].includes(_)?"image":["mp4","webm","ogg","mov"].includes(_)?"video":["mp3","wav","m4a"].includes(_)?"audio":_==="pdf"?"pdf":_==="txt"?"txt":["doc","docx"].includes(_)?"word":["xls","xlsx","csv"].includes(_)?"excel":["ppt","pptx"].includes(_)?"ppt":"other"}function I(v){if(!v)return"";if(v.startsWith("/")||v.startsWith("./")||v.startsWith("../"))return v;try{const _=new URL(v,typeof window>"u"?"http://localhost":window.location.href);return["http:","https:","blob:"].includes(_.protocol)?v:""}catch{return""}}function j(v){return(v==null?void 0:v.replace("_thumbnail.","."))||""}function Q(v){return v?typeof n.officePreviewUrl=="function"?n.officePreviewUrl(v):`${n.officePreviewUrl||xt}${encodeURIComponent(v)}`:""}function W(v){return E(v).slice(0,3).toUpperCase()||"FILE"}function G(v,_){return`${v.url||""}-${v.name||""}-${_}`}function X(){n.clickable&&l("preview")}function q(){l("update:visible",!1),l("close")}function Z(){n.closeOnMaskClick&&q()}function K(){i.value={scale:1,rotate:0,offsetX:0,offsetY:0}}function g(v){p.value[v]&&(u.value=v,K())}function x(){$.value&&g(u.value===0?p.value.length-1:u.value-1)}function M(){S.value&&g(u.value===p.value.length-1?0:u.value+1)}function F(v){const _=Math.min(Tt,Math.max(Vt,i.value.scale+v));i.value={...i.value,scale:_,offsetX:_<=1?0:i.value.offsetX,offsetY:_<=1?0:i.value.offsetY}}function O(v){i.value={...i.value,rotate:i.value.rotate+v}}function te(v){F(v.deltaY<0?le:-le)}function oe(v){i.value.scale<=1||(v.preventDefault(),Object.assign(m,{dragging:!0,startX:v.clientX,startY:v.clientY,offsetX:i.value.offsetX,offsetY:i.value.offsetY}))}function ne(v){m.dragging&&(i.value={...i.value,offsetX:m.offsetX+v.clientX-m.startX,offsetY:m.offsetY+v.clientY-m.startY})}function H(){m.dragging=!1}async function ae(){var _;if(!b.value)return;if((_=navigator.clipboard)!=null&&_.writeText){await navigator.clipboard.writeText(b.value).catch(()=>{});return}const v=document.createElement("textarea");v.value=b.value,v.style.position="fixed",v.style.left="-9999px",document.body.appendChild(v),v.select(),document.execCommand("copy"),document.body.removeChild(v)}function J(v){b.value||v.preventDefault()}function C(v){n.visible&&(v.key==="Escape"?q():v.key==="ArrowLeft"?x():v.key==="ArrowRight"&&M())}return e.onMounted(()=>{document.addEventListener("keydown",C),document.addEventListener("mousemove",ne),document.addEventListener("mouseup",H),window.addEventListener("blur",H)}),e.onBeforeUnmount(()=>{document.removeEventListener("keydown",C),document.removeEventListener("mousemove",ne),document.removeEventListener("mouseup",H),window.removeEventListener("blur",H)}),a({get root(){return s.value},reset:K,prev:x,next:M,getCurrentFile:()=>f.value}),(v,_)=>y.value?(e.openBlock(),e.createBlock(e.Teleport,{key:1,to:"body"},[t.visible?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,ref_key:"root",ref:s},e.unref(r),{class:"tt-file-preview-overlay",style:{zIndex:t.zIndex},role:"dialog","aria-modal":"true","aria-label":`${h.value} 文件预览`,onClick:e.withModifiers(Z,["self"])}),[e.createElementVNode("header",ot,[e.createElementVNode("strong",{title:h.value},e.toDisplayString(h.value),9,nt),e.createElementVNode("div",lt,[t.copyable?(e.openBlock(),e.createElementBlock("button",{key:0,type:"button",disabled:!b.value,"aria-label":"复制链接",onClick:ae},[e.createVNode(e.unref(L.CopyDocument))],8,at)):e.createCommentVNode("",!0),t.downloadable?(e.openBlock(),e.createElementBlock("a",{key:1,href:b.value||void 0,download:h.value,"aria-disabled":!b.value,"aria-label":"下载",onClick:J},[e.createVNode(e.unref(L.Download))],8,rt)):e.createCommentVNode("",!0),e.createElementVNode("button",{type:"button","aria-label":"关闭预览",onClick:q},[e.createVNode(e.unref(L.Close))])])]),e.createElementVNode("main",st,[B.value==="image"&&b.value?(e.openBlock(),e.createElementBlock("img",{key:0,class:e.normalizeClass(["tt-file-preview-overlay__image",{"is-draggable":i.value.scale>1}]),src:D.value,alt:h.value,style:e.normalizeStyle(w.value),draggable:"false",onWheel:e.withModifiers(te,["prevent"]),onMousedown:oe},null,46,it)):B.value==="video"&&b.value?(e.openBlock(),e.createElementBlock("video",{key:1,controls:"",src:b.value},null,8,ct)):B.value==="audio"&&b.value?(e.openBlock(),e.createElementBlock("audio",{key:2,controls:"",src:b.value},null,8,ut)):B.value==="txt"&&c.value!==null?(e.openBlock(),e.createElementBlock("pre",dt,e.toDisplayString(c.value),1)):(B.value==="pdf"||B.value==="txt")&&b.value?(e.openBlock(),e.createElementBlock("iframe",{key:4,src:B.value==="pdf"?`${b.value}#toolbar=0`:b.value,title:h.value},null,8,pt)):T.value&&b.value?(e.openBlock(),e.createElementBlock("iframe",{key:5,src:z.value,title:h.value},null,8,mt)):(e.openBlock(),e.createElementBlock("div",ft,[e.createElementVNode("span",null,e.toDisplayString(V.value),1),e.createElementVNode("strong",{title:h.value},e.toDisplayString(h.value),9,vt),t.downloadable&&b.value?(e.openBlock(),e.createElementBlock("a",{key:0,href:b.value,download:h.value},[e.createVNode(e.unref(L.Download)),_[5]||(_[5]=e.createTextVNode("下载文件",-1))],8,kt)):e.createCommentVNode("",!0)])),R.value?(e.openBlock(),e.createElementBlock("button",{key:7,class:"tt-file-preview-overlay__nav tt-file-preview-overlay__nav--prev",type:"button",disabled:!$.value,"aria-label":"上一个文件",onClick:x},[e.createVNode(e.unref(L.ArrowLeft))],8,ht)):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("button",{key:8,class:"tt-file-preview-overlay__nav tt-file-preview-overlay__nav--next",type:"button",disabled:!S.value,"aria-label":"下一个文件",onClick:M},[e.createVNode(e.unref(L.ArrowRight))],8,yt)):e.createCommentVNode("",!0)]),t.showToolbar&&B.value==="image"&&b.value?(e.openBlock(),e.createElementBlock("div",gt,[e.createElementVNode("button",{type:"button","aria-label":"缩小图片",onClick:_[0]||(_[0]=N=>F(-le))},[e.createVNode(e.unref(L.ZoomOut))]),e.createElementVNode("button",{type:"button","aria-label":"放大图片",onClick:_[1]||(_[1]=N=>F(le))},[e.createVNode(e.unref(L.ZoomIn))]),e.createElementVNode("button",{type:"button","aria-label":"向左旋转",onClick:_[2]||(_[2]=N=>O(-90))},[e.createVNode(e.unref(L.RefreshLeft))]),e.createElementVNode("button",{type:"button","aria-label":"向右旋转",onClick:_[3]||(_[3]=N=>O(90))},[e.createVNode(e.unref(L.RefreshRight))]),e.createElementVNode("button",{type:"button","aria-label":"重置图片",onClick:K},[e.createVNode(e.unref(L.Refresh))])])):e.createCommentVNode("",!0),R.value?(e.openBlock(),e.createElementBlock("footer",{key:1,class:e.normalizeClass(["tt-file-preview-overlay__footer",{"is-expanded":d.value}])},[e.createElementVNode("div",_t,[e.createElementVNode("button",{type:"button","aria-label":d.value?"收起文件列表":"展开文件列表",onClick:_[4]||(_[4]=N=>d.value=!d.value)},[d.value?(e.openBlock(),e.createBlock(e.unref(L.ArrowUp),{key:0})):(e.openBlock(),e.createBlock(e.unref(L.ArrowDown),{key:1}))],8,bt),e.createElementVNode("span",null,e.toDisplayString(u.value+1)+" / "+e.toDisplayString(p.value.length),1)]),d.value?(e.openBlock(),e.createElementBlock("div",Bt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(N,U)=>(e.openBlock(),e.createElementBlock("button",{key:G(N,U),type:"button",class:e.normalizeClass({"is-active":U===u.value}),"aria-label":`预览 ${N.name||"未命名文件"}`,onClick:ee=>g(U)},[e.createElementVNode("span",$t,[P(N)==="image"&&I(N.url)?(e.openBlock(),e.createElementBlock("img",{key:0,src:j(N.url),alt:N.name},null,8,wt)):(e.openBlock(),e.createElementBlock("span",St,e.toDisplayString(W(N)),1))]),e.createElementVNode("span",{title:N.name},e.toDisplayString(N.name||"未命名文件"),9,Et)],10,Ct))),128))])):e.createCommentVNode("",!0)],2)):e.createCommentVNode("",!0)],16,tt)):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0},e.unref(r),{class:["tt-file-preview",{"is-clickable":t.clickable}],role:t.clickable?"button":void 0,tabindex:t.clickable?0:void 0,onClick:X,onKeydown:e.withKeys(X,["enter"])}),[e.createElementVNode("span",Ze,e.toDisplayString(A.value),1),e.createElementVNode("div",Je,[e.createElementVNode("strong",null,e.toDisplayString(t.name),1),t.description?(e.openBlock(),e.createElementBlock("span",et,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.renderSlot(v.$slots,"extra")],16,Qe))}}),Nt={class:"tt-attachment-list"},Pt=["onClick"],Rt=e.defineComponent({name:"AttachmentList",__name:"AttachmentList",props:{files:{}},emits:["preview","download"],setup(t,{emit:a}){const o=a;return(n,l)=>(e.openBlock(),e.createElementBlock("div",Nt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.files,r=>(e.openBlock(),e.createBlock(e.unref(he),{key:r.key,name:r.name,description:r.description||r.size,type:r.type,onPreview:s=>o("preview",r)},{extra:e.withCtx(()=>[e.createElementVNode("button",{type:"button",class:"tt-attachment-list__action",onClick:e.withModifiers(s=>o("download",r),["stop"])},"下载",8,Pt)]),_:2},1032,["name","description","type","onPreview"]))),128))]))}}),pe=["red","orange","gold","lime","green","cyan","blue","geekBlue","purple","pink","rosePink"],Mt={class:"tt-avatar-wrapper"},At={key:1,class:"tt-avatar-badge"},ye=e.defineComponent({name:"Avatar",__name:"Avatar",props:{color:{},name:{},showTooltip:{type:Boolean,default:!1},status:{},badgeCount:{default:0},showRemove:{type:Boolean,default:!1}},emits:["remove"],setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.ref(),s=e.useSlots(),d=e.computed(()=>{var m;return((m=s.default)==null?void 0:m.call(s).map(p=>typeof p.children=="string"?p.children:"").join(""))??""}),u=e.computed(()=>{if(n.color)return n.color;if(d.value)return pe[d.value.charCodeAt(0)%pe.length]}),i=e.computed(()=>["tt-avatar",u.value&&`tt-avatar-color-${u.value}`,u.value&&["gold","lime","cyan"].includes(u.value)?"tt-avatar-text-dark":"tt-avatar-text-light"]),c=e.computed(()=>n.badgeCount>99?"99+":n.badgeCount);return a({avatarRef:r}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(k.ElTooltip),{content:t.name,placement:"top",disabled:!t.showTooltip||!t.name},{default:e.withCtx(()=>[e.createElementVNode("span",Mt,[e.createVNode(e.unref(k.ElAvatar),e.mergeProps({ref_key:"avatarRef",ref:r,class:i.value},m.$attrs),{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:3},16,["class"]),t.status?(e.openBlock(),e.createElementBlock("span",{key:0,class:e.normalizeClass(["tt-avatar-status-dot",`is-${t.status}`])},null,2)):e.createCommentVNode("",!0),t.badgeCount>0?(e.openBlock(),e.createElementBlock("span",At,e.toDisplayString(c.value),1)):e.createCommentVNode("",!0),t.showRemove?(e.openBlock(),e.createElementBlock("button",{key:2,class:"tt-avatar-remove-btn",type:"button","aria-label":"移除头像",onClick:p[0]||(p[0]=e.withModifiers(y=>l("remove"),["stop"]))},[e.createVNode(e.unref(k.ElIcon),null,{default:e.withCtx(()=>[e.createVNode(e.unref(L.CircleCloseFilled))]),_:1})])):e.createCommentVNode("",!0)])]),_:3},8,["content","disabled"]))}}),Dt=e.defineComponent({name:"AvatarGroup",__name:"AvatarGroup",setup(t,{expose:a}){const o=e.ref();return a({avatarGroupRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElAvatarGroup),e.mergeProps({ref_key:"avatarGroupRef",ref:o,class:"tt-avatar-group"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),zt=e.defineComponent({name:"Badge",__name:"Badge",setup(t,{expose:a}){const o=e.ref();return a({badgeRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElBadge),e.mergeProps({ref_key:"badgeRef",ref:o,class:"tt-badge"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),It=e.defineComponent({name:"BackTop",__name:"BackTop",setup(t,{expose:a}){const o=e.ref();return a({backtopRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElBacktop),e.mergeProps({ref_key:"backtopRef",ref:o,class:"tt-backtop"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Lt=e.defineComponent({name:"Breadcrumb",__name:"Breadcrumb",setup(t,{expose:a}){const o=e.ref();return a({breadcrumbRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElBreadcrumb),e.mergeProps({ref_key:"breadcrumbRef",ref:o,class:"tt-breadcrumb"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Ft=e.defineComponent({name:"BreadcrumbItem",__name:"BreadcrumbItem",setup(t,{expose:a}){const o=e.ref();return a({breadcrumbItemRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElBreadcrumbItem),e.mergeProps({ref_key:"breadcrumbItemRef",ref:o,class:"tt-breadcrumb-item"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}});function Y(t){return t===!0||t===""}function Ut(t){const a=typeof t.type=="string"?t.type:"default",o=typeof t.size=="string"?t.size:void 0;return["tt-button",`tt-button-${a}`,o&&`tt-button-${o}`,Y(t.plain)&&"tt-button-plain",Y(t.round)&&"tt-button-round",Y(t.circle)&&"tt-button-circle",Y(t.text)&&"tt-button-text",Y(t.link)&&"tt-button-link",Y(t.disabled)&&"tt-button-disabled",Y(t.loading)&&"tt-button-loading"]}const ge=e.defineComponent({name:"Button",inheritAttrs:!1,__name:"Button",props:{size:{},disabled:{type:Boolean},type:{},icon:{},nativeType:{},loading:{type:Boolean},loadingIcon:{},plain:{type:Boolean},text:{type:Boolean},link:{type:Boolean},bg:{type:Boolean},autofocus:{type:Boolean},round:{type:Boolean},circle:{type:Boolean},dashed:{type:Boolean},color:{},dark:{type:Boolean},autoInsertSpace:{type:Boolean},tag:{}},setup(t){const a=e.useAttrs(),o=t,n=e.computed(()=>({...o,...a})),l=e.computed(()=>Ut(n.value));return(r,s)=>(e.openBlock(),e.createBlock(e.unref(k.ElButton),e.mergeProps({class:l.value},n.value),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),Ot={class:"tt-card-metric__content"},Kt={key:0,class:"tt-card-metric__icon"},jt={class:"tt-card-metric__body"},Wt={key:0,class:"tt-card-metric__label"},Gt={key:1,class:"tt-card-metric__value"},qt={key:2,class:"tt-card-metric__footer"},Yt={key:0,class:"tt-card-metric__footer-label"},Xt={class:"tt-card-metric__compare-icon","aria-hidden":"true"},Ht={class:"tt-card-panel__header"},Qt={key:0,class:"tt-card-panel__title"},Zt={key:1,class:"tt-card-panel__subtitle"},Jt={key:0,class:"tt-card-panel__extra"},eo={key:0,class:"tt-card-panel__subtitle"},to=e.defineComponent({name:"Card",__name:"Card",props:{type:{default:"default"},title:{},subTitle:{},label:{},value:{},compareLabel:{},compareValue:{},compareDirection:{default:"up"}},setup(t,{expose:a}){const o=t,n=e.useSlots(),l=e.ref(),r=e.computed(()=>o.type==="metric"),s=e.computed(()=>o.type==="panel"),d=e.computed(()=>o.type==="panel-subtitle"),u=e.computed(()=>!!(n.header||n.extra||o.title||o.subTitle)),i=e.computed(()=>!!(o.compareLabel||o.compareValue!==void 0&&o.compareValue!==null)),c=e.computed(()=>["tt-card",{"tt-card--metric":o.type==="metric","tt-card--panel":o.type==="panel","tt-card--panel-subtitle":o.type==="panel-subtitle"}]);return a({cardRef:l}),(m,p)=>r.value?(e.openBlock(),e.createBlock(e.unref(k.ElCard),e.mergeProps({key:0,ref_key:"cardRef",ref:l,class:c.value},m.$attrs),{default:e.withCtx(()=>[e.createElementVNode("div",Ot,[e.unref(n).icon?(e.openBlock(),e.createElementBlock("div",Kt,[e.renderSlot(m.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("div",jt,[t.label||t.title?(e.openBlock(),e.createElementBlock("div",Wt,e.toDisplayString(t.label||t.title),1)):e.createCommentVNode("",!0),t.value!==void 0&&t.value!==null?(e.openBlock(),e.createElementBlock("div",Gt,e.toDisplayString(t.value),1)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createElementBlock("div",qt,[t.compareLabel?(e.openBlock(),e.createElementBlock("span",Yt,e.toDisplayString(t.compareLabel),1)):e.createCommentVNode("",!0),t.compareValue!==void 0&&t.compareValue!==null?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(["tt-card-metric__compare",`tt-card-metric__compare--${t.compareDirection}`])},[e.createElementVNode("span",null,e.toDisplayString(t.compareValue),1),e.createElementVNode("span",Xt,e.toDisplayString(t.compareDirection==="down"?"↓":"↑"),1)],2)):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default")])])]),_:3},16,["class"])):u.value?(e.openBlock(),e.createBlock(e.unref(k.ElCard),e.mergeProps({key:1,ref_key:"cardRef",ref:l,class:c.value},m.$attrs),e.createSlots({header:e.withCtx(()=>[e.renderSlot(m.$slots,"header",{},()=>[e.createElementVNode("div",Ht,[e.createElementVNode("div",{class:e.normalizeClass(["tt-card-panel__title-wrap",{"tt-card-panel__title-wrap--subtitle":d.value}])},[t.title?(e.openBlock(),e.createElementBlock("strong",Qt,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.subTitle&&!s.value?(e.openBlock(),e.createElementBlock("span",Zt,e.toDisplayString(t.subTitle),1)):e.createCommentVNode("",!0)],2),e.unref(n).extra||s.value&&t.subTitle?(e.openBlock(),e.createElementBlock("div",Jt,[s.value&&t.subTitle?(e.openBlock(),e.createElementBlock("span",eo,e.toDisplayString(t.subTitle),1)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"extra")])):e.createCommentVNode("",!0)])])]),default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:2},[e.unref(n).footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"footer")]),key:"0"}:void 0]),1040,["class"])):(e.openBlock(),e.createBlock(e.unref(k.ElCard),e.mergeProps({key:2,ref_key:"cardRef",ref:l,class:c.value},m.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:2},[e.unref(n).footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(m.$slots,"footer")]),key:"0"}:void 0]),1040,["class"]))}});function oo(t){const a=[];let o=0,n=0;for(let l=0;l<t.length;l+=1)t[l]==="("&&(n+=1),t[l]===")"&&(n-=1),t[l]===","&&n===0&&(a.push(t.slice(o,l).trim()),o=l+1);return a.push(t.slice(o).trim()),a.filter(Boolean)}function no(t){const a=Number.parseFloat(t);return t.endsWith("deg")&&!Number.isNaN(a)?a:{"to top":0,"to top right":45,"to right top":45,"to right":90,"to bottom right":135,"to right bottom":135,"to bottom":180,"to bottom left":225,"to left bottom":225,"to left":270,"to top left":315,"to left top":315}[t]??180}function lo(t){const a=t*Math.PI/180,o=Math.sin(a)*.5,n=-Math.cos(a)*.5,l=r=>`${Math.round(r*1e4)/100}%`;return{x1:l(.5-o),y1:l(.5-n),x2:l(.5+o),y2:l(.5+n)}}function ao(t){if(!t)return null;const a=t.match(/^(linear|radial)-gradient\((.*)\)$/i);if(!a)return null;const o=a[1].toLowerCase(),n=oo(a[2]),l=n[0]??"",r=o==="linear"&&(l.endsWith("deg")||l.startsWith("to ")),s=(r?n.slice(1):n).map((d,u,i)=>{const c=d.replace(/\s+(?:\d*\.?\d+)(?:%|px)?(?:\s+(?:\d*\.?\d+)(?:%|px)?)?$/,""),m=d.match(/\s((?:\d*\.?\d+)(?:%|px))(?:\s+(?:\d*\.?\d+)(?:%|px))?$/);return{color:c,offset:(m==null?void 0:m[1])??`${u/Math.max(i.length-1,1)*100}%`}}).filter(d=>d.color);return s.length<2?null:{type:o,stops:s,coordinates:o==="linear"?lo(no(r?l:"180deg")):void 0}}const ro={key:0,class:"tt-icon__gradient-defs",width:"0",height:"0","aria-hidden":"true",focusable:"false"},so=["offset","stop-color"],io=["offset","stop-color"],co={key:1,class:"tt-icon__slot"},uo={key:2,class:"tt-icon__component"},po={key:4,class:"tt-icon__fallback"},_e=e.defineComponent({name:"Icon",__name:"Icon",props:{icon:{default:void 0},size:{default:void 0},color:{default:void 0},iconfont:{default:""},spin:{type:Boolean,default:!1},inline:{type:Boolean,default:!0},label:{default:""}},setup(t){const a=t,o=e.useSlots(),n=`tt-icon-gradient-${e.useId()}`,l=e.computed(()=>ao(a.color)),r=e.computed(()=>l.value?void 0:a.color),s=e.computed(()=>{if(!(!l.value||!a.color))return{"--tt-icon-gradient":a.color,"--tt-icon-gradient-fill":`url(#${n})`}}),d=e.computed(()=>!!(a.icon&&typeof a.icon!="string")),u=e.computed(()=>typeof a.icon=="string"&&!!a.icon),i=e.computed(()=>[`tt-icon-${a.inline?"inline":"block"}`,a.spin&&"tt-icon-spin",o.default&&"tt-icon-slot",d.value&&"tt-icon-component",u.value&&"tt-icon-text",a.iconfont&&"tt-icon-iconfont",l.value&&"tt-icon-gradient",a.label&&"tt-icon-labeled"]);return(c,m)=>(e.openBlock(),e.createBlock(e.unref(k.ElIcon),e.mergeProps({class:["tt-icon",i.value],size:t.size,color:r.value,style:s.value,"aria-label":t.label||void 0,"aria-hidden":t.label?void 0:"true"},c.$attrs),{default:e.withCtx(()=>[l.value?(e.openBlock(),e.createElementBlock("svg",ro,[e.createElementVNode("defs",null,[l.value.type==="linear"?(e.openBlock(),e.createElementBlock("linearGradient",e.mergeProps({key:0,id:n},l.value.coordinates),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.stops,p=>(e.openBlock(),e.createElementBlock("stop",{key:`${p.color}-${p.offset}`,offset:p.offset,"stop-color":p.color},null,8,so))),128))],16)):(e.openBlock(),e.createElementBlock("radialGradient",{key:1,id:n},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value.stops,p=>(e.openBlock(),e.createElementBlock("stop",{key:`${p.color}-${p.offset}`,offset:p.offset,"stop-color":p.color},null,8,io))),128))]))])])):e.createCommentVNode("",!0),e.unref(o).default?(e.openBlock(),e.createElementBlock("span",co,[e.renderSlot(c.$slots,"default")])):d.value?(e.openBlock(),e.createElementBlock("span",uo,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))])):t.iconfont?(e.openBlock(),e.createElementBlock("i",{key:3,class:e.normalizeClass(["tt-icon__iconfont",t.iconfont]),"aria-hidden":"true"},null,2)):t.icon?(e.openBlock(),e.createElementBlock("span",po,e.toDisplayString(t.icon),1)):e.createCommentVNode("",!0)]),_:3},16,["class","size","color","style","aria-label","aria-hidden"]))}}),mo=["disabled","aria-pressed","onClick"],fo={key:0,class:"tt-card-select__corner-mark","aria-hidden":"true"},vo={key:1,class:"tt-card-select__radio-indicator","aria-hidden":"true"},ko={class:"tt-card-select__content"},ho={class:"tt-card-select__title"},yo={key:0,class:"tt-card-select__description"},go={key:2,class:"tt-card-select__radio-indicator","aria-hidden":"true"},_o=e.defineComponent({name:"CardSelect",__name:"CardSelect",props:{data:{default:()=>[]},modelValue:{},defaultValue:{default:()=>[]},rowKey:{type:[String,Function],default:"key"},type:{default:"corner"},position:{default:"left"},disabled:{type:Boolean,default:!1},grid:{type:Boolean,default:!1},mode:{default:"single"}},emits:["update:modelValue","change"],setup(t,{emit:a}){const o=t,n=a,l=e.ref([...o.defaultValue]),r=e.computed(()=>o.modelValue??l.value);function s(m,p){if(typeof o.rowKey=="function")return o.rowKey(m,p);const y=m[o.rowKey];return typeof y=="string"||typeof y=="number"?y:p}function d(m){return typeof m.title=="string"||typeof m.title=="number"?m.title:""}function u(m){return typeof m.description=="string"||typeof m.description=="number"?m.description:""}function i(m,p){return r.value.includes(s(m,p))}function c(m,p){if(o.disabled)return;const y=s(m,p),f=r.value.includes(y),h=o.mode==="single"?f?[]:[y]:f?r.value.filter(b=>b!==y):[...r.value,y];o.modelValue===void 0&&(l.value=h),n("update:modelValue",h),n("change",h,f?"deselect":"select",y)}return(m,p)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["tt-card-select-list",{"tt-card-select-list--grid":t.grid,"is-disabled":t.disabled}]},m.$attrs),[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data,(y,f)=>(e.openBlock(),e.createElementBlock("button",{key:s(y,f),type:"button",class:e.normalizeClass(["tt-card-select",[`tt-card-select--${t.type}`,`tt-card-select--${t.position}`,{"is-selected":i(y,f),"is-disabled":t.disabled}]]),disabled:t.disabled,"aria-pressed":i(y,f),onClick:h=>c(y,f)},[t.type==="corner"&&i(y,f)?(e.openBlock(),e.createElementBlock("span",fo,[e.createVNode(e.unref(_e),{icon:e.unref(L.Check),size:16,inline:!1},null,8,["icon"])])):e.createCommentVNode("",!0),t.type==="radio"&&t.position==="left"?(e.openBlock(),e.createElementBlock("span",vo)):e.createCommentVNode("",!0),e.createElementVNode("span",ko,[e.renderSlot(m.$slots,"item",{record:y,index:f,selected:i(y,f)},()=>[e.createElementVNode("span",ho,e.toDisplayString(d(y)),1),u(y)?(e.openBlock(),e.createElementBlock("span",yo,e.toDisplayString(u(y)),1)):e.createCommentVNode("",!0)])]),t.type==="radio"&&t.position==="right"?(e.openBlock(),e.createElementBlock("span",go)):e.createCommentVNode("",!0)],10,mo))),128))],16))}}),bo={class:"tt-cascader__footer"},Bo={key:0,class:"tt-cascader__select-all"},Co=e.defineComponent({name:"Cascader",inheritAttrs:!1,__name:"Cascader",props:e.mergeModels({showSelectAll:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=t,n=e.useAttrs(),l=e.useModel(t,"modelValue"),r=e.computed(()=>{const{popperClass:$,...S}=n;return S}),s=e.computed(()=>["tt-cascader-dropdown",n.popperClass].filter(Boolean).join(" ")),d=e.computed(()=>n.props),u=e.computed(()=>{var $;return o.showSelectAll&&(($=d.value)==null?void 0:$.multiple)===!0}),i=e.computed(()=>f(n.options)),c=e.computed(()=>!u.value||!Array.isArray(l.value)?[]:l.value.filter(Array.isArray)),m=e.computed(()=>i.value.length>0&&i.value.every($=>c.value.some(S=>h(S,$)))),p=e.computed(()=>!m.value&&c.value.length>0),y=e.ref();function f($,S=[],A=!1){return Array.isArray($)?$.flatMap(w=>{var I;if(!B(w)||w.value===void 0)return[];const E=[...S,w.value],P=A||w.disabled===!0;return(I=w.children)!=null&&I.length?f(w.children,E,P):P?[]:[E]}):[]}function h($,S){return JSON.stringify($)===JSON.stringify(S)}function b(){const $=m.value?[]:i.value;l.value=$,V($)}function B($){return!!$&&typeof $=="object"}function V($){const S=n.onChange;if(Array.isArray(S)){S.forEach(A=>typeof A=="function"&&A($));return}typeof S=="function"&&S($)}function D(...$){var S;return(S=y.value)==null?void 0:S.getCheckedNodes(...$)}function z($){var S,A;return(A=(S=y.value)==null?void 0:S.togglePopperVisible)==null?void 0:A.call(S,$)}function T(){var $,S;return(S=($=y.value)==null?void 0:$.focus)==null?void 0:S.call($)}function R(){var $,S;return(S=($=y.value)==null?void 0:$.blur)==null?void 0:S.call($)}return a({cascaderRef:y,getCheckedNodes:D,togglePopperVisible:z,focus:T,blur:R}),($,S)=>(e.openBlock(),e.createBlock(e.unref(k.ElCascader),e.mergeProps({ref_key:"cascaderRef",ref:y,modelValue:l.value,"onUpdate:modelValue":S[0]||(S[0]=A=>l.value=A),class:"tt-cascader","popper-class":s.value},r.value),e.createSlots({_:2},[$.$slots.footer||u.value?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",bo,[e.renderSlot($.$slots,"footer"),u.value?(e.openBlock(),e.createElementBlock("div",Bo,[e.createVNode(e.unref(k.ElCheckbox),{"model-value":m.value,indeterminate:p.value,disabled:i.value.length===0,"onUpdate:modelValue":b},{default:e.withCtx(()=>[...S[1]||(S[1]=[e.createTextVNode(" 全选 ",-1)])]),_:1},8,["model-value","indeterminate","disabled"])])):e.createCommentVNode("",!0)])]),key:"0"}:void 0]),1040,["modelValue","popper-class"]))}}),$o=e.defineComponent({name:"Calendar",__name:"Calendar",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({calendarRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElCalendar),e.mergeProps({ref_key:"calendarRef",ref:n,class:"tt-calendar"},l.$attrs),e.createSlots({_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(s=>[e.renderSlot(l.$slots,"header",e.normalizeProps(e.guardReactiveProps(s)))]),key:"0"}:void 0,e.unref(o).dateCell?{name:"date-cell",fn:e.withCtx(s=>[e.renderSlot(l.$slots,"dateCell",e.normalizeProps(e.guardReactiveProps(s)))]),key:"1"}:void 0]),1040))}}),wo=e.defineComponent({name:"Carousel",__name:"Carousel",setup(t,{expose:a}){const o=e.ref();function n(s){var d;return(d=o.value)==null?void 0:d.setActiveItem(s)}function l(){var s;return(s=o.value)==null?void 0:s.prev()}function r(){var s;return(s=o.value)==null?void 0:s.next()}return a({carouselRef:o,setActiveItem:n,prev:l,next:r}),(s,d)=>(e.openBlock(),e.createBlock(e.unref(k.ElCarousel),e.mergeProps({ref_key:"carouselRef",ref:o,class:"tt-carousel"},s.$attrs),{default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:3},16))}}),So=e.defineComponent({name:"CarouselItem",__name:"CarouselItem",setup(t,{expose:a}){const o=e.ref();return a({carouselItemRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElCarouselItem),e.mergeProps({ref_key:"carouselItemRef",ref:o,class:"tt-carousel-item"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),be=e.defineComponent({name:"EChartsWrapper",__name:"EChartsWrapper",props:{option:{},height:{default:300},theme:{},loading:{type:Boolean,default:!1},loadingOptions:{default:()=>({})},onEvents:{default:()=>({})},notMerge:{type:Boolean,default:!1},lazyUpdate:{type:Boolean,default:!1},autoResize:{type:Boolean,default:!0}},setup(t,{expose:a}){const o=t,n=e.ref();let l=null,r=null;const s=e.computed(()=>typeof o.height=="number"?`${o.height}px`:o.height);function d(){return n.value?(l==null||l.dispose(),l=Le.init(n.value,o.theme),u(),i(o.option,{notMerge:o.notMerge,lazyUpdate:o.lazyUpdate}),m(),e.nextTick(()=>l==null?void 0:l.resize()),l):null}function u(){l&&(l.off(),Object.entries(o.onEvents).forEach(([b,B])=>{typeof B=="function"&&(l==null||l.on(b,B))}))}function i(b,B={notMerge:o.notMerge,lazyUpdate:o.lazyUpdate}){l==null||l.setOption(b,B)}function c(b){l==null||l.resize(b)}function m(){l&&(o.loading?l.showLoading("default",o.loadingOptions):l.hideLoading())}function p(b){l==null||l.dispatchAction(b)}function y(...b){return(l==null?void 0:l.convertToPixel(...b))??null}function f(...b){return(l==null?void 0:l.convertFromPixel(...b))??null}function h(){c()}return e.onMounted(()=>{d(),o.autoResize&&n.value&&typeof ResizeObserver<"u"&&(r=new ResizeObserver(()=>c()),r.observe(n.value)),o.autoResize&&window.addEventListener("resize",h)}),e.onBeforeUnmount(()=>{window.removeEventListener("resize",h),r==null||r.disconnect(),l==null||l.dispose(),l=null}),e.watch(()=>o.option,b=>i(b,{notMerge:o.notMerge,lazyUpdate:o.lazyUpdate}),{deep:!0}),e.watch(()=>o.onEvents,u,{deep:!0}),e.watch([()=>o.loading,()=>o.loadingOptions],m,{deep:!0}),e.watch(()=>o.theme,d),e.watch(()=>o.autoResize,b=>{r==null||r.disconnect(),b&&n.value&&typeof ResizeObserver<"u"&&(r=new ResizeObserver(()=>c()),r.observe(n.value)),b?window.addEventListener("resize",h):window.removeEventListener("resize",h)}),a({getEchartsInstance:()=>l,resize:c,setOption:i,dispatchAction:p,convertToPixel:y,convertFromPixel:f}),(b,B)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"chartRef",ref:n,class:"tt-echarts-wrapper",style:{height:s.value}},b.$attrs),null,16))}}),Eo={key:0,class:"tt-chart__header"},Vo={key:0},To={key:1},xo=e.defineComponent({name:"Chart",__name:"Chart",props:{option:{},theme:{default:"geekBlue"},loading:{type:Boolean,default:!1},loadingOptions:{default:()=>({})},onEvents:{default:()=>({})},notMerge:{type:Boolean,default:!1},lazyUpdate:{type:Boolean,default:!1},autoResize:{type:Boolean,default:!0},height:{default:300},title:{default:""},description:{default:""}},setup(t,{expose:a}){const o={geekBlue:["#3388ff","#11c79b","#fadb14","#ff4433","#73c0de","#9a60b4"],dustRed:["#ff4433","#ff7875","#faad14","#3388ff","#73c0de","#9a60b4"],mintGreen:["#11c79b","#3388ff","#fadb14","#ff4433","#73c0de","#9a60b4"],neonBlue:["#1677ff","#36cfc9","#9254de","#f759ab","#faad14","#ff7a45"],sunsetOrange:["#ff7a45","#ffbb96","#faad14","#11c79b","#3388ff","#9254de"],goldenPurple:["#9254de","#d3adf7","#faad14","#11c79b","#3388ff","#ff7a45"],cyan:["#13c2c2","#3388ff","#11c79b","#faad14","#ff4433","#9254de"]},n=t,l=e.ref(),r=e.useSlots(),s=e.computed(()=>typeof n.theme!="string"?n.theme:{color:o[n.theme]||o.geekBlue,backgroundColor:"transparent"});return a({getEchartsInstance:()=>{var d;return((d=l.value)==null?void 0:d.getEchartsInstance())??null},resize:(...d)=>{var u;return(u=l.value)==null?void 0:u.resize(...d)},setOption:(...d)=>{var u;return(u=l.value)==null?void 0:u.setOption(...d)},dispatchAction:(...d)=>{var u;return(u=l.value)==null?void 0:u.dispatchAction(...d)},convertToPixel:(...d)=>{var u;return((u=l.value)==null?void 0:u.convertToPixel(...d))??null},convertFromPixel:(...d)=>{var u;return((u=l.value)==null?void 0:u.convertFromPixel(...d))??null}}),(d,u)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"tt-chart"},d.$attrs),[t.title||t.description||e.unref(r).extra?(e.openBlock(),e.createElementBlock("div",Eo,[e.createElementVNode("div",null,[t.title?(e.openBlock(),e.createElementBlock("strong",Vo,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("span",To,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),e.renderSlot(d.$slots,"extra")])):e.createCommentVNode("",!0),e.createVNode(e.unref(be),{ref_key:"wrapper",ref:l,class:"tt-chart__dom",option:t.option,height:t.height,theme:s.value,loading:t.loading,"loading-options":t.loadingOptions,"on-events":t.onEvents,"not-merge":t.notMerge,"lazy-update":t.lazyUpdate,"auto-resize":t.autoResize},null,8,["option","height","theme","loading","loading-options","on-events","not-merge","lazy-update","auto-resize"])],16))}}),No=e.defineComponent({name:"Checkbox",__name:"Checkbox",props:{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}},emits:["update:modelValue"],setup(t){const a=e.useModel(t,"modelValue");return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElCheckbox),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=l=>a.value=l),class:"tt-checkbox"},o.$attrs),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16,["modelValue"]))}}),Po=e.defineComponent({name:"CheckboxGroup",__name:"CheckboxGroup",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const a=e.useModel(t,"modelValue");return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElCheckboxGroup),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=l=>a.value=l),class:"tt-checkbox-group"},o.$attrs),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16,["modelValue"]))}}),Ro=["aria-label","onKeydown"],Mo={key:0,class:"tt-color__info"},Ao={class:"tt-color__name"},Do={class:"tt-color__hex"},zo={key:1,class:"tt-color__tooltip",role:"status"},Io=e.defineComponent({name:"Color",__name:"Color",props:{name:{},hex:{},type:{default:"primary"},size:{default:"default"},value:{default:""},label:{},showText:{type:Boolean,default:!0}},emits:["copy"],setup(t,{emit:a}){const o=t,n=a,l=e.ref(!1);let r;const s=e.computed(()=>o.hex||o.value),d=e.computed(()=>o.name||o.label||s.value),u=e.computed(()=>[`tt-color--${o.type}`,`tt-color--${o.size}`,{"is-copied":l.value}]);async function i(){var c;if(s.value){try{await((c=navigator.clipboard)==null?void 0:c.writeText(s.value))}catch{return}l.value=!0,r&&window.clearTimeout(r),r=window.setTimeout(()=>{l.value=!1},2e3),n("copy",s.value)}}return(c,m)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["tt-color",u.value],role:"button",tabindex:"0","aria-label":`复制颜色 ${s.value}`},c.$attrs,{onClick:i,onKeydown:[e.withKeys(e.withModifiers(i,["prevent"]),["enter"]),e.withKeys(e.withModifiers(i,["prevent"]),["space"])]}),[e.createElementVNode("span",{class:"tt-color__swatch",style:e.normalizeStyle({background:s.value}),"aria-hidden":"true"},null,4),t.showText?(e.openBlock(),e.createElementBlock("span",Mo,[e.createElementVNode("span",Ao,e.toDisplayString(d.value),1),e.createElementVNode("span",Do,e.toDisplayString(l.value?"已复制!":s.value),1)])):e.createCommentVNode("",!0),l.value?(e.openBlock(),e.createElementBlock("span",zo,"已复制!")):e.createCommentVNode("",!0)],16,Ro))}}),Lo=["disabled"],Fo={key:0,class:"tt-color-picker__icon","aria-hidden":"true"},Uo={class:"tt-color-picker__preview","aria-hidden":"true"},Oo={class:"tt-color-picker__value"},Ko={class:"tt-color-picker__panel"},jo={key:0,class:"tt-color-picker__mode",role:"tablist","aria-label":"颜色类型"},Wo=["aria-selected"],Go=["aria-selected"],qo={class:"tt-color-picker__stops","aria-label":"渐变色标"},Yo=["aria-label","onClick"],Xo={class:"tt-color-picker__gradient-settings"},Ho={class:"tt-color-picker__setting"},Qo=["value"],Zo={class:"tt-color-picker__setting tt-color-picker__angle"},Jo={class:"tt-color-picker__gradient-actions"},en=["disabled"],tn={class:"tt-color-picker__common"},on={class:"tt-color-picker__common-list"},nn=["aria-label","onClick"],ln={class:"tt-color-picker__common-list"},an=["aria-label","onClick"],rn={key:3,class:"tt-color-picker__recent"},sn={class:"tt-color-picker__common-list"},cn=["aria-label","onClick"],me="tt-color-picker-recent-colors",un=e.defineComponent({name:"ColorPicker",inheritAttrs:!1,__name:"ColorPicker",props:e.mergeModels({initialColor:{default:"#3388ff"},initialStatus:{default:"pure"},showIcon:{type:Boolean,default:!1},showStatus:{type:Boolean,default:!0},debounceTime:{default:0}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","value-change","clear"],["update:modelValue"]),setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.useAttrs(),s=e.useModel(t,"modelValue"),d=e.ref(!1),u=s.value??n.initialColor,i=J(u??null),c=e.ref(i?"gradient":n.initialStatus),m=e.ref(u&&!i?u:"#3388ff"),p=e.ref((i==null?void 0:i.stops)||oe(m.value)),y=e.ref((i==null?void 0:i.angle)||90),f=e.ref(0),h=e.ref(),b=["#3388ff","#00a870","#f2b824","#e34d59","#722ed1","#1f2329","#86909c","#ffffff","#ff4433","#ff8629","#33bbff","#4433ff"],B=["linear-gradient(135deg, #6b7a99 0%, #223355 100%)","linear-gradient(135deg, #ff7962 0%, #ff4433 100%)","linear-gradient(135deg, #ffd400 0%, #ffaa00 100%)","linear-gradient(135deg, #27e5cb 0%, #11c79b 100%)","linear-gradient(135deg, #62bdff 0%, #3388ff 100%)","linear-gradient(135deg, #7962ff 0%, #4433ff 100%)"],V=e.ref(H()),D=e.computed(()=>n.showIcon),z=e.computed(()=>n.showStatus),T=e.computed(()=>r.showAlpha===""||r.showAlpha===!0),R=e.computed(()=>r.colorFormat),$=e.computed(()=>r.predefine),S=e.computed(()=>r.clearable===""||r.clearable===!0),A=e.computed(()=>r.disabled===""||r.disabled===!0),w=e.computed(()=>r.size==="small"||r.size==="large"?r.size:"default"),E=e.computed(()=>p.value[f.value]||p.value[0]),P=e.computed({get:()=>{var C;return((C=E.value)==null?void 0:C.color)||"#3388ff"},set:C=>G({color:C||"#3388ff"})}),I=e.computed(()=>ne(y.value,p.value)),j=e.computed(()=>c.value==="gradient"?I.value:m.value),Q=e.computed(()=>s.value||"未选择颜色");e.watch(m,C=>{c.value==="pure"&&M(C)}),e.watch(I,C=>{c.value==="gradient"&&M(C)}),e.watch(s,C=>{if(!C)return;const v=J(C);if(v){c.value="gradient",y.value=v.angle,p.value=v.stops,f.value=0;return}c.value="pure",m.value=C});function W(C){var v;C!==c.value&&(C==="gradient"?(p.value=oe(m.value),y.value=90,f.value=0):m.value=((v=E.value)==null?void 0:v.color)||m.value,c.value=C,M(C==="gradient"?I.value:m.value))}function G(C){p.value=p.value.map((v,_)=>_===f.value?{...v,...C}:v)}function X(C){const v=Number(C.target.value);G({position:Math.max(0,Math.min(100,v))})}function q(){var v;const C=Math.round((p.value[0].position+p.value.at(-1).position)/2);p.value=[...p.value,{color:((v=E.value)==null?void 0:v.color)||m.value,position:C}],f.value=p.value.length-1}function Z(){p.value.length<=2||(p.value=p.value.filter((C,v)=>v!==f.value),f.value=Math.min(f.value,p.value.length-1))}function K(C){c.value==="pure"?m.value=C:G({color:C})}function g(C){const v=J(C);v&&(c.value="gradient",y.value=v.angle,p.value=v.stops,f.value=0,M(C))}function x(C){C.startsWith("linear-gradient(")?g(C):(c.value="pure",m.value=C,M(C))}function M(C){s.value!==C&&(s.value=C,C&&ae(C),l("change",C),n.debounceTime>0?window.setTimeout(()=>l("value-change",C),n.debounceTime):l("value-change",C))}function F(){s.value=null,l("change",null),l("clear")}function O(){A.value||(d.value=!0)}function te(){d.value=!1}function oe(C){return[{color:C||"#3388ff",position:0},{color:"#00a870",position:100}]}function ne(C,v){return`linear-gradient(${C}deg, ${[...v].sort((_,N)=>_.position-N.position).map(_=>`${_.color} ${_.position}%`).join(", ")})`}function H(){if(typeof window>"u")return[];try{const C=window.localStorage.getItem(me);return C?JSON.parse(C):[]}catch{return[]}}function ae(C){if(V.value=[C,...V.value.filter(v=>v!==C)].slice(0,12),typeof window<"u")try{window.localStorage.setItem(me,JSON.stringify(V.value))}catch{}}function J(C){var N;if(!(C!=null&&C.startsWith("linear-gradient(")))return;const v=Number(((N=C.match(/linear-gradient\(\s*(-?\d+(?:\.\d+)?)deg/i))==null?void 0:N[1])||90),_=[...C.matchAll(/(#[0-9a-f]{3,8}|rgba?\([^)]*\)|hsla?\([^)]*\))\s+(\d+(?:\.\d+)?)%/gi)].map(U=>({color:U[1],position:Number(U[2])}));return _.length>=2?{angle:v,stops:_}:void 0}return a({colorPickerRef:h,show:O,hide:te}),(C,v)=>(e.openBlock(),e.createBlock(e.unref(k.ElPopover),{visible:d.value,"onUpdate:visible":v[5]||(v[5]=_=>d.value=_),class:"tt-color-picker",trigger:"click",placement:"bottom-start",disabled:A.value,"popper-class":"tt-color-picker-popper"},{reference:e.withCtx(()=>[e.createElementVNode("button",{class:e.normalizeClass(["tt-color-picker__trigger",[`tt-color-picker__trigger--${w.value}`,{"is-disabled":A.value}]]),type:"button",disabled:A.value},[D.value?(e.openBlock(),e.createElementBlock("span",Fo,"◆")):e.createCommentVNode("",!0),e.createElementVNode("span",Uo,[e.createElementVNode("span",{class:"tt-color-picker__preview-color",style:e.normalizeStyle({background:j.value})},null,4)]),e.createElementVNode("span",Oo,e.toDisplayString(Q.value),1)],10,Lo)]),default:e.withCtx(()=>[e.createElementVNode("div",Ko,[z.value?(e.openBlock(),e.createElementBlock("div",jo,[e.createElementVNode("button",{class:e.normalizeClass(["tt-color-picker__mode-button",{"is-active":c.value==="pure"}]),type:"button",role:"tab","aria-selected":c.value==="pure",onClick:v[0]||(v[0]=_=>W("pure"))},"纯色",10,Wo),e.createElementVNode("button",{class:e.normalizeClass(["tt-color-picker__mode-button",{"is-active":c.value==="gradient"}]),type:"button",role:"tab","aria-selected":c.value==="gradient",onClick:v[1]||(v[1]=_=>W("gradient"))},"渐变",10,Go)])):e.createCommentVNode("",!0),c.value==="pure"?(e.openBlock(),e.createBlock(e.unref(k.ElColorPickerPanel),{key:1,ref_key:"colorPickerRef",ref:h,modelValue:m.value,"onUpdate:modelValue":v[2]||(v[2]=_=>m.value=_),class:"tt-color-picker__pure-panel",border:!1,"show-alpha":T.value,"color-format":R.value,predefine:$.value,disabled:A.value},null,8,["modelValue","show-alpha","color-format","predefine","disabled"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createElementVNode("div",{class:"tt-color-picker__gradient-preview",style:e.normalizeStyle({background:I.value})},null,4),e.createElementVNode("div",qo,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,(_,N)=>(e.openBlock(),e.createElementBlock("button",{key:`${_.position}-${N}`,class:e.normalizeClass(["tt-color-picker__stop",{"is-active":f.value===N}]),type:"button",style:e.normalizeStyle({background:_.color}),"aria-label":`色标 ${N+1}`,onClick:U=>f.value=N},null,14,Yo))),128)),e.createElementVNode("button",{class:"tt-color-picker__add-stop",type:"button","aria-label":"添加色标",onClick:q},"+")]),e.createElementVNode("div",Xo,[e.createElementVNode("label",Ho,[v[6]||(v[6]=e.createElementVNode("span",null,"位置",-1)),e.createElementVNode("input",{class:"tt-color-picker__range",type:"range",min:"0",max:"100",value:E.value.position,onInput:X},null,40,Qo),e.createElementVNode("output",null,e.toDisplayString(E.value.position)+"%",1)]),e.createElementVNode("label",Zo,[v[7]||(v[7]=e.createElementVNode("span",null,"角度",-1)),e.createVNode(e.unref(k.ElInputNumber),{modelValue:y.value,"onUpdate:modelValue":v[3]||(v[3]=_=>y.value=_),min:0,max:360,"controls-position":"right"},null,8,["modelValue"]),v[8]||(v[8]=e.createElementVNode("em",null,"°",-1))])]),e.createVNode(e.unref(k.ElColorPickerPanel),{ref_key:"colorPickerRef",ref:h,modelValue:P.value,"onUpdate:modelValue":v[4]||(v[4]=_=>P.value=_),class:"tt-color-picker__gradient-panel",border:!1,"show-alpha":T.value,"color-format":R.value,predefine:$.value,disabled:A.value},null,8,["modelValue","show-alpha","color-format","predefine","disabled"]),e.createElementVNode("div",Jo,[e.createElementVNode("button",{type:"button",disabled:p.value.length<=2,onClick:Z},"删除当前色标",8,en)])],64)),e.createElementVNode("div",tn,[v[10]||(v[10]=e.createElementVNode("span",null,"常用颜色",-1)),e.createElementVNode("div",on,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(b,_=>e.createElementVNode("button",{key:_,type:"button",style:e.normalizeStyle({background:_}),"aria-label":`选择 ${_}`,onClick:N=>K(_)},null,12,nn)),64))]),c.value==="gradient"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[v[9]||(v[9]=e.createElementVNode("span",{class:"tt-color-picker__sub-title"},"常用渐变",-1)),e.createElementVNode("div",ln,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(B,_=>e.createElementVNode("button",{key:_,type:"button",style:e.normalizeStyle({background:_}),"aria-label":`选择 ${_}`,onClick:N=>g(_)},null,12,an)),64))])],64)):e.createCommentVNode("",!0)]),V.value.length?(e.openBlock(),e.createElementBlock("div",rn,[v[11]||(v[11]=e.createElementVNode("span",null,"最近使用",-1)),e.createElementVNode("div",sn,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,_=>(e.openBlock(),e.createElementBlock("button",{key:_,type:"button",style:e.normalizeStyle({background:_}),"aria-label":`选择最近使用的 ${_}`,onClick:N=>x(_)},null,12,cn))),128))])])):e.createCommentVNode("",!0),S.value?(e.openBlock(),e.createElementBlock("button",{key:4,class:"tt-color-picker__clear",type:"button",onClick:F},"清除")):e.createCommentVNode("",!0)])]),_:1},8,["visible","disabled"]))}}),dn={class:"tt-comment__avatar","aria-hidden":"true"},pn=["src","alt"],mn={key:1},fn={class:"tt-comment__main"},vn={key:0,class:"tt-comment__header"},kn={key:0,class:"tt-comment__author"},hn={key:1,class:"tt-comment__datetime"},yn={class:"tt-comment__content"},gn={key:1,class:"tt-comment__actions"},_n=["disabled","onClick"],bn=e.defineComponent({name:"Comment",__name:"Comment",props:{author:{default:""},datetime:{default:""},content:{default:""},avatar:{default:""},avatarText:{default:""},avatarAlt:{default:""},actions:{default:()=>[]}},emits:["action"],setup(t,{emit:a}){const o=t,n=a,l=e.useSlots(),r=e.computed(()=>{var u;return((u=o.author)==null?void 0:u.trim().slice(0,1).toUpperCase())||"U"}),s=e.computed(()=>o.actions.map((u,i)=>typeof u=="string"?{label:u,key:u||i}:{key:u.key??u.label??i,...u}));function d(u,i){u.disabled||n("action",u,i)}return(u,i)=>(e.openBlock(),e.createElementBlock("article",e.mergeProps({class:"tt-comment"},u.$attrs),[e.createElementVNode("div",dn,[e.renderSlot(u.$slots,"avatar",{},()=>[t.avatar?(e.openBlock(),e.createElementBlock("img",{key:0,src:t.avatar,alt:t.avatarAlt},null,8,pn)):(e.openBlock(),e.createElementBlock("span",mn,e.toDisplayString(t.avatarText||r.value),1))])]),e.createElementVNode("div",fn,[t.author||t.datetime||e.unref(l).author||e.unref(l).datetime?(e.openBlock(),e.createElementBlock("header",vn,[t.author||e.unref(l).author?(e.openBlock(),e.createElementBlock("strong",kn,[e.renderSlot(u.$slots,"author",{},()=>[e.createTextVNode(e.toDisplayString(t.author),1)])])):e.createCommentVNode("",!0),t.datetime||e.unref(l).datetime?(e.openBlock(),e.createElementBlock("time",hn,[e.renderSlot(u.$slots,"datetime",{},()=>[e.createTextVNode(e.toDisplayString(t.datetime),1)])])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.createElementVNode("div",yn,[e.renderSlot(u.$slots,"default",{},()=>[e.createTextVNode(e.toDisplayString(t.content),1)])]),s.value.length||e.unref(l).actions?(e.openBlock(),e.createElementBlock("div",gn,[e.renderSlot(u.$slots,"actions",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,(c,m)=>(e.openBlock(),e.createElementBlock("button",{key:c.key,type:"button",disabled:c.disabled,onClick:p=>d(c,m)},e.toDisplayString(c.label),9,_n))),128))])])):e.createCommentVNode("",!0)])],16))}}),Bn=e.defineComponent({name:"Container",__name:"Container",setup(t){return(a,o)=>{const n=e.resolveComponent("ElContainer");return e.openBlock(),e.createBlock(n,e.mergeProps({ref:"containerRef",class:"tt-container"},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16)}}}),Cn=e.defineComponent({name:"Collapse",__name:"Collapse",setup(t,{expose:a}){const o=e.ref();return a({collapseRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElCollapse),e.mergeProps({ref_key:"collapseRef",ref:o,class:"tt-collapse"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),$n=e.defineComponent({name:"CollapseItem",__name:"CollapseItem",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({collapseItemRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElCollapseItem),e.mergeProps({ref_key:"collapseItemRef",ref:n,class:"tt-collapse-item"},l.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:2},[e.unref(o).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),key:"0"}:void 0,e.unref(o).icon?{name:"icon",fn:e.withCtx(s=>[e.renderSlot(l.$slots,"icon",e.normalizeProps(e.guardReactiveProps(s)))]),key:"1"}:void 0]),1040))}}),wn=e.defineComponent({name:"DatePicker",__name:"DatePicker",props:e.mergeModels({popperClass:{default:""},showQuickActions:{type:Boolean,default:!1},quickActions:{default:()=>[]}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=t,n=e.useAttrs(),l=e.useModel(t,"modelValue"),r=e.computed(()=>String(n.type||"date")),s=e.computed(()=>["daterange","datetimerange","monthrange"].includes(r.value)),d=e.computed(()=>n.shortcuts),u=e.computed(()=>{const{shortcuts:B,...V}=n;return V}),i=e.computed(()=>o.quickActions.length>0?o.quickActions.map(B=>({text:B.label,value:B.getValue})):o.showQuickActions?p(s.value):d.value),c=e.computed(()=>["tt-picker-dropdown","tt-datepicker-dropdown",o.popperClass].filter(Boolean).join(" ")),m=e.ref();function p(B){return B?[{text:"近一周",value:()=>f(6,"day")},{text:"近一月",value:()=>f(1,"month")},{text:"近一季",value:()=>f(3,"month")}]:[{text:"昨天",value:()=>y(-1)},{text:"今天",value:()=>new Date},{text:"明天",value:()=>y(1)}]}function y(B){const V=new Date;return V.setDate(V.getDate()+B),V}function f(B,V){const D=new Date,z=new Date;return V==="day"?z.setDate(z.getDate()-B):(z.setMonth(z.getMonth()-B),z.setDate(z.getDate()+1)),[z,D]}function h(){var B,V;return(V=(B=m.value)==null?void 0:B.focus)==null?void 0:V.call(B)}function b(){var B,V;return(V=(B=m.value)==null?void 0:B.blur)==null?void 0:V.call(B)}return a({datePickerRef:m,focus:h,blur:b}),(B,V)=>(e.openBlock(),e.createBlock(e.unref(k.ElDatePicker),e.mergeProps({ref_key:"datePickerRef",ref:m,modelValue:l.value,"onUpdate:modelValue":V[0]||(V[0]=D=>l.value=D),class:"tt-datepicker","popper-class":c.value,shortcuts:i.value},u.value),null,16,["modelValue","popper-class","shortcuts"]))}}),Sn=e.defineComponent({name:"Descriptions",__name:"Descriptions",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({descriptionsRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElDescriptions),e.mergeProps({ref_key:"descriptionsRef",ref:n,class:"tt-descriptions"},l.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:2},[e.unref(o).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),key:"0"}:void 0,e.unref(o).extra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"extra")]),key:"1"}:void 0]),1040))}}),En=e.defineComponent({name:"ElDescriptionsItem",__name:"DescriptionsItem",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({descriptionsItemRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElDescriptionsItem),e.mergeProps({ref_key:"descriptionsItemRef",ref:n,class:"tt-descriptions-item"},l.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:2},[e.unref(o).label?{name:"label",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"label")]),key:"0"}:void 0]),1040))}}),Vn=e.defineComponent({name:"Dialog",inheritAttrs:!1,__name:"Dialog",props:e.mergeModels({appendToBody:{type:Boolean,default:!0}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useSlots(),n=t,l=e.useAttrs(),r=e.useModel(t,"modelValue"),s=e.computed(()=>n.appendToBody??!0),d=e.computed(()=>{const{appendToBody:i,...c}=n,{appendToBody:m,...p}=l;return{...c,...p}}),u=e.ref();return a({dialogRef:u}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(k.ElDialog),e.mergeProps({ref_key:"dialogRef",ref:u,modelValue:r.value,"onUpdate:modelValue":c[0]||(c[0]=m=>r.value=m),class:"tt-dialog"},d.value,{"append-to-body":s.value}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(m=>[e.renderSlot(i.$slots,"header",e.normalizeProps(e.guardReactiveProps(m)))]),key:"0"}:void 0,e.unref(o).footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"footer")]),key:"1"}:void 0]),1040,["modelValue","append-to-body"]))}}),Tn=e.defineComponent({name:"Divider",__name:"Divider",props:{plain:{type:Boolean,default:!1}},setup(t,{expose:a}){const o=t,n=e.ref();return a({dividerRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElDivider),e.mergeProps({ref_key:"dividerRef",ref:n,class:["tt-divider",{"tt-divider-plain":o.plain}]},l.$attrs),{default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:3},16,["class"]))}}),xn=e.defineComponent({name:"Drawer",inheritAttrs:!1,__name:"Drawer",props:e.mergeModels({appendToBody:{type:Boolean,default:!0}},{modelValue:{type:Boolean},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useSlots(),n=t,l=e.useAttrs(),r=e.useModel(t,"modelValue"),s=e.computed(()=>n.appendToBody??!0),d=e.computed(()=>{const{appendToBody:i,...c}=n,{appendToBody:m,...p}=l;return{...c,...p}}),u=e.ref();return a({drawerRef:u}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(k.ElDrawer),e.mergeProps({ref_key:"drawerRef",ref:u,modelValue:r.value,"onUpdate:modelValue":c[0]||(c[0]=m=>r.value=m),class:"tt-drawer"},d.value,{"append-to-body":s.value}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(o).header?{name:"header",fn:e.withCtx(m=>[e.renderSlot(i.$slots,"header",e.normalizeProps(e.guardReactiveProps(m)))]),key:"0"}:void 0,e.unref(o).footer?{name:"footer",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"footer")]),key:"1"}:void 0]),1040,["modelValue","append-to-body"]))}}),Nn=e.defineComponent({name:"Dropdown",__name:"Dropdown",props:{popperClass:{default:""},popperOptions:{}},setup(t,{expose:a}){const o=t,n=e.useSlots(),l=e.ref(),r=e.computed(()=>["tt-dropdown-popper",o.popperClass].filter(Boolean).join(" ")),s=e.computed(()=>{var i;return{...o.popperOptions,modifiers:[{name:"offset",options:{offset:[0,0]}},...((i=o.popperOptions)==null?void 0:i.modifiers)??[]]}});function d(){var i;return(i=l.value)==null?void 0:i.handleOpen()}function u(){var i;return(i=l.value)==null?void 0:i.handleClose()}return a({dropdownRef:l,handleOpen:d,handleClose:u}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(k.ElDropdown),e.mergeProps({ref_key:"dropdownRef",ref:l,class:"tt-dropdown"},i.$attrs,{"popper-class":r.value,"popper-options":s.value}),e.createSlots({default:e.withCtx(()=>[e.renderSlot(i.$slots,"default")]),_:2},[e.unref(n).dropdown?{name:"dropdown",fn:e.withCtx(()=>[e.renderSlot(i.$slots,"dropdown")]),key:"0"}:void 0]),1040,["popper-class","popper-options"]))}}),Pn=e.defineComponent({name:"DropdownMenu",__name:"DropdownMenu",setup(t){return(a,o)=>(e.openBlock(),e.createBlock(e.unref(k.ElDropdownMenu),e.mergeProps({class:"tt-dropdown-menu"},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),Rn=e.defineComponent({name:"DropdownItem",__name:"DropdownItem",setup(t){return(a,o)=>(e.openBlock(),e.createBlock(e.unref(k.ElDropdownItem),e.mergeProps({class:"tt-dropdown-item"},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),Mn=e.defineComponent({name:"Empty",__name:"Empty",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({emptyRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElEmpty),e.mergeProps({ref_key:"emptyRef",ref:n,class:"tt-empty"},l.$attrs),e.createSlots({_:2},[e.unref(o).image?{name:"image",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"image")]),key:"0"}:void 0,e.unref(o).description?{name:"description",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"description")]),key:"1"}:void 0,e.unref(o).default?{name:"default",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),key:"2"}:void 0]),1040))}}),An={key:0,class:"tt-float-button__icon"},Dn={key:1,class:"tt-float-button__content"},zn=e.defineComponent({name:"FloatButton",__name:"FloatButton",props:{type:{default:"primary"},shape:{default:"circle"},position:{default:"right-bottom"},right:{},left:{},top:{},bottom:{},offset:{default:28},disabled:{type:Boolean,default:!1},href:{default:""},target:{default:"_self"},tooltip:{default:""}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=e.useSlots(),r=e.computed(()=>o.href?"a":"button"),s=e.computed(()=>[`tt-float-button--${o.type}`,`tt-float-button--${o.shape}`,`tt-float-button--${o.position}`,{"is-disabled":o.disabled}]);function d(c,m){return typeof c=="number"?`${c}px`:c||`${m}px`}const u=e.computed(()=>({"--tt-float-button-right":d(o.right,o.offset),"--tt-float-button-left":d(o.left,o.offset),"--tt-float-button-top":d(o.top,o.offset),"--tt-float-button-bottom":d(o.bottom,o.offset)}));function i(c){if(o.disabled){c.preventDefault();return}n("click",c)}return(c,m)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value),e.mergeProps({class:["tt-float-button",s.value],style:u.value,href:t.href||void 0,target:t.href?t.target:void 0,rel:t.href&&t.target==="_blank"?"noopener noreferrer":void 0,disabled:t.href?void 0:t.disabled,"aria-disabled":t.href&&t.disabled?"true":void 0,title:t.tooltip||void 0},c.$attrs,{onClick:i}),{default:e.withCtx(()=>[e.unref(l).icon?(e.openBlock(),e.createElementBlock("span",An,[e.renderSlot(c.$slots,"icon")])):e.createCommentVNode("",!0),e.unref(l).default?(e.openBlock(),e.createElementBlock("span",Dn,[e.renderSlot(c.$slots,"default")])):e.createCommentVNode("",!0)]),_:3},16,["class","style","href","target","rel","disabled","aria-disabled","title"]))}}),In=e.defineComponent({name:"Font",__name:"Font",props:{variant:{default:"body"}},setup(t){const a=t,o={h1:"h1",h2:"h2",h3:"h3",h4:"h4",body:"p",small:"span"},n=e.computed(()=>o[a.variant]),l=e.computed(()=>`tt-font-${a.variant}`);return(r,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),e.mergeProps({class:["tt-font",l.value]},r.$attrs),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["class"]))}}),Ln=e.defineComponent({name:"Form",inheritAttrs:!1,__name:"Form",props:{model:{},rules:{},labelPosition:{},requireAsteriskPosition:{},labelWidth:{},labelSuffix:{},inline:{type:Boolean},inlineMessage:{type:Boolean},statusIcon:{type:Boolean},showMessage:{type:Boolean},validateOnRuleChange:{type:Boolean},hideRequiredAsterisk:{type:Boolean},scrollToError:{type:Boolean},scrollIntoViewOptions:{type:Boolean},size:{},disabled:{type:Boolean}},setup(t,{expose:a}){const o=e.ref(),n=t,l=e.useAttrs(),r=e.computed(()=>({...n,...l}));function s(...m){var p;return(p=o.value)==null?void 0:p.validate(...m)}function d(...m){var p;return(p=o.value)==null?void 0:p.validateField(...m)}function u(...m){var p;return(p=o.value)==null?void 0:p.resetFields(...m)}function i(...m){var p;return(p=o.value)==null?void 0:p.clearValidate(...m)}function c(...m){var p;return(p=o.value)==null?void 0:p.scrollToField(...m)}return a({formRef:o,validate:s,validateField:d,resetFields:u,clearValidate:i,scrollToField:c}),(m,p)=>(e.openBlock(),e.createBlock(e.unref(k.ElForm),e.mergeProps({ref_key:"formRef",ref:o,class:"tt-form"},r.value),{default:e.withCtx(()=>[e.renderSlot(m.$slots,"default")]),_:3},16))}}),Fn=e.defineComponent({name:"FormItem",inheritAttrs:!1,__name:"FormItem",props:{label:{},labelWidth:{},labelPosition:{},prop:{},required:{type:Boolean},rules:{},error:{},validateStatus:{},for:{},inlineMessage:{type:Boolean},showMessage:{type:Boolean},size:{}},setup(t){const a=e.useSlots(),o=t,n=e.useAttrs(),l=e.computed(()=>({...o,...n}));return(r,s)=>(e.openBlock(),e.createBlock(e.unref(k.ElFormItem),e.mergeProps({class:"tt-form-item"},l.value),e.createSlots({default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:2},[e.unref(a).label?{name:"label",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"label")]),key:"0"}:void 0,e.unref(a).error?{name:"error",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"error")]),key:"1"}:void 0]),1040))}}),Un=e.defineComponent({name:"Row",__name:"Row",setup(t,{expose:a}){const o=e.ref();return a({rowRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElRow),e.mergeProps({ref_key:"rowRef",ref:o,class:"tt-row"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),On=e.defineComponent({name:"Col",__name:"Col",setup(t,{expose:a}){const o=e.ref();return a({colRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElCol),e.mergeProps({ref_key:"colRef",ref:o,class:"tt-col"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Kn=e.defineComponent({name:"Image",__name:"Image",props:{previewTeleported:{type:Boolean,default:!0}},setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({imageRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElImage),e.mergeProps({ref_key:"imageRef",ref:n,class:"tt-image","preview-teleported":t.previewTeleported},l.$attrs),e.createSlots({_:2},[e.unref(o).placeholder?{name:"placeholder",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"placeholder")]),key:"0"}:void 0,e.unref(o).error?{name:"error",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"error")]),key:"1"}:void 0,e.unref(o).viewer?{name:"viewer",fn:e.withCtx(s=>[e.renderSlot(l.$slots,"viewer",e.normalizeProps(e.guardReactiveProps(s)))]),key:"2"}:void 0]),1040,["preview-teleported"]))}}),jn={key:0,class:"tt-layout__header"},Wn={class:"tt-layout__body"},Gn={class:"tt-layout__content"},qn={key:1,class:"tt-layout__footer"},Yn=e.defineComponent({name:"Layout",__name:"Layout",props:{direction:{default:"vertical"},gap:{default:0},siderWidth:{default:220}},setup(t){const a=t,o=e.useSlots(),n=e.computed(()=>typeof a.gap=="number"?`${a.gap}px`:a.gap),l=e.computed(()=>typeof a.siderWidth=="number"?`${a.siderWidth}px`:a.siderWidth),r=e.computed(()=>({"tt-layout--horizontal":a.direction==="horizontal","tt-layout--has-sider":!!o.sider})),s=e.computed(()=>({"--tt-layout-gap":n.value})),d=e.computed(()=>({"--tt-layout-sider-width":l.value}));return(u,i)=>(e.openBlock(),e.createElementBlock("section",{class:e.normalizeClass(["tt-layout",r.value]),style:e.normalizeStyle(s.value)},[e.unref(o).header?(e.openBlock(),e.createElementBlock("header",jn,[e.renderSlot(u.$slots,"header")])):e.createCommentVNode("",!0),e.createElementVNode("div",Wn,[e.unref(o).sider?(e.openBlock(),e.createElementBlock("aside",{key:0,class:"tt-layout__sider",style:e.normalizeStyle(d.value)},[e.renderSlot(u.$slots,"sider")],4)):e.createCommentVNode("",!0),e.createElementVNode("main",Gn,[e.renderSlot(u.$slots,"default")])]),e.unref(o).footer?(e.openBlock(),e.createElementBlock("footer",qn,[e.renderSlot(u.$slots,"footer")])):e.createCommentVNode("",!0)],6))}}),Xn={key:0,class:"tt-list__header"},Hn={class:"tt-list__body"},Qn={key:0,class:"tt-list__empty"},Zn={key:1,class:"tt-list__footer"},Jn=e.defineComponent({name:"List",__name:"List",props:{title:{},bordered:{type:Boolean,default:!0},empty:{type:Boolean,default:!1},emptyText:{default:"暂无数据"}},setup(t){const a=e.useSlots();return(o,n)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["tt-list",{"tt-list--bordered":t.bordered}])},[e.unref(a).header||t.title?(e.openBlock(),e.createElementBlock("div",Xn,[e.renderSlot(o.$slots,"header",{},()=>[e.createElementVNode("strong",null,e.toDisplayString(t.title),1)])])):e.createCommentVNode("",!0),e.createElementVNode("div",Hn,[e.renderSlot(o.$slots,"default"),t.empty&&!e.unref(a).default?(e.openBlock(),e.createElementBlock("div",Qn,e.toDisplayString(t.emptyText),1)):e.createCommentVNode("",!0)]),e.unref(a).footer?(e.openBlock(),e.createElementBlock("div",Zn,[e.renderSlot(o.$slots,"footer")])):e.createCommentVNode("",!0)],2))}}),el=["role","tabindex"],tl={key:0,class:"tt-list-item__meta"},ol={key:0},nl={key:1},ll={key:1,class:"tt-list-item__content"},al={key:2,class:"tt-list-item__actions"},rl=e.defineComponent({name:"ListItem",__name:"ListItem",props:{title:{},description:{},clickable:{type:Boolean,default:!1}},emits:["click"],setup(t,{emit:a}){const o=t,n=a,l=e.useSlots();function r(){o.clickable&&n("click")}return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["tt-list-item",{"is-clickable":t.clickable}]),role:t.clickable?"button":void 0,tabindex:t.clickable?0:void 0,onClick:r,onKeydown:e.withKeys(r,["enter"])},[e.unref(l).meta||t.title||t.description?(e.openBlock(),e.createElementBlock("div",tl,[e.renderSlot(s.$slots,"meta",{},()=>[t.title?(e.openBlock(),e.createElementBlock("strong",ol,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),t.description?(e.openBlock(),e.createElementBlock("span",nl,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)])])):e.createCommentVNode("",!0),e.unref(l).default?(e.openBlock(),e.createElementBlock("div",ll,[e.renderSlot(s.$slots,"default")])):e.createCommentVNode("",!0),e.unref(l).actions?(e.openBlock(),e.createElementBlock("div",al,[e.renderSlot(s.$slots,"actions")])):e.createCommentVNode("",!0)],42,el))}}),sl=e.defineComponent({name:"Link",__name:"Link",setup(t,{expose:a}){const o=e.useAttrs(),n=e.useSlots(),l=e.ref(),r=e.computed(()=>{const s=typeof o.type=="string"?o.type:"default",d=o.underline===!0?"hover":o.underline===!1?"never":typeof o.underline=="string"?o.underline:"hover";return["tt-link",`tt-link-${s}`,`tt-link-underline-${d}`,o.disabled===!0&&"tt-link-disabled",n.icon&&"tt-link-with-icon"]});return a({linkRef:l}),(s,d)=>(e.openBlock(),e.createBlock(e.unref(k.ElLink),e.mergeProps({ref_key:"linkRef",ref:l,class:r.value},s.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(s.$slots,"default")]),_:2},[e.unref(n).icon?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(s.$slots,"icon")]),key:"0"}:void 0]),1040,["class"]))}}),il=e.defineComponent({name:"Input",inheritAttrs:!1,__name:"Input",props:e.mergeModels({id:{},size:{},disabled:{type:Boolean},maxlength:{},minlength:{},type:{},resize:{},autosize:{type:[Object,Boolean]},autocomplete:{},formatter:{type:Function},parser:{type:Function},placeholder:{},form:{},readonly:{type:Boolean},clearable:{type:Boolean},clearIcon:{},showPassword:{type:Boolean},showWordLimit:{type:Boolean},wordLimitPosition:{},suffixIcon:{},prefixIcon:{},containerRole:{},tabindex:{},validateEvent:{type:Boolean},inputStyle:{type:[Boolean,null,String,Object,Array]},autofocus:{type:Boolean},rows:{},ariaLabel:{},inputmode:{},name:{},countGraphemes:{type:Function}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=t,n=e.useAttrs(),l=e.useModel(t,"modelValue"),r=e.computed(()=>({...o,...n})),s=e.useSlots(),d=e.ref();function u(){var p;return(p=d.value)==null?void 0:p.focus()}function i(){var p;return(p=d.value)==null?void 0:p.blur()}function c(){var p;return(p=d.value)==null?void 0:p.clear()}function m(){var p;return(p=d.value)==null?void 0:p.select()}return a({inputRef:d,focus:u,blur:i,clear:c,select:m}),(p,y)=>(e.openBlock(),e.createBlock(e.unref(k.ElInput),e.mergeProps({ref_key:"inputRef",ref:d,modelValue:l.value,"onUpdate:modelValue":y[0]||(y[0]=f=>l.value=f),class:"tt-input"},r.value),e.createSlots({_:2},[e.unref(s).prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"prefix")]),key:"0"}:void 0,e.unref(s).suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"suffix")]),key:"1"}:void 0,e.unref(s).prepend?{name:"prepend",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"prepend")]),key:"2"}:void 0,e.unref(s).append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(p.$slots,"append")]),key:"3"}:void 0]),1040,["modelValue"]))}}),cl=["disabled"],ul=["disabled"],dl=e.defineComponent({name:"InputNumber",__name:"InputNumber",props:e.mergeModels({buttonMode:{default:"default"},prefix:{default:""},suffix:{default:""}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useAttrs(),n=e.useModel(t,"modelValue"),l=e.ref(),r=e.computed(()=>{const{controls:B,style:V,...D}=o;return D}),s=e.computed(()=>p(o.min)),d=e.computed(()=>p(o.max)),u=e.computed(()=>p(o.step)??1),i=e.computed(()=>o.disabled===""||o.disabled===!0),c=e.computed(()=>i.value||s.value!==void 0&&(n.value??0)<=s.value),m=e.computed(()=>i.value||d.value!==void 0&&(n.value??0)>=d.value);function p(B){const V=Number(B);return Number.isFinite(V)?V:void 0}function y(){c.value||(n.value=Math.max(s.value??-1/0,(n.value??0)-u.value))}function f(){m.value||(n.value=Math.min(d.value??1/0,(n.value??0)+u.value))}function h(){var B;return(B=l.value)==null?void 0:B.focus()}function b(){var B;return(B=l.value)==null?void 0:B.blur()}return a({inputNumberRef:l,focus:h,blur:b}),(B,V)=>t.prefix||t.suffix||t.buttonMode==="side"?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["tt-input-number-wrapper",t.buttonMode==="side"?"tt-input-number-side-wrapper":"tt-input-number-affix-wrapper"]),style:e.normalizeStyle(B.$attrs.style)},[t.buttonMode==="side"?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(["tt-input-number-side-btn tt-input-number-side-btn-left",{"tt-input-number-side-btn-disabled":c.value}]),type:"button",disabled:c.value,onClick:y},[e.createVNode(e.unref(L.Minus))],10,cl)):e.createCommentVNode("",!0),t.prefix?(e.openBlock(),e.createElementBlock("span",{key:1,class:e.normalizeClass(t.buttonMode==="side"?"tt-input-number-side-prefix":"tt-input-number-prefix")},e.toDisplayString(t.prefix),3)):e.createCommentVNode("",!0),e.createVNode(e.unref(k.ElInputNumber),e.mergeProps({ref_key:"inputNumberRef",ref:l,modelValue:n.value,"onUpdate:modelValue":V[0]||(V[0]=D=>n.value=D),class:"tt-input-number","controls-position":"right",controls:t.buttonMode!=="side"&&B.$attrs.controls!==!1},r.value),null,16,["modelValue","controls"]),t.suffix?(e.openBlock(),e.createElementBlock("span",{key:2,class:e.normalizeClass(t.buttonMode==="side"?"tt-input-number-side-suffix":"tt-input-number-suffix")},e.toDisplayString(t.suffix),3)):e.createCommentVNode("",!0),t.buttonMode==="side"?(e.openBlock(),e.createElementBlock("button",{key:3,class:e.normalizeClass(["tt-input-number-side-btn tt-input-number-side-btn-right",{"tt-input-number-side-btn-disabled":m.value}]),type:"button",disabled:m.value,onClick:f},[e.createVNode(e.unref(L.Plus))],10,ul)):e.createCommentVNode("",!0)],6)):(e.openBlock(),e.createBlock(e.unref(k.ElInputNumber),e.mergeProps({key:1,ref_key:"inputNumberRef",ref:l,modelValue:n.value,"onUpdate:modelValue":V[1]||(V[1]=D=>n.value=D),class:"tt-input-number","controls-position":"right"},B.$attrs),null,16,["modelValue"]))}}),pl=["success","warning","info","error"];function Be(t,a){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"?{type:a,message:t,customClass:"tt-message"}:{...t,type:a??t.type,customClass:["tt-message",t.customClass].filter(Boolean).join(" ")}}const re=(t=>k.ElMessage(Be(t)));pl.forEach(t=>{re[t]=a=>k.ElMessage[t](Be(a,t))});re.closeAll=k.ElMessage.closeAll;const ml=e.defineComponent({name:"Masonry",__name:"Masonry",props:{items:{default:()=>[]},columns:{default:3},minColumnWidth:{default:void 0},gap:{default:16},itemKey:{type:[String,Function],default:void 0},tag:{default:"div"},itemTag:{default:"div"}},setup(t){const a=t,o=e.computed(()=>({"--tt-masonry-columns":a.minColumnWidth?"auto":a.columns,"--tt-masonry-column-width":a.minColumnWidth?typeof a.minColumnWidth=="number"?`${a.minColumnWidth}px`:a.minColumnWidth:"auto","--tt-masonry-gap":typeof a.gap=="number"?`${a.gap}px`:a.gap})),n=e.computed(()=>!!a.minColumnWidth);function l(r,s){return typeof a.itemKey=="function"?a.itemKey(r,s):typeof a.itemKey=="string"&&r&&typeof r=="object"&&a.itemKey in r?r[a.itemKey]:s}return(r,s)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.tag),e.mergeProps({class:["tt-masonry",{"tt-masonry--auto":n.value}],style:o.value},r.$attrs),{default:e.withCtx(()=>[t.items.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.items,(d,u)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.itemTag),{key:l(d,u),class:"tt-masonry__item"},{default:e.withCtx(()=>[e.renderSlot(r.$slots,"item",{item:d,index:u},()=>[e.createTextVNode(e.toDisplayString(d),1)])]),_:2},1024))),128)):e.renderSlot(r.$slots,"default",{},void 0,void 0,1)]),_:3},16,["class","style"]))}}),fl=e.defineComponent({name:"Menu",__name:"Menu",props:{mode:{default:"vertical"}},setup(t,{expose:a}){const o=t,n=e.ref(),l=e.computed(()=>({"tt-menu--horizontal":o.mode==="horizontal"}));function r(...u){var i;return(i=n.value)==null?void 0:i.open(...u)}function s(...u){var i;return(i=n.value)==null?void 0:i.close(...u)}function d(...u){var i,c;return(c=(i=n.value)==null?void 0:i.handleResize)==null?void 0:c.call(i,...u)}return a({menuRef:n,open:r,close:s,handleResize:d}),(u,i)=>(e.openBlock(),e.createBlock(e.unref(k.ElMenu),e.mergeProps({ref_key:"menuRef",ref:n,class:["tt-menu",l.value],mode:t.mode},u.$attrs),{default:e.withCtx(()=>[e.renderSlot(u.$slots,"default")]),_:3},16,["class","mode"]))}}),vl=e.defineComponent({name:"MenuItem",__name:"MenuItem",props:{index:{}},setup(t,{expose:a}){const o=t,n=e.ref(),{index:l}=o;return a({menuItemRef:n}),(r,s)=>(e.openBlock(),e.createBlock(e.unref(k.ElMenuItem),e.mergeProps({ref_key:"menuItemRef",ref:n,class:"tt-menu-item",index:e.unref(l)},r.$attrs),{default:e.withCtx(()=>[e.renderSlot(r.$slots,"default")]),_:3},16,["index"]))}}),kl=e.defineComponent({name:"MenuItemGroup",__name:"MenuItemGroup",setup(t){const a=e.useSlots();return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElMenuItemGroup),e.mergeProps({class:"tt-menu-item-group"},o.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[e.unref(a).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"title")]),key:"0"}:void 0]),1040))}}),hl=e.defineComponent({name:"SubMenu",__name:"SubMenu",props:{index:{},popperClass:{default:""}},setup(t,{expose:a}){const o=t,n=e.useSlots(),l=e.ref(),{index:r}=o,s=e.computed(()=>["tt-menu-popper",o.popperClass].filter(Boolean).join(" "));return a({subMenuRef:l}),(d,u)=>(e.openBlock(),e.createBlock(e.unref(k.ElSubMenu),e.mergeProps({ref_key:"subMenuRef",ref:l,class:"tt-sub-menu",index:e.unref(r),"popper-class":s.value},d.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(d.$slots,"default")]),_:2},[e.unref(n).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(d.$slots,"title")]),key:"0"}:void 0]),1040,["index","popper-class"]))}}),yl={key:0,class:"tt-money__prefix"},gl={class:"tt-money__value"},_l={key:1,class:"tt-money__suffix"},bl=e.defineComponent({name:"Money",__name:"Money",props:{value:{default:void 0},currency:{default:"CNY"},locale:{default:"zh-CN"},precision:{default:void 0},symbol:{default:void 0},prefix:{default:""},suffix:{default:""},showSign:{type:Boolean,default:!1},placeholder:{default:"--"},negativeType:{default:"minus"},colorByValue:{type:Boolean,default:!1},strong:{type:Boolean,default:!1}},setup(t){const a=t,o=e.computed(()=>{if(a.value===null||a.value===void 0||a.value==="")return null;const r=Number(a.value);return Number.isFinite(r)?r:null}),n=e.computed(()=>{const r=o.value;if(r===null)return a.placeholder;const s=r<0,d=a.negativeType==="parentheses"?Math.abs(r):r,u={minimumFractionDigits:a.precision,maximumFractionDigits:a.precision,signDisplay:a.showSign?"exceptZero":"auto"};a.symbol||(u.style="currency",u.currency=a.currency);const i=new Intl.NumberFormat(a.locale,u).format(d),c=a.symbol?`${a.symbol}${i}`:i;return a.negativeType==="parentheses"&&s?`(${c})`:c}),l=e.computed(()=>({"is-empty":o.value===null,"is-positive":a.colorByValue&&o.value!==null&&o.value>0,"is-negative":a.colorByValue&&o.value!==null&&o.value<0,"is-strong":a.strong}));return(r,s)=>(e.openBlock(),e.createElementBlock("span",e.mergeProps({class:["tt-money",l.value]},r.$attrs),[t.prefix?(e.openBlock(),e.createElementBlock("span",yl,e.toDisplayString(t.prefix),1)):e.createCommentVNode("",!0),e.createElementVNode("span",gl,e.toDisplayString(n.value),1),t.suffix?(e.openBlock(),e.createElementBlock("span",_l,e.toDisplayString(t.suffix),1)):e.createCommentVNode("",!0)],16))}}),Bl=["success","warning","info","error"];function Ce(t,a){return typeof t=="string"||typeof t=="number"||typeof t=="boolean"?{type:a,message:String(t),customClass:"tt-notification"}:{...t,type:a??t.type,customClass:["tt-notification",t.customClass].filter(Boolean).join(" ")}}const se=(t=>k.ElNotification(Ce(t)));Bl.forEach(t=>{se[t]=a=>k.ElNotification[t](Ce(a,t))});se.closeAll=k.ElNotification.closeAll;const Cl=e.defineComponent({name:"Pagination",inheritAttrs:!1,__name:"Pagination",props:{pageSize:{},defaultPageSize:{},total:{},pageCount:{},pagerCount:{},currentPage:{},defaultCurrentPage:{},layout:{},pageSizes:{},popperClass:{},popperStyle:{},prevText:{},prevIcon:{},nextText:{},nextIcon:{},teleported:{type:Boolean},small:{type:Boolean},size:{},background:{type:Boolean},disabled:{type:Boolean},hideOnSinglePage:{type:Boolean},appendSizeTo:{}},setup(t){const a=t,o=e.useAttrs(),n=e.computed(()=>({...a,...o}));return(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElPagination),e.mergeProps({class:"tt-pagination"},n.value),null,16))}}),$l=["aria-disabled"],wl=["onClick"],Sl={class:"tt-plate__keyboard-grid tt-plate__keyboard-grid--province"},El=["onClick"],Vl={class:"tt-plate__keyboard-title"},Tl={class:"tt-plate__keyboard-grid tt-plate__keyboard-grid--code"},xl=["disabled","onClick"],Nl=e.defineComponent({name:"Plate",inheritAttrs:!1,__name:"Plate",props:e.mergeModels({value:{default:""},type:{default:"search"},size:{default:"default"},disabled:{type:Boolean,default:!1},masked:{type:Boolean,default:!1},placeholder:{default:"未录入"},hideBrief:{default:()=>[]},canInputKeys:{default:()=>[]},plateColorValueFromOutside:{},copy:{type:Boolean,default:!0},popoverToTop:{type:Boolean,default:!1}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change","blur","color-options-change","keypress","copy"],["update:modelValue"]),setup(t,{emit:a}){const o=["京","冀","津","豫","鲁","贵","渝","云","辽","沪","黑","湘","皖","新","苏","浙","赣","鄂","桂","甘","晋","蒙","陕","吉","闽","粤","青","藏","川","宁","琼","使","电","U","无牌","未登记"],n=["I","O"],l={en:[["1","2","3","4","5","6","7","8","9","0"],["Q","W","E","R","T","Y","U","I","O","P"],["A","S","D","F","G","H","J","K","L"],["字","Z","X","C","V","B","N","M","⌫"]],zh:[["京","津","冀","辽","蒙","鲁","豫","贵"],["渝","云","沪","黑","湘","皖","新","苏"],["浙","赣","鄂","桂","甘","晋","陕","吉"],["闽","粤","青","藏","川","宁","琼","台"],["领","警","学","挂","港","澳","试","超","使"],["EN","无牌","非机动车","电","U","⌫"]]},r=t,s=e.useModel(t,"modelValue"),d=a,u=e.ref($(r.value)),i=e.ref(!1),c=e.ref(0),m=e.ref("en"),p=e.computed(()=>$(s.value??u.value)),y=e.computed(()=>p.value.startsWith("U")||p.value.startsWith("电")),f=e.computed(()=>y.value?13:8),h=e.computed(()=>["search","input","single-input"].includes(r.type)?r.type:"search"),b=e.computed(()=>o.filter(g=>!r.hideBrief.includes(g))),B=e.computed(()=>K(p.value,h.value,r.plateColorValueFromOutside,r.type)),V=e.computed(()=>Z(p.value,h.value)),D=e.computed(()=>i.value&&!r.disabled),z=e.computed(()=>l[m.value]),T=e.computed(()=>{const g=Array.from(p.value.padEnd(f.value," ").slice(0,f.value));if(r.masked&&p.value.length>4)for(let x=2;x<Math.min(p.value.length-2,g.length);x+=1)g[x]="*";return g}),R=e.computed(()=>[`tt-plate--${r.size}`,`tt-plate--${B.value}`,{"has-dot":f.value===8,"is-empty":!p.value,"popover-to-top":r.popoverToTop}]);e.watch(V,g=>d("color-options-change",g),{immediate:!0}),e.watch(f,g=>{c.value=Math.min(c.value,g-1)}),e.watch(()=>r.value,g=>{s.value===void 0&&(u.value=$(g))});function $(g){return g.replace(/[\s·•・]/g,"").toUpperCase()}function S(g){const x=$(g).slice(0,f.value);u.value=x,s.value=x,d("change",x)}function A(g=Math.min(p.value.length,f.value-1)){r.disabled||(c.value=Math.max(0,Math.min(g,f.value-1)),i.value=!0)}function w(g){i.value=g,g||d("blur")}function E(g){if(r.disabled)return;const x=`${p.value.slice(0,c.value)}${g}${p.value.slice(c.value+1)}`;S(x),c.value=Math.min(c.value+1,f.value-1)}function P(g){return n.includes(g)}function I(g){if(g==="字"){m.value="zh";return}if(g==="EN"){m.value="en";return}if(g==="⌫"){j();return}P(g)||E(g)}function j(){if(r.disabled)return;const g=p.value[c.value]?c.value:Math.max(0,c.value-1);S(`${p.value.slice(0,g)}${p.value.slice(g+1)}`),c.value=g}function Q(g){const x=p.value.startsWith("未登记")?3:p.value.startsWith("无牌")?2:1,M=p.value.slice(x);S(r.canInputKeys.includes(g)||!["无牌","未登记"].includes(g)?`${g}${M}`:g),c.value=Math.min(g.length,f.value-1)}function W(g){if(!r.disabled){if(h.value==="search"&&d("keypress",g),g.key==="ArrowLeft"){g.preventDefault(),c.value=Math.max(0,c.value-1);return}if(g.key==="ArrowRight"){g.preventDefault(),c.value=Math.min(f.value-1,c.value+1);return}if(g.key==="Backspace"){g.preventDefault(),j();return}if(/^[A-Za-z0-9\u4e00-\u9fa5]$/.test(g.key)){g.preventDefault();const x=g.key.toUpperCase();P(x)||E(x)}}}function G(g){var M;if(r.disabled)return;g.preventDefault();const x=$(((M=g.clipboardData)==null?void 0:M.getData("text"))||"");S(`${p.value.slice(0,c.value)}${x}${p.value.slice(c.value)}`),c.value=Math.min(c.value+x.length,f.value-1)}function X(){S(""),c.value=0,i.value=!0}async function q(){var g;(g=navigator.clipboard)!=null&&g.writeText&&await navigator.clipboard.writeText(p.value),d("copy",p.value)}function Z(g,x){return x!=="input"?[]:/^[A-TV-Z0-9]/.test(g)?[2,3]:g.startsWith("U")||g.startsWith("电")?[1,2,3]:o.includes(g[0]||"")?g.length>=8&&/^[A-Z]$/.test(g[2]||"")?[5]:g.length>=8&&/^[A-Z]$/.test(g[7]||"")?[6]:[1,0,4,2,3]:[]}function K(g,x,M,F){if(F==="new-energy")return"green";if(F==="temporary")return"yellow";if(F==="police")return"white";const O={0:"yellow",1:"blue",2:"white",3:"black",4:"yellow",5:"green",6:"yellow-green"};return x==="input"&&M!==void 0&&O[M]?O[M]:x==="search"?g.length===8?"green":"blue":/^[A-TV-Z0-9]/.test(g)?x==="single-input"?"white":"black":g.startsWith("U")||g.startsWith("电")?"blue":g.length>=8&&/^[A-Z]$/.test(g[2]||"")?"green":g.length>=8&&/^[A-Z]$/.test(g[7]||"")?"yellow-green":"blue"}return(g,x)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["tt-plate",R.value]},g.$attrs),[e.createVNode(e.unref(k.ElPopover),{visible:D.value,trigger:"click",width:360,placement:t.popoverToTop?"top-start":"bottom-start",teleported:!1,"popper-class":"tt-plate-popper","onUpdate:visible":w},{reference:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["tt-plate__box",{"is-disabled":t.disabled,"is-focused":i.value}]),tabindex:"0",role:"textbox","aria-label":"车牌号","aria-disabled":t.disabled,onClick:x[0]||(x[0]=M=>A()),onKeydown:W,onPaste:G},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,(M,F)=>(e.openBlock(),e.createElementBlock("span",{key:F,class:e.normalizeClass(["tt-plate__char",{"is-active":i.value&&c.value===F,"is-new-energy":F===f.value-1&&f.value===8}]),onClick:e.withModifiers(O=>A(F),["stop"])},e.toDisplayString(T.value[F]),11,wl))),128))],42,$l)]),default:e.withCtx(()=>[e.createElementVNode("div",{class:"tt-plate__keyboard",onMousedown:x[1]||(x[1]=e.withModifiers(()=>{},["prevent"]))},[c.value===0?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[x[2]||(x[2]=e.createElementVNode("span",{class:"tt-plate__keyboard-title"},"选择省份简称",-1)),e.createElementVNode("div",Sl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,M=>(e.openBlock(),e.createElementBlock("button",{key:M,type:"button",class:e.normalizeClass({"is-selected":p.value.startsWith(M),"is-special":M.length>1}),onClick:F=>Q(M)},e.toDisplayString(M),11,El))),128))])],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",Vl,e.toDisplayString(m.value==="en"?"输入字母或数字":"输入省份或特殊字符"),1),e.createElementVNode("div",Tl,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(z.value,(M,F)=>(e.openBlock(),e.createElementBlock("div",{key:F,class:"tt-plate__keyboard-row"},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(M,O=>(e.openBlock(),e.createElementBlock("button",{key:O,type:"button",disabled:P(O),class:e.normalizeClass({"is-disabled":P(O)}),onClick:te=>I(O)},e.toDisplayString(O),11,xl))),128))]))),128))])],64))],32)]),_:1},8,["visible","placement"]),p.value&&!t.disabled?(e.openBlock(),e.createElementBlock("button",{key:0,class:"tt-plate__clear",type:"button","aria-label":"清空车牌",onClick:X},"×")):e.createCommentVNode("",!0),t.copy&&p.value?(e.openBlock(),e.createElementBlock("button",{key:1,class:"tt-plate__copy",type:"button","aria-label":"复制车牌号",onClick:q},"复制")):e.createCommentVNode("",!0)],16))}}),Pl=e.defineComponent({name:"Popconfirm",__name:"Popconfirm",props:{popperClass:{default:""},width:{}},setup(t){const a=t,o=e.useSlots(),n=e.computed(()=>["tt-popconfirm",a.popperClass].filter(Boolean).join(" "));return(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElPopconfirm),e.mergeProps({width:a.width??"fit-content","popper-class":n.value},l.$attrs),e.createSlots({_:2},[e.unref(o).reference?{name:"reference",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"reference")]),key:"0"}:void 0,e.unref(o).actions?{name:"actions",fn:e.withCtx(s=>[e.renderSlot(l.$slots,"actions",e.normalizeProps(e.guardReactiveProps(s)))]),key:"1"}:void 0]),1040,["width","popper-class"]))}}),Rl=e.defineComponent({name:"Popover",__name:"Popover",props:{popperClass:{default:""}},setup(t){const a=t,o=e.useSlots(),n=e.computed(()=>["tt-popover",a.popperClass].filter(Boolean).join(" "));return(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElPopover),e.mergeProps({"popper-class":n.value},l.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:2},[e.unref(o).reference?{name:"reference",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"reference")]),key:"0"}:void 0]),1040,["popper-class"]))}}),Ml={class:"tt-query-form__content"},Al={key:0,class:"tt-query-form__actions"},$e=e.defineComponent({name:"QueryForm",__name:"QueryForm",props:{showActions:{type:Boolean,default:!0},searchText:{default:"查询"},resetText:{default:"重置"}},emits:["search","reset"],setup(t,{expose:a,emit:o}){const n=o,l=e.useSlots(),r=e.ref();return a({queryFormRef:r}),(s,d)=>(e.openBlock(),e.createBlock(e.unref(k.ElForm),e.mergeProps({ref_key:"queryFormRef",ref:r,class:"tt-query-form",inline:!0},s.$attrs,{onSubmit:d[2]||(d[2]=e.withModifiers(()=>{},["prevent"]))}),{default:e.withCtx(()=>[e.createElementVNode("div",Ml,[e.renderSlot(s.$slots,"default")]),t.showActions||e.unref(l).actions?(e.openBlock(),e.createElementBlock("div",Al,[e.renderSlot(s.$slots,"actions",{},()=>[e.createVNode(e.unref(k.ElButton),{class:"tt-button",onClick:d[0]||(d[0]=u=>n("reset"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.resetText),1)]),_:1}),e.createVNode(e.unref(k.ElButton),{class:"tt-button",type:"primary",onClick:d[1]||(d[1]=u=>n("search"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.searchText),1)]),_:1})])])):e.createCommentVNode("",!0)]),_:3},16))}}),Dl={class:"tt-qrcode__canvas"},zl=["src","alt"],Il={key:1,class:"tt-qrcode__loading"},Ll={key:2,class:"tt-qrcode__expired"},Fl={key:3,class:"tt-qrcode__icon"},Ul={key:0,class:"tt-qrcode__description"},Ol=e.defineComponent({name:"QRCode",__name:"QRCode",props:{value:{default:""},size:{default:156},level:{default:"M"},status:{default:"active"},bordered:{type:Boolean,default:!0},description:{default:""},refreshText:{default:"刷新"},alt:{default:""}},emits:["refresh"],setup(t,{emit:a}){const o=t,n=a,l=e.useSlots(),r=e.ref(""),s=e.computed(()=>o.alt||`QRCode: ${o.value}`),d=e.computed(()=>({"is-bordered":o.bordered,"is-expired":o.status==="expired","is-loading":o.status==="loading"})),u=e.computed(()=>({"--tt-qrcode-size":`${o.size}px`}));return e.watch(()=>[o.value,o.size,o.level],async([i,c,m])=>{if(!i){r.value="";return}r.value=await Fe.toDataURL(i,{width:c,margin:1,errorCorrectionLevel:m,color:{dark:"#081126",light:"#ffffff"}})},{immediate:!0}),(i,c)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["tt-qrcode",d.value],style:u.value},i.$attrs),[e.createElementVNode("div",Dl,[r.value&&t.status==="active"?(e.openBlock(),e.createElementBlock("img",{key:0,src:r.value,alt:s.value},null,8,zl)):t.status==="loading"?(e.openBlock(),e.createElementBlock("div",Il,[e.renderSlot(i.$slots,"loading",{},()=>[c[1]||(c[1]=e.createTextVNode("生成中",-1))])])):(e.openBlock(),e.createElementBlock("div",Ll,[e.renderSlot(i.$slots,"expired",{},()=>[c[2]||(c[2]=e.createElementVNode("span",null,"二维码已过期",-1)),e.createElementVNode("button",{type:"button",onClick:c[0]||(c[0]=m=>n("refresh"))},e.toDisplayString(t.refreshText),1)])])),e.unref(l).icon&&t.status==="active"?(e.openBlock(),e.createElementBlock("span",Fl,[e.renderSlot(i.$slots,"icon")])):e.createCommentVNode("",!0)]),t.description||e.unref(l).description?(e.openBlock(),e.createElementBlock("div",Ul,[e.renderSlot(i.$slots,"description",{},()=>[e.createTextVNode(e.toDisplayString(t.description),1)])])):e.createCommentVNode("",!0)],16))}}),Kl=e.defineComponent({name:"Radio",__name:"Radio",props:{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}},emits:["update:modelValue"],setup(t){const a=e.useModel(t,"modelValue");return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElRadio),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=l=>a.value=l),class:"tt-radio"},o.$attrs),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16,["modelValue"]))}}),jl=e.defineComponent({name:"RadioButton",__name:"RadioButton",setup(t){return(a,o)=>(e.openBlock(),e.createBlock(e.unref(k.ElRadioButton),e.mergeProps({class:"tt-radio-button"},a.$attrs),{default:e.withCtx(()=>[e.renderSlot(a.$slots,"default")]),_:3},16))}}),Wl=e.defineComponent({name:"RadioGroup",__name:"RadioGroup",props:{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}},emits:["update:modelValue"],setup(t){const a=e.useModel(t,"modelValue");return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElRadioGroup),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=l=>a.value=l),class:"tt-radio-group"},o.$attrs),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16,["modelValue"]))}}),Gl=e.defineComponent({name:"Rate",__name:"Rate",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useModel(t,"modelValue"),n=e.ref();return a({rateRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElRate),e.mergeProps({ref_key:"rateRef",ref:n,modelValue:o.value,"onUpdate:modelValue":r[0]||(r[0]=s=>o.value=s),class:"tt-rate"},l.$attrs),null,16,["modelValue"]))}}),ql=e.defineComponent({name:"Result",__name:"Result",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({resultRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElResult),e.mergeProps({ref_key:"resultRef",ref:n,class:"tt-result"},l.$attrs),e.createSlots({_:2},[e.unref(o).icon?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"icon")]),key:"0"}:void 0,e.unref(o).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),key:"1"}:void 0,e.unref(o).subTitle?{name:"sub-title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"subTitle")]),key:"2"}:void 0,e.unref(o).extra?{name:"extra",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"extra")]),key:"3"}:void 0]),1040))}}),Yl=e.defineComponent({name:"RichText",inheritAttrs:!1,__name:"RichText",props:e.mergeModels({placeholder:{default:"请输入内容..."},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},minHeight:{default:200},toolbar:{}},{modelValue:{default:""},modelModifiers:{}}),emits:e.mergeModels(["change","focus","blur","clear"],["update:modelValue"]),setup(t,{expose:a,emit:o}){const n=e.shallowRef(null),l=e.shallowRef(null);e.onMounted(()=>{import("@wangeditor/editor-for-vue").then(T=>{n.value=e.markRaw(T.Editor),l.value=e.markRaw(T.Toolbar)})});const r={bold:"bold",italic:"italic",underline:"underline",strike:"through",heading1:"headerSelect",heading2:"headerSelect",unorderedList:"bulletedList",orderedList:"numberedList",alignLeft:"justifyLeft",alignCenter:"justifyCenter",alignRight:"justifyRight",link:"insertLink",removeFormat:"clearStyle",divider:"|"},s=t,d=e.useModel(t,"modelValue"),u=o,i=e.shallowRef(null),c=e.computed(()=>typeof s.minHeight=="number"?`${s.minHeight}px`:s.minHeight),m=e.computed(()=>({placeholder:s.placeholder})),p=e.computed(()=>s.toolbar?{toolbarKeys:s.toolbar.map(R=>r[R]).filter((R,$,S)=>R==="|"||S.indexOf(R)===$)}:{});function y(){i.value&&(s.disabled||s.readonly?i.value.disable():i.value.enable())}function f(T){i.value=T,y()}function h(T){const R=T.getHtml();d.value!==R&&(d.value=R),u("change",R)}function b(){s.disabled||s.readonly||!i.value||(i.value.clear(),u("clear"))}function B(){var T;(T=i.value)==null||T.focus()}function V(){var T;(T=i.value)==null||T.blur()}function D(){var T;return((T=i.value)==null?void 0:T.getHtml())??d.value}function z(T){i.value?i.value.setHtml(T):d.value=T}return e.watch(()=>[s.disabled,s.readonly],y),e.onBeforeUnmount(()=>{var T;return(T=i.value)==null?void 0:T.destroy()}),a({blur:V,clear:b,focus:B,getHtml:D,setHtml:z}),(T,R)=>(e.openBlock(),e.createElementBlock("section",e.mergeProps({class:["tt-rich-text",{"is-disabled":t.disabled,"is-readonly":t.readonly}],style:{"--tt-rich-text-min-height":c.value}},T.$attrs),[!t.readonly&&l.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(l.value),{key:0,class:"tt-rich-text__toolbar",editor:i.value,"default-config":p.value,mode:"default"},null,8,["editor","default-config"])):e.createCommentVNode("",!0),n.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.value),{key:1,modelValue:d.value,"onUpdate:modelValue":R[0]||(R[0]=$=>d.value=$),class:"tt-rich-text__editor","default-config":m.value,mode:"default",onOnCreated:f,onOnChange:h,onOnFocus:R[1]||(R[1]=$=>u("focus",$)),onOnBlur:R[2]||(R[2]=$=>u("blur",$))},null,40,["modelValue","default-config"])):e.createCommentVNode("",!0)],16))}}),Xl=e.defineComponent({name:"SearchFilter",__name:"SearchFilter",setup(t){const a=e.useSlots();return(o,n)=>(e.openBlock(),e.createBlock(e.unref($e),e.mergeProps({class:"tt-search-filter"},o.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[e.unref(a).actions?{name:"actions",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"actions")]),key:"0"}:void 0]),1040))}}),Hl={class:"tt-select__search"},Ql=e.defineComponent({name:"Select",inheritAttrs:!1,__name:"Select",props:e.mergeModels({showSelectAll:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},options:{default:()=>[]},popperClass:{default:""},placeholder:{},multiple:{type:Boolean},clearable:{type:Boolean}},{modelValue:{type:[String,Number,Boolean,Array]},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{expose:a,emit:o}){const n=t,l=o,r=e.useAttrs(),s=e.useModel(t,"modelValue"),d=e.ref(),u=e.ref(""),i=e.computed(()=>n.searchable===!0),c=e.computed(()=>{const{popperClass:w,options:E,searchable:P,...I}=r;return{...I,placeholder:n.placeholder,multiple:n.multiple,clearable:n.clearable}}),m=e.computed(()=>["tt-select-popper",n.popperClass,r.popperClass].filter(Boolean).join(" ")),p=e.computed(()=>{const w=u.value.trim().toLocaleLowerCase();return w?n.options.flatMap(E=>{if(z(E))return E.label.toLocaleLowerCase().includes(w)?[E]:[];const P=E.options.filter(I=>I.label.toLocaleLowerCase().includes(w));return P.length>0?[{...E,options:P}]:[]}):n.options}),y=e.computed(()=>n.multiple===!0),f=e.computed(()=>n.showSelectAll&&y.value),h=e.computed(()=>s.value===void 0||s.value===null?[]:Array.isArray(s.value)?s.value:[s.value]),b=e.computed(()=>D(n.options)),B=e.computed(()=>b.value.length>0&&b.value.every(w=>h.value.includes(w))),V=e.computed(()=>!B.value&&b.value.some(w=>h.value.includes(w)));function D(w){return Array.isArray(w)?w.flatMap(E=>z(E)?E.disabled?[]:[E.value]:E.disabled?[]:D(E.options)):[]}function z(w){if(!w||typeof w!="object")return!1;const E=w;return"value"in E&&!Array.isArray(E.options)}function T(w){return z(w)?`option-${typeof w.value}-${String(w.value)}`:`group-${w.label}`}function R(){const w=d.value;w!=null&&w.states&&(w.states.hoveringIndex=-1)}function $(){const w=B.value?[]:[...b.value];s.value=w,l("change",w)}function S(){var w;return(w=d.value)==null?void 0:w.focus()}function A(){var w;return(w=d.value)==null?void 0:w.blur()}return a({selectRef:d,focus:S,blur:A}),(w,E)=>(e.openBlock(),e.createBlock(e.unref(k.ElSelect),e.mergeProps({ref_key:"selectRef",ref:d,modelValue:s.value,"onUpdate:modelValue":E[4]||(E[4]=P=>s.value=P),class:"tt-select","popper-class":m.value},c.value,{onChange:E[5]||(E[5]=P=>l("change",P))}),e.createSlots({default:e.withCtx(()=>[w.$slots.default?e.renderSlot(w.$slots,"default",{},void 0,void 0,0):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(p.value,P=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:T(P)},[z(P)?(e.openBlock(),e.createBlock(e.unref(k.ElOption),{key:0,label:P.label,value:P.value,disabled:P.disabled},null,8,["label","value","disabled"])):(e.openBlock(),e.createBlock(e.unref(k.ElOptionGroup),{key:1,label:P.label,disabled:P.disabled},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(P.options,I=>(e.openBlock(),e.createBlock(e.unref(k.ElOption),{key:T(I),label:I.label,value:I.value,disabled:I.disabled},null,8,["label","value","disabled"]))),128))]),_:2},1032,["label","disabled"]))],64))),128))]),_:2},[i.value?{name:"header",fn:e.withCtx(()=>[e.createElementVNode("div",Hl,[e.createVNode(e.unref(k.ElInput),{modelValue:u.value,"onUpdate:modelValue":E[0]||(E[0]=P=>u.value=P),clearable:"",placeholder:"搜索选项",onClick:E[1]||(E[1]=e.withModifiers(()=>{},["stop"]))},null,8,["modelValue"])])]),key:"0"}:void 0,w.$slots.footer||f.value?{name:"footer",fn:e.withCtx(()=>[e.createElementVNode("div",{class:"tt-select__footer",onMouseenter:R},[e.renderSlot(w.$slots,"footer"),f.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tt-select__select-all",onMousedown:E[2]||(E[2]=e.withModifiers(()=>{},["stop"])),onClick:E[3]||(E[3]=e.withModifiers(()=>{},["stop"]))},[e.createVNode(e.unref(k.ElCheckbox),{"model-value":B.value,indeterminate:V.value,disabled:b.value.length===0,"onUpdate:modelValue":$},{default:e.withCtx(()=>[...E[6]||(E[6]=[e.createTextVNode(" 全选 ",-1)])]),_:1},8,["model-value","indeterminate","disabled"])],32)):e.createCommentVNode("",!0)],32)]),key:"1"}:void 0]),1040,["modelValue","popper-class"]))}}),Zl=e.defineComponent({name:"Segmented",__name:"Segmented",props:{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}},emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useSlots(),n=e.useModel(t,"modelValue"),l=e.ref();return a({segmentedRef:l}),(r,s)=>(e.openBlock(),e.createBlock(e.unref(k.ElSegmented),e.mergeProps({ref_key:"segmentedRef",ref:l,modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=d=>n.value=d),class:"tt-segmented"},r.$attrs),e.createSlots({_:2},[e.unref(o).default?{name:"default",fn:e.withCtx(d=>[e.renderSlot(r.$slots,"default",e.normalizeProps(e.guardReactiveProps(d)))]),key:"0"}:void 0]),1040,["modelValue"]))}}),Jl=e.defineComponent({name:"Skeleton",__name:"Skeleton",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({skeletonRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElSkeleton),e.mergeProps({ref_key:"skeletonRef",ref:n,class:"tt-skeleton"},l.$attrs),e.createSlots({_:2},[e.unref(o).template?{name:"template",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"template")]),key:"0"}:void 0,e.unref(o).default?{name:"default",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),key:"1"}:void 0]),1040))}}),ea=e.defineComponent({name:"SkeletonItem",__name:"SkeletonItem",setup(t,{expose:a}){const o=e.ref();return a({skeletonItemRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElSkeletonItem),e.mergeProps({ref_key:"skeletonItemRef",ref:o,class:"tt-skeleton-item"},n.$attrs),null,16))}}),ta=e.defineComponent({name:"Space",__name:"Space",setup(t,{expose:a}){const o=e.ref();return a({spaceRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElSpace),e.mergeProps({ref_key:"spaceRef",ref:o,class:"tt-space"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),we=e.defineComponent({name:"SpaceCompact",__name:"SpaceCompact",props:{block:{type:Boolean,default:!1},direction:{default:"horizontal"},size:{default:void 0}},setup(t){const a=t,o=e.computed(()=>[`tt-space-compact-${a.direction}`,a.size&&`tt-space-compact-${a.size}`,a.block&&"tt-space-compact-block"]);return(n,l)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:["tt-space-compact",o.value]},n.$attrs),[e.renderSlot(n.$slots,"default")],16))}}),oa=Object.assign(ta,{Compact:we}),na=e.defineComponent({name:"Splitter",__name:"Splitter",setup(t,{expose:a}){const o=e.ref();return a({splitterRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElSplitter),e.mergeProps({ref_key:"splitterRef",ref:o,class:"tt-splitter"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),la=e.defineComponent({name:"SplitterPanel",__name:"SplitterPanel",setup(t,{expose:a}){const o=e.ref();return a({splitterPanelRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElSplitterPanel),e.mergeProps({ref_key:"splitterPanelRef",ref:o,class:"tt-splitter-panel"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),aa=e.defineComponent({name:"Statistic",__name:"Statistic",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({statisticRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElStatistic),e.mergeProps({ref_key:"statisticRef",ref:n,class:"tt-statistic"},l.$attrs),e.createSlots({_:2},[e.unref(o).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),key:"0"}:void 0,e.unref(o).prefix?{name:"prefix",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"prefix")]),key:"1"}:void 0,e.unref(o).suffix?{name:"suffix",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"suffix")]),key:"2"}:void 0]),1040))}}),ra=["aria-busy"],sa=["aria-label"],ia={key:1,class:"tt-spin__text"},ca=e.defineComponent({name:"Spin",__name:"Spin",props:{spinning:{type:Boolean,default:!0},text:{},size:{default:"default"},delay:{default:0}},setup(t){const a=t,o=e.useSlots(),n=e.ref(!1);let l;e.watch(()=>[a.spinning,a.delay],([s,d])=>{if(l&&(clearTimeout(l),l=void 0),!s){n.value=!1;return}if(d>0){l=setTimeout(()=>{n.value=!0},d);return}n.value=!0},{immediate:!0}),e.onBeforeUnmount(()=>{l&&clearTimeout(l)});const r=e.computed(()=>({[`tt-spin--${a.size}`]:a.size!=="default","tt-spin--nested":!!o.default,"is-spinning":n.value}));return(s,d)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["tt-spin",r.value]),"aria-busy":n.value},[n.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"tt-spin__indicator",role:"status","aria-label":t.text||"加载中"},[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(4,u=>e.createElementVNode("i",{key:u,class:"tt-spin__dot"})),64))],8,sa)):e.createCommentVNode("",!0),n.value&&t.text?(e.openBlock(),e.createElementBlock("span",ia,e.toDisplayString(t.text),1)):e.createCommentVNode("",!0),e.unref(o).default?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["tt-spin__content",{"is-blur":n.value}])},[e.renderSlot(s.$slots,"default")],2)):e.createCommentVNode("",!0)],10,ra))}}),ua=e.defineComponent({name:"Loading",inheritAttrs:!1,__name:"Loading",setup(t){return(a,o)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({class:"tt-loading"},a.$attrs),[e.renderSlot(a.$slots,"default")],16))}}),da=e.defineComponent({name:"Switch",__name:"Switch",props:{modelValue:{type:[String,Number,Boolean]},modelModifiers:{}},emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useModel(t,"modelValue"),n=e.ref();function l(){var r;return(r=n.value)==null?void 0:r.focus()}return a({switchRef:n,focus:l}),(r,s)=>(e.openBlock(),e.createBlock(e.unref(k.ElSwitch),e.mergeProps({ref_key:"switchRef",ref:n,modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=d=>o.value=d),class:"tt-switch"},r.$attrs),null,16,["modelValue"]))}}),pa=e.defineComponent({name:"Table",__name:"Table",props:{data:{},stripe:{type:Boolean}},setup(t,{expose:a}){const o=t,n=e.useSlots(),l=e.ref();function r(){var f;return(f=l.value)==null?void 0:f.clearSelection()}function s(f,h,b){var B;return(B=l.value)==null?void 0:B.toggleRowSelection(f,h,b)}function d(){var f;return(f=l.value)==null?void 0:f.toggleAllSelection()}function u(f,h){var b;return(b=l.value)==null?void 0:b.toggleRowExpansion(f,h)}function i(f){var h;return(h=l.value)==null?void 0:h.setCurrentRow(f)}function c(){var f;return(f=l.value)==null?void 0:f.clearSort()}function m(f){var h;return(h=l.value)==null?void 0:h.clearFilter(f)}function p(){var f;return(f=l.value)==null?void 0:f.doLayout()}function y(f,h){var b;return(b=l.value)==null?void 0:b.sort(f,h)}return a({tableRef:l,clearSelection:r,toggleRowSelection:s,toggleAllSelection:d,toggleRowExpansion:u,setCurrentRow:i,clearSort:c,clearFilter:m,doLayout:p,sort:y}),(f,h)=>(e.openBlock(),e.createBlock(e.unref(k.ElTable),e.mergeProps({ref_key:"tableRef",ref:l,class:"tt-table",data:o.data,stripe:o.stripe},f.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(f.$slots,"default")]),_:2},[e.unref(n).empty?{name:"empty",fn:e.withCtx(()=>[e.renderSlot(f.$slots,"empty")]),key:"0"}:void 0,e.unref(n).append?{name:"append",fn:e.withCtx(()=>[e.renderSlot(f.$slots,"append")]),key:"1"}:void 0]),1040,["data","stripe"]))}});function Se(t){return t?typeof t=="string"?t:Array.isArray(t)?t.map(Se).filter(Boolean).join(" "):typeof t=="object"?Object.entries(t).filter(([,a])=>!!a).map(([a])=>a).join(" "):"":""}const Ee=e.defineComponent({name:"TableColumn",inheritAttrs:!1,setup(t,{attrs:a,slots:o}){return()=>{const{className:n,"class-name":l,...r}=a,s=Se(["tt-table-column",n,l]);return e.h(k.ElTableColumn,{...r,className:s},{...o.default?{default:d=>{var u;return(u=o.default)==null?void 0:u.call(o,d)}}:{},...o.header?{header:d=>{var u;return(u=o.header)==null?void 0:u.call(o,d)}}:{}})}}});function Ve(t){return t?typeof t=="string"?t:Array.isArray(t)?t.map(Ve).filter(Boolean).join(" "):typeof t=="object"?Object.entries(t).filter(([,a])=>!!a).map(([a])=>a).join(" "):"":""}const ma=e.defineComponent({name:"TableOperationColumn",inheritAttrs:!1,props:{label:{type:String,default:"操作"},showHeaderTools:{type:Boolean,default:!0}},emits:["header-tools-click"],setup(t,{attrs:a,emit:o,slots:n}){return()=>{const{className:l,"class-name":r,label:s,fixed:d,...u}=a,i=s??t.label,c=d??"right",m=Ve(["tt-table-operation-column",l,r]);return e.h(Ee,{...u,label:i,fixed:c,className:m},{...n.default?{default:p=>{var y;return(y=n.default)==null?void 0:y.call(n,p)}}:{},header:p=>e.h("span",{class:"tt-table-operation-column__header"},[e.h("span",{class:"tt-table-operation-column__label"},n.header?n.header(p):String(i??"")),t.showHeaderTools?e.h(k.ElIcon,{class:"tt-table-operation-column__tools",onClick:y=>{y.stopPropagation(),o("header-tools-click",y)}},()=>e.h(L.Tools)):null])})}}}),fa=e.defineComponent({name:"Tabs",__name:"Tabs",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t){const a=e.useModel(t,"modelValue");return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElTabs),e.mergeProps({modelValue:a.value,"onUpdate:modelValue":n[0]||(n[0]=l=>a.value=l),class:"tt-tabs"},o.$attrs),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16,["modelValue"]))}}),va=e.defineComponent({name:"TabPane",__name:"TabPane",setup(t){const a=e.useSlots();return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElTabPane),e.mergeProps({class:"tt-tab-pane"},o.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:2},[e.unref(a).label?{name:"label",fn:e.withCtx(()=>[e.renderSlot(o.$slots,"label")]),key:"0"}:void 0]),1040))}}),ka=e.defineComponent({name:"Tag",__name:"Tag",setup(t,{expose:a}){const o=e.ref();return a({tagRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElTag),e.mergeProps({ref_key:"tagRef",ref:o,class:"tt-tag"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),ha=["aria-checked","onKeydown"],Te=e.defineComponent({name:"CheckableTag",__name:"CheckableTag",props:{checked:{type:Boolean,default:!1}},emits:["change","click"],setup(t,{emit:a}){const o=t,n=a;function l(){n("change",!o.checked)}function r(s){l(),n("click",s)}return(s,d)=>(e.openBlock(),e.createElementBlock("span",{class:e.normalizeClass(["tt-tag tt-tag-checkable",{"is-checked":t.checked}]),role:"checkbox","aria-checked":t.checked,tabindex:"0",onClick:r,onKeydown:[e.withKeys(e.withModifiers(l,["prevent"]),["enter"]),e.withKeys(e.withModifiers(l,["prevent"]),["space"])]},[e.renderSlot(s.$slots,"default")],42,ha))}}),ya=Object.assign(ka,{CheckableTag:Te}),ga=e.defineComponent({name:"TimePicker",inheritAttrs:!1,__name:"TimePicker",props:{modelValue:{},modelModifiers:{}},emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useAttrs(),n=e.useModel(t,"modelValue"),l=e.ref(),r=e.computed(()=>["tt-picker-dropdown",o.popperClass].filter(Boolean).join(" ")),s=e.computed(()=>{const{popperClass:i,...c}=o;return c});function d(){var i,c;return(c=(i=l.value)==null?void 0:i.focus)==null?void 0:c.call(i)}function u(){var i,c;return(c=(i=l.value)==null?void 0:i.blur)==null?void 0:c.call(i)}return a({timePickerRef:l,focus:d,blur:u}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(k.ElTimePicker),e.mergeProps({ref_key:"timePickerRef",ref:l,modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=m=>n.value=m),class:"tt-timepicker","popper-class":r.value},s.value),null,16,["modelValue","popper-class"]))}}),_a=e.defineComponent({name:"Tooltip",__name:"Tooltip",props:{popperClass:{default:""}},setup(t){const a=t,o=e.useSlots(),n=e.computed(()=>["tt-tooltip",a.popperClass].filter(Boolean).join(" "));return(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElTooltip),e.mergeProps({"popper-class":n.value},l.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(l.$slots,"default")]),_:2},[e.unref(o).content?{name:"content",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"content")]),key:"0"}:void 0]),1040,["popper-class"]))}}),ba=["aria-label"],Ba=e.defineComponent({name:"TopicSwitch",__name:"TopicSwitch",props:e.mergeModels({options:{},ariaLabel:{default:"专题切换"}},{modelValue:{},modelModifiers:{}}),emits:e.mergeModels(["change"],["update:modelValue"]),setup(t,{emit:a}){const o=t,n=e.useModel(t,"modelValue"),l=e.computed(()=>Math.max(o.options.findIndex(u=>u.value===n.value),0)),r=e.computed(()=>({"--tt-topic-switch-count":String(Math.max(o.options.length,1)),"--tt-topic-switch-active-index":String(l.value)})),s=a;function d(u){u.disabled||u.value===n.value||(n.value=u.value,s("change",u.value,u))}return(u,i)=>(e.openBlock(),e.createElementBlock("div",{class:"tt-topic-switch",role:"group","aria-label":t.ariaLabel,style:e.normalizeStyle(r.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options,c=>(e.openBlock(),e.createBlock(e.unref(ge),{key:String(c.value),class:e.normalizeClass(["tt-topic-switch__button",{"tt-topic-switch__button--active":c.value===n.value}]),"native-type":"button",text:"",disabled:c.disabled,onClick:m=>d(c)},{default:e.withCtx(()=>[e.renderSlot(u.$slots,"option",{option:c,active:c.value===n.value},()=>[e.createTextVNode(e.toDisplayString(c.label),1)])]),_:2},1032,["class","disabled","onClick"]))),128))],12,ba))}}),Ca=e.defineComponent({name:"Tour",__name:"Tour",setup(t,{expose:a}){const o=e.ref();return a({tourRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElTour),e.mergeProps({ref_key:"tourRef",ref:o,class:"tt-tour"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),$a=e.defineComponent({name:"Transfer",__name:"Transfer",props:{modelValue:{default:()=>[]},modelModifiers:{}},emits:["update:modelValue"],setup(t,{expose:a}){const o=e.useSlots(),n=e.useModel(t,"modelValue"),l=e.ref();return a({transferRef:l}),(r,s)=>(e.openBlock(),e.createBlock(e.unref(k.ElTransfer),e.mergeProps({ref_key:"transferRef",ref:l,modelValue:n.value,"onUpdate:modelValue":s[0]||(s[0]=d=>n.value=d),class:"tt-transfer"},r.$attrs),e.createSlots({_:2},[e.unref(o).default?{name:"default",fn:e.withCtx(d=>[e.renderSlot(r.$slots,"default",e.normalizeProps(e.guardReactiveProps(d)))]),key:"0"}:void 0,e.unref(o).leftFooter?{name:"left-footer",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"leftFooter")]),key:"1"}:void 0,e.unref(o).rightFooter?{name:"right-footer",fn:e.withCtx(()=>[e.renderSlot(r.$slots,"rightFooter")]),key:"2"}:void 0]),1040,["modelValue"]))}}),wa=e.defineComponent({name:"Tree",__name:"Tree",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();function l(...f){var h;return(h=n.value)==null?void 0:h.filter(...f)}function r(...f){var h;return(h=n.value)==null?void 0:h.getCheckedNodes(...f)}function s(...f){var h;return(h=n.value)==null?void 0:h.getCheckedKeys(...f)}function d(...f){var h;return(h=n.value)==null?void 0:h.setCheckedKeys(...f)}function u(...f){var h;return(h=n.value)==null?void 0:h.setChecked(...f)}function i(...f){var h;return(h=n.value)==null?void 0:h.setCheckedNodes(...f)}function c(...f){var h;return(h=n.value)==null?void 0:h.getCurrentNode(...f)}function m(...f){var h;return(h=n.value)==null?void 0:h.getCurrentKey(...f)}function p(...f){var h;return(h=n.value)==null?void 0:h.setCurrentKey(...f)}function y(...f){var h;return(h=n.value)==null?void 0:h.updateKeyChildren(...f)}return a({treeRef:n,filter:l,getCheckedNodes:r,getCheckedKeys:s,setCheckedKeys:d,setChecked:u,setCheckedNodes:i,getCurrentNode:c,getCurrentKey:m,setCurrentKey:p,updateKeyChildren:y}),(f,h)=>(e.openBlock(),e.createBlock(e.unref(k.ElTree),e.mergeProps({ref_key:"treeRef",ref:n,class:"tt-tree"},f.$attrs),e.createSlots({_:2},[e.unref(o).default?{name:"default",fn:e.withCtx(b=>[e.renderSlot(f.$slots,"default",e.normalizeProps(e.guardReactiveProps(b)))]),key:"0"}:void 0]),1040))}}),Sa=e.defineComponent({name:"TreeSelect",__name:"TreeSelect",props:e.mergeModels({data:{},treeData:{},popperClass:{}},{modelValue:{type:[String,Number,Boolean,Array]},modelModifiers:{}}),emits:["update:modelValue"],setup(t,{expose:a}){const o=t,n=e.useModel(t,"modelValue"),l=e.computed(()=>o.treeData??o.data??[]),r=e.computed(()=>["tt-tree-select-dropdown",o.popperClass].filter(Boolean).join(" ")),s=e.ref();function d(){var i,c;return(c=(i=s.value)==null?void 0:i.focus)==null?void 0:c.call(i)}function u(){var i,c;return(c=(i=s.value)==null?void 0:i.blur)==null?void 0:c.call(i)}return a({treeSelectRef:s,focus:d,blur:u}),(i,c)=>(e.openBlock(),e.createBlock(e.unref(k.ElTreeSelect),e.mergeProps({ref_key:"treeSelectRef",ref:s,modelValue:n.value,"onUpdate:modelValue":c[0]||(c[0]=m=>n.value=m),class:"tt-tree-select",data:l.value,icon:e.unref(L.ArrowRight),"popper-class":r.value},i.$attrs),null,16,["modelValue","data","icon","popper-class"]))}}),Ea={class:"tt-upload-item-icon-section"},Va={class:"tt-upload-item-icon"},Ta={class:"tt-upload-item-content"},xa={class:"tt-upload-item-main"},Na=["title"],Pa={key:0,class:"tt-upload-item-status-text"},Ra={key:1,class:"tt-upload-item-status-success-icon"},Ma={key:2,class:"tt-upload-item-status-error-icon"},Aa={key:0,class:"tt-upload-item-meta"},Da=e.defineComponent({name:"Upload",__name:"Upload",props:{pictureCardWidth:{default:60},showMetaInfo:{type:Boolean,default:!1},size:{default:"large"}},setup(t,{expose:a}){const o=t,n=e.useSlots(),l=e.ref(),r=e.computed(()=>({"--tt-upload-picture-card-width":`${o.pictureCardWidth}px`}));function s(y){var B,V;const f=y.name||"",h=((B=y.raw)==null?void 0:B.type)||y.type||"",b=(V=f.split(".").pop())==null?void 0:V.toLowerCase();return h.startsWith("image/")||["png","jpg","jpeg","gif","webp"].includes(b||"")?"IMG":["xls","xlsx"].includes(b||"")?"XLS":["doc","docx"].includes(b||"")?"DOC":b?b.slice(0,3).toUpperCase():"FILE"}function d(y){return y?y<1024?`${y}B`:y<1024*1024?`${(y/1024).toFixed(2)}kb`:`${(y/1024/1024).toFixed(2)}MB`:"0B"}function u(){var y;return(y=l.value)==null?void 0:y.submit()}function i(y){var f;return(f=l.value)==null?void 0:f.abort(y)}function c(y){var f;return(f=l.value)==null?void 0:f.clearFiles(y)}function m(y){var f;return(f=l.value)==null?void 0:f.handleStart(y)}function p(y){var f;return(f=l.value)==null?void 0:f.handleRemove(y)}return a({uploadRef:l,submit:u,abort:i,clearFiles:c,handleStart:m,handleRemove:p}),(y,f)=>(e.openBlock(),e.createBlock(e.unref(k.ElUpload),e.mergeProps({ref_key:"uploadRef",ref:l,class:["tt-upload",[`tt-upload--${t.size}`,{"tt-upload--meta":t.showMetaInfo}]],style:r.value},y.$attrs),e.createSlots({default:e.withCtx(()=>[e.renderSlot(y.$slots,"default",{},()=>[e.createVNode(e.unref(k.ElButton),{type:"primary"},{default:e.withCtx(()=>[...f[0]||(f[0]=[e.createTextVNode("点击上传",-1)])]),_:1})])]),file:e.withCtx(h=>[e.renderSlot(y.$slots,"file",e.normalizeProps(e.guardReactiveProps(h)),()=>[e.createElementVNode("div",{class:e.normalizeClass(["tt-upload-item",[`is-${h.file.status||"ready"}`,{"tt-upload-item--meta":t.showMetaInfo}]])},[e.createElementVNode("div",Ea,[e.createElementVNode("span",Va,e.toDisplayString(s(h.file)),1)]),e.createElementVNode("div",Ta,[e.createElementVNode("div",xa,[e.createElementVNode("span",{class:"tt-upload-item-name",title:h.file.name},e.toDisplayString(h.file.name),9,Na),h.file.status==="uploading"?(e.openBlock(),e.createElementBlock("span",Pa,e.toDisplayString(Math.round(h.file.percentage||0))+"%",1)):h.file.status==="success"?(e.openBlock(),e.createElementBlock("span",Ra,"✓")):h.file.status==="fail"?(e.openBlock(),e.createElementBlock("span",Ma,"!")):e.createCommentVNode("",!0)]),t.showMetaInfo?(e.openBlock(),e.createElementBlock("div",Aa,[e.createElementVNode("span",null,e.toDisplayString(d(h.file.size)),1),f[1]||(f[1]=e.createElementVNode("span",{class:"tt-upload-item-separator"},"/",-1)),e.createElementVNode("span",null,e.toDisplayString(h.file.status==="fail"?"上传失败":h.file.status==="success"?"上传成功":"文件已选择"),1)])):e.createCommentVNode("",!0)])],2)])]),_:2},[e.unref(n).tip?{name:"tip",fn:e.withCtx(()=>[e.renderSlot(y.$slots,"tip")]),key:"0"}:void 0]),1040,["class","style"]))}}),za={class:"tt-user-display"},Ia={class:"tt-user-display__content"},La={class:"tt-user-display__name"},Fa={key:0,class:"tt-user-display__description"},Ua={key:0,class:"tt-user-display__status"},Oa=e.defineComponent({name:"UserDisplay",__name:"UserDisplay",props:{name:{},description:{},status:{},avatar:{},size:{default:36}},setup(t){const a=t,o=e.computed(()=>a.name.slice(0,1).toUpperCase());return(n,l)=>(e.openBlock(),e.createElementBlock("div",za,[e.createVNode(e.unref(ye),{class:"tt-user-display__avatar",size:t.size,src:t.avatar},{default:e.withCtx(()=>[e.renderSlot(n.$slots,"avatar",{},()=>[e.createTextVNode(e.toDisplayString(o.value),1)])]),_:3},8,["size","src"]),e.createElementVNode("div",Ia,[e.createElementVNode("div",La,e.toDisplayString(t.name),1),t.description?(e.openBlock(),e.createElementBlock("div",Fa,e.toDisplayString(t.description),1)):e.createCommentVNode("",!0)]),t.status?(e.openBlock(),e.createElementBlock("span",Ua,e.toDisplayString(t.status),1)):e.createCommentVNode("",!0)]))}}),Ka=e.defineComponent({name:"Watermark",__name:"Watermark",props:{zIndex:{},rotate:{},width:{},height:{},image:{},content:{},font:{},gap:{},offset:{}},setup(t){const a=t;return(o,n)=>(e.openBlock(),e.createBlock(e.unref(k.ElWatermark),e.mergeProps({class:"tt-watermark"},{...a,...o.$attrs}),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16))}}),ja=e.defineComponent({name:"Progress",__name:"Progress",setup(t,{expose:a}){const o=e.ref();return a({progressRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElProgress),e.mergeProps({ref_key:"progressRef",ref:o,class:"tt-progress"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Wa=e.defineComponent({name:"Steps",__name:"Steps",setup(t,{expose:a}){const o=e.ref();return a({stepsRef:o}),(n,l)=>(e.openBlock(),e.createBlock(e.unref(k.ElSteps),e.mergeProps({ref_key:"stepsRef",ref:o,class:"tt-steps"},n.$attrs),{default:e.withCtx(()=>[e.renderSlot(n.$slots,"default")]),_:3},16))}}),Ga=e.defineComponent({name:"Step",__name:"Step",setup(t,{expose:a}){const o=e.useSlots(),n=e.ref();return a({stepRef:n}),(l,r)=>(e.openBlock(),e.createBlock(e.unref(k.ElStep),e.mergeProps({ref_key:"stepRef",ref:n,class:"tt-step"},l.$attrs),e.createSlots({_:2},[e.unref(o).icon?{name:"icon",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"icon")]),key:"0"}:void 0,e.unref(o).title?{name:"title",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"title")]),key:"1"}:void 0,e.unref(o).description?{name:"description",fn:e.withCtx(()=>[e.renderSlot(l.$slots,"description")]),key:"2"}:void 0]),1040))}}),ie="data-tt-theme",qa=["light","dark","system"];function ce(t){return typeof t=="string"&&qa.includes(t)?t:"light"}function Ya(t,a){const o=a??(typeof document<"u"?document.documentElement:void 0),n=ce(t);return o&&o.setAttribute(ie,n),n}function Xa(t){const a=t??(typeof document<"u"?document.documentElement:void 0);return ce(a==null?void 0:a.getAttribute(ie))}function Ha(){return ie}Object.defineProperty(exports,"ElLoadingDirective",{enumerable:!0,get:()=>k.ElLoadingDirective});Object.defineProperty(exports,"ElLoadingService",{enumerable:!0,get:()=>k.ElLoadingService});Object.defineProperty(exports,"TtTourStep",{enumerable:!0,get:()=>k.ElTourStep});exports.TtActivityFeed=qe;exports.TtAlert=Ye;exports.TtAnchor=Xe;exports.TtAnchorLink=He;exports.TtAttachmentList=Rt;exports.TtAvatar=ye;exports.TtAvatarGroup=Dt;exports.TtBackTop=It;exports.TtBadge=zt;exports.TtBreadcrumb=Lt;exports.TtBreadcrumbItem=Ft;exports.TtButton=ge;exports.TtCalendar=$o;exports.TtCard=to;exports.TtCardSelect=_o;exports.TtCarousel=wo;exports.TtCarouselItem=So;exports.TtCascader=Co;exports.TtChart=xo;exports.TtCheckableTag=Te;exports.TtCheckbox=No;exports.TtCheckboxGroup=Po;exports.TtCol=On;exports.TtCollapse=Cn;exports.TtCollapseItem=$n;exports.TtColor=Io;exports.TtColorPicker=un;exports.TtComment=bn;exports.TtContainer=Bn;exports.TtDatePicker=wn;exports.TtDescriptions=Sn;exports.TtDescriptionsItem=En;exports.TtDialog=Vn;exports.TtDivider=Tn;exports.TtDrawer=xn;exports.TtDropdown=Nn;exports.TtDropdownItem=Rn;exports.TtDropdownMenu=Pn;exports.TtEChartsWrapper=be;exports.TtEmpty=Mn;exports.TtFilePreview=he;exports.TtFloatButton=zn;exports.TtFont=In;exports.TtForm=Ln;exports.TtFormItem=Fn;exports.TtIcon=_e;exports.TtImage=Kn;exports.TtInput=il;exports.TtInputNumber=dl;exports.TtLayout=Yn;exports.TtLink=sl;exports.TtList=Jn;exports.TtListItem=rl;exports.TtLoading=ua;exports.TtMasonry=ml;exports.TtMenu=fl;exports.TtMenuItem=vl;exports.TtMenuItemGroup=kl;exports.TtMessage=re;exports.TtMoney=bl;exports.TtNotification=se;exports.TtPagination=Cl;exports.TtPlate=Nl;exports.TtPopconfirm=Pl;exports.TtPopover=Rl;exports.TtProgress=ja;exports.TtQRCode=Ol;exports.TtQueryForm=$e;exports.TtRadio=Kl;exports.TtRadioButton=jl;exports.TtRadioGroup=Wl;exports.TtRate=Gl;exports.TtResult=ql;exports.TtRichText=Yl;exports.TtRow=Un;exports.TtSearchFilter=Xl;exports.TtSegmented=Zl;exports.TtSelect=Ql;exports.TtSkeleton=Jl;exports.TtSkeletonItem=ea;exports.TtSpace=oa;exports.TtSpaceCompact=we;exports.TtSpin=ca;exports.TtSplitter=na;exports.TtSplitterPanel=la;exports.TtStatistic=aa;exports.TtStep=Ga;exports.TtSteps=Wa;exports.TtSubMenu=hl;exports.TtSwitch=da;exports.TtTabPane=va;exports.TtTable=pa;exports.TtTableColumn=Ee;exports.TtTableOperationColumn=ma;exports.TtTabs=fa;exports.TtTag=ya;exports.TtTimePicker=ga;exports.TtTimeline=ve;exports.TtTimelineItem=ke;exports.TtTooltip=_a;exports.TtTopicSwitch=Ba;exports.TtTour=Ca;exports.TtTransfer=$a;exports.TtTree=wa;exports.TtTreeSelect=Sa;exports.TtUpload=Da;exports.TtUserDisplay=Oa;exports.TtWatermark=Ka;exports.applyTheme=Ya;exports.getTheme=Xa;exports.getThemeAttributeName=Ha;exports.normalizeThemeMode=ce;
2
+ //# sourceMappingURL=index.cjs.map