@aithe/aithe-ui 26.2.3 → 26.3.2

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 (620) hide show
  1. package/README.md +19 -11
  2. package/dist/apps/admin/app.js +12 -0
  3. package/dist/apps/admin/components/admin-app.js +83 -0
  4. package/dist/apps/admin/components/admin-layout.d.ts +0 -1
  5. package/dist/apps/admin/components/admin-layout.d.ts.map +1 -1
  6. package/dist/apps/admin/components/admin-layout.js +250 -0
  7. package/dist/apps/admin/datahub/auth.js +24 -0
  8. package/dist/apps/admin/datahub/dashboard.js +16 -0
  9. package/dist/apps/admin/datahub/index.js +42 -0
  10. package/dist/apps/admin/datahub/menu.js +16 -0
  11. package/dist/apps/admin/datahub/mock/auth.js +11 -0
  12. package/dist/apps/admin/datahub/mock/dashboard.js +10 -0
  13. package/dist/apps/admin/datahub/mock/menu.js +42 -0
  14. package/dist/apps/admin/i18n/de-DE.js +37 -0
  15. package/dist/apps/admin/i18n/en-US.js +37 -0
  16. package/dist/apps/admin/i18n/es-ES.js +38 -0
  17. package/dist/apps/admin/i18n/fr-FR.js +37 -0
  18. package/dist/apps/admin/i18n/index.js +27 -0
  19. package/dist/apps/admin/i18n/ja-JP.js +38 -0
  20. package/dist/apps/admin/i18n/ko-KR.js +37 -0
  21. package/dist/apps/admin/i18n/pt-BR.js +37 -0
  22. package/dist/apps/admin/i18n/zh-CN.js +37 -0
  23. package/dist/apps/admin/i18n/zh-HK.js +37 -0
  24. package/dist/apps/admin/i18n/zh-TW.js +37 -0
  25. package/dist/apps/admin/pages/dashboard-page.d.ts +1 -0
  26. package/dist/apps/admin/pages/dashboard-page.d.ts.map +1 -1
  27. package/dist/apps/admin/pages/dashboard-page.js +199 -0
  28. package/dist/apps/admin/pages/login-page.js +278 -0
  29. package/dist/apps/admin/pages/not-found-page.js +57 -0
  30. package/dist/apps/admin/pages/role-page.js +76 -0
  31. package/dist/apps/admin/pages/settings-page.js +95 -0
  32. package/dist/apps/admin/pages/user-page.js +76 -0
  33. package/dist/apps/admin/router/index.js +43 -0
  34. package/dist/apps/admin/standalone.js +1 -0
  35. package/dist/apps/admin/store/auth.js +42 -0
  36. package/dist/apps/api/app.js +82 -0
  37. package/dist/apps/api/demo-data.d.ts.map +1 -1
  38. package/dist/apps/api/demo-data.js +965 -0
  39. package/dist/apps/api/docs-viewer.js +684 -0
  40. package/dist/apps/api/i18n/de-DE.d.ts.map +1 -1
  41. package/dist/apps/api/i18n/de-DE.js +131 -0
  42. package/dist/apps/api/i18n/en-US.d.ts.map +1 -1
  43. package/dist/apps/api/i18n/en-US.js +141 -0
  44. package/dist/apps/api/i18n/es-ES.d.ts.map +1 -1
  45. package/dist/apps/api/i18n/es-ES.js +131 -0
  46. package/dist/apps/api/i18n/fr-FR.d.ts.map +1 -1
  47. package/dist/apps/api/i18n/fr-FR.js +131 -0
  48. package/dist/apps/api/i18n/index.js +27 -0
  49. package/dist/apps/api/i18n/ja-JP.d.ts.map +1 -1
  50. package/dist/apps/api/i18n/ja-JP.js +131 -0
  51. package/dist/apps/api/i18n/ko-KR.d.ts.map +1 -1
  52. package/dist/apps/api/i18n/ko-KR.js +131 -0
  53. package/dist/apps/api/i18n/pt-BR.d.ts.map +1 -1
  54. package/dist/apps/api/i18n/pt-BR.js +131 -0
  55. package/dist/apps/api/i18n/zh-CN.d.ts.map +1 -1
  56. package/dist/apps/api/i18n/zh-CN.js +141 -0
  57. package/dist/apps/api/i18n/zh-HK.d.ts.map +1 -1
  58. package/dist/apps/api/i18n/zh-HK.js +131 -0
  59. package/dist/apps/api/i18n/zh-TW.d.ts.map +1 -1
  60. package/dist/apps/api/i18n/zh-TW.js +131 -0
  61. package/dist/apps/api/pages/docs.d.ts.map +1 -1
  62. package/dist/apps/api/pages/docs.js +369 -0
  63. package/dist/apps/api/standalone.js +1 -0
  64. package/dist/apps/demo/app.d.ts.map +1 -1
  65. package/dist/apps/demo/app.js +275 -0
  66. package/dist/apps/demo/editor.d.ts.map +1 -1
  67. package/dist/apps/demo/editor.js +270 -0
  68. package/dist/apps/demo/helpers.js +7 -0
  69. package/dist/apps/demo/i18n/de-DE.d.ts.map +1 -1
  70. package/dist/apps/demo/i18n/de-DE.js +289 -0
  71. package/dist/apps/demo/i18n/en-US.d.ts.map +1 -1
  72. package/dist/apps/demo/i18n/en-US.js +301 -0
  73. package/dist/apps/demo/i18n/es-ES.d.ts.map +1 -1
  74. package/dist/apps/demo/i18n/es-ES.js +289 -0
  75. package/dist/apps/demo/i18n/fr-FR.d.ts.map +1 -1
  76. package/dist/apps/demo/i18n/fr-FR.js +289 -0
  77. package/dist/apps/demo/i18n/index.js +27 -0
  78. package/dist/apps/demo/i18n/ja-JP.d.ts.map +1 -1
  79. package/dist/apps/demo/i18n/ja-JP.js +289 -0
  80. package/dist/apps/demo/i18n/ko-KR.d.ts.map +1 -1
  81. package/dist/apps/demo/i18n/ko-KR.js +289 -0
  82. package/dist/apps/demo/i18n/pt-BR.d.ts.map +1 -1
  83. package/dist/apps/demo/i18n/pt-BR.js +289 -0
  84. package/dist/apps/demo/i18n/zh-CN.d.ts.map +1 -1
  85. package/dist/apps/demo/i18n/zh-CN.js +301 -0
  86. package/dist/apps/demo/i18n/zh-HK.d.ts.map +1 -1
  87. package/dist/apps/demo/i18n/zh-HK.js +289 -0
  88. package/dist/apps/demo/i18n/zh-TW.d.ts.map +1 -1
  89. package/dist/apps/demo/i18n/zh-TW.js +289 -0
  90. package/dist/apps/demo/pages/autoform.d.ts.map +1 -1
  91. package/dist/apps/demo/pages/autoform.js +422 -0
  92. package/dist/apps/demo/pages/autoview.d.ts +3 -0
  93. package/dist/apps/demo/pages/autoview.d.ts.map +1 -0
  94. package/dist/apps/demo/pages/autoview.js +310 -0
  95. package/dist/apps/demo/pages/basic.js +157 -0
  96. package/dist/apps/demo/pages/code.js +1088 -0
  97. package/dist/apps/demo/pages/container.js +42 -0
  98. package/dist/apps/demo/pages/dashboard.js +159 -0
  99. package/dist/apps/demo/pages/data.d.ts.map +1 -1
  100. package/dist/apps/demo/pages/data.js +327 -0
  101. package/dist/apps/demo/pages/display.d.ts.map +1 -1
  102. package/dist/apps/demo/pages/display.js +295 -0
  103. package/dist/apps/demo/pages/feedback.js +94 -0
  104. package/dist/apps/demo/pages/form.d.ts.map +1 -1
  105. package/dist/apps/demo/pages/form.js +119 -0
  106. package/dist/apps/demo/pages/layout.js +74 -0
  107. package/dist/apps/demo/pages/navigation.js +54 -0
  108. package/dist/apps/demo/pages/progress.js +42 -0
  109. package/dist/apps/demo/pages/theme.js +126 -0
  110. package/dist/apps/demo/standalone.js +1 -0
  111. package/dist/components/basic/AGENTS.md +1 -0
  112. package/dist/components/basic/avatar.js +168 -0
  113. package/dist/components/basic/badge.js +157 -0
  114. package/dist/components/basic/button-group.js +70 -0
  115. package/dist/components/basic/button.d.ts +2 -4
  116. package/dist/components/basic/button.d.ts.map +1 -1
  117. package/dist/components/basic/button.js +315 -0
  118. package/dist/components/basic/card.js +186 -0
  119. package/dist/components/basic/chip.js +103 -0
  120. package/dist/components/basic/divider.js +127 -0
  121. package/dist/components/basic/empty.js +72 -0
  122. package/dist/components/basic/icon.js +129 -0
  123. package/dist/components/basic/input.d.ts.map +1 -1
  124. package/dist/components/basic/input.js +314 -0
  125. package/dist/components/basic/tag.d.ts +7 -2
  126. package/dist/components/basic/tag.d.ts.map +1 -1
  127. package/dist/components/basic/tag.js +248 -0
  128. package/dist/components/basic/textarea.d.ts +0 -1
  129. package/dist/components/basic/textarea.d.ts.map +1 -1
  130. package/dist/components/basic/textarea.js +130 -0
  131. package/dist/components/container/callout.js +108 -0
  132. package/dist/components/container/details.js +117 -0
  133. package/dist/components/container/scroller.js +144 -0
  134. package/dist/components/container/split-panel.js +150 -0
  135. package/dist/components/data/AGENTS.md +1 -1
  136. package/dist/components/data/box-table.d.ts +53 -0
  137. package/dist/components/data/box-table.d.ts.map +1 -0
  138. package/dist/components/data/box-table.js +220 -0
  139. package/dist/components/data/dropdown.d.ts +8 -5
  140. package/dist/components/data/dropdown.d.ts.map +1 -1
  141. package/dist/components/data/dropdown.js +219 -0
  142. package/dist/components/data/metrics-group.js +180 -0
  143. package/dist/components/data/metrics.d.ts +11 -0
  144. package/dist/components/data/metrics.d.ts.map +1 -1
  145. package/dist/components/data/metrics.js +309 -0
  146. package/dist/components/data/pagination.js +119 -0
  147. package/dist/components/data/tab-pane.d.ts +58 -12
  148. package/dist/components/data/tab-pane.d.ts.map +1 -1
  149. package/dist/components/data/tab-pane.js +130 -0
  150. package/dist/components/data/table-column.d.ts +29 -5
  151. package/dist/components/data/table-column.d.ts.map +1 -1
  152. package/dist/components/data/table-column.js +123 -0
  153. package/dist/components/data/table.d.ts +134 -54
  154. package/dist/components/data/table.d.ts.map +1 -1
  155. package/dist/components/data/table.js +1210 -0
  156. package/dist/components/data/tabs.d.ts +60 -3
  157. package/dist/components/data/tabs.d.ts.map +1 -1
  158. package/dist/components/data/tabs.js +416 -0
  159. package/dist/components/data/timeline-item.js +127 -0
  160. package/dist/components/data/timeline.js +204 -0
  161. package/dist/components/data/tree-menu.d.ts +12 -2
  162. package/dist/components/data/tree-menu.d.ts.map +1 -1
  163. package/dist/components/data/tree-menu.js +482 -0
  164. package/dist/components/data/tree.js +269 -0
  165. package/dist/components/display/AGENTS.md +5 -2
  166. package/dist/components/display/animated-image.js +98 -0
  167. package/dist/components/display/autoview.d.ts +139 -0
  168. package/dist/components/display/autoview.d.ts.map +1 -0
  169. package/dist/components/display/autoview.js +460 -0
  170. package/dist/components/display/brief-box.d.ts +42 -0
  171. package/dist/components/display/brief-box.d.ts.map +1 -0
  172. package/dist/components/display/brief-box.js +117 -0
  173. package/dist/components/display/carousel.js +223 -0
  174. package/dist/components/display/code-editor.d.ts.map +1 -1
  175. package/dist/components/display/code-editor.js +976 -0
  176. package/dist/components/display/comparison.js +132 -0
  177. package/dist/components/display/desc-item.d.ts +48 -0
  178. package/dist/components/display/desc-item.d.ts.map +1 -0
  179. package/dist/components/display/desc-item.js +150 -0
  180. package/dist/components/display/desc.d.ts +68 -0
  181. package/dist/components/display/desc.d.ts.map +1 -0
  182. package/dist/components/display/desc.js +405 -0
  183. package/dist/components/display/detail-box.d.ts +51 -0
  184. package/dist/components/display/detail-box.d.ts.map +1 -0
  185. package/dist/components/display/detail-box.js +157 -0
  186. package/dist/components/display/label.js +166 -0
  187. package/dist/components/display/markdown-editor.js +319 -0
  188. package/dist/components/display/markdown.d.ts.map +1 -1
  189. package/dist/components/display/markdown.js +193 -0
  190. package/dist/components/display/mini-box.d.ts +31 -0
  191. package/dist/components/display/mini-box.d.ts.map +1 -0
  192. package/dist/components/display/mini-box.js +137 -0
  193. package/dist/components/display/profile.d.ts +18 -0
  194. package/dist/components/display/profile.d.ts.map +1 -0
  195. package/dist/components/display/profile.js +164 -0
  196. package/dist/components/feedback/AGENTS.md +1 -0
  197. package/dist/components/feedback/alert.js +150 -0
  198. package/dist/components/feedback/dialog.js +228 -0
  199. package/dist/components/feedback/drawer.d.ts.map +1 -1
  200. package/dist/components/feedback/drawer.js +338 -0
  201. package/dist/components/feedback/loading.js +130 -0
  202. package/dist/components/feedback/modal.d.ts.map +1 -1
  203. package/dist/components/feedback/modal.js +303 -0
  204. package/dist/components/feedback/notification.js +170 -0
  205. package/dist/components/feedback/popover.d.ts +1 -1
  206. package/dist/components/feedback/popover.js +124 -0
  207. package/dist/components/feedback/toast.js +142 -0
  208. package/dist/components/feedback/tooltip.d.ts +1 -1
  209. package/dist/components/feedback/tooltip.js +153 -0
  210. package/dist/components/form/AGENTS.md +4 -0
  211. package/dist/components/form/autoform-item.d.ts +6 -0
  212. package/dist/components/form/autoform-item.d.ts.map +1 -1
  213. package/dist/components/form/autoform-item.js +791 -0
  214. package/dist/components/form/autoform.d.ts +15 -5
  215. package/dist/components/form/autoform.d.ts.map +1 -1
  216. package/dist/components/form/autoform.js +303 -0
  217. package/dist/components/form/checkbox-group.js +118 -0
  218. package/dist/components/form/checkbox.js +123 -0
  219. package/dist/components/form/color-picker.js +148 -0
  220. package/dist/components/form/combobox.d.ts +4 -0
  221. package/dist/components/form/combobox.d.ts.map +1 -1
  222. package/dist/components/form/combobox.js +325 -0
  223. package/dist/components/form/date-picker.js +123 -0
  224. package/dist/components/form/form-item.d.ts.map +1 -1
  225. package/dist/components/form/form-item.js +141 -0
  226. package/dist/components/form/form.js +94 -0
  227. package/dist/components/form/radio-group.js +106 -0
  228. package/dist/components/form/radio.js +110 -0
  229. package/dist/components/form/rate.js +116 -0
  230. package/dist/components/form/select.d.ts +5 -1
  231. package/dist/components/form/select.d.ts.map +1 -1
  232. package/dist/components/form/select.js +539 -0
  233. package/dist/components/form/slider.js +134 -0
  234. package/dist/components/form/switch.js +146 -0
  235. package/dist/components/form/time-picker.js +92 -0
  236. package/dist/components/form/transfer.js +273 -0
  237. package/dist/components/form/upload.js +138 -0
  238. package/dist/components/framework/body.js +333 -0
  239. package/dist/components/framework/dashboard-panel.js +519 -0
  240. package/dist/components/framework/dashboard.d.ts.map +1 -1
  241. package/dist/components/framework/dashboard.js +1084 -0
  242. package/dist/components/framework/header.js +237 -0
  243. package/dist/components/framework/log-panel.js +637 -0
  244. package/dist/components/framework/page.js +151 -0
  245. package/dist/components/framework/sidebar.d.ts +4 -10
  246. package/dist/components/framework/sidebar.d.ts.map +1 -1
  247. package/dist/components/framework/sidebar.js +477 -0
  248. package/dist/components/layout/affix.js +137 -0
  249. package/dist/components/layout/col.js +103 -0
  250. package/dist/components/layout/collapse-item.js +165 -0
  251. package/dist/components/layout/collapse.js +108 -0
  252. package/dist/components/layout/container.js +92 -0
  253. package/dist/components/layout/flex.js +100 -0
  254. package/dist/components/layout/row.js +103 -0
  255. package/dist/components/layout/space.js +85 -0
  256. package/dist/components/navigation/back-top.js +127 -0
  257. package/dist/components/navigation/breadcrumb-item.js +108 -0
  258. package/dist/components/navigation/breadcrumb.js +70 -0
  259. package/dist/components/navigation/menu-item.js +181 -0
  260. package/dist/components/navigation/menu.js +126 -0
  261. package/dist/components/navigation/steps.js +183 -0
  262. package/dist/components/navigation/sub-menu.d.ts.map +1 -1
  263. package/dist/components/navigation/sub-menu.js +252 -0
  264. package/dist/components/progress/progress-bar.js +97 -0
  265. package/dist/components/progress/progress-ring.js +111 -0
  266. package/dist/components/progress/skeleton.js +108 -0
  267. package/dist/components/progress/spinner.js +129 -0
  268. package/dist/components/theme/locale-switch.js +241 -0
  269. package/dist/components/theme/shadow-picker.js +233 -0
  270. package/dist/components/theme/shape-picker.js +232 -0
  271. package/dist/components/theme/theme-picker.js +236 -0
  272. package/dist/components/theme/theme-preview.d.ts +1 -2
  273. package/dist/components/theme/theme-preview.d.ts.map +1 -1
  274. package/dist/components/theme/theme-preview.js +376 -0
  275. package/dist/components/theme/theme-switch.d.ts.map +1 -1
  276. package/dist/components/theme/theme-switch.js +318 -0
  277. package/dist/components/theme/typo-picker.js +219 -0
  278. package/dist/core/AGENTS.md +6 -1
  279. package/dist/core/aithe-element.d.ts +2 -2
  280. package/dist/core/aithe-element.js +135 -0
  281. package/dist/core/aithe-widget.js +30 -0
  282. package/dist/core/anchored-overlay.d.ts +3 -0
  283. package/dist/core/anchored-overlay.d.ts.map +1 -1
  284. package/dist/core/anchored-overlay.js +111 -0
  285. package/dist/core/autoform/autoform.js +79 -0
  286. package/dist/core/autoform/autoview.d.ts +86 -0
  287. package/dist/core/autoform/autoview.d.ts.map +1 -0
  288. package/dist/core/autoform/autoview.js +37 -0
  289. package/dist/core/autoform/condition.js +170 -0
  290. package/dist/core/autoform/index.d.ts +2 -0
  291. package/dist/core/autoform/index.d.ts.map +1 -1
  292. package/dist/core/autoform/index.js +9 -0
  293. package/dist/core/autoform/types.js +7 -0
  294. package/dist/core/datahub/__tests__/force-options.test.d.ts +8 -0
  295. package/dist/core/datahub/__tests__/force-options.test.d.ts.map +1 -0
  296. package/dist/core/datahub/__tests__/force-options.test.js +161 -0
  297. package/dist/core/datahub/config/strategy.d.ts +1 -1
  298. package/dist/core/datahub/config/strategy.d.ts.map +1 -1
  299. package/dist/core/datahub/config/strategy.js +50 -0
  300. package/dist/core/datahub/core/adapter/fetch-adapter.d.ts +1 -1
  301. package/dist/core/datahub/core/adapter/fetch-adapter.d.ts.map +1 -1
  302. package/dist/core/datahub/core/adapter/fetch-adapter.js +118 -0
  303. package/dist/core/datahub/core/adapter/index.js +7 -0
  304. package/dist/core/datahub/core/adapter/mock-adapter.d.ts +1 -1
  305. package/dist/core/datahub/core/adapter/mock-adapter.d.ts.map +1 -1
  306. package/dist/core/datahub/core/adapter/mock-adapter.js +58 -0
  307. package/dist/core/datahub/core/api-styles.d.ts +1 -1
  308. package/dist/core/datahub/core/api-styles.d.ts.map +1 -1
  309. package/dist/core/datahub/core/api-styles.js +136 -0
  310. package/dist/core/datahub/core/datahub-core.d.ts +53 -3
  311. package/dist/core/datahub/core/datahub-core.d.ts.map +1 -1
  312. package/dist/core/datahub/core/datahub-core.js +520 -0
  313. package/dist/core/datahub/core/index.js +7 -0
  314. package/dist/core/datahub/index.js +50 -0
  315. package/dist/core/datahub/types.d.ts +24 -0
  316. package/dist/core/datahub/types.d.ts.map +1 -1
  317. package/dist/core/datahub/types.js +31 -0
  318. package/dist/core/datahub/utils/cache.js +55 -0
  319. package/dist/core/datahub/utils/common.js +23 -0
  320. package/dist/core/datahub/utils/dedup.d.ts +1 -1
  321. package/dist/core/datahub/utils/dedup.d.ts.map +1 -1
  322. package/dist/core/datahub/utils/dedup.js +52 -0
  323. package/dist/core/datahub/utils/idempotent.js +61 -0
  324. package/dist/core/datahub/utils/is-query.js +53 -0
  325. package/dist/core/datahub/utils/loading.js +78 -0
  326. package/dist/core/filter/__tests__/index.test.d.ts +2 -0
  327. package/dist/core/filter/__tests__/index.test.d.ts.map +1 -0
  328. package/dist/core/filter/__tests__/index.test.js +230 -0
  329. package/dist/core/filter/builtins.d.ts +60 -0
  330. package/dist/core/filter/builtins.d.ts.map +1 -0
  331. package/dist/core/filter/builtins.js +172 -0
  332. package/dist/core/filter/factory.d.ts +54 -0
  333. package/dist/core/filter/factory.d.ts.map +1 -0
  334. package/dist/core/filter/factory.js +96 -0
  335. package/dist/core/filter/index.d.ts +11 -0
  336. package/dist/core/filter/index.d.ts.map +1 -0
  337. package/dist/core/filter/index.js +9 -0
  338. package/dist/core/filter/types.d.ts +12 -0
  339. package/dist/core/filter/types.d.ts.map +1 -0
  340. package/dist/core/filter/types.js +1 -0
  341. package/dist/core/floating.js +132 -0
  342. package/dist/core/highlight/index.js +43 -0
  343. package/dist/core/highlight/lang-bash.js +27 -0
  344. package/dist/core/highlight/lang-c.js +27 -0
  345. package/dist/core/highlight/lang-cmake.js +27 -0
  346. package/dist/core/highlight/lang-cpp.js +27 -0
  347. package/dist/core/highlight/lang-css.js +24 -0
  348. package/dist/core/highlight/lang-dart.js +27 -0
  349. package/dist/core/highlight/lang-dockerfile.js +16 -0
  350. package/dist/core/highlight/lang-fsharp.js +23 -0
  351. package/dist/core/highlight/lang-go.js +22 -0
  352. package/dist/core/highlight/lang-html.js +12 -0
  353. package/dist/core/highlight/lang-java.js +22 -0
  354. package/dist/core/highlight/lang-javascript.js +26 -0
  355. package/dist/core/highlight/lang-json.js +13 -0
  356. package/dist/core/highlight/lang-jsonline.js +13 -0
  357. package/dist/core/highlight/lang-jsx.js +30 -0
  358. package/dist/core/highlight/lang-kotlin.js +27 -0
  359. package/dist/core/highlight/lang-latex.js +22 -0
  360. package/dist/core/highlight/lang-lua.js +26 -0
  361. package/dist/core/highlight/lang-makefile.js +22 -0
  362. package/dist/core/highlight/lang-markdown.js +18 -0
  363. package/dist/core/highlight/lang-objectivec.js +24 -0
  364. package/dist/core/highlight/lang-perl.js +30 -0
  365. package/dist/core/highlight/lang-powershell.js +23 -0
  366. package/dist/core/highlight/lang-python.js +27 -0
  367. package/dist/core/highlight/lang-r.js +21 -0
  368. package/dist/core/highlight/lang-ruby.js +29 -0
  369. package/dist/core/highlight/lang-rust.js +24 -0
  370. package/dist/core/highlight/lang-scala.js +26 -0
  371. package/dist/core/highlight/lang-sql.js +21 -0
  372. package/dist/core/highlight/lang-svelte.js +27 -0
  373. package/dist/core/highlight/lang-swift.js +28 -0
  374. package/dist/core/highlight/lang-tsx.js +35 -0
  375. package/dist/core/highlight/lang-typescript.js +31 -0
  376. package/dist/core/highlight/lang-vue.js +29 -0
  377. package/dist/core/highlight/lang-wasm.js +22 -0
  378. package/dist/core/highlight/lang-xml.js +12 -0
  379. package/dist/core/highlight/lang-yaml.js +14 -0
  380. package/dist/core/highlight/registry.js +99 -0
  381. package/dist/core/logger/LoggerCore.js +626 -0
  382. package/dist/core/logger/index.js +10 -0
  383. package/dist/core/logger/types.js +29 -0
  384. package/dist/core/markdown/index.js +20 -0
  385. package/dist/core/markdown/parser.d.ts +2 -0
  386. package/dist/core/markdown/parser.d.ts.map +1 -1
  387. package/dist/core/markdown/parser.js +376 -0
  388. package/dist/core/markdown/plugins.d.ts +2 -1
  389. package/dist/core/markdown/plugins.d.ts.map +1 -1
  390. package/dist/core/markdown/plugins.js +755 -0
  391. package/dist/core/markdown/types.d.ts +5 -0
  392. package/dist/core/markdown/types.d.ts.map +1 -1
  393. package/dist/core/markdown/types.js +7 -0
  394. package/dist/core/router/index.js +244 -0
  395. package/dist/core/styles.js +44 -0
  396. package/dist/core/types.d.ts +52 -3
  397. package/dist/core/types.d.ts.map +1 -1
  398. package/dist/core/types.js +1 -0
  399. package/dist/index.d.ts +9 -0
  400. package/dist/index.d.ts.map +1 -1
  401. package/dist/index.js +3695 -1622
  402. package/dist/index.js.map +1 -1
  403. package/dist/index.umd.js +1844 -758
  404. package/dist/index.umd.js.map +1 -1
  405. package/dist/styles/aithe-ui.d.ts +23 -0
  406. package/dist/styles/aithe-ui.d.ts.map +1 -1
  407. package/dist/styles/aithe-ui.js +185 -0
  408. package/dist/styles/global.css.d.ts +1 -1
  409. package/dist/styles/global.css.d.ts.map +1 -1
  410. package/dist/styles/global.css.js +119 -0
  411. package/dist/styles/i18n/index.js +206 -0
  412. package/dist/styles/i18n/locales/de-DE.d.ts.map +1 -1
  413. package/dist/styles/i18n/locales/de-DE.js +151 -0
  414. package/dist/styles/i18n/locales/en-US.d.ts.map +1 -1
  415. package/dist/styles/i18n/locales/en-US.js +160 -0
  416. package/dist/styles/i18n/locales/es-ES.d.ts.map +1 -1
  417. package/dist/styles/i18n/locales/es-ES.js +151 -0
  418. package/dist/styles/i18n/locales/fr-FR.d.ts.map +1 -1
  419. package/dist/styles/i18n/locales/fr-FR.js +151 -0
  420. package/dist/styles/i18n/locales/index.js +14 -0
  421. package/dist/styles/i18n/locales/ja-JP.d.ts.map +1 -1
  422. package/dist/styles/i18n/locales/ja-JP.js +151 -0
  423. package/dist/styles/i18n/locales/ko-KR.d.ts.map +1 -1
  424. package/dist/styles/i18n/locales/ko-KR.js +151 -0
  425. package/dist/styles/i18n/locales/pt-BR.d.ts.map +1 -1
  426. package/dist/styles/i18n/locales/pt-BR.js +151 -0
  427. package/dist/styles/i18n/locales/zh-CN.d.ts.map +1 -1
  428. package/dist/styles/i18n/locales/zh-CN.js +160 -0
  429. package/dist/styles/i18n/locales/zh-HK.d.ts.map +1 -1
  430. package/dist/styles/i18n/locales/zh-HK.js +151 -0
  431. package/dist/styles/i18n/locales/zh-TW.d.ts.map +1 -1
  432. package/dist/styles/i18n/locales/zh-TW.js +151 -0
  433. package/dist/styles/layout/index.js +88 -0
  434. package/dist/styles/mixins.js +43 -0
  435. package/dist/styles/shadow/cyber.js +19 -0
  436. package/dist/styles/shadow/deep.js +19 -0
  437. package/dist/styles/shadow/diffuse.js +19 -0
  438. package/dist/styles/shadow/flat.js +19 -0
  439. package/dist/styles/shadow/glassmorphism.js +19 -0
  440. package/dist/styles/shadow/index.js +129 -0
  441. package/dist/styles/shadow/neumorphism.js +21 -0
  442. package/dist/styles/shadow/retro.js +19 -0
  443. package/dist/styles/shadow/sharp-business.js +19 -0
  444. package/dist/styles/shadow/skeuomorphic.js +21 -0
  445. package/dist/styles/shape/chamfer.js +19 -0
  446. package/dist/styles/shape/circle.js +19 -0
  447. package/dist/styles/shape/index.js +174 -0
  448. package/dist/styles/shape/organic.js +19 -0
  449. package/dist/styles/shape/pill.js +19 -0
  450. package/dist/styles/shape/rounded.js +21 -0
  451. package/dist/styles/shape/rounder.js +19 -0
  452. package/dist/styles/shape/sharp.js +19 -0
  453. package/dist/styles/shape/smooth.js +19 -0
  454. package/dist/styles/theme/aliyun.d.ts +1 -1
  455. package/dist/styles/theme/aliyun.d.ts.map +1 -1
  456. package/dist/styles/theme/aliyun.js +102 -0
  457. package/dist/styles/theme/amber.d.ts +1 -1
  458. package/dist/styles/theme/amber.d.ts.map +1 -1
  459. package/dist/styles/theme/amber.js +101 -0
  460. package/dist/styles/theme/blue.d.ts +1 -1
  461. package/dist/styles/theme/blue.d.ts.map +1 -1
  462. package/dist/styles/theme/blue.js +101 -0
  463. package/dist/styles/theme/charcoal.d.ts +1 -1
  464. package/dist/styles/theme/charcoal.d.ts.map +1 -1
  465. package/dist/styles/theme/charcoal.js +106 -0
  466. package/dist/styles/theme/cyan.d.ts +1 -1
  467. package/dist/styles/theme/cyan.d.ts.map +1 -1
  468. package/dist/styles/theme/cyan.js +96 -0
  469. package/dist/styles/theme/dark.d.ts +1 -1
  470. package/dist/styles/theme/dark.d.ts.map +1 -1
  471. package/dist/styles/theme/dark.js +106 -0
  472. package/dist/styles/theme/ebony.d.ts +1 -1
  473. package/dist/styles/theme/ebony.d.ts.map +1 -1
  474. package/dist/styles/theme/ebony.js +106 -0
  475. package/dist/styles/theme/festive.d.ts +1 -1
  476. package/dist/styles/theme/festive.d.ts.map +1 -1
  477. package/dist/styles/theme/festive.js +101 -0
  478. package/dist/styles/theme/graphite.d.ts +1 -1
  479. package/dist/styles/theme/graphite.d.ts.map +1 -1
  480. package/dist/styles/theme/graphite.js +106 -0
  481. package/dist/styles/theme/gray.d.ts +1 -1
  482. package/dist/styles/theme/gray.d.ts.map +1 -1
  483. package/dist/styles/theme/gray.js +101 -0
  484. package/dist/styles/theme/huawei.d.ts +1 -1
  485. package/dist/styles/theme/huawei.d.ts.map +1 -1
  486. package/dist/styles/theme/huawei.js +102 -0
  487. package/dist/styles/theme/index.d.ts +1 -1
  488. package/dist/styles/theme/index.d.ts.map +1 -1
  489. package/dist/styles/theme/index.js +276 -0
  490. package/dist/styles/theme/indigo.d.ts +1 -1
  491. package/dist/styles/theme/indigo.d.ts.map +1 -1
  492. package/dist/styles/theme/indigo.js +101 -0
  493. package/dist/styles/theme/ink.d.ts +1 -1
  494. package/dist/styles/theme/ink.d.ts.map +1 -1
  495. package/dist/styles/theme/ink.js +106 -0
  496. package/dist/styles/theme/light.d.ts +1 -1
  497. package/dist/styles/theme/light.d.ts.map +1 -1
  498. package/dist/styles/theme/light.js +102 -0
  499. package/dist/styles/theme/midnight.d.ts +1 -1
  500. package/dist/styles/theme/midnight.d.ts.map +1 -1
  501. package/dist/styles/theme/midnight.js +106 -0
  502. package/dist/styles/theme/navy.d.ts +1 -1
  503. package/dist/styles/theme/navy.d.ts.map +1 -1
  504. package/dist/styles/theme/navy.js +106 -0
  505. package/dist/styles/theme/obsidian.d.ts +1 -1
  506. package/dist/styles/theme/obsidian.d.ts.map +1 -1
  507. package/dist/styles/theme/obsidian.js +106 -0
  508. package/dist/styles/theme/onyx.d.ts +1 -1
  509. package/dist/styles/theme/onyx.d.ts.map +1 -1
  510. package/dist/styles/theme/onyx.js +106 -0
  511. package/dist/styles/theme/orange.d.ts +1 -1
  512. package/dist/styles/theme/orange.d.ts.map +1 -1
  513. package/dist/styles/theme/orange.js +101 -0
  514. package/dist/styles/theme/pink.d.ts +1 -1
  515. package/dist/styles/theme/pink.d.ts.map +1 -1
  516. package/dist/styles/theme/pink.js +101 -0
  517. package/dist/styles/theme/purple.d.ts +1 -1
  518. package/dist/styles/theme/purple.d.ts.map +1 -1
  519. package/dist/styles/theme/purple.js +101 -0
  520. package/dist/styles/theme/raisin.d.ts +1 -1
  521. package/dist/styles/theme/raisin.d.ts.map +1 -1
  522. package/dist/styles/theme/raisin.js +106 -0
  523. package/dist/styles/theme/slate.d.ts +1 -1
  524. package/dist/styles/theme/slate.d.ts.map +1 -1
  525. package/dist/styles/theme/slate.js +106 -0
  526. package/dist/styles/theme/teal.d.ts +1 -1
  527. package/dist/styles/theme/teal.d.ts.map +1 -1
  528. package/dist/styles/theme/teal.js +101 -0
  529. package/dist/styles/theme/tianyi.d.ts +1 -1
  530. package/dist/styles/theme/tianyi.d.ts.map +1 -1
  531. package/dist/styles/theme/tianyi.js +102 -0
  532. package/dist/styles/types.js +1 -0
  533. package/dist/styles/typo/business.js +34 -0
  534. package/dist/styles/typo/compact.js +34 -0
  535. package/dist/styles/typo/index.js +99 -0
  536. package/dist/styles/typo/luxury.js +34 -0
  537. package/dist/styles/typo/minimal.js +34 -0
  538. package/dist/types/index.js +2 -0
  539. package/dist/utils/dom.js +51 -0
  540. package/dist/utils/events.js +32 -0
  541. package/dist/utils/icon.js +176 -0
  542. package/dist/utils/index.js +4 -0
  543. package/dist/utils/utils.d.ts +5 -5
  544. package/dist/utils/utils.js +89 -0
  545. package/dist/utils/validation.js +52 -0
  546. package/docs/api/basic/button.md +9 -6
  547. package/docs/api/basic/tag.md +24 -17
  548. package/docs/api/data/box-table.md +73 -0
  549. package/docs/api/data/dropdown.md +3 -2
  550. package/docs/api/data/metrics.md +2 -0
  551. package/docs/api/data/table-column.md +37 -23
  552. package/docs/api/data/table.md +158 -44
  553. package/docs/api/data/tabs.md +46 -1
  554. package/docs/api/data/tree-menu.md +55 -2
  555. package/docs/api/display/autoview.md +277 -0
  556. package/docs/api/display/box.md +66 -0
  557. package/docs/api/display/brief-box.md +73 -0
  558. package/docs/api/display/desc-item.md +57 -0
  559. package/docs/api/display/desc.md +246 -0
  560. package/docs/api/display/detail-box.md +75 -0
  561. package/docs/api/display/mini-box.md +100 -0
  562. package/docs/api/display/profile.md +92 -0
  563. package/docs/api/feedback/popover.md +10 -10
  564. package/docs/api/feedback/tooltip.md +14 -14
  565. package/docs/api/form/autoform-item.md +115 -0
  566. package/docs/api/form/autoform.md +7 -3
  567. package/docs/api/form/combobox.md +27 -7
  568. package/docs/api/form/select.md +50 -28
  569. package/docs/api/framework/log-panel.md +46 -0
  570. package/docs/api/framework/sidebar.md +3 -2
  571. package/docs/api/summary.md +46 -35
  572. package/docs/api/theme/theme-switch.md +1 -1
  573. package/docs/autoform.md +14 -33
  574. package/docs/changelog/CHANGELOG.md +155 -0
  575. package/docs/changelog/VERSION_26.3.1.md +966 -0
  576. package/docs/changelog/VERSION_26.3.2.md +852 -0
  577. package/docs/datahub.md +4 -1
  578. package/docs/filter.md +332 -0
  579. package/docs/framework-integration.md +2 -2
  580. package/docs/guide.md +72 -6
  581. package/docs/i18n.md +2 -4
  582. package/docs/issue/26.3.1/issue_26.3.1.0.md +84 -0
  583. package/docs/issue/26.3.1/issue_26.3.1.1.md +72 -0
  584. package/docs/issue/26.3.1/issue_26.3.1.2.md +75 -0
  585. package/docs/issue/26.3.1/issue_26.3.1.3.md +78 -0
  586. package/docs/issue/26.3.1/issue_26.3.1.4.md +113 -0
  587. package/docs/issue/26.3.1/issue_26.3.1.5.md +142 -0
  588. package/docs/issue/26.3.1/issue_26.3.1.6.md +100 -0
  589. package/docs/issue/26.3.1/issue_26.3.1.7.md +78 -0
  590. package/docs/issue/26.3.2/issue_26.3.2.1.md +46 -0
  591. package/docs/issue/26.3.2/issue_26.3.2.2.md +82 -0
  592. package/docs/issue/26.3.2/issue_26.3.2.3.md +57 -0
  593. package/docs/issue/26.3.2/issue_26.3.2.4.md +43 -0
  594. package/docs/issue/AGENTS.md +24 -3
  595. package/docs/markdown.md +2 -2
  596. package/docs/quickstart.md +5 -5
  597. package/docs/theming.md +5 -4
  598. package/package.json +5 -2
  599. package/dist/components/navigation/dropdown.d.ts +0 -56
  600. package/dist/components/navigation/dropdown.d.ts.map +0 -1
  601. /package/docs/issue/{issue_26.2.2.1.md → 26.2.2/issue_26.2.2.1.md} +0 -0
  602. /package/docs/issue/{issue_26.2.2.2.md → 26.2.2/issue_26.2.2.2.md} +0 -0
  603. /package/docs/issue/{issue_26.2.2.3.md → 26.2.2/issue_26.2.2.3.md} +0 -0
  604. /package/docs/issue/{issue_26.2.2.4.md → 26.2.2/issue_26.2.2.4.md} +0 -0
  605. /package/docs/issue/{issue_26.2.3.1.md → 26.2.3/issue_26.2.3.1.md} +0 -0
  606. /package/docs/issue/{issue_26.2.3.10.md → 26.2.3/issue_26.2.3.10.md} +0 -0
  607. /package/docs/issue/{issue_26.2.3.11.md → 26.2.3/issue_26.2.3.11.md} +0 -0
  608. /package/docs/issue/{issue_26.2.3.12.md → 26.2.3/issue_26.2.3.12.md} +0 -0
  609. /package/docs/issue/{issue_26.2.3.13.md → 26.2.3/issue_26.2.3.13.md} +0 -0
  610. /package/docs/issue/{issue_26.2.3.14.md → 26.2.3/issue_26.2.3.14.md} +0 -0
  611. /package/docs/issue/{issue_26.2.3.15.md → 26.2.3/issue_26.2.3.15.md} +0 -0
  612. /package/docs/issue/{issue_26.2.3.16.md → 26.2.3/issue_26.2.3.16.md} +0 -0
  613. /package/docs/issue/{issue_26.2.3.2.md → 26.2.3/issue_26.2.3.2.md} +0 -0
  614. /package/docs/issue/{issue_26.2.3.3.md → 26.2.3/issue_26.2.3.3.md} +0 -0
  615. /package/docs/issue/{issue_26.2.3.4.md → 26.2.3/issue_26.2.3.4.md} +0 -0
  616. /package/docs/issue/{issue_26.2.3.5.md → 26.2.3/issue_26.2.3.5.md} +0 -0
  617. /package/docs/issue/{issue_26.2.3.6.md → 26.2.3/issue_26.2.3.6.md} +0 -0
  618. /package/docs/issue/{issue_26.2.3.7.md → 26.2.3/issue_26.2.3.7.md} +0 -0
  619. /package/docs/issue/{issue_26.2.3.8.md → 26.2.3/issue_26.2.3.8.md} +0 -0
  620. /package/docs/issue/{issue_26.2.3.9.md → 26.2.3/issue_26.2.3.9.md} +0 -0
