@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
@@ -0,0 +1,135 @@
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 { LitElement } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { registerAitheTheme, resolveComputedTheme } from '../styles/theme';
10
+ import { emitAitheEvent, findFirstFocusable, getFocusableElements } from '../utils';
11
+ /**
12
+ * Base class for all Aithe UI components. Extends LitElement with theme awareness,
13
+ * accessibility helpers, a unified event emission API, and browser environment detection.
14
+ * 所有 Aithe UI 组件的基类。继承 LitElement,提供主题感知、无障碍辅助、统一事件发射 API 和浏览器环境检测。
15
+ *
16
+ * @example
17
+ * ```ts
18
+ * @customElement('aithe-my-comp')
19
+ * export class AitheMyComp extends AitheElement {}
20
+ * ```
21
+ */
22
+ export class AitheElement extends LitElement {
23
+ constructor() {
24
+ super();
25
+ /** Visual variant of the component. 组件的视觉变体。 */
26
+ this.variant = 'default';
27
+ /** Size preset of the component. 组件的尺寸规格。 */
28
+ this.size = 'md';
29
+ /** Local theme override; falls back to the closest themed ancestor or global theme when empty. 本地主题覆盖;为空时继承最近带主题祖先或全局主题。 */
30
+ this.theme = '';
31
+ /** Whether the component is disabled. 组件是否禁用。 */
32
+ this.disabled = false;
33
+ /** When true, all events emitted by this component will be captured by the logger. 为 true 时,组件的所有事件将被日志器捕获。 */
34
+ this.log = false;
35
+ registerAitheTheme();
36
+ }
37
+ /**
38
+ * Emit a custom event with the `aithe-` prefix convention.
39
+ * 发射遵循 `aithe-` 前缀约定的自定义事件。
40
+ *
41
+ * @param type - Event type (without prefix). 事件类型(不含前缀)。
42
+ * @param detail - Event payload. 事件载荷。
43
+ * @returns Whether the event was not cancelled. 事件是否未被取消。
44
+ */
45
+ emit(type, detail) {
46
+ if (detail != null && typeof detail === 'object' && !Array.isArray(detail)) {
47
+ detail.log = this.log;
48
+ }
49
+ return emitAitheEvent(this, type, detail);
50
+ }
51
+ /**
52
+ * Resolved theme name: local override → closest themed ancestor → global theme.
53
+ * 计算后的主题名:本地覆盖 → 最近带主题祖先 → 全局主题。
54
+ */
55
+ get computedTheme() {
56
+ return resolveComputedTheme(this, this.theme || undefined);
57
+ }
58
+ connectedCallback() {
59
+ super.connectedCallback();
60
+ this.syncBaseA11yState();
61
+ }
62
+ /**
63
+ * Focus the first focusable element within the given root.
64
+ * 聚焦给定根节点内第一个可聚焦元素。
65
+ *
66
+ * @param root - Parent node to search within. 搜索的父节点。
67
+ */
68
+ focusFirst(root = this.renderRoot) {
69
+ findFirstFocusable(root)?.focus();
70
+ }
71
+ /**
72
+ * Trap keyboard focus within the given root (Tab / Shift+Tab cycle).
73
+ * 在给定根节点内捕获键盘焦点(Tab / Shift+Tab 循环)。
74
+ *
75
+ * @param event - Keyboard event to handle. 要处理的键盘事件。
76
+ * @param root - Parent node to trap focus within. 捕获焦点的父节点。
77
+ */
78
+ trapFocus(event, root = this.renderRoot) {
79
+ if (event.key !== 'Tab') {
80
+ return;
81
+ }
82
+ const items = getFocusableElements(root);
83
+ if (!items.length) {
84
+ return;
85
+ }
86
+ const first = items[0];
87
+ const last = items.at(-1);
88
+ const current = this.shadowRoot?.activeElement;
89
+ if (event.shiftKey && current === first) {
90
+ event.preventDefault();
91
+ last.focus();
92
+ return;
93
+ }
94
+ if (!event.shiftKey && current === last) {
95
+ event.preventDefault();
96
+ first.focus();
97
+ }
98
+ }
99
+ /**
100
+ * Synchronize base accessibility attributes (aria-disabled, data-aithe-theme).
101
+ * 同步基础无障碍属性(aria-disabled、data-aithe-theme)。
102
+ */
103
+ syncBaseA11yState() {
104
+ if (this.disabled) {
105
+ this.setAttribute('aria-disabled', 'true');
106
+ }
107
+ else {
108
+ this.removeAttribute('aria-disabled');
109
+ }
110
+ /**
111
+ if (!Object.hasOwn(this.dataset, 'aitheTheme')) {
112
+ this.dataset.aitheTheme = this.computedTheme;
113
+ }
114
+ **/
115
+ }
116
+ attributeChangedCallback(name, oldValue, newValue) {
117
+ super.attributeChangedCallback(name, oldValue, newValue);
118
+ queueMicrotask(() => this.syncBaseA11yState());
119
+ }
120
+ }
121
+ __decorate([
122
+ property({ type: String })
123
+ ], AitheElement.prototype, "variant", void 0);
124
+ __decorate([
125
+ property({ type: String })
126
+ ], AitheElement.prototype, "size", void 0);
127
+ __decorate([
128
+ property({ type: String })
129
+ ], AitheElement.prototype, "theme", void 0);
130
+ __decorate([
131
+ property({ type: Boolean, reflect: true })
132
+ ], AitheElement.prototype, "disabled", void 0);
133
+ __decorate([
134
+ property({ type: Boolean })
135
+ ], AitheElement.prototype, "log", void 0);
@@ -0,0 +1,30 @@
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
+ /**
8
+ * @file Abstract widget base class for dashboard panel business components / 仪表盘面板业务组件抽象基类
9
+ * @description AitheWidget extends AitheElement and serves as the base class for all business
10
+ * components used within dashboard panels. It defines two abstract properties —
11
+ * `params` and `data` — that subclasses must implement.
12
+ * AitheWidget 继承 AitheElement,作为所有仪表盘面板中业务组件的基类。
13
+ * 定义了两个子类必须实现的抽象属性:`params` 和 `data`。
14
+ */
15
+ import { property } from 'lit/decorators.js';
16
+ import { AitheElement } from './aithe-element';
17
+ /**
18
+ * Abstract base class for dashboard panel widget components.
19
+ * Subclasses must implement the `params` and `data` properties.
20
+ *
21
+ * 仪表盘面板业务组件的抽象基类。子类必须实现 `params` 和 `data` 属性。
22
+ */
23
+ export class AitheWidget extends AitheElement {
24
+ }
25
+ __decorate([
26
+ property({ type: Object })
27
+ ], AitheWidget.prototype, "params", void 0);
28
+ __decorate([
29
+ property({ type: Object })
30
+ ], AitheWidget.prototype, "data", void 0);
@@ -4,7 +4,10 @@ import { type AithePlacement } from './floating';
4
4
  /**
5
5
  * Abstract base class for components that position a floating panel
6
6
  * relative to an anchor element (e.g. tooltips, dropdowns, popovers).
7
+ * Handles containing block offset correction for position:fixed panels
8
+ * inside transformed/filtered ancestors.
7
9
  * 抽象基类,用于相对于锚点元素定位浮动面板的组件(如工具提示、下拉菜单、弹出框)。
10
+ * 处理 position:fixed 面板在 transform/filter 祖先元素内的含入块偏移修正。
8
11
  */
