@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
@@ -16,6 +16,7 @@ import { type AitheLocale } from './i18n';
16
16
  * ```
17
17
  */
18
18
  export declare class AitheUI {
19
+ private readonly _ua;
19
20
  /**
20
21
  * Create an AitheUI instance and initialize all subsystems with optional defaults.
21
22
  * 创建 AitheUI 实例,并使用可选默认值初始化所有子系统。
@@ -84,6 +85,28 @@ export declare class AitheUI {
84
85
  registerLocale(locale: AitheLocale, translations: Record<string, string>): void;
85
86
  /** Translate a key using the current locale. 使用当前语言翻译指定键。 */
86
87
  t(key: string, dft?: string, params?: Record<string, string | number>): string;
88
+ /** Whether the UA indicates a mobile device (Android/iOS/WebOS/Blackberry). UA 是否指示移动设备。 */
89
+ get isMobile(): boolean;
90
+ /** Whether the UA indicates Android. UA 是否指示 Android。 */
91
+ get isAndroid(): boolean;
92
+ /** Whether the UA indicates iOS. UA 是否指示 iOS。 */
93
+ get isIOS(): boolean;
94
+ /** Whether the UA indicates Chrome (not Edge). UA 是否指示 Chrome(非 Edge)。 */
95
+ get isChrome(): boolean;
96
+ /** Whether the UA indicates Edge. UA 是否指示 Edge。 */
97
+ get isEdge(): boolean;
98
+ /** Whether the UA indicates WeChat built-in browser. UA 是否指示微信内置浏览器。 */
99
+ get isWechat(): boolean;
100
+ /** Whether the UA indicates Windows. UA 是否指示 Windows。 */
101
+ get isWindows(): boolean;
102
+ /** Whether the UA indicates macOS. UA 是否指示 macOS。 */
103
+ get isMacOS(): boolean;
104
+ /** Whether the device is truly mobile (UA + touch + small screen + not desktop OS). 是否为真实移动设备。 */
105
+ get isRealMobile(): boolean;
106
+ /** Whether Chrome DevTools device emulation is active. Chrome 开发者工具设备模拟是否激活。 */
107
+ get isChromeEmulator(): boolean;
108
+ /** Whether the device supports touch events. 设备是否支持触摸事件。 */
109
+ get supportsTouch(): boolean;
87
110
  }
88
111
  /** Default singleton instance of AitheUI. AitheUI 的默认单例实例。 */
89
112
  export declare const aitheUI: AitheUI;
@@ -1 +1 @@
1
- {"version":3,"file":"aithe-ui.d.ts","sourceRoot":"","sources":["../../src/styles/aithe-ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AA0CvB,OAAO,EAEL,KAAK,WAAW,EAQjB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAO;IAClB;;;;;OAKG;gBACS,OAAO,CAAC,EAAE;QACpB,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,aAAa,CAAC,EAAE,eAAe,CAAC;QAChC,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,aAAa,CAAC,EAAE,eAAe,CAAC;QAChC,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,aAAa,CAAC,EAAE,WAAW,CAAC;KAC7B;IASD,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAO,GAAG,IAAI;IAKrD,sDAAsD;IACtD,QAAQ,IAAI,cAAc;IAK1B,oFAAoF;IACpF,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIzC,0GAA0G;IAC1G,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,UAAO,GAAG,IAAI;IAIxD,yDAAyD;IACzD,SAAS,IAAI,eAAe;IAI5B,+FAA+F;IAC/F,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1C,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAO,GAAG,IAAI;IAIrD,sDAAsD;IACtD,QAAQ,IAAI,cAAc;IAI1B,sEAAsE;IACtE,SAAS;IAIT,yFAAyF;IACzF,cAAc,CAAC,KAAK,EAAE,cAAc;IAIpC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIzC,wGAAwG;IACxG,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,UAAO,GAAG,IAAI;IAIxD,uDAAuD;IACvD,SAAS,IAAI,eAAe;IAI5B,uEAAuE;IACvE,UAAU;IAIV,0FAA0F;IAC1F,eAAe,CAAC,MAAM,EAAE,eAAe;IAIvC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1C,sGAAsG;IACtG,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,UAAO,GAAG,IAAI;IAIlD,qDAAqD;IACrD,OAAO,IAAI,aAAa;IAIxB,qEAAqE;IACrE,QAAQ;IAIR,wFAAwF;IACxF,aAAa,CAAC,IAAI,EAAE,aAAa;IAIjC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIxC,gGAAgG;IAChG,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,UAAO,GAAG,IAAI;IAIpD,+CAA+C;IAC/C,SAAS,IAAI,WAAW;IAIxB,yEAAyE;IACzE,UAAU,IAAI,WAAW,EAAE;IAI3B,qFAAqF;IACrF,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1C,4EAA4E;IAC5E,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI/E,6DAA6D;IAC7D,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;CAG/E;AAED,8DAA8D;AAC9D,eAAO,MAAM,OAAO,SAAgB,CAAC"}
1
+ {"version":3,"file":"aithe-ui.d.ts","sourceRoot":"","sources":["../../src/styles/aithe-ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,eAAe,EACf,cAAc,EACd,cAAc,EACd,aAAa,EACd,MAAM,eAAe,CAAC;AA0CvB,OAAO,EAEL,KAAK,WAAW,EAQjB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;IAE7B;;;;;OAKG;gBACS,OAAO,CAAC,EAAE;QACpB,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,aAAa,CAAC,EAAE,eAAe,CAAC;QAChC,YAAY,CAAC,EAAE,cAAc,CAAC;QAC9B,aAAa,CAAC,EAAE,eAAe,CAAC;QAChC,WAAW,CAAC,EAAE,aAAa,CAAC;QAC5B,aAAa,CAAC,EAAE,WAAW,CAAC;KAC7B;IAUD,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAO,GAAG,IAAI;IAKrD,sDAAsD;IACtD,QAAQ,IAAI,cAAc;IAK1B,oFAAoF;IACpF,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIzC,0GAA0G;IAC1G,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,UAAO,GAAG,IAAI;IAIxD,yDAAyD;IACzD,SAAS,IAAI,eAAe;IAI5B,+FAA+F;IAC/F,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1C,uGAAuG;IACvG,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,UAAO,GAAG,IAAI;IAIrD,sDAAsD;IACtD,QAAQ,IAAI,cAAc;IAI1B,sEAAsE;IACtE,SAAS;IAIT,yFAAyF;IACzF,cAAc,CAAC,KAAK,EAAE,cAAc;IAIpC,4FAA4F;IAC5F,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIzC,wGAAwG;IACxG,SAAS,CAAC,MAAM,EAAE,eAAe,EAAE,OAAO,UAAO,GAAG,IAAI;IAIxD,uDAAuD;IACvD,SAAS,IAAI,eAAe;IAI5B,uEAAuE;IACvE,UAAU;IAIV,0FAA0F;IAC1F,eAAe,CAAC,MAAM,EAAE,eAAe;IAIvC,6FAA6F;IAC7F,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1C,sGAAsG;IACtG,OAAO,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,UAAO,GAAG,IAAI;IAIlD,qDAAqD;IACrD,OAAO,IAAI,aAAa;IAIxB,qEAAqE;IACrE,QAAQ;IAIR,wFAAwF;IACxF,aAAa,CAAC,IAAI,EAAE,aAAa;IAIjC,2FAA2F;IAC3F,YAAY,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAIxC,gGAAgG;IAChG,SAAS,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,UAAO,GAAG,IAAI;IAIpD,+CAA+C;IAC/C,SAAS,IAAI,WAAW;IAIxB,yEAAyE;IACzE,UAAU,IAAI,WAAW,EAAE;IAI3B,qFAAqF;IACrF,cAAc,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAI1C,4EAA4E;IAC5E,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAI/E,6DAA6D;IAC7D,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,GAAG,MAAM;IAI9E,4FAA4F;IAC5F,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,yDAAyD;IACzD,IAAI,SAAS,IAAI,OAAO,CAAsC;IAE9D,iDAAiD;IACjD,IAAI,KAAK,IAAI,OAAO,CAA+C;IAEnE,0EAA0E;IAC1E,IAAI,QAAQ,IAAI,OAAO,CAAqD;IAE5E,mDAAmD;IACnD,IAAI,MAAM,IAAI,OAAO,CAAuC;IAE5D,wEAAwE;IACxE,IAAI,QAAQ,IAAI,OAAO,CAA6C;IAEpE,yDAAyD;IACzD,IAAI,SAAS,IAAI,OAAO,CAAsC;IAE9D,qDAAqD;IACrD,IAAI,OAAO,IAAI,OAAO,CAAuC;IAE7D,kGAAkG;IAClG,IAAI,YAAY,IAAI,OAAO,CAM1B;IAED,gFAAgF;IAChF,IAAI,gBAAgB,IAAI,OAAO,CAK9B;IAED,4DAA4D;IAC5D,IAAI,aAAa,IAAI,OAAO,CAE3B;CACF;AAED,8DAA8D;AAC9D,eAAO,MAAM,OAAO,SAAgB,CAAC"}
@@ -0,0 +1,185 @@
1
+ import { AITHE_DEFAULT_THEME, initAitheTheme, onAitheThemeChange, registerAitheTheme, setGlobalTheme, } from './theme';
2
+ import { AITHE_DEFAULT_LAYOUT, initAitheLayout, setAitheLayout, getAitheLayout, onAitheLayoutChange, } from './layout';
3
+ import { AITHE_DEFAULT_SHAPE, initAitheShape, setAitheShape, getAitheShape, getAitheShapes, getShapeTokens, onAitheShapeChange, } from './shape';
4
+ import { AITHE_DEFAULT_SHADOW, initAitheShadow, setAitheShadow, getAitheShadow, getAitheShadows, getShadowTokens, onAitheShadowChange, } from './shadow';
5
+ import { AITHE_DEFAULT_TYPO, initAitheTypo, setAitheTypo, getAitheTypo, getAitheTypos, getTypoTokens, onAitheTypoChange, } from './typo';
6
+ import { AITHE_DEFAULT_LOCALE, initAitheLocale, setAitheLocale, getAitheLocale, getAitheLocales, onAitheLocaleChange, registerAitheTranslations, t as translate, } from './i18n';
7
+ /**
8
+ * Unified API class for managing Aithe UI global state: theme, shape, shadow, layout, and i18n.
9
+ * Aithe UI 全局状态统一管理类:主题、形状、阴影、布局和国际化。
10
+ *
11
+ * Provides a single entry point for all runtime configuration and persistence.
12
+ * 提供所有运行时配置和持久化的单一入口。
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * import { aitheUI } from '@aithe/aithe-ui';
17
+ * aitheUI.setTheme('dark');
18
+ * aitheUI.setShape('pill');
19
+ * aitheUI.setShadow('neumorphism');
20
+ * ```
21
+ */
22
+ export class AitheUI {
23
+ /**
24
+ * Create an AitheUI instance and initialize all subsystems with optional defaults.
25
+ * 创建 AitheUI 实例,并使用可选默认值初始化所有子系统。
26
+ *
27
+ * @param options - Default values for each subsystem. 各子系统的默认值。
28
+ */
29
+ constructor(options) {
30
+ initAitheTheme(options?.defaultTheme ?? AITHE_DEFAULT_THEME);
31
+ initAitheLayout(options?.defaultLayout ?? AITHE_DEFAULT_LAYOUT);
32
+ initAitheShape(options?.defaultShape ?? AITHE_DEFAULT_SHAPE);
33
+ initAitheShadow(options?.defaultShadow ?? AITHE_DEFAULT_SHADOW);
34
+ initAitheTypo(options?.defaultTypo ?? AITHE_DEFAULT_TYPO);
35
+ initAitheLocale(options?.defaultLocale ?? AITHE_DEFAULT_LOCALE);
36
+ this._ua = navigator.userAgent.toLowerCase();
37
+ }
38
+ /** Set the global color theme and optionally persist to localStorage. 设置全局颜色主题,可选持久化到 localStorage。 */
39
+ setTheme(theme, persist = true) {
40
+ registerAitheTheme();
41
+ setGlobalTheme(theme, persist);
42
+ }
43
+ /** Get the current global color theme. 获取当前全局颜色主题。 */
44
+ getTheme() {
45
+ registerAitheTheme();
46
+ return document.documentElement.dataset.aitheTheme || AITHE_DEFAULT_THEME;
47
+ }
48
+ /** Subscribe to theme changes. Returns an unsubscribe function. 订阅主题变更,返回取消订阅函数。 */
49
+ onThemeChange(fn) {
50
+ return onAitheThemeChange(fn);
51
+ }
52
+ /** Set the global layout density and optionally persist to localStorage. 设置全局布局密度,可选持久化到 localStorage。 */
53
+ setLayout(layout, persist = true) {
54
+ setAitheLayout(layout, persist);
55
+ }
56
+ /** Get the current global layout density. 获取当前全局布局密度。 */
57
+ getLayout() {
58
+ return getAitheLayout();
59
+ }
60
+ /** Subscribe to layout density changes. Returns an unsubscribe function. 订阅布局密度变更,返回取消订阅函数。 */
61
+ onLayoutChange(fn) {
62
+ return onAitheLayoutChange(fn);
63
+ }
64
+ /** Set the global shape style and optionally persist to localStorage. 设置全局形状风格,可选持久化到 localStorage。 */
65
+ setShape(shape, persist = true) {
66
+ setAitheShape(shape, persist);
67
+ }
68
+ /** Get the current global shape style. 获取当前全局形状风格。 */
69
+ getShape() {
70
+ return getAitheShape();
71
+ }
72
+ /** Get the list of all built-in shape style names. 获取所有内置形状风格名称列表。 */
73
+ getShapes() {
74
+ return getAitheShapes();
75
+ }
76
+ /** Get the CSS variable token map for a given shape style. 获取指定形状风格的 CSS 变量 token 映射。 */
77
+ getShapeTokens(shape) {
78
+ return getShapeTokens(shape);
79
+ }
80
+ /** Subscribe to shape style changes. Returns an unsubscribe function. 订阅形状风格变更,返回取消订阅函数。 */
81
+ onShapeChange(fn) {
82
+ return onAitheShapeChange(fn);
83
+ }
84
+ /** Set the global shadow style and optionally persist to localStorage. 设置全局阴影风格,可选持久化到 localStorage。 */
85
+ setShadow(shadow, persist = true) {
86
+ setAitheShadow(shadow, persist);
87
+ }
88
+ /** Get the current global shadow style. 获取当前全局阴影风格。 */
89
+ getShadow() {
90
+ return getAitheShadow();
91
+ }
92
+ /** Get the list of all built-in shadow style names. 获取所有内置阴影风格名称列表。 */
93
+ getShadows() {
94
+ return getAitheShadows();
95
+ }
96
+ /** Get the CSS variable token map for a given shadow style. 获取指定阴影风格的 CSS 变量 token 映射。 */
97
+ getShadowTokens(shadow) {
98
+ return getShadowTokens(shadow);
99
+ }
100
+ /** Subscribe to shadow style changes. Returns an unsubscribe function. 订阅阴影风格变更,返回取消订阅函数。 */
101
+ onShadowChange(fn) {
102
+ return onAitheShadowChange(fn);
103
+ }
104
+ /** Set the global typo style and optionally persist to localStorage. 设置全局排版风格,可选持久化到 localStorage。 */
105
+ setTypo(typo, persist = true) {
106
+ setAitheTypo(typo, persist);
107
+ }
108
+ /** Get the current global typo style. 获取当前全局排版风格。 */
109
+ getTypo() {
110
+ return getAitheTypo();
111
+ }
112
+ /** Get the list of all built-in typo style names. 获取所有内置排版风格名称列表。 */
113
+ getTypos() {
114
+ return getAitheTypos();
115
+ }
116
+ /** Get the CSS variable token map for a given typo style. 获取指定排版风格的 CSS 变量 token 映射。 */
117
+ getTypoTokens(typo) {
118
+ return getTypoTokens(typo);
119
+ }
120
+ /** Subscribe to typo style changes. Returns an unsubscribe function. 订阅排版风格变更,返回取消订阅函数。 */
121
+ onTypoChange(fn) {
122
+ return onAitheTypoChange(fn);
123
+ }
124
+ /** Set the global locale and optionally persist to localStorage. 设置全局语言,可选持久化到 localStorage。 */
125
+ setLocale(locale, persist = true) {
126
+ setAitheLocale(locale, persist);
127
+ }
128
+ /** Get the current global locale. 获取当前全局语言。 */
129
+ getLocale() {
130
+ return getAitheLocale();
131
+ }
132
+ /** Get the list of all registered locale identifiers. 获取所有已注册的语言标识列表。 */
133
+ getLocales() {
134
+ return getAitheLocales();
135
+ }
136
+ /** Subscribe to locale changes. Returns an unsubscribe function. 订阅语言变更,返回取消订阅函数。 */
137
+ onLocaleChange(fn) {
138
+ return onAitheLocaleChange(fn);
139
+ }
140
+ /** Merge additional translations into an existing locale. 合并追加翻译条目到已有语言。 */
141
+ registerLocale(locale, translations) {
142
+ registerAitheTranslations(locale, translations);
143
+ }
144
+ /** Translate a key using the current locale. 使用当前语言翻译指定键。 */
145
+ t(key, dft, params) {
146
+ return translate(key, dft, params);
147
+ }
148
+ /** Whether the UA indicates a mobile device (Android/iOS/WebOS/Blackberry). UA 是否指示移动设备。 */
149
+ get isMobile() {
150
+ return /android|iphone|ipod|ipad|webos|blackberry/i.test(this._ua);
151
+ }
152
+ /** Whether the UA indicates Android. UA 是否指示 Android。 */
153
+ get isAndroid() { return /android/i.test(this._ua); }
154
+ /** Whether the UA indicates iOS. UA 是否指示 iOS。 */
155
+ get isIOS() { return /iphone|ipad|ipod/i.test(this._ua); }
156
+ /** Whether the UA indicates Chrome (not Edge). UA 是否指示 Chrome(非 Edge)。 */
157
+ get isChrome() { return /chrome/i.test(this._ua) && !this.isEdge; }
158
+ /** Whether the UA indicates Edge. UA 是否指示 Edge。 */
159
+ get isEdge() { return /edg|edge/i.test(this._ua); }
160
+ /** Whether the UA indicates WeChat built-in browser. UA 是否指示微信内置浏览器。 */
161
+ get isWechat() { return /micromessenger/i.test(this._ua); }
162
+ /** Whether the UA indicates Windows. UA 是否指示 Windows。 */
163
+ get isWindows() { return /windows/i.test(this._ua); }
164
+ /** Whether the UA indicates macOS. UA 是否指示 macOS。 */
165
+ get isMacOS() { return /mac os x/i.test(this._ua); }
166
+ /** Whether the device is truly mobile (UA + touch + small screen + not desktop OS). 是否为真实移动设备。 */
167
+ get isRealMobile() {
168
+ const isUAMobile = this.isMobile;
169
+ const hasTouch = 'ontouchstart' in globalThis.window || navigator.maxTouchPoints > 0;
170
+ const isSmallScreen = window.innerWidth < 768;
171
+ const isNotDesktop = !this.isWindows && !this.isMacOS;
172
+ return isUAMobile && hasTouch && isSmallScreen && isNotDesktop;
173
+ }
174
+ /** Whether Chrome DevTools device emulation is active. Chrome 开发者工具设备模拟是否激活。 */
175
+ get isChromeEmulator() {
176
+ return ((this.isChrome && this.isMobile && globalThis.window.__CHROME_DEVICE_EMULATION__) ||
177
+ (globalThis.navigator.maxTouchPoints === 1 && globalThis.window.innerWidth > 500));
178
+ }
179
+ /** Whether the device supports touch events. 设备是否支持触摸事件。 */
180
+ get supportsTouch() {
181
+ return 'ontouchstart' in globalThis.window || navigator.maxTouchPoints > 0;
182
+ }
183
+ }
184
+ /** Default singleton instance of AitheUI. AitheUI 的默认单例实例。 */
185
+ export const aitheUI = new AitheUI();
@@ -1,5 +1,5 @@
1
1
  /** Global CSS text for `:root` primitive tokens plus base html/body/selection resets. 用于 `:root` 基础令牌及 html/body/选区重置的全局 CSS 文本。 */