@@ -4,11 +4,33 @@ import { AitheElement } from '../../core/aithe-element';
4
4
  * 标签页导航容器,管理 tab-pane 子组件。
5
5
  *
6
6
  * @slot - Default slot for `aithe-tab-pane` children. 默认插槽,用于 `aithe-tab-pane` 子组件。
7
+ * @slot extra - Slot for extra content rendered at the end of the tab bar (e.g. action buttons). 额外内容插槽,渲染在标签栏末尾(如操作按钮)。
7
8
  *
8
9
  * @fires aithe-change - Emitted when the active tab changes with `{ activeKey }`. 活动标签页变更时发出 `{ activeKey }`。
9
10
  * @fires aithe-tab-remove - Emitted when a closable tab is removed with `{ key }`. 可关闭标签页被移除时发出 `{ key }`。
10
11
  * @fires aithe-tab-add - Emitted when the add button is clicked. 添加按钮被点击时发出。
11
12
  *
13
+ * @csspart nav - The tab navigation bar container. 标签导航栏容器。
14
+ * @csspart panel - The tab content panel area. 标签内容面板区域。
15
+ * @csspart tab - Individual tab button. 单个标签按钮。
16
+ * @csspart tab-active - Active tab button. 活动标签按钮。
17
+ * @csspart tab-disabled - Disabled tab button. 禁用标签按钮。
18
+ * @csspart remove-btn - Close button on closable tabs. 可关闭标签上的关闭按钮。
19
+ * @csspart add-btn - Add tab button. 添加标签按钮。
20
+ * @csspart overflow-select - Overflow dropdown select. 溢出下拉选择器。
21
+ * @csspart nav-extra - Extra content slot container. 额外内容插槽容器。
22
+ *
23
+ * @cssprop --aithe-tabs-nav-gap - Gap between tab items in the nav bar. 标签栏中标签项之间的间距。Default: `var(--aithe-space-2)`.
24
+ * @cssprop --aithe-tabs-nav-border-color - Bottom border color of the nav bar. 标签栏底部边框颜色。Default: `var(--aithe-color-border)`.
25
+ * @cssprop --aithe-tabs-tab-padding - Padding inside each tab button. 标签按钮内边距。Default: `0 var(--aithe-space-4)`.
26
+ * @cssprop --aithe-tabs-tab-min-height - Minimum height of each tab button. 标签按钮最小高度。Default: `38px`.
27
+ * @cssprop --aithe-tabs-tab-radius - Border radius of tab buttons. 标签按钮圆角。Default: `var(--aithe-radius-md)`.
28
+ * @cssprop --aithe-tabs-tab-color - Text color of inactive tabs. 非活动标签文字颜色。Default: `var(--aithe-color-text-muted)`.
29
+ * @cssprop --aithe-tabs-tab-active-color - Text color of active tabs (line type). 活动标签文字颜色(line 类型)。Default: `var(--aithe-primary-7)`.
30
+ * @cssprop --aithe-tabs-tab-active-border-color - Active indicator border color (line type). 活动标签指示器边框颜色(line 类型)。Default: `var(--aithe-primary-6)`.
31
+ * @cssprop --aithe-tabs-tab-active-bg - Background of active tabs (card/button type). 活动标签背景色(card/button 类型)。Default: `var(--aithe-color-surface-elevated)` / gradient.
32
+ * @cssprop --aithe-tabs-tab-disabled-opacity - Opacity of disabled tabs. 禁用标签的不透明度。Default: `0.48`.
33
+ *
12
34
  * @example