9
12
  export declare abstract class AitheAnchoredOverlayElement extends AitheElement {
10
13
  /** Whether the overlay panel is visible. 叠加面板是否可见。 */
@@ -1 +1 @@
1
- {"version":3,"file":"anchored-overlay.d.ts","sourceRoot":"","sources":["../../src/core/anchored-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,cAAc,EAA2B,MAAM,YAAY,CAAC;AAE1E;;;;GAIG;AACH,8BAAsB,2BAA4B,SAAQ,YAAY;IACpE,sDAAsD;IACV,IAAI,UAAS;IACzD,kFAAkF;IACtD,SAAS,EAAE,cAAc,CAAkB;IACvE,2DAA2D;IAC/B,MAAM,SAAK;IAEvC,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuC;IAE5E,oEAAoE;IACpE,SAAS,CAAC,QAAQ,KAAK,YAAY,IAAI,WAAW,GAAG,IAAI,CAAC;IAE1D;;;OAGG;IACH,SAAS,KAAK,aAAa,IAAI,WAAW,CAOzC;IAED,6DAA6D;IAC7D,oBAAoB,IAAI,IAAI;IAK5B;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgBtD;;;OAGG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAiBxC,2DAA2D;IAC3D,OAAO,CAAC,YAAY;IAKpB,6DAA6D;IAC7D,OAAO,CAAC,cAAc;CAIvB"}
1
+ {"version":3,"file":"anchored-overlay.d.ts","sourceRoot":"","sources":["../../src/core/anchored-overlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,KAAK,cAAc,EAA2B,MAAM,YAAY,CAAC;AAE1E;;;;;;;GAOG;AACH,8BAAsB,2BAA4B,SAAQ,YAAY;IACpE,sDAAsD;IACV,IAAI,UAAS;IACzD,kFAAkF;IACtD,SAAS,EAAE,cAAc,CAAkB;IACvE,2DAA2D;IAC/B,MAAM,SAAK;IAEvC,uEAAuE;IACvE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAuC;IAE5E,oEAAoE;IACpE,SAAS,CAAC,QAAQ,KAAK,YAAY,IAAI,WAAW,GAAG,IAAI,CAAC;IAE1D;;;OAGG;IACH,SAAS,KAAK,aAAa,IAAI,WAAW,CAOzC;IAED,6DAA6D;IAC7D,oBAAoB,IAAI,IAAI;IAK5B;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAgBtD;;;OAGG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IA8BxC,2DAA2D;IAC3D,OAAO,CAAC,YAAY;IAKpB,6DAA6D;IAC7D,OAAO,CAAC,cAAc;CAIvB"}
@@ -0,0 +1,111 @@
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 { property } from 'lit/decorators.js';
8
+ import { AitheElement } from './aithe-element';
9
+ import { computeFloatingPosition } from './floating';
10
+ /**
11
+ * Abstract base class for components that position a floating panel
12
+ * relative to an anchor element (e.g. tooltips, dropdowns, popovers).
13
+ * Handles containing block offset correction for position:fixed panels
14
+ * inside transformed/filtered ancestors.
15
+ * 抽象基类,用于相对于锚点元素定位浮动面板的组件(如工具提示、下拉菜单、弹出框)。
16
+ * 处理 position:fixed 面板在 transform/filter 祖先元素内的含入块偏移修正。
17
+ */
18
+ export class AitheAnchoredOverlayElement extends AitheElement {
19
+ constructor() {
20
+ super(...arguments);
21
+ /** Whether the overlay panel is visible. 叠加面板是否可见。 */
22
+ this.open = false;
23
+ /** Preferred placement of the overlay relative to the anchor. 叠加层相对于锚点的首选放置位置。 */
24
+ this.placement = 'bottom-start';
25
+ /** Pixel gap between anchor and overlay. 锚点与叠加层之间的像素间距。 */
26
+ this.offset = 8;
27
+ /** Recompute position on viewport resize / scroll. 在视口调整/滚动时重新计算位置。 */
28
+ this.handleViewportChange = () => this.updateFloatingPosition();
29
+ }
30
+ /**
31
+ * Resolve the anchor element from the default slot.
32
+ * 从默认插槽解析锚点元素。
33
+ */
34
+ get anchorElement() {
35
+ const defaultSlot = this.shadowRoot?.querySelector('slot:not([name])');
36
+ const assigned = defaultSlot?.assignedElements({ flatten: true }) ?? [];
37
+ return assigned[0] ?? this;
38
+ }
39
+ /** Unbind viewport listeners on disconnect. 断开连接时解绑视口监听器。 */
40
+ disconnectedCallback() {
41
+ super.disconnectedCallback();
42
+ this.unbindFloating();
43
+ }
44
+ /**
45
+ * Bind/unbind floating listeners when `open` changes, and recompute
46
+ * position when placement or offset changes while open.
47
+ * 当 `open` 变化时绑定/解绑浮动监听器,并在打开状态下放置或偏移变化时重新计算位置。
48
+ */
49
+ updated(changed) {
50
+ super.updated(changed);
51
+ if (changed.has('open')) {
52
+ if (this.open) {
53
+ this.bindFloating();
54
+ }
55
+ else {
56
+ this.unbindFloating();
57
+ }
58
+ }
59
+ if (this.open && (changed.has('open') || changed.has('placement') || changed.has('offset'))) {
60
+ queueMicrotask(() => this.updateFloatingPosition());
61
+ }
62
+ }
63
+ /**
64
+ * Recompute the floating panel position based on current anchor and overlay rects.
65
+ * 根据当前锚点和叠加层矩形重新计算浮动面板位置。
66
+ */
67
+ updateFloatingPosition() {
68
+ const panel = this.panelElement;
69
+ if (!panel || !this.open) {
70
+ return;
71
+ }
72
+ const anchor = this.anchorElement;
73
+ const anchorRect = anchor.getBoundingClientRect();
74
+ // Temporarily move panel to (0,0) to measure the containing block offset.
75
+ // When a position:fixed element has a containing block created by
76
+ // transform/backdrop-filter/filter/etc., left:0;top:0 positions it at
77
+ // the containing block's origin, not the viewport origin.
78
+ // getBoundingClientRect() always returns viewport-relative coordinates,
79
+ // so the difference reveals the containing block's offset.
80
+ panel.style.left = '0px';
81
+ panel.style.top = '0px';
82
+ const zeroRect = panel.getBoundingClientRect();
83
+ const cbOffsetX = zeroRect.left;
84
+ const cbOffsetY = zeroRect.top;
85
+ const overlayRect = panel.getBoundingClientRect();
86
+ const position = computeFloatingPosition(anchorRect, overlayRect, this.placement, {
87
+ offset: this.offset,
88
+ });
89
+ panel.style.left = `${position.left - cbOffsetX}px`;
90
+ panel.style.top = `${position.top - cbOffsetY}px`;
91
+ }
92
+ /** Bind viewport resize/scroll listeners. 绑定视口调整/滚动监听器。 */
93
+ bindFloating() {
94
+ window.addEventListener('resize', this.handleViewportChange);
95
+ window.addEventListener('scroll', this.handleViewportChange, true);
96
+ }
97
+ /** Unbind viewport resize/scroll listeners. 解绑视口调整/滚动监听器。 */
98
+ unbindFloating() {
99
+ window.removeEventListener('resize', this.handleViewportChange);
100
+ window.removeEventListener('scroll', this.handleViewportChange, true);
101
+ }
102
+ }
103
+ __decorate([
104
+ property({ type: Boolean, reflect: true })
105
+ ], AitheAnchoredOverlayElement.prototype, "open", void 0);
106
+ __decorate([
107
+ property({ type: String })
108
+ ], AitheAnchoredOverlayElement.prototype, "placement", void 0);
109
+ __decorate([
110
+ property({ type: Number })
111
+ ], AitheAnchoredOverlayElement.prototype, "offset", void 0);
@@ -0,0 +1,79 @@
1
+ import { FormCondition } from './condition';
2
+ const RULE_HANDLERS = {
3
+ show: (s, c) => { s.visible = c; },
4
+ hide: (s, c) => { s.visible = !c; },
5
+ disable: (s, c) => { if (c)
6
+ s.disabled = true; },
7
+ enable: (s, c) => { if (c)
8
+ s.disabled = false; },
9
+ clear: (s, c) => { if (c)
10
+ s.value = ''; },
11
+ update: (s, c, r) => { if (c && r.options)
12
+ s.options = Array.isArray(r.options) ? r.options : []; },
13
+ };
14
+ /**
15
+ * Form rule engine — evaluates dependency rules against current form values.
16
+ * 表单规则引擎 — 基于当前表单值对依赖联动规则进行求值。
17
+ */
18
+ export class FormRuleEngine {
19
+ /**
20
+ * Evaluate all rules and compute the resulting dependency state.
21
+ * 对所有规则求值,计算最终的依赖联动状态。
22
+ * @param rules - 规则列表 / Rule list
23
+ * @param values - 当前表单所有字段的值 / Current values of all form fields
24
+ * @param baseState - 初始状态(未应用规则前的默认值)/ Base state before applying rules
25
+ * @returns 计算后的最终状态 / Computed final state
26
+ */
27
+ static evaluate(rules, values, baseState) {
28
+ const state = {
29
+ visible: baseState.visible,
30
+ disabled: baseState.disabled,
31
+ options: baseState.options,
32
+ value: baseState.value,
33
+ };
34
+ for (const rule of rules) {
35
+ const conditionMet = rule.condition ? FormCondition.evaluate(rule.condition, values) : true;
36
+ const handler = RULE_HANDLERS[rule.type];
37
+ if (handler) {
38
+ handler(state, conditionMet, rule);
39
+ }
40
+ }
41
+ return state;
42
+ }
43
+ /**
44
+ * Parse a condition expression string into an AST node.
45
+ * 将条件表达式字符串解析为 AST 节点。
46
+ * @param condition - 条件表达式字符串,如 "field === 'value'" / Condition expression string
47
+ * @returns 解析后的 AST 节点,解析失败返回 null / Parsed AST node, or null on failure
48
+ */
49
+ static parseCondition(condition) {
50
+ return FormCondition.parse(condition);
51
+ }
52
+ }
53
+ /**
54
+ * Form control type registry. Allows registering custom control types
55
+ * to extend the autoform with arbitrary Web Components or rendering logic.
56
+ * 表单控件类型注册表。允许注册自定义控件类型,以任意 Web Component 或渲染逻辑扩展自动表单。
57
+ */
58
+ export class FormRegistry {
59
+ static { this._controls = new Map(); }
60
+ static register(definition) {
61
+ if (FormRegistry._controls.has(definition.type)) {
62
+ throw new Error(`[FormRegistry] Control type "${definition.type}" is already registered. ` +
63
+ `Call FormRegistry.unregister() first if you want to replace it.`);
64
+ }
65
+ FormRegistry._controls.set(definition.type, definition);
66
+ }
67
+ static unregister(type) {
68
+ return FormRegistry._controls.delete(type);
69
+ }
70
+ static get(type) {
71
+ return FormRegistry._controls.get(type);
72
+ }
73
+ static has(type) {
74
+ return FormRegistry._controls.has(type);
75
+ }
76
+ static types() {
77
+ return Array.from(FormRegistry._controls.keys());
78
+ }
79
+ }
@@ -0,0 +1,86 @@
1
+ /**
2
+ * @file Auto-view registry & renderer types / 只读视图注册表与渲染器类型
3
+ * @description Defines the extension point for custom read-only field renderers.
4
+ * Zero Lit dependency — pure types and a static registry, mirroring FormRegistry.
5
+ * 定义自定义只读字段渲染器的扩展点。
6
+ * 零 Lit 依赖 — 仅类型与静态注册表,与 FormRegistry 对称。
7
+ */
8
+ import type { TemplateResult } from 'lit';
9
+ import type { FormFieldConfig, FormItemOption } from './types';
10
+ /**
11
+ * Extended field configuration for read-only views.
12
+ * 只读视图的扩展字段配置。
13
+ * @description Extends FormFieldConfig with optional display-only properties.
14
+ * All extra fields are optional, so a plain FormFieldConfig can be used directly.
15
+ * 在 FormFieldConfig 基础上追加可选的展示属性,
16
+ * 全部可选,因此可直接传入纯 FormFieldConfig。
17
+ */
18
+ export interface ViewFieldConfig extends FormFieldConfig {
19
+ /** Filter expression for formatting the value, e.g. "amount" / "date yyyy-MM-dd" / "empty". 值过滤器表达式。 */
20
+ filter?: string;
21
+ /** Placeholder text for empty values; falls back to the component's empty-text. 空值占位文本,回退到组件的全局 empty-text。 */
22
+ emptyText?: string;
23
+ /** Column span in the grid layout. Default 1. 网格中占用的列数,默认 1。 */
24
+ span?: number;
25
+ /** Row span in the grid layout. Default 1. 网格中占用的行数,默认 1。 */
26
+ rowspan?: number;
27
+ /** Content text alignment. 内容文本对齐方式。 */
28
+ align?: 'left' | 'center' | 'right';
29
+ /** Whether to hide the label cell. 是否隐藏标签单元格。 */
30
+ hideLabel?: boolean;
31
+ }
32
+ /**
33
+ * Context passed to a read-only view renderer.
34
+ * 传递给只读视图渲染器的上下文。
35
+ */
36
+ export interface ViewRenderContext {
37
+ /** Transformed value (boolean for switch, number for number, string[] for checkbox, etc.). 转换后的值。 */
38
+ value: unknown;
39
+ /** Raw string value as stored in data. 原始字符串值。 */
40
+ rawValue: string;
41
+ /** Options for select/radio/checkbox controls. 选择类控件的选项。 */
42
+ options: FormItemOption[];
43
+ /** Full field configuration. 完整字段配置。 */
44
+ field: ViewFieldConfig;
45
+ /** Resolved empty placeholder text. 解析后的空值占位文本。 */
46
+ emptyText: string;
47
+ }
48
+ /**
49
+ * Read-only view renderer function. Returns a TemplateResult to be injected into a desc-item slot.
50
+ * 只读视图渲染函数,返回 TemplateResult 注入 desc-item 的 slot。
51
+ */
52
+ export type ViewRenderer = (ctx: ViewRenderContext) => TemplateResult;
53
+ /**
54
+ * Read-only view control type definition.
55
+ * 只读视图控件类型定义。
56
+ */
57
+ export interface ViewControlDefinition {
58
+ /** Control type matching the `type` field in ViewFieldConfig. 匹配 ViewFieldConfig 中 type 字段的控件类型。 */
59
+ type: string;
60
+ /** Renderer function. 渲染函数。 */
61
+ render: ViewRenderer;
62
+ }
63
+ /**
64
+ * Read-only view control type registry. Allows registering custom renderers
65
+ * to extend autoview with arbitrary display logic for specific field types.
66
+ * 只读视图控件类型注册表。允许注册自定义渲染器,
67
+ * 以特定字段类型的任意展示逻辑扩展 autoview。
68
+ */
69
+ export declare class ViewRegistry {
70
+ private static readonly _views;
71
+ /**
72
+ * Register a custom read-only renderer.
73
+ * 注册自定义只读渲染器。
74
+ * @throws Error if the type is already registered. 类型已注册时抛错。
75
+ */
76
+ static register(definition: ViewControlDefinition): void;
77
+ /** Unregister a view type. Returns whether the type existed. 注销视图类型,返回类型是否存在。 */
78
+ static unregister(type: string): boolean;
79
+ /** Get a view definition by type. 按 type 获取视图定义。 */
80
+ static get(type: string): ViewControlDefinition | undefined;
81
+ /** Check whether a view type is registered. 检查视图类型是否已注册。 */
82
+ static has(type: string): boolean;
83
+ /** List all registered view type names. 列出所有已注册的视图类型名。 */
84
+ static types(): string[];
85
+ }
86
+ //# sourceMappingURL=autoview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autoview.d.ts","sourceRoot":"","sources":["../../../src/core/autoform/autoview.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,WAAW,eAAgB,SAAQ,eAAe;IACtD,wGAAwG;IACxG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,+GAA+G;IAC/G,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6DAA6D;IAC7D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC,qGAAqG;IACrG,KAAK,EAAE,OAAO,CAAC;IACf,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,wCAAwC;IACxC,KAAK,EAAE,eAAe,CAAC;IACvB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,cAAc,CAAC;AAEtE;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,oGAAoG;IACpG,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,EAAE,YAAY,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAA4C;IAE1E;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,qBAAqB,GAAG,IAAI;IAUxD,iFAAiF;IACjF,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIxC,oDAAoD;IACpD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,qBAAqB,GAAG,SAAS;IAI3D,4DAA4D;IAC5D,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIjC,0DAA0D;IAC1D,MAAM,CAAC,KAAK,IAAI,MAAM,EAAE;CAGzB"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Read-only view control type registry. Allows registering custom renderers
3
+ * to extend autoview with arbitrary display logic for specific field types.
4
+ * 只读视图控件类型注册表。允许注册自定义渲染器,
5
+ * 以特定字段类型的任意展示逻辑扩展 autoview。
6
+ */
7
+ export class ViewRegistry {
8
+ static { this._views = new Map(); }
9
+ /**
10
+ * Register a custom read-only renderer.
11
+ * 注册自定义只读渲染器。
12
+ * @throws Error if the type is already registered. 类型已注册时抛错。
13
+ */
14
+ static register(definition) {
15
+ if (ViewRegistry._views.has(definition.type)) {
16
+ throw new Error(`[ViewRegistry] View type "${definition.type}" is already registered. ` +
17
+ `Call ViewRegistry.unregister() first if you want to replace it.`);
18
+ }
19
+ ViewRegistry._views.set(definition.type, definition);
20
+ }
21
+ /** Unregister a view type. Returns whether the type existed. 注销视图类型,返回类型是否存在。 */
22
+ static unregister(type) {
23
+ return ViewRegistry._views.delete(type);
24
+ }
25
+ /** Get a view definition by type. 按 type 获取视图定义。 */
26
+ static get(type) {
27
+ return ViewRegistry._views.get(type);
28
+ }
29
+ /** Check whether a view type is registered. 检查视图类型是否已注册。 */
30
+ static has(type) {
31
+ return ViewRegistry._views.has(type);
32
+ }
33
+ /** List all registered view type names. 列出所有已注册的视图类型名。 */
34
+ static types() {
35
+ return Array.from(ViewRegistry._views.keys());
36
+ }
37
+ }