@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.
- package/README.md +19 -11
- package/dist/apps/admin/app.js +12 -0
- package/dist/apps/admin/components/admin-app.js +83 -0
- package/dist/apps/admin/components/admin-layout.d.ts +0 -1
- package/dist/apps/admin/components/admin-layout.d.ts.map +1 -1
- package/dist/apps/admin/components/admin-layout.js +250 -0
- package/dist/apps/admin/datahub/auth.js +24 -0
- package/dist/apps/admin/datahub/dashboard.js +16 -0
- package/dist/apps/admin/datahub/index.js +42 -0
- package/dist/apps/admin/datahub/menu.js +16 -0
- package/dist/apps/admin/datahub/mock/auth.js +11 -0
- package/dist/apps/admin/datahub/mock/dashboard.js +10 -0
- package/dist/apps/admin/datahub/mock/menu.js +42 -0
- package/dist/apps/admin/i18n/de-DE.js +37 -0
- package/dist/apps/admin/i18n/en-US.js +37 -0
- package/dist/apps/admin/i18n/es-ES.js +38 -0
- package/dist/apps/admin/i18n/fr-FR.js +37 -0
- package/dist/apps/admin/i18n/index.js +27 -0
- package/dist/apps/admin/i18n/ja-JP.js +38 -0
- package/dist/apps/admin/i18n/ko-KR.js +37 -0
- package/dist/apps/admin/i18n/pt-BR.js +37 -0
- package/dist/apps/admin/i18n/zh-CN.js +37 -0
- package/dist/apps/admin/i18n/zh-HK.js +37 -0
- package/dist/apps/admin/i18n/zh-TW.js +37 -0
- package/dist/apps/admin/pages/dashboard-page.d.ts +1 -0
- package/dist/apps/admin/pages/dashboard-page.d.ts.map +1 -1
- package/dist/apps/admin/pages/dashboard-page.js +199 -0
- package/dist/apps/admin/pages/login-page.js +278 -0
- package/dist/apps/admin/pages/not-found-page.js +57 -0
- package/dist/apps/admin/pages/role-page.js +76 -0
- package/dist/apps/admin/pages/settings-page.js +95 -0
- package/dist/apps/admin/pages/user-page.js +76 -0
- package/dist/apps/admin/router/index.js +43 -0
- package/dist/apps/admin/standalone.js +1 -0
- package/dist/apps/admin/store/auth.js +42 -0
- package/dist/apps/api/app.js +82 -0
- package/dist/apps/api/demo-data.d.ts.map +1 -1
- package/dist/apps/api/demo-data.js +965 -0
- package/dist/apps/api/docs-viewer.js +684 -0
- package/dist/apps/api/i18n/de-DE.d.ts.map +1 -1
- package/dist/apps/api/i18n/de-DE.js +131 -0
- package/dist/apps/api/i18n/en-US.d.ts.map +1 -1
- package/dist/apps/api/i18n/en-US.js +141 -0
- package/dist/apps/api/i18n/es-ES.d.ts.map +1 -1
- package/dist/apps/api/i18n/es-ES.js +131 -0
- package/dist/apps/api/i18n/fr-FR.d.ts.map +1 -1
- package/dist/apps/api/i18n/fr-FR.js +131 -0
- package/dist/apps/api/i18n/index.js +27 -0
- package/dist/apps/api/i18n/ja-JP.d.ts.map +1 -1
- package/dist/apps/api/i18n/ja-JP.js +131 -0
- package/dist/apps/api/i18n/ko-KR.d.ts.map +1 -1
- package/dist/apps/api/i18n/ko-KR.js +131 -0
- package/dist/apps/api/i18n/pt-BR.d.ts.map +1 -1
- package/dist/apps/api/i18n/pt-BR.js +131 -0
- package/dist/apps/api/i18n/zh-CN.d.ts.map +1 -1
- package/dist/apps/api/i18n/zh-CN.js +141 -0
- package/dist/apps/api/i18n/zh-HK.d.ts.map +1 -1
- package/dist/apps/api/i18n/zh-HK.js +131 -0
- package/dist/apps/api/i18n/zh-TW.d.ts.map +1 -1
- package/dist/apps/api/i18n/zh-TW.js +131 -0
- package/dist/apps/api/pages/docs.d.ts.map +1 -1
- package/dist/apps/api/pages/docs.js +369 -0
- package/dist/apps/api/standalone.js +1 -0
- package/dist/apps/demo/app.d.ts.map +1 -1
- package/dist/apps/demo/app.js +275 -0
- package/dist/apps/demo/editor.d.ts.map +1 -1
- package/dist/apps/demo/editor.js +270 -0
- package/dist/apps/demo/helpers.js +7 -0
- package/dist/apps/demo/i18n/de-DE.d.ts.map +1 -1
- package/dist/apps/demo/i18n/de-DE.js +289 -0
- package/dist/apps/demo/i18n/en-US.d.ts.map +1 -1
- package/dist/apps/demo/i18n/en-US.js +301 -0
- package/dist/apps/demo/i18n/es-ES.d.ts.map +1 -1
- package/dist/apps/demo/i18n/es-ES.js +289 -0
- package/dist/apps/demo/i18n/fr-FR.d.ts.map +1 -1
- package/dist/apps/demo/i18n/fr-FR.js +289 -0
- package/dist/apps/demo/i18n/index.js +27 -0
- package/dist/apps/demo/i18n/ja-JP.d.ts.map +1 -1
- package/dist/apps/demo/i18n/ja-JP.js +289 -0
- package/dist/apps/demo/i18n/ko-KR.d.ts.map +1 -1
- package/dist/apps/demo/i18n/ko-KR.js +289 -0
- package/dist/apps/demo/i18n/pt-BR.d.ts.map +1 -1
- package/dist/apps/demo/i18n/pt-BR.js +289 -0
- package/dist/apps/demo/i18n/zh-CN.d.ts.map +1 -1
- package/dist/apps/demo/i18n/zh-CN.js +301 -0
- package/dist/apps/demo/i18n/zh-HK.d.ts.map +1 -1
- package/dist/apps/demo/i18n/zh-HK.js +289 -0
- package/dist/apps/demo/i18n/zh-TW.d.ts.map +1 -1
- package/dist/apps/demo/i18n/zh-TW.js +289 -0
- package/dist/apps/demo/pages/autoform.d.ts.map +1 -1
- package/dist/apps/demo/pages/autoform.js +422 -0
- package/dist/apps/demo/pages/autoview.d.ts +3 -0
- package/dist/apps/demo/pages/autoview.d.ts.map +1 -0
- package/dist/apps/demo/pages/autoview.js +310 -0
- package/dist/apps/demo/pages/basic.js +157 -0
- package/dist/apps/demo/pages/code.js +1088 -0
- package/dist/apps/demo/pages/container.js +42 -0
- package/dist/apps/demo/pages/dashboard.js +159 -0
- package/dist/apps/demo/pages/data.d.ts.map +1 -1
- package/dist/apps/demo/pages/data.js +327 -0
- package/dist/apps/demo/pages/display.d.ts.map +1 -1
- package/dist/apps/demo/pages/display.js +295 -0
- package/dist/apps/demo/pages/feedback.js +94 -0
- package/dist/apps/demo/pages/form.d.ts.map +1 -1
- package/dist/apps/demo/pages/form.js +119 -0
- package/dist/apps/demo/pages/layout.js +74 -0
- package/dist/apps/demo/pages/navigation.js +54 -0
- package/dist/apps/demo/pages/progress.js +42 -0
- package/dist/apps/demo/pages/theme.js +126 -0
- package/dist/apps/demo/standalone.js +1 -0
- package/dist/components/basic/AGENTS.md +1 -0
- package/dist/components/basic/avatar.js +168 -0
- package/dist/components/basic/badge.js +157 -0
- package/dist/components/basic/button-group.js +70 -0
- package/dist/components/basic/button.d.ts +2 -4
- package/dist/components/basic/button.d.ts.map +1 -1
- package/dist/components/basic/button.js +315 -0
- package/dist/components/basic/card.js +186 -0
- package/dist/components/basic/chip.js +103 -0
- package/dist/components/basic/divider.js +127 -0
- package/dist/components/basic/empty.js +72 -0
- package/dist/components/basic/icon.js +129 -0
- package/dist/components/basic/input.d.ts.map +1 -1
- package/dist/components/basic/input.js +314 -0
- package/dist/components/basic/tag.d.ts +7 -2
- package/dist/components/basic/tag.d.ts.map +1 -1
- package/dist/components/basic/tag.js +248 -0
- package/dist/components/basic/textarea.d.ts +0 -1
- package/dist/components/basic/textarea.d.ts.map +1 -1
- package/dist/components/basic/textarea.js +130 -0
- package/dist/components/container/callout.js +108 -0
- package/dist/components/container/details.js +117 -0
- package/dist/components/container/scroller.js +144 -0
- package/dist/components/container/split-panel.js +150 -0
- package/dist/components/data/AGENTS.md +1 -1
- package/dist/components/data/box-table.d.ts +53 -0
- package/dist/components/data/box-table.d.ts.map +1 -0
- package/dist/components/data/box-table.js +220 -0
- package/dist/components/data/dropdown.d.ts +8 -5
- package/dist/components/data/dropdown.d.ts.map +1 -1
- package/dist/components/data/dropdown.js +219 -0
- package/dist/components/data/metrics-group.js +180 -0
- package/dist/components/data/metrics.d.ts +11 -0
- package/dist/components/data/metrics.d.ts.map +1 -1
- package/dist/components/data/metrics.js +309 -0
- package/dist/components/data/pagination.js +119 -0
- package/dist/components/data/tab-pane.d.ts +58 -12
- package/dist/components/data/tab-pane.d.ts.map +1 -1
- package/dist/components/data/tab-pane.js +130 -0
- package/dist/components/data/table-column.d.ts +29 -5
- package/dist/components/data/table-column.d.ts.map +1 -1
- package/dist/components/data/table-column.js +123 -0
- package/dist/components/data/table.d.ts +134 -54
- package/dist/components/data/table.d.ts.map +1 -1
- package/dist/components/data/table.js +1210 -0
- package/dist/components/data/tabs.d.ts +60 -3
- package/dist/components/data/tabs.d.ts.map +1 -1
- package/dist/components/data/tabs.js +416 -0
- package/dist/components/data/timeline-item.js +127 -0
- package/dist/components/data/timeline.js +204 -0
- package/dist/components/data/tree-menu.d.ts +12 -2
- package/dist/components/data/tree-menu.d.ts.map +1 -1
- package/dist/components/data/tree-menu.js +482 -0
- package/dist/components/data/tree.js +269 -0
- package/dist/components/display/AGENTS.md +5 -2
- package/dist/components/display/animated-image.js +98 -0
- package/dist/components/display/autoview.d.ts +139 -0
- package/dist/components/display/autoview.d.ts.map +1 -0
- package/dist/components/display/autoview.js +460 -0
- package/dist/components/display/brief-box.d.ts +42 -0
- package/dist/components/display/brief-box.d.ts.map +1 -0
- package/dist/components/display/brief-box.js +117 -0
- package/dist/components/display/carousel.js +223 -0
- package/dist/components/display/code-editor.d.ts.map +1 -1
- package/dist/components/display/code-editor.js +976 -0
- package/dist/components/display/comparison.js +132 -0
- package/dist/components/display/desc-item.d.ts +48 -0
- package/dist/components/display/desc-item.d.ts.map +1 -0
- package/dist/components/display/desc-item.js +150 -0
- package/dist/components/display/desc.d.ts +68 -0
- package/dist/components/display/desc.d.ts.map +1 -0
- package/dist/components/display/desc.js +405 -0
- package/dist/components/display/detail-box.d.ts +51 -0
- package/dist/components/display/detail-box.d.ts.map +1 -0
- package/dist/components/display/detail-box.js +157 -0
- package/dist/components/display/label.js +166 -0
- package/dist/components/display/markdown-editor.js +319 -0
- package/dist/components/display/markdown.d.ts.map +1 -1
- package/dist/components/display/markdown.js +193 -0
- package/dist/components/display/mini-box.d.ts +31 -0
- package/dist/components/display/mini-box.d.ts.map +1 -0
- package/dist/components/display/mini-box.js +137 -0
- package/dist/components/display/profile.d.ts +18 -0
- package/dist/components/display/profile.d.ts.map +1 -0
- package/dist/components/display/profile.js +164 -0
- package/dist/components/feedback/AGENTS.md +1 -0
- package/dist/components/feedback/alert.js +150 -0
- package/dist/components/feedback/dialog.js +228 -0
- package/dist/components/feedback/drawer.d.ts.map +1 -1
- package/dist/components/feedback/drawer.js +338 -0
- package/dist/components/feedback/loading.js +130 -0
- package/dist/components/feedback/modal.d.ts.map +1 -1
- package/dist/components/feedback/modal.js +303 -0
- package/dist/components/feedback/notification.js +170 -0
- package/dist/components/feedback/popover.d.ts +1 -1
- package/dist/components/feedback/popover.js +124 -0
- package/dist/components/feedback/toast.js +142 -0
- package/dist/components/feedback/tooltip.d.ts +1 -1
- package/dist/components/feedback/tooltip.js +153 -0
- package/dist/components/form/AGENTS.md +4 -0
- package/dist/components/form/autoform-item.d.ts +6 -0
- package/dist/components/form/autoform-item.d.ts.map +1 -1
- package/dist/components/form/autoform-item.js +791 -0
- package/dist/components/form/autoform.d.ts +15 -5
- package/dist/components/form/autoform.d.ts.map +1 -1
- package/dist/components/form/autoform.js +303 -0
- package/dist/components/form/checkbox-group.js +118 -0
- package/dist/components/form/checkbox.js +123 -0
- package/dist/components/form/color-picker.js +148 -0
- package/dist/components/form/combobox.d.ts +4 -0
- package/dist/components/form/combobox.d.ts.map +1 -1
- package/dist/components/form/combobox.js +325 -0
- package/dist/components/form/date-picker.js +123 -0
- package/dist/components/form/form-item.d.ts.map +1 -1
- package/dist/components/form/form-item.js +141 -0
- package/dist/components/form/form.js +94 -0
- package/dist/components/form/radio-group.js +106 -0
- package/dist/components/form/radio.js +110 -0
- package/dist/components/form/rate.js +116 -0
- package/dist/components/form/select.d.ts +5 -1
- package/dist/components/form/select.d.ts.map +1 -1
- package/dist/components/form/select.js +539 -0
- package/dist/components/form/slider.js +134 -0
- package/dist/components/form/switch.js +146 -0
- package/dist/components/form/time-picker.js +92 -0
- package/dist/components/form/transfer.js +273 -0
- package/dist/components/form/upload.js +138 -0
- package/dist/components/framework/body.js +333 -0
- package/dist/components/framework/dashboard-panel.js +519 -0
- package/dist/components/framework/dashboard.d.ts.map +1 -1
- package/dist/components/framework/dashboard.js +1084 -0
- package/dist/components/framework/header.js +237 -0
- package/dist/components/framework/log-panel.js +637 -0
- package/dist/components/framework/page.js +151 -0
- package/dist/components/framework/sidebar.d.ts +4 -10
- package/dist/components/framework/sidebar.d.ts.map +1 -1
- package/dist/components/framework/sidebar.js +477 -0
- package/dist/components/layout/affix.js +137 -0
- package/dist/components/layout/col.js +103 -0
- package/dist/components/layout/collapse-item.js +165 -0
- package/dist/components/layout/collapse.js +108 -0
- package/dist/components/layout/container.js +92 -0
- package/dist/components/layout/flex.js +100 -0
- package/dist/components/layout/row.js +103 -0
- package/dist/components/layout/space.js +85 -0
- package/dist/components/navigation/back-top.js +127 -0
- package/dist/components/navigation/breadcrumb-item.js +108 -0
- package/dist/components/navigation/breadcrumb.js +70 -0
- package/dist/components/navigation/menu-item.js +181 -0
- package/dist/components/navigation/menu.js +126 -0
- package/dist/components/navigation/steps.js +183 -0
- package/dist/components/navigation/sub-menu.d.ts.map +1 -1
- package/dist/components/navigation/sub-menu.js +252 -0
- package/dist/components/progress/progress-bar.js +97 -0
- package/dist/components/progress/progress-ring.js +111 -0
- package/dist/components/progress/skeleton.js +108 -0
- package/dist/components/progress/spinner.js +129 -0
- package/dist/components/theme/locale-switch.js +241 -0
- package/dist/components/theme/shadow-picker.js +233 -0
- package/dist/components/theme/shape-picker.js +232 -0
- package/dist/components/theme/theme-picker.js +236 -0
- package/dist/components/theme/theme-preview.d.ts +1 -2
- package/dist/components/theme/theme-preview.d.ts.map +1 -1
- package/dist/components/theme/theme-preview.js +376 -0
- package/dist/components/theme/theme-switch.d.ts.map +1 -1
- package/dist/components/theme/theme-switch.js +318 -0
- package/dist/components/theme/typo-picker.js +219 -0
- package/dist/core/AGENTS.md +6 -1
- package/dist/core/aithe-element.d.ts +2 -2
- package/dist/core/aithe-element.js +135 -0
- package/dist/core/aithe-widget.js +30 -0
- package/dist/core/anchored-overlay.d.ts +3 -0
- package/dist/core/anchored-overlay.d.ts.map +1 -1
- package/dist/core/anchored-overlay.js +111 -0
- package/dist/core/autoform/autoform.js +79 -0
- package/dist/core/autoform/autoview.d.ts +86 -0
- package/dist/core/autoform/autoview.d.ts.map +1 -0
- package/dist/core/autoform/autoview.js +37 -0
- package/dist/core/autoform/condition.js +170 -0
- package/dist/core/autoform/index.d.ts +2 -0
- package/dist/core/autoform/index.d.ts.map +1 -1
- package/dist/core/autoform/index.js +9 -0
- package/dist/core/autoform/types.js +7 -0
- package/dist/core/datahub/__tests__/force-options.test.d.ts +8 -0
- package/dist/core/datahub/__tests__/force-options.test.d.ts.map +1 -0
- package/dist/core/datahub/__tests__/force-options.test.js +161 -0
- package/dist/core/datahub/config/strategy.d.ts +1 -1
- package/dist/core/datahub/config/strategy.d.ts.map +1 -1
- package/dist/core/datahub/config/strategy.js +50 -0
- package/dist/core/datahub/core/adapter/fetch-adapter.d.ts +1 -1
- package/dist/core/datahub/core/adapter/fetch-adapter.d.ts.map +1 -1
- package/dist/core/datahub/core/adapter/fetch-adapter.js +118 -0
- package/dist/core/datahub/core/adapter/index.js +7 -0
- package/dist/core/datahub/core/adapter/mock-adapter.d.ts +1 -1
- package/dist/core/datahub/core/adapter/mock-adapter.d.ts.map +1 -1
- package/dist/core/datahub/core/adapter/mock-adapter.js +58 -0
- package/dist/core/datahub/core/api-styles.d.ts +1 -1
- package/dist/core/datahub/core/api-styles.d.ts.map +1 -1
- package/dist/core/datahub/core/api-styles.js +136 -0
- package/dist/core/datahub/core/datahub-core.d.ts +53 -3
- package/dist/core/datahub/core/datahub-core.d.ts.map +1 -1
- package/dist/core/datahub/core/datahub-core.js +520 -0
- package/dist/core/datahub/core/index.js +7 -0
- package/dist/core/datahub/index.js +50 -0
- package/dist/core/datahub/types.d.ts +24 -0
- package/dist/core/datahub/types.d.ts.map +1 -1
- package/dist/core/datahub/types.js +31 -0
- package/dist/core/datahub/utils/cache.js +55 -0
- package/dist/core/datahub/utils/common.js +23 -0
- package/dist/core/datahub/utils/dedup.d.ts +1 -1
- package/dist/core/datahub/utils/dedup.d.ts.map +1 -1
- package/dist/core/datahub/utils/dedup.js +52 -0
- package/dist/core/datahub/utils/idempotent.js +61 -0
- package/dist/core/datahub/utils/is-query.js +53 -0
- package/dist/core/datahub/utils/loading.js +78 -0
- package/dist/core/filter/__tests__/index.test.d.ts +2 -0
- package/dist/core/filter/__tests__/index.test.d.ts.map +1 -0
- package/dist/core/filter/__tests__/index.test.js +230 -0
- package/dist/core/filter/builtins.d.ts +60 -0
- package/dist/core/filter/builtins.d.ts.map +1 -0
- package/dist/core/filter/builtins.js +172 -0
- package/dist/core/filter/factory.d.ts +54 -0
- package/dist/core/filter/factory.d.ts.map +1 -0
- package/dist/core/filter/factory.js +96 -0
- package/dist/core/filter/index.d.ts +11 -0
- package/dist/core/filter/index.d.ts.map +1 -0
- package/dist/core/filter/index.js +9 -0
- package/dist/core/filter/types.d.ts +12 -0
- package/dist/core/filter/types.d.ts.map +1 -0
- package/dist/core/filter/types.js +1 -0
- package/dist/core/floating.js +132 -0
- package/dist/core/highlight/index.js +43 -0
- package/dist/core/highlight/lang-bash.js +27 -0
- package/dist/core/highlight/lang-c.js +27 -0
- package/dist/core/highlight/lang-cmake.js +27 -0
- package/dist/core/highlight/lang-cpp.js +27 -0
- package/dist/core/highlight/lang-css.js +24 -0
- package/dist/core/highlight/lang-dart.js +27 -0
- package/dist/core/highlight/lang-dockerfile.js +16 -0
- package/dist/core/highlight/lang-fsharp.js +23 -0
- package/dist/core/highlight/lang-go.js +22 -0
- package/dist/core/highlight/lang-html.js +12 -0
- package/dist/core/highlight/lang-java.js +22 -0
- package/dist/core/highlight/lang-javascript.js +26 -0
- package/dist/core/highlight/lang-json.js +13 -0
- package/dist/core/highlight/lang-jsonline.js +13 -0
- package/dist/core/highlight/lang-jsx.js +30 -0
- package/dist/core/highlight/lang-kotlin.js +27 -0
- package/dist/core/highlight/lang-latex.js +22 -0
- package/dist/core/highlight/lang-lua.js +26 -0
- package/dist/core/highlight/lang-makefile.js +22 -0
- package/dist/core/highlight/lang-markdown.js +18 -0
- package/dist/core/highlight/lang-objectivec.js +24 -0
- package/dist/core/highlight/lang-perl.js +30 -0
- package/dist/core/highlight/lang-powershell.js +23 -0
- package/dist/core/highlight/lang-python.js +27 -0
- package/dist/core/highlight/lang-r.js +21 -0
- package/dist/core/highlight/lang-ruby.js +29 -0
- package/dist/core/highlight/lang-rust.js +24 -0
- package/dist/core/highlight/lang-scala.js +26 -0
- package/dist/core/highlight/lang-sql.js +21 -0
- package/dist/core/highlight/lang-svelte.js +27 -0
- package/dist/core/highlight/lang-swift.js +28 -0
- package/dist/core/highlight/lang-tsx.js +35 -0
- package/dist/core/highlight/lang-typescript.js +31 -0
- package/dist/core/highlight/lang-vue.js +29 -0
- package/dist/core/highlight/lang-wasm.js +22 -0
- package/dist/core/highlight/lang-xml.js +12 -0
- package/dist/core/highlight/lang-yaml.js +14 -0
- package/dist/core/highlight/registry.js +99 -0
- package/dist/core/logger/LoggerCore.js +626 -0
- package/dist/core/logger/index.js +10 -0
- package/dist/core/logger/types.js +29 -0
- package/dist/core/markdown/index.js +20 -0
- package/dist/core/markdown/parser.d.ts +2 -0
- package/dist/core/markdown/parser.d.ts.map +1 -1
- package/dist/core/markdown/parser.js +376 -0
- package/dist/core/markdown/plugins.d.ts +2 -1
- package/dist/core/markdown/plugins.d.ts.map +1 -1
- package/dist/core/markdown/plugins.js +755 -0
- package/dist/core/markdown/types.d.ts +5 -0
- package/dist/core/markdown/types.d.ts.map +1 -1
- package/dist/core/markdown/types.js +7 -0
- package/dist/core/router/index.js +244 -0
- package/dist/core/styles.js +44 -0
- package/dist/core/types.d.ts +52 -3
- package/dist/core/types.d.ts.map +1 -1
- package/dist/core/types.js +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3695 -1622
- package/dist/index.js.map +1 -1
- package/dist/index.umd.js +1844 -758
- package/dist/index.umd.js.map +1 -1
- package/dist/styles/aithe-ui.d.ts +23 -0
- package/dist/styles/aithe-ui.d.ts.map +1 -1
- package/dist/styles/aithe-ui.js +185 -0
- package/dist/styles/global.css.d.ts +1 -1
- package/dist/styles/global.css.d.ts.map +1 -1
- package/dist/styles/global.css.js +119 -0
- package/dist/styles/i18n/index.js +206 -0
- package/dist/styles/i18n/locales/de-DE.d.ts.map +1 -1
- package/dist/styles/i18n/locales/de-DE.js +151 -0
- package/dist/styles/i18n/locales/en-US.d.ts.map +1 -1
- package/dist/styles/i18n/locales/en-US.js +160 -0
- package/dist/styles/i18n/locales/es-ES.d.ts.map +1 -1
- package/dist/styles/i18n/locales/es-ES.js +151 -0
- package/dist/styles/i18n/locales/fr-FR.d.ts.map +1 -1
- package/dist/styles/i18n/locales/fr-FR.js +151 -0
- package/dist/styles/i18n/locales/index.js +14 -0
- package/dist/styles/i18n/locales/ja-JP.d.ts.map +1 -1
- package/dist/styles/i18n/locales/ja-JP.js +151 -0
- package/dist/styles/i18n/locales/ko-KR.d.ts.map +1 -1
- package/dist/styles/i18n/locales/ko-KR.js +151 -0
- package/dist/styles/i18n/locales/pt-BR.d.ts.map +1 -1
- package/dist/styles/i18n/locales/pt-BR.js +151 -0
- package/dist/styles/i18n/locales/zh-CN.d.ts.map +1 -1
- package/dist/styles/i18n/locales/zh-CN.js +160 -0
- package/dist/styles/i18n/locales/zh-HK.d.ts.map +1 -1
- package/dist/styles/i18n/locales/zh-HK.js +151 -0
- package/dist/styles/i18n/locales/zh-TW.d.ts.map +1 -1
- package/dist/styles/i18n/locales/zh-TW.js +151 -0
- package/dist/styles/layout/index.js +88 -0
- package/dist/styles/mixins.js +43 -0
- package/dist/styles/shadow/cyber.js +19 -0
- package/dist/styles/shadow/deep.js +19 -0
- package/dist/styles/shadow/diffuse.js +19 -0
- package/dist/styles/shadow/flat.js +19 -0
- package/dist/styles/shadow/glassmorphism.js +19 -0
- package/dist/styles/shadow/index.js +129 -0
- package/dist/styles/shadow/neumorphism.js +21 -0
- package/dist/styles/shadow/retro.js +19 -0
- package/dist/styles/shadow/sharp-business.js +19 -0
- package/dist/styles/shadow/skeuomorphic.js +21 -0
- package/dist/styles/shape/chamfer.js +19 -0
- package/dist/styles/shape/circle.js +19 -0
- package/dist/styles/shape/index.js +174 -0
- package/dist/styles/shape/organic.js +19 -0
- package/dist/styles/shape/pill.js +19 -0
- package/dist/styles/shape/rounded.js +21 -0
- package/dist/styles/shape/rounder.js +19 -0
- package/dist/styles/shape/sharp.js +19 -0
- package/dist/styles/shape/smooth.js +19 -0
- package/dist/styles/theme/aliyun.d.ts +1 -1
- package/dist/styles/theme/aliyun.d.ts.map +1 -1
- package/dist/styles/theme/aliyun.js +102 -0
- package/dist/styles/theme/amber.d.ts +1 -1
- package/dist/styles/theme/amber.d.ts.map +1 -1
- package/dist/styles/theme/amber.js +101 -0
- package/dist/styles/theme/blue.d.ts +1 -1
- package/dist/styles/theme/blue.d.ts.map +1 -1
- package/dist/styles/theme/blue.js +101 -0
- package/dist/styles/theme/charcoal.d.ts +1 -1
- package/dist/styles/theme/charcoal.d.ts.map +1 -1
- package/dist/styles/theme/charcoal.js +106 -0
- package/dist/styles/theme/cyan.d.ts +1 -1
- package/dist/styles/theme/cyan.d.ts.map +1 -1
- package/dist/styles/theme/cyan.js +96 -0
- package/dist/styles/theme/dark.d.ts +1 -1
- package/dist/styles/theme/dark.d.ts.map +1 -1
- package/dist/styles/theme/dark.js +106 -0
- package/dist/styles/theme/ebony.d.ts +1 -1
- package/dist/styles/theme/ebony.d.ts.map +1 -1
- package/dist/styles/theme/ebony.js +106 -0
- package/dist/styles/theme/festive.d.ts +1 -1
- package/dist/styles/theme/festive.d.ts.map +1 -1
- package/dist/styles/theme/festive.js +101 -0
- package/dist/styles/theme/graphite.d.ts +1 -1
- package/dist/styles/theme/graphite.d.ts.map +1 -1
- package/dist/styles/theme/graphite.js +106 -0
- package/dist/styles/theme/gray.d.ts +1 -1
- package/dist/styles/theme/gray.d.ts.map +1 -1
- package/dist/styles/theme/gray.js +101 -0
- package/dist/styles/theme/huawei.d.ts +1 -1
- package/dist/styles/theme/huawei.d.ts.map +1 -1
- package/dist/styles/theme/huawei.js +102 -0
- package/dist/styles/theme/index.d.ts +1 -1
- package/dist/styles/theme/index.d.ts.map +1 -1
- package/dist/styles/theme/index.js +276 -0
- package/dist/styles/theme/indigo.d.ts +1 -1
- package/dist/styles/theme/indigo.d.ts.map +1 -1
- package/dist/styles/theme/indigo.js +101 -0
- package/dist/styles/theme/ink.d.ts +1 -1
- package/dist/styles/theme/ink.d.ts.map +1 -1
- package/dist/styles/theme/ink.js +106 -0
- package/dist/styles/theme/light.d.ts +1 -1
- package/dist/styles/theme/light.d.ts.map +1 -1
- package/dist/styles/theme/light.js +102 -0
- package/dist/styles/theme/midnight.d.ts +1 -1
- package/dist/styles/theme/midnight.d.ts.map +1 -1
- package/dist/styles/theme/midnight.js +106 -0
- package/dist/styles/theme/navy.d.ts +1 -1
- package/dist/styles/theme/navy.d.ts.map +1 -1
- package/dist/styles/theme/navy.js +106 -0
- package/dist/styles/theme/obsidian.d.ts +1 -1
- package/dist/styles/theme/obsidian.d.ts.map +1 -1
- package/dist/styles/theme/obsidian.js +106 -0
- package/dist/styles/theme/onyx.d.ts +1 -1
- package/dist/styles/theme/onyx.d.ts.map +1 -1
- package/dist/styles/theme/onyx.js +106 -0
- package/dist/styles/theme/orange.d.ts +1 -1
- package/dist/styles/theme/orange.d.ts.map +1 -1
- package/dist/styles/theme/orange.js +101 -0
- package/dist/styles/theme/pink.d.ts +1 -1
- package/dist/styles/theme/pink.d.ts.map +1 -1
- package/dist/styles/theme/pink.js +101 -0
- package/dist/styles/theme/purple.d.ts +1 -1
- package/dist/styles/theme/purple.d.ts.map +1 -1
- package/dist/styles/theme/purple.js +101 -0
- package/dist/styles/theme/raisin.d.ts +1 -1
- package/dist/styles/theme/raisin.d.ts.map +1 -1
- package/dist/styles/theme/raisin.js +106 -0
- package/dist/styles/theme/slate.d.ts +1 -1
- package/dist/styles/theme/slate.d.ts.map +1 -1
- package/dist/styles/theme/slate.js +106 -0
- package/dist/styles/theme/teal.d.ts +1 -1
- package/dist/styles/theme/teal.d.ts.map +1 -1
- package/dist/styles/theme/teal.js +101 -0
- package/dist/styles/theme/tianyi.d.ts +1 -1
- package/dist/styles/theme/tianyi.d.ts.map +1 -1
- package/dist/styles/theme/tianyi.js +102 -0
- package/dist/styles/types.js +1 -0
- package/dist/styles/typo/business.js +34 -0
- package/dist/styles/typo/compact.js +34 -0
- package/dist/styles/typo/index.js +99 -0
- package/dist/styles/typo/luxury.js +34 -0
- package/dist/styles/typo/minimal.js +34 -0
- package/dist/types/index.js +2 -0
- package/dist/utils/dom.js +51 -0
- package/dist/utils/events.js +32 -0
- package/dist/utils/icon.js +176 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/utils.d.ts +5 -5
- package/dist/utils/utils.js +89 -0
- package/dist/utils/validation.js +52 -0
- package/docs/api/basic/button.md +9 -6
- package/docs/api/basic/tag.md +24 -17
- package/docs/api/data/box-table.md +73 -0
- package/docs/api/data/dropdown.md +3 -2
- package/docs/api/data/metrics.md +2 -0
- package/docs/api/data/table-column.md +37 -23
- package/docs/api/data/table.md +158 -44
- package/docs/api/data/tabs.md +46 -1
- package/docs/api/data/tree-menu.md +55 -2
- package/docs/api/display/autoview.md +277 -0
- package/docs/api/display/box.md +66 -0
- package/docs/api/display/brief-box.md +73 -0
- package/docs/api/display/desc-item.md +57 -0
- package/docs/api/display/desc.md +246 -0
- package/docs/api/display/detail-box.md +75 -0
- package/docs/api/display/mini-box.md +100 -0
- package/docs/api/display/profile.md +92 -0
- package/docs/api/feedback/popover.md +10 -10
- package/docs/api/feedback/tooltip.md +14 -14
- package/docs/api/form/autoform-item.md +115 -0
- package/docs/api/form/autoform.md +7 -3
- package/docs/api/form/combobox.md +27 -7
- package/docs/api/form/select.md +50 -28
- package/docs/api/framework/log-panel.md +46 -0
- package/docs/api/framework/sidebar.md +3 -2
- package/docs/api/summary.md +46 -35
- package/docs/api/theme/theme-switch.md +1 -1
- package/docs/autoform.md +14 -33
- package/docs/changelog/CHANGELOG.md +155 -0
- package/docs/changelog/VERSION_26.3.1.md +966 -0
- package/docs/changelog/VERSION_26.3.2.md +852 -0
- package/docs/datahub.md +4 -1
- package/docs/filter.md +332 -0
- package/docs/framework-integration.md +2 -2
- package/docs/guide.md +72 -6
- package/docs/i18n.md +2 -4
- package/docs/issue/26.3.1/issue_26.3.1.0.md +84 -0
- package/docs/issue/26.3.1/issue_26.3.1.1.md +72 -0
- package/docs/issue/26.3.1/issue_26.3.1.2.md +75 -0
- package/docs/issue/26.3.1/issue_26.3.1.3.md +78 -0
- package/docs/issue/26.3.1/issue_26.3.1.4.md +113 -0
- package/docs/issue/26.3.1/issue_26.3.1.5.md +142 -0
- package/docs/issue/26.3.1/issue_26.3.1.6.md +100 -0
- package/docs/issue/26.3.1/issue_26.3.1.7.md +78 -0
- package/docs/issue/26.3.2/issue_26.3.2.1.md +46 -0
- package/docs/issue/26.3.2/issue_26.3.2.2.md +82 -0
- package/docs/issue/26.3.2/issue_26.3.2.3.md +57 -0
- package/docs/issue/26.3.2/issue_26.3.2.4.md +43 -0
- package/docs/issue/AGENTS.md +24 -3
- package/docs/markdown.md +2 -2
- package/docs/quickstart.md +5 -5
- package/docs/theming.md +5 -4
- package/package.json +5 -2
- package/dist/components/navigation/dropdown.d.ts +0 -56
- package/dist/components/navigation/dropdown.d.ts.map +0 -1
- /package/docs/issue/{issue_26.2.2.1.md → 26.2.2/issue_26.2.2.1.md} +0 -0
- /package/docs/issue/{issue_26.2.2.2.md → 26.2.2/issue_26.2.2.2.md} +0 -0
- /package/docs/issue/{issue_26.2.2.3.md → 26.2.2/issue_26.2.2.3.md} +0 -0
- /package/docs/issue/{issue_26.2.2.4.md → 26.2.2/issue_26.2.2.4.md} +0 -0
- /package/docs/issue/{issue_26.2.3.1.md → 26.2.3/issue_26.2.3.1.md} +0 -0
- /package/docs/issue/{issue_26.2.3.10.md → 26.2.3/issue_26.2.3.10.md} +0 -0
- /package/docs/issue/{issue_26.2.3.11.md → 26.2.3/issue_26.2.3.11.md} +0 -0
- /package/docs/issue/{issue_26.2.3.12.md → 26.2.3/issue_26.2.3.12.md} +0 -0
- /package/docs/issue/{issue_26.2.3.13.md → 26.2.3/issue_26.2.3.13.md} +0 -0
- /package/docs/issue/{issue_26.2.3.14.md → 26.2.3/issue_26.2.3.14.md} +0 -0
- /package/docs/issue/{issue_26.2.3.15.md → 26.2.3/issue_26.2.3.15.md} +0 -0
- /package/docs/issue/{issue_26.2.3.16.md → 26.2.3/issue_26.2.3.16.md} +0 -0
- /package/docs/issue/{issue_26.2.3.2.md → 26.2.3/issue_26.2.3.2.md} +0 -0
- /package/docs/issue/{issue_26.2.3.3.md → 26.2.3/issue_26.2.3.3.md} +0 -0
- /package/docs/issue/{issue_26.2.3.4.md → 26.2.3/issue_26.2.3.4.md} +0 -0
- /package/docs/issue/{issue_26.2.3.5.md → 26.2.3/issue_26.2.3.5.md} +0 -0
- /package/docs/issue/{issue_26.2.3.6.md → 26.2.3/issue_26.2.3.6.md} +0 -0
- /package/docs/issue/{issue_26.2.3.7.md → 26.2.3/issue_26.2.3.7.md} +0 -0
- /package/docs/issue/{issue_26.2.3.8.md → 26.2.3/issue_26.2.3.8.md} +0 -0
- /package/docs/issue/{issue_26.2.3.9.md → 26.2.3/issue_26.2.3.9.md} +0 -0
|
@@ -0,0 +1,269 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { css, html, nothing } from 'lit';
|
|
8
|
+
import { customElement, property, state } from 'lit/decorators.js';
|
|
9
|
+
import { AitheElement } from '../../core/aithe-element';
|
|
10
|
+
import { aitheBaseStyles } from '../../core/styles';
|
|
11
|
+
import { translateNodeLabel, onAitheLocaleChange } from '../../styles/i18n';
|
|
12
|
+
/**
|
|
13
|
+
* Recursive tree view with expand/collapse and optional checkbox support.
|
|
14
|
+
* 递归树形视图,支持展开/折叠和可选的复选框功能。
|
|
15
|
+
*
|
|
16
|
+
* @fires aithe-check - Emitted when a checkbox is toggled with `{ checked }`. 复选框切换时发出 `{ checked }`。
|
|
17
|
+
* @fires aithe-node-click - Emitted when a node label is clicked with `{ node }`. 节点标签被点击时发出 `{ node }`。
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```html
|
|
21
|
+
* <aithe-tree
|
|
22
|
+
* data='[{"label":"Root","id":"root","children":[{"label":"Child","id":"child"}]}]'
|
|
23
|
+
* checkable
|
|
24
|
+
* expand-all
|
|
25
|
+
* ></aithe-tree>
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
let AitheTree = class AitheTree extends AitheElement {
|
|
29
|
+
constructor() {
|
|
30
|
+
super(...arguments);
|
|
31
|
+
/** JSON string of tree node data. 树节点数据的 JSON 字符串。 */
|
|
32
|
+
this.data = '[]';
|
|
33
|
+
/** Display title for the tree (shown as tooltip). 树形视图的显示标题(作为工具提示)。 */
|
|
34
|
+
this.title = '';
|
|
35
|
+
/** Icon name to display before the tree title. 在树标题前显示的图标名称。 */
|
|
36
|
+
this.icon = '';
|
|
37
|
+
/** Whether nodes show checkboxes for selection. 节点是否显示复选框以供选择。 */
|
|
38
|
+
this.checkable = false;
|
|
39
|
+
/** Whether all nodes are expanded by default. 是否默认展开所有节点。 */
|
|
40
|
+
this.expandAll = false;
|
|
41
|
+
this.expanded = new Set();
|
|
42
|
+
this.checked = new Set();
|
|
43
|
+
}
|
|
44
|
+
connectedCallback() {
|
|
45
|
+
super.connectedCallback();
|
|
46
|
+
this.unsubscribeLocale = onAitheLocaleChange(() => this.requestUpdate());
|
|
47
|
+
}
|
|
48
|
+
disconnectedCallback() {
|
|
49
|
+
super.disconnectedCallback();
|
|
50
|
+
this.unsubscribeLocale?.();
|
|
51
|
+
}
|
|
52
|
+
static { this.styles = [
|
|
53
|
+
aitheBaseStyles,
|
|
54
|
+
css `
|
|
55
|
+
:host {
|
|
56
|
+
display: block;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.tree-header {
|
|
60
|
+
display: inline-flex;
|
|
61
|
+
align-items: center;
|
|
62
|
+
gap: var(--aithe-space-2);
|
|
63
|
+
margin-bottom: var(--aithe-space-2);
|
|
64
|
+
font-weight: var(--aithe-font-weight-semibold);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
.tree-icon {
|
|
68
|
+
flex-shrink: 0;
|
|
69
|
+
color: var(--aithe-color-text-muted);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.tree,
|
|
73
|
+
.branch {
|
|
74
|
+
display: grid;
|
|
75
|
+
gap: var(--aithe-space-2);
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.branch {
|
|
79
|
+
margin-left: var(--aithe-space-5);
|
|
80
|
+
padding-left: var(--aithe-space-3);
|
|
81
|
+
border-left: 1px solid var(--aithe-color-border);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
.row {
|
|
85
|
+
display: flex;
|
|
86
|
+
align-items: center;
|
|
87
|
+
gap: var(--aithe-space-2);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.toggle,
|
|
91
|
+
.label {
|
|
92
|
+
border: none;
|
|
93
|
+
background: transparent;
|
|
94
|
+
color: var(--aithe-color-text);
|
|
95
|
+
cursor: pointer;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
.label {
|
|
99
|
+
min-height: 32px;
|
|
100
|
+
padding: 0 var(--aithe-space-2);
|
|
101
|
+
border-radius: var(--aithe-radius-md);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.label:hover {
|
|
105
|
+
background: var(--aithe-color-surface-muted);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
.label.primary {
|
|
109
|
+
color: var(--aithe-primary-7);
|
|
110
|
+
}
|
|
111
|
+
.label.success {
|
|
112
|
+
color: var(--aithe-success-7);
|
|
113
|
+
}
|
|
114
|
+
.label.warning {
|
|
115
|
+
color: var(--aithe-warning-7);
|
|
116
|
+
}
|
|
117
|
+
.label.danger {
|
|
118
|
+
color: var(--aithe-danger-7);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
.node-icon {
|
|
122
|
+
flex-shrink: 0;
|
|
123
|
+
color: var(--aithe-color-text-muted);
|
|
124
|
+
}
|
|
125
|
+
`,
|
|
126
|
+
]; }
|
|
127
|
+
updated(changed) {
|
|
128
|
+
if (changed.has('expandAll') && this.expandAll) {
|
|
129
|
+
this.expanded = new Set(this.collectValues(this.parsedData));
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
get parsedData() {
|
|
133
|
+
try {
|
|
134
|
+
return JSON.parse(this.data);
|
|
135
|
+
}
|
|
136
|
+
catch {
|
|
137
|
+
return [];
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
collectValues(nodes) {
|
|
141
|
+
return nodes.flatMap((node) => [
|
|
142
|
+
node.id,
|
|
143
|
+
...(node.children ? this.collectValues(node.children) : []),
|
|
144
|
+
]);
|
|
145
|
+
}
|
|
146
|
+
toggleExpand(value) {
|
|
147
|
+
const next = new Set(this.expanded);
|
|
148
|
+
if (next.has(value)) {
|
|
149
|
+
next.delete(value);
|
|
150
|
+
}
|
|
151
|
+
else {
|
|
152
|
+
next.add(value);
|
|
153
|
+
}
|
|
154
|
+
this.expanded = next;
|
|
155
|
+
}
|
|
156
|
+
toggleCheck(value, checked) {
|
|
157
|
+
const next = new Set(this.checked);
|
|
158
|
+
if (checked) {
|
|
159
|
+
next.add(value);
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
next.delete(value);
|
|
163
|
+
}
|
|
164
|
+
this.checked = next;
|
|
165
|
+
this.emit('aithe-check', { checked: Array.from(this.checked) });
|
|
166
|
+
}
|
|
167
|
+
renderNodes(nodes) {
|
|
168
|
+
return nodes.map((node) => {
|
|
169
|
+
const hasChildren = Boolean(node.children?.length);
|
|
170
|
+
const expanded = this.expanded.has(node.id);
|
|
171
|
+
const toggleSymbol = expanded ? '⌄' : '›';
|
|
172
|
+
const intentClass = node.variant && node.variant !== 'default' ? node.variant : '';
|
|
173
|
+
const nodeIcon = node.icon
|
|
174
|
+
? html `
|
|
175
|
+
<aithe-icon class="node-icon" name=${node.icon} size="16"></aithe-icon>
|
|
176
|
+
`
|
|
177
|
+
: nothing;
|
|
178
|
+
const nodeContent = this.renderer
|
|
179
|
+
? this.renderer(node)
|
|
180
|
+
: html `
|
|
181
|
+
<span style="display:inline-flex;align-items:center;gap:var(--aithe-space-2);">
|
|
182
|
+
${nodeIcon}${translateNodeLabel(node)}
|
|
183
|
+
</span>
|
|
184
|
+
`;
|
|
185
|
+
const toggleBtn = hasChildren
|
|
186
|
+
? html `
|
|
187
|
+
<button class="toggle" type="button" @click=${() => this.toggleExpand(node.id)}>
|
|
188
|
+
${toggleSymbol}
|
|
189
|
+
</button>
|
|
190
|
+
`
|
|
191
|
+
: html `
|
|
192
|
+
<span style="width:18px;">${nothing}</span>
|
|
193
|
+
`;
|
|
194
|
+
const checkbox = this.checkable
|
|
195
|
+
? html `
|
|
196
|
+
<input
|
|
197
|
+
type="checkbox"
|
|
198
|
+
?checked=${this.checked.has(node.id)}
|
|
199
|
+
?disabled=${node.disabled}
|
|
200
|
+
@change=${(event) => this.toggleCheck(node.id, event.currentTarget.checked)}
|
|
201
|
+
/>
|
|
202
|
+
`
|
|
203
|
+
: null;
|
|
204
|
+
return html `
|
|
205
|
+
<div class="tree">
|
|
206
|
+
<div class="row">
|
|
207
|
+
${toggleBtn} ${checkbox}
|
|
208
|
+
<button
|
|
209
|
+
class="label ${intentClass}"
|
|
210
|
+
type="button"
|
|
211
|
+
?disabled=${node.disabled}
|
|
212
|
+
@click=${() => this.emit('aithe-node-click', { node })}
|
|
213
|
+
>
|
|
214
|
+
${nodeContent}
|
|
215
|
+
</button>
|
|
216
|
+
</div>
|
|
217
|
+
${hasChildren && expanded
|
|
218
|
+
? html `
|
|
219
|
+
<div class="branch">${this.renderNodes(node.children ?? [])}</div>
|
|
220
|
+
`
|
|
221
|
+
: null}
|
|
222
|
+
</div>
|
|
223
|
+
`;
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
render() {
|
|
227
|
+
const headerIcon = this.icon
|
|
228
|
+
? html `
|
|
229
|
+
<aithe-icon class="tree-icon" name=${this.icon} size="16"></aithe-icon>
|
|
230
|
+
`
|
|
231
|
+
: nothing;
|
|
232
|
+
const header = this.icon || this.title
|
|
233
|
+
? html `
|
|
234
|
+
<div class="tree-header">${headerIcon}${this.title}</div>
|
|
235
|
+
`
|
|
236
|
+
: nothing;
|
|
237
|
+
return html `
|
|
238
|
+
<div class="tree">${header}${this.renderNodes(this.parsedData)}</div>
|
|
239
|
+
`;
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
__decorate([
|
|
243
|
+
property({ type: String })
|
|
244
|
+
], AitheTree.prototype, "data", void 0);
|
|
245
|
+
__decorate([
|
|
246
|
+
property({ type: String })
|
|
247
|
+
], AitheTree.prototype, "title", void 0);
|
|
248
|
+
__decorate([
|
|
249
|
+
property({ type: String })
|
|
250
|
+
], AitheTree.prototype, "icon", void 0);
|
|
251
|
+
__decorate([
|
|
252
|
+
property({ type: Boolean })
|
|
253
|
+
], AitheTree.prototype, "checkable", void 0);
|
|
254
|
+
__decorate([
|
|
255
|
+
property({ type: Boolean, attribute: 'expand-all' })
|
|
256
|
+
], AitheTree.prototype, "expandAll", void 0);
|
|
257
|
+
__decorate([
|
|
258
|
+
property({ attribute: false })
|
|
259
|
+
], AitheTree.prototype, "renderer", void 0);
|
|
260
|
+
__decorate([
|
|
261
|
+
state()
|
|
262
|
+
], AitheTree.prototype, "expanded", void 0);
|
|
263
|
+
__decorate([
|
|
264
|
+
state()
|
|
265
|
+
], AitheTree.prototype, "checked", void 0);
|
|
266
|
+
AitheTree = __decorate([
|
|
267
|
+
customElement('aithe-tree')
|
|
268
|
+
], AitheTree);
|
|
269
|
+
export { AitheTree };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# src/components/display/ — 展示组件(
|
|
1
|
+
# src/components/display/ — 展示组件(14个)
|
|
2
2
|
|
|
3
3
|
## 组件列表
|
|
4
4
|
|
|
@@ -11,6 +11,9 @@
|
|
|
11
11
|
| `code-editor.ts` | `<aithe-code-editor>` | 代码编辑器,语法高亮 |
|
|
12
12
|
| `markdown-editor.ts` | `<aithe-markdown-editor>` | Markdown 编辑器,实时预览 |
|
|
13
13
|
| `label.ts` | `<aithe-label>` | 标签文本,支持尺寸和颜色变体 |
|
|
14
|
+
| `profile.ts` | `<aithe-profile>` | 档案展示组件 |
|
|
15
|
+
| `desc.ts` | `<aithe-desc>` | 描述列表容器 |
|
|
16
|
+
| `desc-item.ts` | `<aithe-desc-item>` | 描述列表条目 |
|
|
14
17
|
|
|
15
18
|
## 编码规范
|
|
16
19
|
|
|
@@ -23,6 +26,6 @@
|
|
|
23
26
|
## 关键约定
|
|
24
27
|
|
|
25
28
|
- `aithe-markdown` 支持通过 `src` 属性加载外部 Markdown 文件
|
|
26
|
-
- `aithe-code-editor` 通过 `language`
|
|
29
|
+
- `aithe-code-editor` 通过 `language` 属性指定高亮语言,在原生 textarea 的 input 事件中调用 `event.stopPropagation()`
|
|
27
30
|
- `aithe-carousel` 支持自动轮播(`autoplay` 属性)和指示器
|
|
28
31
|
- 新增组件需同步更新 `src/index.ts` 和 `docs/api/display/`
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { css, html } from 'lit';
|
|
8
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
9
|
+
import { AitheElement } from '../../core/aithe-element';
|
|
10
|
+
import { aitheBaseStyles } from '../../core/styles';
|
|
11
|
+
/**
|
|
12
|
+
* Animated image display with pan/zoom motion effect.
|
|
13
|
+
* 带平移/缩放动效的动画图片展示组件。
|
|
14
|
+
*
|
|
15
|
+
* @slot - Default slot for fallback content when `src` is empty. `src` 为空时的回退内容插槽。
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```html
|
|
19
|
+
* <aithe-animated-image src="hero.jpg" loop speed="2" play></aithe-animated-image>
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
let AitheAnimatedImage = class AitheAnimatedImage extends AitheElement {
|
|
23
|
+
constructor() {
|
|
24
|
+
super(...arguments);
|
|
25
|
+
/** Image source URL. 图片源 URL。 */
|
|
26
|
+
this.src = '';
|
|
27
|
+
/** Whether the animation loops infinitely. 动画是否无限循环。 */
|
|
28
|
+
this.loop = true;
|
|
29
|
+
/** Animation speed multiplier (higher = faster). 动画速度倍数(越高越快)。 */
|
|
30
|
+
this.speed = 1;
|
|
31
|
+
/** Whether the animation is currently playing. 动画是否正在播放。 */
|
|
32
|
+
this.play = true;
|
|
33
|
+
}
|
|
34
|
+
static { this.styles = [
|
|
35
|
+
aitheBaseStyles,
|
|
36
|
+
css `
|
|
37
|
+
:host {
|
|
38
|
+
display: block;
|
|
39
|
+
overflow: hidden;
|
|
40
|
+
border-radius: var(--aithe-container-radius-xl);
|
|
41
|
+
background: var(--aithe-color-surface-elevated);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
img {
|
|
45
|
+
width: 100%;
|
|
46
|
+
height: auto;
|
|
47
|
+
display: block;
|
|
48
|
+
transform-origin: center;
|
|
49
|
+
animation-name: aithe-pan-zoom;
|
|
50
|
+
animation-timing-function: ease-in-out;
|
|
51
|
+
animation-direction: alternate;
|
|
52
|
+
animation-fill-mode: both;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@keyframes aithe-pan-zoom {
|
|
56
|
+
from {
|
|
57
|
+
transform: scale(1) translate3d(0, 0, 0);
|
|
58
|
+
}
|
|
59
|
+
to {
|
|
60
|
+
transform: scale(1.08) translate3d(1.5%, -1.5%, 0);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
`,
|
|
64
|
+
]; }
|
|
65
|
+
render() {
|
|
66
|
+
if (!this.src) {
|
|
67
|
+
return html `
|
|
68
|
+
<slot></slot>
|
|
69
|
+
`;
|
|
70
|
+
}
|
|
71
|
+
const duration = `${6 / Math.max(0.25, this.speed)}s`;
|
|
72
|
+
const iterationCount = this.loop ? 'infinite' : '1';
|
|
73
|
+
const playState = this.play ? 'running' : 'paused';
|
|
74
|
+
return html `
|
|
75
|
+
<img
|
|
76
|
+
src=${this.src}
|
|
77
|
+
alt=""
|
|
78
|
+
style=${`animation-duration:${duration};animation-iteration-count:${iterationCount};animation-play-state:${playState};`}
|
|
79
|
+
/>
|
|
80
|
+
`;
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
__decorate([
|
|
84
|
+
property({ type: String })
|
|
85
|
+
], AitheAnimatedImage.prototype, "src", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
property({ type: Boolean })
|
|
88
|
+
], AitheAnimatedImage.prototype, "loop", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
property({ type: Number })
|
|
91
|
+
], AitheAnimatedImage.prototype, "speed", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
property({ type: Boolean })
|
|
94
|
+
], AitheAnimatedImage.prototype, "play", void 0);
|
|
95
|
+
AitheAnimatedImage = __decorate([
|
|
96
|
+
customElement('aithe-animated-image')
|
|
97
|
+
], AitheAnimatedImage);
|
|
98
|
+
export { AitheAnimatedImage };
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file JSON-driven read-only auto view / JSON 驱动的只读自动视图
|
|
3
|
+
* @description Renders a read-only detail view from a FormFieldConfig JSON array and a data object.
|
|
4
|
+
* Built as a thin adapter on top of <aithe-desc>: parses the field config, resolves
|
|
5
|
+
* dependency-based visibility, transforms values per control type, and injects
|
|
6
|
+
* type-aware read-only content into <aithe-desc-item> slots.
|
|
7
|
+
* 基于 <aithe-desc> 的轻量适配器:解析字段配置,解析依赖联动显隐,
|
|
8
|
+
* 按控件类型转换值,将类型感知的只读内容注入 <aithe-desc-item> 的 slot。
|
|
9
|
+
*/
|
|
10
|
+
import { type TemplateResult } from 'lit';
|
|
11
|
+
import { AitheElement } from '../../core/aithe-element';
|
|
12
|
+
import './desc.js';
|
|
13
|
+
import './label.js';
|
|
14
|
+
import '../basic/tag.js';
|
|
15
|
+
/**
|
|
16
|
+
* JSON-driven read-only detail view, the display-only counterpart of <aithe-autoform>.
|
|
17
|
+
* JSON 驱动的只读详情视图,<aithe-autoform> 的只读镜像。
|
|
18
|
+
*
|
|
19
|
+
* @description Shares the same FormFieldConfig model as autoform, rendering field values
|
|
20
|
+
* as a structured description list. Supports dependency-based show/hide rules,
|
|
21
|
+
* per-type read-only renderers (switch→badge, select→label lookup, etc.),
|
|
22
|
+
* and custom renderers via ViewRegistry.
|
|
23
|
+
* 与 autoform 共用 FormFieldConfig 模型,将字段值渲染为结构化描述列表。
|
|
24
|
+
* 支持依赖联动显隐、按类型的只读渲染器(switch→徽章、select→label 反查等),
|
|
25
|
+
* 以及通过 ViewRegistry 注册的自定义渲染器。
|
|
26
|
+
*
|
|
27
|
+
* @slot title - Custom title content (passed through to desc). 自定义标题内容(透传给 desc)。
|
|
28
|
+
* @slot extra - Extra action content in the header (passed through to desc). 头部额外操作内容(透传给 desc)。
|
|
29
|
+
*
|
|
30
|
+
* @fires aithe-view-ready - Emitted after initial render with current visible values. 初始渲染完成后触发,携带当前可见字段值。
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```html
|
|
34
|
+
* <aithe-autoview
|
|
35
|
+
* fields='[
|
|
36
|
+
* {"name":"username","type":"input","label":"用户名"},
|
|
37
|
+
* {"name":"role","type":"select","label":"角色",
|
|
38
|
+
* "options":[{"label":"管理员","id":"admin"}]},
|
|
39
|
+
* {"name":"active","type":"switch","label":"状态"}
|
|
40
|
+
* ]'
|
|
41
|
+
* .data=${{username:"张三",role:"admin",active:true}}
|
|
42
|
+
* column="2"
|
|
43
|
+
* border
|
|
44
|
+
* ></aithe-autoview>
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
47
|
+
export declare class AitheAutoView extends AitheElement {
|
|
48
|
+
/**
|
|
49
|
+
* JSON string of field configuration array. Same model as autoform's `fields`.
|
|
50
|
+
* 字段配置数组的 JSON 字符串,与 autoform 的 `fields` 模型一致。
|
|
51
|
+
*/
|
|
52
|
+
fields: string;
|
|
53
|
+
/**
|
|
54
|
+
* Display data object. Values are keyed by field name.
|
|
55
|
+
* Supports passing an object directly or a JSON string.
|
|
56
|
+
* 展示数据对象,按字段名取值。支持直接传对象或 JSON 字符串。
|
|
57
|
+
*/
|
|
58
|
+
data: Record<string, unknown> | string;
|
|
59
|
+
/** Number of columns in the grid layout. Passed to desc. 网格列数,透传给 desc。 */
|
|
60
|
+
column: number;
|
|
61
|
+
/** Whether to show borders. Passed to desc. 是否显示边框,透传给 desc。 */
|
|
62
|
+
border: boolean;
|
|
63
|
+
/** Border style: 'none' / 'full' / 'row'. Passed to desc. 边框样式,透传给 desc。 */
|
|
64
|
+
borderStyle: 'none' | 'full' | 'row';
|
|
65
|
+
/** Label background style: 'filled' / 'none'. Passed to desc. 标签背景样式,透传给 desc。 */
|
|
66
|
+
labelBackground: 'filled' | 'none';
|
|
67
|
+
/** Layout direction. Passed to desc. 布局方向,透传给 desc。 */
|
|
68
|
+
direction: 'horizontal' | 'vertical';
|
|
69
|
+
/** Label cell width. Passed to desc. 标签单元格宽度,透传给 desc。 */
|
|
70
|
+
labelWidth: string;
|
|
71
|
+
/** Size preset. Passed to desc. 尺寸规格,透传给 desc。 */
|
|
72
|
+
size: 'sm' | 'md' | 'lg';
|
|
73
|
+
/** Title text in the header. Passed to desc. 头部标题文本,透传给 desc。 */
|
|
74
|
+
title: string;
|
|
75
|
+
/** Whether to show the title header. When false, the header row is hidden even if title or extra slot is set. Passed to desc. 是否显示标题头。为 false 时隐藏标题行,即使设置了 title 或 extra slot 也不显示,透传给 desc。 */
|
|
76
|
+
showTitle: boolean;
|
|
77
|
+
/** Max visible rows. 0 means no limit. Passed to desc. 最大可见行数,0 表示不限制,透传给 desc。 */
|
|
78
|
+
maxRows: number;
|
|
79
|
+
/** Global empty value placeholder. Falls back to i18n. 全局空值占位文本,回退到 i18n。 */
|
|
80
|
+
emptyText: string;
|
|
81
|
+
static readonly styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
|
|
82
|
+
private get _data();
|
|
83
|
+
private get _emptyText();
|
|
84
|
+
/**
|
|
85
|
+
* Returns the values of all visible fields.
|
|
86
|
+
* 返回所有可见字段的值。
|
|
87
|
+
*/
|
|
88
|
+
getValues(): Record<string, unknown>;
|
|
89
|
+
/** Parses the fields JSON string into a typed array with fallback sanitization. 解析 fields JSON 字符串为类型化数组,含容错。 */
|
|
90
|
+
private parseFields;
|
|
91
|
+
/** Normalizes options from JSON string or array. 将 options 从 JSON 字符串或数组统一为数组。 */
|
|
92
|
+
private normalizeOptions;
|
|
93
|
+
/** Normalizes dependency rules, parsing options for 'update' type rules. 规范化依赖规则。 */
|
|
94
|
+
private normalizeRules;
|
|
95
|
+
/**
|
|
96
|
+
* Evaluates show/hide rules to determine field visibility.
|
|
97
|
+
* Only 'show' and 'hide' rule types are honored in read-only mode;
|
|
98
|
+
* disable/enable/clear/update are ignored.
|
|
99
|
+
* 评估 show/hide 规则决定字段可见性。
|
|
100
|
+
* 只读模式下仅生效 show/hide,忽略 disable/enable/clear/update。
|
|
101
|
+
*/
|
|
102
|
+
private isVisible;
|
|
103
|
+
/** Resolves the raw string value for a field from data or default. 从 data 或缺省值解析字段的原始字符串值。 */
|
|
104
|
+
private resolveRawValue;
|
|
105
|
+
/** Transforms the raw string value into its typed display value. 将原始字符串值转换为类型化的展示值。 */
|
|
106
|
+
private transformValue;
|
|
107
|
+
/** Renders the type-aware read-only content for a field. 渲染字段的类型感知只读内容。 */
|
|
108
|
+
private renderContent;
|
|
109
|
+
/** Renders one of the built-in read-only views by control type. 按控件类型渲染内置只读视图。 */
|
|
110
|
+
private renderBuiltin;
|
|
111
|
+
/** Renders a filter-formatted text value. 渲染过滤器格式化后的文本值。 */
|
|
112
|
+
private renderFiltered;
|
|
113
|
+
/** Renders the label of a matched option for select/radio. 渲染 select/radio 匹配选项的 label。 */
|
|
114
|
+
private renderOptionLabel;
|
|
115
|
+
/** Renders multiple tags for checkbox values. 渲染 checkbox 多值的标签组。 */
|
|
116
|
+
private renderCheckboxTags;
|
|
117
|
+
/** Renders a yes/no tag for switch. 渲染 switch 的 是/否 标签。 */
|
|
118
|
+
private renderSwitch;
|
|
119
|
+
/** Renders a formatted date value. 渲染格式化日期值。 */
|
|
120
|
+
private renderDate;
|
|
121
|
+
/** Renders a color chip plus hex text. 渲染色块及色值文本。 */
|
|
122
|
+
private renderColor;
|
|
123
|
+
/** Renders a plain text value with empty fallback. 渲染纯文本值,空值回退。 */
|
|
124
|
+
private renderPlain;
|
|
125
|
+
render(): TemplateResult;
|
|
126
|
+
/** Renders a single desc-item with type-aware content. 渲染单个 desc-item 及其类型感知内容。 */
|
|
127
|
+
private renderItem;
|
|
128
|
+
/**
|
|
129
|
+
* Emits `aithe-view-ready` after the first render with the values of all visible fields.
|
|
130
|
+
* 初始渲染完成后发射 `aithe-view-ready`,携带所有可见字段的值。
|
|
131
|
+
*/
|
|
132
|
+
firstUpdated(): void;
|
|
133
|
+
}
|
|
134
|
+
declare global {
|
|
135
|
+
interface HTMLElementTagNameMap {
|
|
136
|
+
'aithe-autoview': AitheAutoView;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
//# sourceMappingURL=autoview.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autoview.d.ts","sourceRoot":"","sources":["../../../src/components/display/autoview.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAQnD,OAAO,WAAW,CAAC;AACnB,OAAO,YAAY,CAAC;AACpB,OAAO,iBAAiB,CAAC;AAEzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBACa,aAAc,SAAQ,YAAY;IAC7C;;;OAGG;IACyB,MAAM,SAAQ;IAE1C;;;;OAIG;IACyB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAM;IAExE,2EAA2E;IAC/C,MAAM,SAAK;IAEvC,gEAAgE;IACnC,MAAM,UAAQ;IAE3C,4EAA4E;IACrB,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAU;IAErG,kFAAkF;IACvB,eAAe,EAAE,QAAQ,GAAG,MAAM,CAAY;IAEzG,uDAAuD;IAC3B,SAAS,EAAE,YAAY,GAAG,UAAU,CAAgB;IAEhF,0DAA0D;IACJ,UAAU,SAAW;IAE3E,kDAAkD;IACb,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAErE,iEAAiE;IACrC,KAAK,SAAM;IAEvC,gMAAgM;IAC1I,SAAS,UAAQ;IAEvE,mFAAmF;IAChC,OAAO,SAAK;IAE/D,6EAA6E;IACxB,SAAS,SAAM;IAEpE,MAAM,CAAC,QAAQ,CAAC,MAAM,0DA2CpB;IAEF,OAAO,KAAK,KAAK,GAWhB;IAED,OAAO,KAAK,UAAU,GAErB;IAED;;;OAGG;IACH,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAapC,iHAAiH;IACjH,OAAO,CAAC,WAAW;IAcnB,kFAAkF;IAClF,OAAO,CAAC,gBAAgB;IAaxB,qFAAqF;IACrF,OAAO,CAAC,cAAc;IAWtB;;;;;;OAMG;IACH,OAAO,CAAC,SAAS;IAmBjB,8FAA8F;IAC9F,OAAO,CAAC,eAAe;IAWvB,uFAAuF;IACvF,OAAO,CAAC,cAAc;IAsBtB,2EAA2E;IAC3E,OAAO,CAAC,aAAa;IAgBrB,kFAAkF;IAClF,OAAO,CAAC,aAAa;IAgCrB,4DAA4D;IAC5D,OAAO,CAAC,cAAc;IAMtB,2FAA2F;IAC3F,OAAO,CAAC,iBAAiB;IAKzB,qEAAqE;IACrE,OAAO,CAAC,kBAAkB;IAW1B,2DAA2D;IAC3D,OAAO,CAAC,YAAY;IAOpB,gDAAgD;IAChD,OAAO,CAAC,UAAU;IAMlB,qDAAqD;IACrD,OAAO,CAAC,WAAW;IAQnB,mEAAmE;IACnE,OAAO,CAAC,WAAW;IAMV,MAAM,IAAI,cAAc;IAwBjC,mFAAmF;IACnF,OAAO,CAAC,UAAU;IAgBlB;;;OAGG;IACM,YAAY,IAAI,IAAI;CAG9B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAC;KACjC;CACF"}
|