2
- export declare const aitheGlobalCssText = "\n:root {\n --aithe-space-0: 0;\n --aithe-space-1: 4px;\n --aithe-space-2: 8px;\n --aithe-space-3: 12px;\n --aithe-space-4: 16px;\n --aithe-space-5: 20px;\n --aithe-space-6: 24px;\n --aithe-space-7: 32px;\n --aithe-space-8: 40px;\n --aithe-space-9: 48px;\n --aithe-space-10: 64px;\n --aithe-space-xs: var(--aithe-space-2);\n --aithe-space-sm: var(--aithe-space-3);\n --aithe-space-md: var(--aithe-space-4);\n --aithe-space-lg: var(--aithe-space-6);\n --aithe-space-xl: var(--aithe-space-8);\n --aithe-radius-sm: 6px;\n --aithe-radius-md: 10px;\n --aithe-radius-lg: 14px;\n --aithe-radius-xl: 20px;\n --aithe-radius-full: 999px;\n --aithe-container-radius-sm: 6px;\n --aithe-container-radius-md: 10px;\n --aithe-container-radius-lg: 14px;\n --aithe-container-radius-xl: 20px;\n --aithe-container-radius-full: 999px;\n --aithe-shadow-1: 0 2px 4px rgba(18, 24, 38, 0.1), 0 4px 8px rgba(18, 24, 38, 0.06);\n --aithe-shadow-2: 0 4px 8px rgba(18, 24, 38, 0.12), 0 8px 16px rgba(18, 24, 38, 0.08);\n --aithe-shadow-3: 0 6px 12px rgba(18, 24, 38, 0.14), 0 12px 24px rgba(18, 24, 38, 0.1);\n --aithe-shadow-4: 0 8px 16px rgba(18, 24, 38, 0.16), 0 16px 32px rgba(18, 24, 38, 0.12);\n --aithe-shadow-5: 0 12px 20px rgba(18, 24, 38, 0.18), 0 20px 40px rgba(18, 24, 38, 0.14);\n --aithe-shadow-glow: none;\n --aithe-shadow-inner: inset 0 1px 0 rgba(255, 255, 255, 0.15);\n --aithe-shadow-blur: 0px;\n --aithe-shadow-opacity: 1;\n --aithe-shadow-border-glow: 0px;\n --aithe-font-family: 'Sora', 'IBM Plex Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif;\n --aithe-font-family-mono: 'JetBrains Mono', 'SFMono-Regular', 'Consolas', monospace;\n --aithe-font-size-xs: 12px;\n --aithe-font-size-sm: 13px;\n --aithe-font-size-md: 14px;\n --aithe-font-size-lg: 16px;\n --aithe-font-size-xl: 20px;\n --aithe-font-size-2xl: 28px;\n --aithe-font-weight-regular: 400;\n --aithe-font-weight-medium: 500;\n --aithe-font-weight-semibold: 600;\n --aithe-font-weight-bold: 700;\n --aithe-line-height-tight: 1.2;\n --aithe-line-height-base: 1.5;\n --aithe-line-height-loose: 1.7;\n --aithe-z-base: 1;\n --aithe-z-dropdown: 1000;\n --aithe-z-popover: 1010;\n --aithe-z-modal: 1080;\n --aithe-z-drawer: 1090;\n --aithe-z-tooltip: 1120;\n --aithe-duration-fast: 140ms;\n --aithe-duration-base: 220ms;\n --aithe-duration-slow: 320ms;\n --aithe-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);\n --aithe-control-height-sm: 32px;\n --aithe-control-height-md: 40px;\n --aithe-control-height-lg: 48px;\n}\n\nhtml,\nbody {\n margin: 0;\n width: 100%;\n min-height: 100%;\n background: var(--aithe-color-bg-subtle);\n color: var(--aithe-color-text);\n font-family: var(--aithe-font-family);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n::selection {\n background: var(--aithe-color-selection);\n}\n";
2
+ export declare const aitheGlobalCssText = "\n:root {\n --aithe-space-0: 0;\n --aithe-space-1: 4px;\n --aithe-space-2: 8px;\n --aithe-space-3: 12px;\n --aithe-space-4: 16px;\n --aithe-space-5: 20px;\n --aithe-space-6: 24px;\n --aithe-space-7: 32px;\n --aithe-space-8: 40px;\n --aithe-space-9: 48px;\n --aithe-space-10: 64px;\n --aithe-space-xs: var(--aithe-space-2);\n --aithe-space-sm: var(--aithe-space-3);\n --aithe-space-md: var(--aithe-space-4);\n --aithe-space-lg: var(--aithe-space-6);\n --aithe-space-xl: var(--aithe-space-8);\n --aithe-radius-sm: 6px;\n --aithe-radius-md: 10px;\n --aithe-radius-lg: 14px;\n --aithe-radius-xl: 20px;\n --aithe-radius-full: 999px;\n --aithe-container-radius-sm: 6px;\n --aithe-container-radius-md: 10px;\n --aithe-container-radius-lg: 14px;\n --aithe-container-radius-xl: 20px;\n --aithe-container-radius-full: 999px;\n --aithe-shadow-1: 0 2px 4px rgba(18, 24, 38, 0.1), 0 4px 8px rgba(18, 24, 38, 0.06);\n --aithe-shadow-2: 0 4px 8px rgba(18, 24, 38, 0.12), 0 8px 16px rgba(18, 24, 38, 0.08);\n --aithe-shadow-3: 0 6px 12px rgba(18, 24, 38, 0.14), 0 12px 24px rgba(18, 24, 38, 0.1);\n --aithe-shadow-4: 0 8px 16px rgba(18, 24, 38, 0.16), 0 16px 32px rgba(18, 24, 38, 0.12);\n --aithe-shadow-5: 0 12px 20px rgba(18, 24, 38, 0.18), 0 20px 40px rgba(18, 24, 38, 0.14);\n --aithe-shadow-glow: none;\n --aithe-shadow-inner: inset 0 1px 0 rgba(255, 255, 255, 0.15);\n --aithe-shadow-blur: 0px;\n --aithe-shadow-opacity: 1;\n --aithe-shadow-border-glow: 0px;\n --aithe-font-family: 'Sora', 'IBM Plex Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif;\n --aithe-font-family-mono: 'JetBrains Mono', 'SFMono-Regular', 'Consolas', monospace;\n --aithe-font-size-xs: 12px;\n --aithe-font-size-sm: 13px;\n --aithe-font-size-md: 14px;\n --aithe-font-size-lg: 16px;\n --aithe-font-size-xl: 20px;\n --aithe-font-size-2xl: 28px;\n --aithe-font-size-base: 14px;\n --aithe-font-size-3xl: 32px;\n --aithe-font-size-4xl: 48px;\n --aithe-font-size-5xl: 64px;\n --aithe-font-weight-regular: 400;\n --aithe-font-weight-medium: 500;\n --aithe-font-weight-semibold: 600;\n --aithe-font-weight-bold: 700;\n --aithe-line-height-tight: 1.2;\n --aithe-line-height-base: 1.5;\n --aithe-line-height-loose: 1.7;\n --aithe-z-base: 1;\n --aithe-z-dropdown: 1000;\n --aithe-z-popover: 1010;\n --aithe-z-modal: 1080;\n --aithe-z-drawer: 1090;\n --aithe-z-tooltip: 1120;\n --aithe-duration-fast: 140ms;\n --aithe-duration-base: 220ms;\n --aithe-duration-slow: 320ms;\n --aithe-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);\n --aithe-control-height-sm: 32px;\n --aithe-control-height-md: 40px;\n --aithe-control-height-lg: 48px;\n}\n\nhtml,\nbody {\n margin: 0;\n width: 100%;\n min-height: 100%;\n background: var(--aithe-color-bg-subtle);\n color: var(--aithe-color-text);\n font-family: var(--aithe-font-family);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n::selection {\n background: var(--aithe-color-selection);\n}\n";
3
3
  /** Shadow-DOM reset styles applied to every Aithe component host. 应用到每个 Aithe 组件宿主的 Shadow-DOM 重置样式。 */