13
35
  * ```html
14
36
  * <aithe-tabs type="card" active-key="a">
@@ -18,16 +40,51 @@ import { AitheElement } from '../../core/aithe-element';
18
40
  * ```
19
41
  */
20
42
  export declare class AitheTabs extends AitheElement {
21
- /** Visual style of the tab navigation. 标签页导航的视觉样式。 */
43
+ /**
44
+ * Visual style of the tab navigation.
45
+ * 标签页导航的视觉样式。
46
+ *
47
+ * @values 'line' - Underline indicator style (default). 下划线指示器样式(默认)。
48
+ * @values 'card' - Card-style tabs with elevated active state. 卡片式标签,活动状态有阴影。
49
+ * @values 'button' - Button-style tabs with gradient fill. 按钮式标签,渐变色填充。
50
+ */
22
51
  type: 'line' | 'card' | 'button';
23
- /** Key of the currently active tab pane. 当前活动标签页的键。 */
52
+ /**
53
+ * Key of the currently active tab pane.
54
+ * 当前活动标签页的键。
55
+ *
56
+ * When empty, the first non-disabled pane is automatically activated.
57
+ * 为空时自动激活第一个非禁用的面板。
58
+ */
24
59
  activeKey: string;
25
- /** Whether to show an add button in the tab bar. 是否在标签栏中显示添加按钮。 */
60
+ /**
61
+ * Whether to show an add button ("+") in the tab bar.
62
+ * 是否在标签栏中显示添加按钮("+")。
63
+ *
64
+ * Clicking the add button emits the `aithe-tab-add` event.
65
+ * 点击添加按钮会触发 `aithe-tab-add` 事件。
66
+ */
26
67
  addable: boolean;
68
+ /**
69
+ * Maximum number of visible tabs before overflowing into a dropdown menu.
70
+ * `0` means no limit (all tabs are shown).
71
+ * 最大可见标签页数量,超出部分折叠到下拉菜单中。`0` 表示不限制。
72
+ *
73
+ * When the number of tabs exceeds this value, extra tabs are hidden behind a
74
+ * "more" dropdown selector. The active tab is prioritized to stay visible.
75
+ * 当标签页数量超过此值时,多余的标签会折叠到"更多"下拉选择器中。活动标签会优先保持可见。
76
+ */
77
+ maxVisibleTabs: number;
27
78
  private readonly slotNodes;
28
79
  private panes;
80
+ private visiblePanes;
81
+ private overflowPanes;
82
+ private get overflowOptions();
29
83
  static readonly styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
84
+ private readonly handleOverflowChange;
85
+ private renderTab;
30
86
  private readonly syncPanes;
87
+ private splitPanes;
31
88
  private activate;
32
89
  private removePane;
33
90
  private readonly handleKeydown;
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/data/tabs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAKnD;;;;;;;;;;;;;;;;;GAiBG;AACH,qBACa,SAAU,SAAQ,YAAY;IACzC,sDAAsD;IAC1B,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAU;IACtE,uDAAuD;IACF,SAAS,SAAM;IACpE,mEAAmE;IACtC,OAAO,UAAS;IAEpB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvD,OAAO,CAAC,KAAK,CAAsB;IAE5C,MAAM,CAAC,QAAQ,CAAC,MAAM,0DA8FpB;IAEF,OAAO,CAAC,QAAQ,CAAC,SAAS,CAkBxB;IAEF,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAmB5B;IAEF,MAAM;CAiEP;AAED,qBACa,aAAc,SAAQ,SAAS;CAAG"}
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../../src/components/data/tabs.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAMnD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBACa,SAAU,SAAQ,YAAY;IACzC;;;;;;;OAOG;IACyB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAU;IACtE;;;;;;OAMG;IACkD,SAAS,SAAM;IACpE;;;;;;OAMG;IAC0B,OAAO,UAAS;IAC7C;;;;;;;;OAQG;IACwD,cAAc,SAAK;IAErD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvD,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAsB;IAEpD,OAAO,KAAK,eAAe,GAO1B;IAED,MAAM,CAAC,QAAQ,CAAC,MAAM,0DAuHpB;IAEF,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAKnC;IAEF,OAAO,CAAC,SAAS;IAuCjB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAoBxB;IAEF,OAAO,CAAC,UAAU;IAmBlB,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAmB5B;IAEF,MAAM;CA2CP;AAED,qBACa,aAAc,SAAQ,SAAS;CAAG"}
@@ -0,0 +1,416 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { css, html, nothing } from 'lit';
8
+ import { customElement, property, queryAssignedElements, state } from 'lit/decorators.js';
9
+ import { classMap } from 'lit/directives/class-map.js';
10
+ import { AitheElement } from '../../core/aithe-element';
11
+ import { aitheBaseStyles } from '../../core/styles';
12
+ import { t } from '../../styles/i18n';
13
+ /**
14
+ * Tab navigation container that manages tab-pane children.
15
+ * 标签页导航容器,管理 tab-pane 子组件。
16
+ *
17
+ * @slot - Default slot for `aithe-tab-pane` children. 默认插槽,用于 `aithe-tab-pane` 子组件。
18
+ * @slot extra - Slot for extra content rendered at the end of the tab bar (e.g. action buttons). 额外内容插槽,渲染在标签栏末尾(如操作按钮)。
19
+ *
20
+ * @fires aithe-change - Emitted when the active tab changes with `{ activeKey }`. 活动标签页变更时发出 `{ activeKey }`。
21
+ * @fires aithe-tab-remove - Emitted when a closable tab is removed with `{ key }`. 可关闭标签页被移除时发出 `{ key }`。
22
+ * @fires aithe-tab-add - Emitted when the add button is clicked. 添加按钮被点击时发出。
23
+ *
24
+ * @csspart nav - The tab navigation bar container. 标签导航栏容器。
25
+ * @csspart panel - The tab content panel area. 标签内容面板区域。
26
+ * @csspart tab - Individual tab button. 单个标签按钮。
27
+ * @csspart tab-active - Active tab button. 活动标签按钮。
28
+ * @csspart tab-disabled - Disabled tab button. 禁用标签按钮。
29
+ * @csspart remove-btn - Close button on closable tabs. 可关闭标签上的关闭按钮。
30
+ * @csspart add-btn - Add tab button. 添加标签按钮。
31
+ * @csspart overflow-select - Overflow dropdown select. 溢出下拉选择器。
32
+ * @csspart nav-extra - Extra content slot container. 额外内容插槽容器。
33
+ *
34
+ * @cssprop --aithe-tabs-nav-gap - Gap between tab items in the nav bar. 标签栏中标签项之间的间距。Default: `var(--aithe-space-2)`.
35
+ * @cssprop --aithe-tabs-nav-border-color - Bottom border color of the nav bar. 标签栏底部边框颜色。Default: `var(--aithe-color-border)`.
36
+ * @cssprop --aithe-tabs-tab-padding - Padding inside each tab button. 标签按钮内边距。Default: `0 var(--aithe-space-4)`.
37
+ * @cssprop --aithe-tabs-tab-min-height - Minimum height of each tab button. 标签按钮最小高度。Default: `38px`.
38
+ * @cssprop --aithe-tabs-tab-radius - Border radius of tab buttons. 标签按钮圆角。Default: `var(--aithe-radius-md)`.
39
+ * @cssprop --aithe-tabs-tab-color - Text color of inactive tabs. 非活动标签文字颜色。Default: `var(--aithe-color-text-muted)`.
40
+ * @cssprop --aithe-tabs-tab-active-color - Text color of active tabs (line type). 活动标签文字颜色(line 类型)。Default: `var(--aithe-primary-7)`.
41
+ * @cssprop --aithe-tabs-tab-active-border-color - Active indicator border color (line type). 活动标签指示器边框颜色(line 类型)。Default: `var(--aithe-primary-6)`.
42
+ * @cssprop --aithe-tabs-tab-active-bg - Background of active tabs (card/button type). 活动标签背景色(card/button 类型)。Default: `var(--aithe-color-surface-elevated)` / gradient.
43
+ * @cssprop --aithe-tabs-tab-disabled-opacity - Opacity of disabled tabs. 禁用标签的不透明度。Default: `0.48`.
44
+ *
45
+ * @example
46
+ * ```html
47
+ * <aithe-tabs type="card" active-key="a">
48
+ * <aithe-tab-pane tab-id="a" label="Tab A">Content A</aithe-tab-pane>
49
+ * <aithe-tab-pane tab-id="b" label="Tab B">Content B</aithe-tab-pane>
50
+ * </aithe-tabs>
51
+ * ```
52
+ */
53
+ let AitheTabs = class AitheTabs extends AitheElement {
54
+ constructor() {
55
+ super(...arguments);
56
+ /**
57
+ * Visual style of the tab navigation.
58
+ * 标签页导航的视觉样式。
59
+ *
60
+ * @values 'line' - Underline indicator style (default). 下划线指示器样式(默认)。
61
+ * @values 'card' - Card-style tabs with elevated active state. 卡片式标签,活动状态有阴影。
62
+ * @values 'button' - Button-style tabs with gradient fill. 按钮式标签,渐变色填充。
63
+ */
64
+ this.type = 'line';
65
+ /**
66
+ * Key of the currently active tab pane.
67
+ * 当前活动标签页的键。
68
+ *
69
+ * When empty, the first non-disabled pane is automatically activated.
70
+ * 为空时自动激活第一个非禁用的面板。
71
+ */
72
+ this.activeKey = '';
73
+ /**
74
+ * Whether to show an add button ("+") in the tab bar.
75
+ * 是否在标签栏中显示添加按钮("+")。
76
+ *
77
+ * Clicking the add button emits the `aithe-tab-add` event.
78
+ * 点击添加按钮会触发 `aithe-tab-add` 事件。
79
+ */
80
+ this.addable = false;
81
+ /**
82
+ * Maximum number of visible tabs before overflowing into a dropdown menu.
83
+ * `0` means no limit (all tabs are shown).
84
+ * 最大可见标签页数量,超出部分折叠到下拉菜单中。`0` 表示不限制。
85
+ *
86
+ * When the number of tabs exceeds this value, extra tabs are hidden behind a
87
+ * "more" dropdown selector. The active tab is prioritized to stay visible.
88
+ * 当标签页数量超过此值时,多余的标签会折叠到"更多"下拉选择器中。活动标签会优先保持可见。
89
+ */
90
+ this.maxVisibleTabs = 0;
91
+ this.panes = [];
92
+ this.visiblePanes = [];
93
+ this.overflowPanes = [];
94
+ this.handleOverflowChange = (event) => {
95
+ const key = event.detail.value;
96
+ if (key) {
97
+ this.activate(key);
98
+ }
99
+ };
100
+ this.syncPanes = () => {
101
+ this.panes = this.slotNodes.filter((node) => node instanceof HTMLElement && node.tagName.toLowerCase() === 'aithe-tab-pane');
102
+ if (!this.activeKey) {
103
+ const firstEnabled = this.panes.find((pane) => !pane.disabled);
104
+ this.activeKey = firstEnabled?.tabId ?? firstEnabled?.label ?? '';
105
+ }
106
+ let index = 0;
107
+ for (const pane of this.panes) {
108
+ const key = pane.tabId || pane.label || `${index}`;
109
+ pane.tabId = key;
110
+ pane.active = key === this.activeKey;
111
+ index++;
112
+ }
113
+ this.splitPanes();
114
+ };
115
+ this.handleKeydown = (event) => {
116
+ const enabled = this.panes.filter((pane) => !pane.disabled);
117
+ const currentIndex = enabled.findIndex((pane) => pane.tabId === this.activeKey);
118
+ if (event.key === 'ArrowRight') {
119
+ event.preventDefault();
120
+ const next = enabled[(currentIndex + 1) % enabled.length];
121
+ if (next) {
122
+ this.activate(next.tabId);
123
+ }
124
+ }
125
+ if (event.key === 'ArrowLeft') {
126
+ event.preventDefault();
127
+ const next = enabled[(currentIndex - 1 + enabled.length) % enabled.length];
128
+ if (next) {
129
+ this.activate(next.tabId);
130
+ }
131
+ }
132
+ };
133
+ }
134
+ get overflowOptions() {
135
+ return this.overflowPanes.map((pane) => ({
136
+ id: pane.tabId,
137
+ label: pane.label,
138
+ icon: pane.icon,
139
+ disabled: pane.disabled,
140
+ }));
141
+ }
142
+ static { this.styles = [
143
+ aitheBaseStyles,
144
+ css `
145
+ :host {
146
+ display: block;
147
+ }
148
+
149
+ .tabs {
150
+ display: grid;
151
+ gap: var(--aithe-space-lg);
152
+ }
153
+
154
+ .tabs.line {
155
+ gap: 0;
156
+ }
157
+
158
+ .nav {
159
+ display: flex;
160
+ align-items: center;
161
+ gap: var(--aithe-space-2);
162
+ flex-wrap: wrap;
163
+ border-bottom: 1px solid var(--aithe-color-border);
164
+ padding-bottom: var(--aithe-space-3);
165
+ }
166
+
167
+ .nav.card,
168
+ .nav.button {
169
+ border-bottom: none;
170
+ padding-bottom: 0;
171
+ }
172
+
173
+ .nav.line {
174
+ border-bottom: none;
175
+ padding-bottom: 0;
176
+ }
177
+
178
+ .tab {
179
+ display: inline-flex;
180
+ align-items: center;
181
+ min-height: 38px;
182
+ padding: 0 var(--aithe-space-4);
183
+ border: 1px solid transparent;
184
+ border-radius: var(--aithe-radius-md);
185
+ background: transparent;
186
+ color: var(--aithe-color-text-muted);
187
+ cursor: pointer;
188
+ transition:
189
+ background var(--aithe-duration-fast) var(--aithe-ease-standard),
190
+ color var(--aithe-duration-fast) var(--aithe-ease-standard),
191
+ border-color var(--aithe-duration-fast) var(--aithe-ease-standard);
192
+ }
193
+
194
+ .tab-icon {
195
+ flex-shrink: 0;
196
+ color: var(--aithe-color-text-muted);
197
+ }
198
+
199
+ .nav-item {
200
+ display: inline-flex;
201
+ align-items: center;
202
+ gap: var(--aithe-space-1);
203
+ }
204
+
205
+ .tab.active.line {
206
+ color: var(--aithe-primary-7);
207
+ border-bottom-color: var(--aithe-primary-6);
208
+ }
209
+
210
+ .tab.active.card {
211
+ border-color: var(--aithe-color-border);
212
+ background: var(--aithe-color-surface-elevated);
213
+ box-shadow: var(--aithe-shadow-1);
214
+ color: var(--aithe-color-text);
215
+ }
216
+
217
+ .tab.active.button {
218
+ background: linear-gradient(180deg, var(--aithe-primary-6), var(--aithe-primary-7));
219
+ color: var(--aithe-color-text-on-primary, #ffffff);
220
+ }
221
+
222
+ .tab.active.button .tab-icon {
223
+ color: var(--aithe-color-text-on-primary, #ffffff);
224
+ }
225
+
226
+ .tab.disabled {
227
+ opacity: 0.48;
228
+ cursor: not-allowed;
229
+ }
230
+
231
+ .remove,
232
+ .add {
233
+ display: inline-flex;
234
+ align-items: center;
235
+ justify-content: center;
236
+ width: 28px;
237
+ height: 28px;
238
+ border: none;
239
+ border-radius: 50%;
240
+ background: transparent;
241
+ color: inherit;
242
+ cursor: pointer;
243
+ }
244
+
245
+ .panel {
246
+ min-width: 0;
247
+ }
248
+
249
+ .overflow-select {
250
+ width: auto;
251
+ min-width: 80px;
252
+ }
253
+
254
+ .nav-extra {
255
+ display: inline-flex;
256
+ align-items: center;
257
+ gap: var(--aithe-space-2);
258
+ margin-left: auto;
259
+ }
260
+ `,
261
+ ]; }
262
+ renderTab(pane) {
263
+ return html `
264
+ <span class="nav-item">
265
+ <button
266
+ class=${classMap({
267
+ tab: true,
268
+ [this.type]: true,
269
+ active: pane.tabId === this.activeKey,
270
+ disabled: pane.disabled,
271
+ })}
272
+ aria-selected=${String(pane.tabId === this.activeKey)}
273
+ role="tab"
274
+ type="button"
275
+ @click=${() => this.activate(pane.tabId)}
276
+ >
277
+ <span style="display:inline-flex;align-items:center;gap:var(--aithe-space-2);">
278
+ ${pane.icon
279
+ ? html `
280
+ <aithe-icon class="tab-icon" name=${pane.icon} size="14"></aithe-icon>
281
+ `
282
+ : nothing}${pane.label}
283
+ </span>
284
+ </button>
285
+ ${pane.closable
286
+ ? html `
287
+ <button
288
+ class="remove"
289
+ type="button"
290
+ aria-label=${t('data.tabs.removeTabAriaLabel')}
291
+ @click=${(event) => this.removePane(event, pane)}
292
+ >
293
+ ×
294
+ </button>
295
+ `
296
+ : null}
297
+ </span>
298
+ `;
299
+ }
300
+ splitPanes() {
301
+ const max = this.maxVisibleTabs;
302
+ if (max <= 0 || max >= this.panes.length) {
303
+ this.visiblePanes = [...this.panes];
304
+ this.overflowPanes = [];
305
+ return;
306
+ }
307
+ const activeIndex = this.panes.findIndex((p) => p.tabId === this.activeKey);
308
+ if (activeIndex >= 0 && activeIndex < max - 1) {
309
+ this.visiblePanes = this.panes.slice(0, max - 1);
310
+ this.overflowPanes = this.panes.slice(max - 1);
311
+ }
312
+ else {
313
+ const before = max - 1;
314
+ this.visiblePanes = this.panes.slice(0, before);
315
+ this.overflowPanes = this.panes.slice(before);
316
+ }
317
+ }
318
+ activate(key) {
319
+ const pane = this.panes.find((item) => item.tabId === key);
320
+ if (!pane || pane.disabled) {
321
+ return;
322
+ }
323
+ this.activeKey = key;
324
+ this.syncPanes();
325
+ this.emit('aithe-change', { activeKey: key });
326
+ }
327
+ removePane(event, pane) {
328
+ event.stopPropagation();
329
+ const currentIndex = this.panes.indexOf(pane);
330
+ pane.remove();
331
+ this.syncPanes();
332
+ if (pane.tabId === this.activeKey) {
333
+ const fallback = this.panes[currentIndex] ?? this.panes[currentIndex - 1];
334
+ this.activeKey = fallback?.tabId ?? '';
335
+ this.syncPanes();
336
+ }
337
+ this.emit('aithe-tab-remove', { key: pane.tabId });
338
+ }
339
+ render() {
340
+ return html `
341
+ <div class="tabs">
342
+ <div
343
+ class=${classMap({ nav: true, [this.type]: true })}
344
+ role="tablist"
345
+ @keydown=${this.handleKeydown}
346
+ >
347
+ ${this.visiblePanes.map((pane) => this.renderTab(pane))}
348
+ ${this.overflowPanes.length > 0
349
+ ? html `
350
+ <aithe-select
351
+ class="overflow-select"
352
+ icon="more"
353
+ .options=${this.overflowOptions}
354
+ value=${this.overflowPanes.find((p) => p.tabId === this.activeKey)?.tabId ?? ''}
355
+ placement="bottom-start"
356
+ @aithe-change=${this.handleOverflowChange}
357
+ ></aithe-select>
358
+ `
359
+ : nothing}
360
+ ${this.addable
361
+ ? html `
362
+ <button
363
+ class="add"
364
+ type="button"
365
+ aria-label=${t('data.tabs.addTabAriaLabel')}
366
+ @click=${() => this.emit('aithe-tab-add')}
367
+ >
368
+ +
369
+ </button>
370
+ `
371
+ : null}
372
+ <span class="nav-extra">
373
+ <slot name="extra"></slot>
374
+ </span>
375
+ </div>
376
+ <div class="panel">
377
+ <slot @slotchange=${this.syncPanes}></slot>
378
+ </div>
379
+ </div>
380
+ `;
381
+ }
382
+ };
383
+ __decorate([
384
+ property({ type: String })
385
+ ], AitheTabs.prototype, "type", void 0);
386
+ __decorate([
387
+ property({ type: String, attribute: 'active-key' })
388
+ ], AitheTabs.prototype, "activeKey", void 0);
389
+ __decorate([
390
+ property({ type: Boolean })
391
+ ], AitheTabs.prototype, "addable", void 0);
392
+ __decorate([
393
+ property({ type: Number, attribute: 'max-visible-tabs' })
394
+ ], AitheTabs.prototype, "maxVisibleTabs", void 0);
395
+ __decorate([
396
+ queryAssignedElements()
397
+ ], AitheTabs.prototype, "slotNodes", void 0);
398
+ __decorate([
399
+ state()
400
+ ], AitheTabs.prototype, "panes", void 0);
401
+ __decorate([
402
+ state()
403
+ ], AitheTabs.prototype, "visiblePanes", void 0);
404
+ __decorate([
405
+ state()
406
+ ], AitheTabs.prototype, "overflowPanes", void 0);
407
+ AitheTabs = __decorate([
408
+ customElement('aithe-tabs')
409
+ ], AitheTabs);
410
+ export { AitheTabs };
411
+ let AitheTabGroup = class AitheTabGroup extends AitheTabs {
412
+ };
413
+ AitheTabGroup = __decorate([
414
+ customElement('aithe-tab-group')
415
+ ], AitheTabGroup);
416
+ export { AitheTabGroup };
@@ -0,0 +1,127 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { css, html } from 'lit';
8
+ import { customElement, property } from 'lit/decorators.js';
9
+ import { AitheElement } from '../../core/aithe-element';
10
+ import { aitheBaseStyles } from '../../core/styles';
11
+ /**
12
+ * Single node inside `aithe-timeline` with timestamp and color variant.
13
+ * 时间线节点,用于 aithe-timeline 内部,包含时间戳和颜色类型。
14
+ *
15
+ * @slot - Default slot for timeline item content. 时间线节点内容。
16
+ * @example
17
+ * ```html
18
+ * <aithe-timeline-item timestamp="2024-03-15" type="success" dot="✓">
19
+ * Task completed successfully
20
+ * </aithe-timeline-item>
21
+ * ```
22
+ */
23
+ let AitheTimelineItem = class AitheTimelineItem extends AitheElement {
24
+ constructor() {
25
+ super(...arguments);
26
+ /** Timestamp label text. 时间戳标签文本。 */
27
+ this.timestamp = '';
28
+ /** Color variant for the dot indicator. 圆点指示器的颜色类型。 */
29
+ this.type = 'default';
30
+ /** Custom dot content (overrides default circle). 自定义圆点内容(覆盖默认圆圈)。 */
31
+ this.dot = '';
32
+ }
33
+ static { this.styles = [
34
+ aitheBaseStyles,
35
+ css `
36
+ :host {
37
+ position: relative;
38
+ display: grid;
39
+ grid-template-columns: 20px minmax(0, 1fr);
40
+ gap: var(--aithe-space-4);
41
+ }
42
+
43
+ :host(:not(:last-child))::after {
44
+ content: '';
45
+ position: absolute;
46
+ top: 18px;
47
+ left: 9px;
48
+ bottom: -18px;
49
+ width: 2px;
50
+ background: var(--aithe-color-border);
51
+ }
52
+
53
+ .dot {
54
+ position: relative;
55
+ z-index: 1;
56
+ display: inline-flex;
57
+ align-items: center;
58
+ justify-content: center;
59
+ width: 20px;
60
+ height: 20px;
61
+ border-radius: 50%;
62
+ background: var(--aithe-color-surface-elevated);
63
+ border: 2px solid var(--aithe-color-border-strong);
64
+ color: var(--aithe-color-text-muted);
65
+ font-size: 10px;
66
+ box-shadow: 0 0 0 4px var(--aithe-color-bg);
67
+ }
68
+
69
+ .dot.primary {
70
+ border-color: var(--aithe-primary-6);
71
+ color: var(--aithe-primary-6);
72
+ }
73
+
74
+ .dot.success {
75
+ border-color: var(--aithe-success-6);
76
+ color: var(--aithe-success-6);
77
+ }
78
+
79
+ .dot.warning {
80
+ border-color: var(--aithe-warning-6);
81
+ color: var(--aithe-warning-6);
82
+ }
83
+
84
+ .dot.danger {
85
+ border-color: var(--aithe-danger-6);
86
+ color: var(--aithe-danger-6);
87
+ }
88
+
89
+ .content {
90
+ display: grid;
91
+ gap: var(--aithe-space-2);
92
+ padding-bottom: var(--aithe-space-6);
93
+ }
94
+
95
+ .timestamp {
96
+ color: var(--aithe-color-text-subtle);
97
+ font-size: var(--aithe-font-size-sm);
98
+ }
99
+ `,
100
+ ]; }
101
+ render() {
102
+ return html `
103
+ <span class="dot ${this.type}">${this.dot || ''}</span>
104
+ <div class="content">
105
+ <slot></slot>
106
+ ${this.timestamp
107
+ ? html `
108
+ <span class="timestamp">${this.timestamp}</span>
109
+ `
110
+ : null}
111
+ </div>
112
+ `;
113
+ }
114
+ };
115
+ __decorate([
116
+ property({ type: String })
117
+ ], AitheTimelineItem.prototype, "timestamp", void 0);
118
+ __decorate([
119
+ property({ type: String })
120
+ ], AitheTimelineItem.prototype, "type", void 0);
121
+ __decorate([
122
+ property({ type: String })
123
+ ], AitheTimelineItem.prototype, "dot", void 0);
124
+ AitheTimelineItem = __decorate([
125
+ customElement('aithe-timeline-item')
126
+ ], AitheTimelineItem);
127
+ export { AitheTimelineItem };