4
4
  export declare const aitheGlobalResetStyles: import("lit").CSSResult;
5
5
  //# sourceMappingURL=global.css.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"global.css.d.ts","sourceRoot":"","sources":["../../src/styles/global.css.ts"],"names":[],"mappings":"AAEA,oIAAoI;AACpI,eAAO,MAAM,kBAAkB,yyFAuF9B,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,yBAuBlC,CAAC"}
1
+ {"version":3,"file":"global.css.d.ts","sourceRoot":"","sources":["../../src/styles/global.css.ts"],"names":[],"mappings":"AAEA,oIAAoI;AACpI,eAAO,MAAM,kBAAkB,06FA2F9B,CAAC;AAEF,wGAAwG;AACxG,eAAO,MAAM,sBAAsB,yBAuBlC,CAAC"}
@@ -0,0 +1,119 @@
1
+ import { css } from 'lit';
2
+ /** Global CSS text for `:root` primitive tokens plus base html/body/selection resets. 用于 `:root` 基础令牌及 html/body/选区重置的全局 CSS 文本。 */
3
+ export const aitheGlobalCssText = `
4
+ :root {
5
+ --aithe-space-0: 0;
6
+ --aithe-space-1: 4px;
7
+ --aithe-space-2: 8px;
8
+ --aithe-space-3: 12px;
9
+ --aithe-space-4: 16px;
10
+ --aithe-space-5: 20px;
11
+ --aithe-space-6: 24px;
12
+ --aithe-space-7: 32px;
13
+ --aithe-space-8: 40px;
14
+ --aithe-space-9: 48px;
15
+ --aithe-space-10: 64px;
16
+ --aithe-space-xs: var(--aithe-space-2);
17
+ --aithe-space-sm: var(--aithe-space-3);
18
+ --aithe-space-md: var(--aithe-space-4);
19
+ --aithe-space-lg: var(--aithe-space-6);
20
+ --aithe-space-xl: var(--aithe-space-8);
21
+ --aithe-radius-sm: 6px;
22
+ --aithe-radius-md: 10px;
23
+ --aithe-radius-lg: 14px;
24
+ --aithe-radius-xl: 20px;
25
+ --aithe-radius-full: 999px;
26
+ --aithe-container-radius-sm: 6px;
27
+ --aithe-container-radius-md: 10px;
28
+ --aithe-container-radius-lg: 14px;
29
+ --aithe-container-radius-xl: 20px;
30
+ --aithe-container-radius-full: 999px;
31
+ --aithe-shadow-1: 0 2px 4px rgba(18, 24, 38, 0.1), 0 4px 8px rgba(18, 24, 38, 0.06);
32
+ --aithe-shadow-2: 0 4px 8px rgba(18, 24, 38, 0.12), 0 8px 16px rgba(18, 24, 38, 0.08);
33
+ --aithe-shadow-3: 0 6px 12px rgba(18, 24, 38, 0.14), 0 12px 24px rgba(18, 24, 38, 0.1);
34
+ --aithe-shadow-4: 0 8px 16px rgba(18, 24, 38, 0.16), 0 16px 32px rgba(18, 24, 38, 0.12);
35
+ --aithe-shadow-5: 0 12px 20px rgba(18, 24, 38, 0.18), 0 20px 40px rgba(18, 24, 38, 0.14);
36
+ --aithe-shadow-glow: none;
37
+ --aithe-shadow-inner: inset 0 1px 0 rgba(255, 255, 255, 0.15);
38
+ --aithe-shadow-blur: 0px;
39
+ --aithe-shadow-opacity: 1;
40
+ --aithe-shadow-border-glow: 0px;
41
+ --aithe-font-family: 'Sora', 'IBM Plex Sans', 'PingFang SC', 'Microsoft YaHei', sans-serif;
42
+ --aithe-font-family-mono: 'JetBrains Mono', 'SFMono-Regular', 'Consolas', monospace;
43
+ --aithe-font-size-xs: 12px;
44
+ --aithe-font-size-sm: 13px;
45
+ --aithe-font-size-md: 14px;
46
+ --aithe-font-size-lg: 16px;
47
+ --aithe-font-size-xl: 20px;
48
+ --aithe-font-size-2xl: 28px;
49
+ --aithe-font-size-base: 14px;
50
+ --aithe-font-size-3xl: 32px;
51
+ --aithe-font-size-4xl: 48px;
52
+ --aithe-font-size-5xl: 64px;
53
+ --aithe-font-weight-regular: 400;
54
+ --aithe-font-weight-medium: 500;
55
+ --aithe-font-weight-semibold: 600;
56
+ --aithe-font-weight-bold: 700;
57
+ --aithe-line-height-tight: 1.2;
58
+ --aithe-line-height-base: 1.5;
59
+ --aithe-line-height-loose: 1.7;
60
+ --aithe-z-base: 1;
61
+ --aithe-z-dropdown: 1000;
62
+ --aithe-z-popover: 1010;
63
+ --aithe-z-modal: 1080;
64
+ --aithe-z-drawer: 1090;
65
+ --aithe-z-tooltip: 1120;
66
+ --aithe-duration-fast: 140ms;
67
+ --aithe-duration-base: 220ms;
68
+ --aithe-duration-slow: 320ms;
69
+ --aithe-ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
70
+ --aithe-control-height-sm: 32px;
71
+ --aithe-control-height-md: 40px;
72
+ --aithe-control-height-lg: 48px;
73
+ }
74
+
75
+ html,
76
+ body {
77
+ margin: 0;
78
+ width: 100%;
79
+ min-height: 100%;
80
+ background: var(--aithe-color-bg-subtle);
81
+ color: var(--aithe-color-text);
82
+ font-family: var(--aithe-font-family);
83
+ }
84
+
85
+ *,
86
+ *::before,
87
+ *::after {
88
+ box-sizing: border-box;
89
+ }
90
+
91
+ ::selection {
92
+ background: var(--aithe-color-selection);
93
+ }
94
+ `;
95
+ /** Shadow-DOM reset styles applied to every Aithe component host. 应用到每个 Aithe 组件宿主的 Shadow-DOM 重置样式。 */
96
+ export const aitheGlobalResetStyles = css `
97
+ :host {
98
+ box-sizing: border-box;
99
+ color: var(--aithe-color-text);
100
+ font-family: var(--aithe-font-family);
101
+ font-size: var(--aithe-font-size-md);
102
+ line-height: var(--aithe-line-height-base);
103
+ }
104
+
105
+ *,
106
+ *::before,
107
+ *::after {
108
+ box-sizing: border-box;
109
+ }
110
+
111
+ [hidden] {
112
+ display: none !important;
113
+ }
114
+
115
+ :focus-visible {
116
+ outline: 2px solid var(--aithe-color-focus-ring);
117
+ outline-offset: 2px;
118
+ }
119
+ `;
@@ -0,0 +1,206 @@
1
+ /**
2
+ * Aithe UI 国际化(i18n)核心模块
3
+ * Core internationalization module for the Aithe UI component library.
4
+ *
5
+ * 提供 locale 管理、翻译注册、翻译函数和 locale 变更订阅。
6
+ * Provides locale management, translation registration, translate function,
7
+ * and locale change subscription.
8
+ *
9
+ * 支持的 locale / Supported locales: en-US, zh-CN, zh-TW, zh-HK, ja-JP, ko-KR, es-ES, pt-BR, fr-FR, de-DE (BCP 47),可通过 registerAitheLocale 扩展
10
+ * Supported locales: en-US, zh-CN, zh-TW, zh-HK, ja-JP, ko-KR, es-ES, pt-BR, fr-FR, de-DE (BCP 47), extensible via registerAitheLocale.
11
+ *
12
+ * 用法 / Usage:
13
+ * - registerAitheLocale() — 注册完整 locale 翻译映射(替换)/ Register full locale map (replace)
14
+ * - registerAitheTranslations() — 合并追加翻译条目(用于应用层)/ Merge additional entries (for app-level)
15
+ * - setAitheLocale() — 切换当前 locale / Switch current locale
16
+ * - t() — 翻译键值 / Translate key
17
+ * - onAitheLocaleChange() — 订阅 locale 变更 / Subscribe to locale changes
18
+ */
19
+ import { en } from '../i18n/locales/en-US';
20
+ import { zh } from '../i18n/locales/zh-CN';
21
+ import { zhTw } from '../i18n/locales/zh-TW';
22
+ import { zhHk } from '../i18n/locales/zh-HK';
23
+ import { ja } from '../i18n/locales/ja-JP';
24
+ import { ko } from '../i18n/locales/ko-KR';
25
+ import { es } from '../i18n/locales/es-ES';
26
+ import { ptBr } from '../i18n/locales/pt-BR';
27
+ import { fr } from '../i18n/locales/fr-FR';
28
+ import { de } from '../i18n/locales/de-DE';
29
+ export { en } from './locales/en-US';
30
+ export { zh } from './locales/zh-CN';
31
+ export { zhTw } from './locales/zh-TW';
32
+ export { zhHk } from './locales/zh-HK';
33
+ export { ja } from './locales/ja-JP';
34
+ export { ko } from './locales/ko-KR';
35
+ export { es } from './locales/es-ES';
36
+ export { ptBr } from './locales/pt-BR';
37
+ export { fr } from './locales/fr-FR';
38
+ export { de } from './locales/de-DE';
39
+ export const AITHE_DEFAULT_LOCALE = 'en-US';
40
+ /** Built-in locale display name i18n key mapping. 内置 locale 显示名称 i18n 键映射。 */
41
+ const BUILTIN_LOCALE_LABELS = {
42
+ 'en-US': 'localeSwitch.english',
43
+ 'zh-CN': 'localeSwitch.chinese',
44
+ 'zh-TW': 'localeSwitch.traditionalChinese',
45
+ 'zh-HK': 'localeSwitch.traditionalChinese',
46
+ 'ja-JP': 'localeSwitch.japanese',
47
+ 'ko-KR': 'localeSwitch.korean',
48
+ 'es-ES': 'localeSwitch.spanish',
49
+ 'pt-BR': 'localeSwitch.portuguese',
50
+ 'fr-FR': 'localeSwitch.french',
51
+ 'de-DE': 'localeSwitch.german',
52
+ };
53
+ /**
54
+ * Static tree menu data for locale selection, compatible with `<aithe-tree-menu>`.
55
+ * 用于语言选择的静态树形菜单数据,兼容 `<aithe-tree-menu>`。
56
+ * Each item carries a `label` extension field with the i18n key for display name.
57
+ * 每个项携带 `label` 扩展字段,包含显示名称的 i18n 键。
58
+ */
59
+ export const localeMenu = Object.keys(BUILTIN_LOCALE_LABELS).map((locale) => ({
60
+ id: locale,
61
+ label: locale,
62
+ i18n: BUILTIN_LOCALE_LABELS[locale],
63
+ }));
64
+ /** localStorage 存储键 / localStorage key for persisting locale preference */
65
+ const STORAGE_KEY = 'aithe-locale';
66
+ /** 当前 locale / Current active locale */
67
+ let currentLocale = 'en-US';
68
+ /** locale → 翻译映射注册表 / locale → translations registry */
69
+ const localeRegistry = new Map();
70
+ /** locale 变更监听器集合 / Set of locale change listeners */
71
+ const listeners = new Set();
72
+ /**
73
+ * 从 localStorage 读取已存储的 locale
74
+ * Load stored locale from localStorage
75
+ */
76
+ function loadStoredLocale() {
77
+ try {
78
+ const raw = localStorage.getItem(STORAGE_KEY);
79
+ if (!raw)
80
+ return undefined;
81
+ return raw;
82
+ }
83
+ catch {
84
+ return undefined;
85
+ }
86
+ }
87
+ /** 将 locale 持久化到 localStorage / Persist locale to localStorage */
88
+ function storeLocale(locale) {
89
+ try {
90
+ localStorage.setItem(STORAGE_KEY, locale);
91
+ }
92
+ catch {
93
+ // ignore
94
+ }
95
+ }
96
+ /**
97
+ * 注册完整 locale 翻译映射(替换已有)/ Register full locale translations (replaces existing).
98
+ * 适用于核心库初始化 / Used for core library initialization.
99
+ */
100
+ export function registerAitheLocale(locale, translations) {
101
+ localeRegistry.set(locale, translations);
102
+ }
103
+ /**
104
+ * 合并追加翻译条目到已有 locale / Merge additional translations into existing locale.
105
+ * 适用于应用层注册自定义翻译 / Used by apps to register custom translations.
106
+ */
107
+ export function registerAitheTranslations(locale, translations) {
108
+ const existing = localeRegistry.get(locale) ?? {};
109
+ localeRegistry.set(locale, { ...existing, ...translations });
110
+ }
111
+ /** 设置当前 locale 并通知监听器 / Set current locale and notify listeners */
112
+ export function setAitheLocale(locale, persist = true) {
113
+ if (locale === currentLocale)
114
+ return;
115
+ currentLocale = locale;
116
+ if (persist)
117
+ storeLocale(locale);
118
+ document.documentElement.setAttribute('lang', locale);
119
+ for (const fn of listeners) {
120
+ fn();
121
+ }
122
+ }
123
+ /** 获取当前 locale / Get current locale */
124
+ export function getAitheLocale() {
125
+ return currentLocale;
126
+ }
127
+ /** 获取所有已注册的 locale 列表 / Get all registered locale identifiers */
128
+ export function getAitheLocales() {
129
+ return [...localeRegistry.keys()];
130
+ }
131
+ /**
132
+ * 初始化 locale(从 localStorage 恢复或使用默认值)
133
+ * Initialize locale from localStorage or fall back to defaultLocale.
134
+ */
135
+ export function initAitheLocale(defaultLocale = AITHE_DEFAULT_LOCALE) {
136
+ registerAitheLocale('en-US', en);
137
+ registerAitheLocale('zh-CN', zh);
138
+ registerAitheLocale('zh-TW', zhTw);
139
+ registerAitheLocale('zh-HK', zhHk);
140
+ registerAitheLocale('ja-JP', ja);
141
+ registerAitheLocale('ko-KR', ko);
142
+ registerAitheLocale('es-ES', es);
143
+ registerAitheLocale('pt-BR', ptBr);
144
+ registerAitheLocale('fr-FR', fr);
145
+ registerAitheLocale('de-DE', de);
146
+ const stored = loadStoredLocale();
147
+ currentLocale = stored || defaultLocale;
148
+ document.documentElement.setAttribute('lang', currentLocale);
149
+ }
150
+ /**
151
+ * 翻译函数:根据 key 获取当前 locale 的翻译文本
152
+ * Translate function: resolve key to translated text in current locale.
153
+ * 若当前 locale 未注册资源包,则回退到 en-US / Falls back to en-US if current locale has no registered resource pack.
154
+ * 支持 {key} 占位符插值 / Supports {key} placeholder interpolation.
155
+ * 当 key 为空时,直接返回缺省值(如有)或空字符串 / When key is empty, returns defaultValue (if provided) or empty string.
156
+ * 当无法找到翻译值时,如果缺省值有效,则返回缺省值;否则返回 key / Returns defaultValue if provided and no translation found; otherwise returns key.
157
+ */
158
+ function resolveTranslation(dict, key, params) {
159
+ if (!dict)
160
+ return undefined;
161
+ const value = dict[key];
162
+ if (value === undefined)
163
+ return undefined;
164
+ if (params) {
165
+ // eslint-disable-next-line prefer-replace-all
166
+ return value.replace(/\{(\w+)\}/g, (_, name) => {
167
+ const v = params[name];
168
+ return v === undefined ? `{${name}}` : String(v);
169
+ });
170
+ }
171
+ return value;
172
+ }
173
+ function isValidDefault(v) {
174
+ return v !== undefined && v !== '';
175
+ }
176
+ export function t(key, dft, params) {
177
+ if (!key)
178
+ return isValidDefault(dft) ? dft : '';
179
+ const result = resolveTranslation(localeRegistry.get(currentLocale), key, params);
180
+ if (result !== undefined)
181
+ return result;
182
+ const enResult = resolveTranslation(localeRegistry.get(AITHE_DEFAULT_LOCALE), key, params);
183
+ if (enResult !== undefined)
184
+ return enResult;
185
+ return isValidDefault(dft) ? dft : key;
186
+ }
187
+ /**
188
+ * 翻译 AitheTreeNodeMeta 的 label 字段。
189
+ * Translate the label of an AitheTreeNodeMeta node.
190
+ * 如果节点的 i18n 字段有效(非空字符串),则使用 t(i18n, label) 翻译,label 作为缺省值;
191
+ * 否则 t('', label) 直接返回 label。
192
+ * If the node's i18n field is valid (non-empty string), translates via t(i18n, label) with label as default;
193
+ * otherwise t('', label) returns label directly.
194
+ */
195
+ export function translateNodeLabel(node) {
196
+ const i18nKey = typeof node.i18n === 'string' ? node.i18n : '';
197
+ return t(i18nKey, node.label);
198
+ }
199
+ /**
200
+ * 订阅 locale 变更事件 / Subscribe to locale changes.
201
+ * 返回取消订阅函数 / Returns unsubscribe function.
202
+ */
203
+ export function onAitheLocaleChange(fn) {
204
+ listeners.add(fn);
205
+ return () => listeners.delete(fn);
206
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"de-DE.d.ts","sourceRoot":"","sources":["../../../../src/styles/i18n/locales/de-DE.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA8IrC,CAAC"}
1
+ {"version":3,"file":"de-DE.d.ts","sourceRoot":"","sources":["../../../../src/styles/i18n/locales/de-DE.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAkJrC,CAAC"}