@aithe/aithe-ui 26.3.1 → 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 (171) hide show
  1. package/README.md +8 -5
  2. package/dist/apps/api/i18n/de-DE.d.ts.map +1 -1
  3. package/dist/apps/api/i18n/de-DE.js +1 -0
  4. package/dist/apps/api/i18n/en-US.d.ts.map +1 -1
  5. package/dist/apps/api/i18n/en-US.js +1 -0
  6. package/dist/apps/api/i18n/es-ES.d.ts.map +1 -1
  7. package/dist/apps/api/i18n/es-ES.js +1 -0
  8. package/dist/apps/api/i18n/fr-FR.d.ts.map +1 -1
  9. package/dist/apps/api/i18n/fr-FR.js +1 -0
  10. package/dist/apps/api/i18n/ja-JP.d.ts.map +1 -1
  11. package/dist/apps/api/i18n/ja-JP.js +1 -0
  12. package/dist/apps/api/i18n/ko-KR.d.ts.map +1 -1
  13. package/dist/apps/api/i18n/ko-KR.js +1 -0
  14. package/dist/apps/api/i18n/pt-BR.d.ts.map +1 -1
  15. package/dist/apps/api/i18n/pt-BR.js +1 -0
  16. package/dist/apps/api/i18n/zh-CN.d.ts.map +1 -1
  17. package/dist/apps/api/i18n/zh-CN.js +1 -0
  18. package/dist/apps/api/i18n/zh-HK.d.ts.map +1 -1
  19. package/dist/apps/api/i18n/zh-HK.js +1 -0
  20. package/dist/apps/api/i18n/zh-TW.d.ts.map +1 -1
  21. package/dist/apps/api/i18n/zh-TW.js +1 -0
  22. package/dist/apps/api/pages/docs.d.ts.map +1 -1
  23. package/dist/apps/api/pages/docs.js +2 -0
  24. package/dist/apps/demo/app.d.ts.map +1 -1
  25. package/dist/apps/demo/app.js +2 -0
  26. package/dist/apps/demo/i18n/de-DE.d.ts.map +1 -1
  27. package/dist/apps/demo/i18n/de-DE.js +20 -0
  28. package/dist/apps/demo/i18n/en-US.d.ts.map +1 -1
  29. package/dist/apps/demo/i18n/en-US.js +20 -0
  30. package/dist/apps/demo/i18n/es-ES.d.ts.map +1 -1
  31. package/dist/apps/demo/i18n/es-ES.js +20 -0
  32. package/dist/apps/demo/i18n/fr-FR.d.ts.map +1 -1
  33. package/dist/apps/demo/i18n/fr-FR.js +20 -0
  34. package/dist/apps/demo/i18n/ja-JP.d.ts.map +1 -1
  35. package/dist/apps/demo/i18n/ja-JP.js +20 -0
  36. package/dist/apps/demo/i18n/ko-KR.d.ts.map +1 -1
  37. package/dist/apps/demo/i18n/ko-KR.js +20 -0
  38. package/dist/apps/demo/i18n/pt-BR.d.ts.map +1 -1
  39. package/dist/apps/demo/i18n/pt-BR.js +20 -0
  40. package/dist/apps/demo/i18n/zh-CN.d.ts.map +1 -1
  41. package/dist/apps/demo/i18n/zh-CN.js +20 -0
  42. package/dist/apps/demo/i18n/zh-HK.d.ts.map +1 -1
  43. package/dist/apps/demo/i18n/zh-HK.js +20 -0
  44. package/dist/apps/demo/i18n/zh-TW.d.ts.map +1 -1
  45. package/dist/apps/demo/i18n/zh-TW.js +20 -0
  46. package/dist/apps/demo/pages/autoform.d.ts.map +1 -1
  47. package/dist/apps/demo/pages/autoform.js +10 -0
  48. package/dist/apps/demo/pages/autoview.d.ts +3 -0
  49. package/dist/apps/demo/pages/autoview.d.ts.map +1 -0
  50. package/dist/apps/demo/pages/autoview.js +310 -0
  51. package/dist/apps/demo/pages/form.d.ts.map +1 -1
  52. package/dist/apps/demo/pages/form.js +20 -0
  53. package/dist/components/data/tree-menu.js +1 -1
  54. package/dist/components/display/autoview.d.ts +139 -0
  55. package/dist/components/display/autoview.d.ts.map +1 -0
  56. package/dist/components/display/autoview.js +460 -0
  57. package/dist/components/display/desc.d.ts +4 -0
  58. package/dist/components/display/desc.d.ts.map +1 -1
  59. package/dist/components/display/desc.js +45 -3
  60. package/dist/components/form/autoform-item.d.ts +6 -0
  61. package/dist/components/form/autoform-item.d.ts.map +1 -1
  62. package/dist/components/form/autoform-item.js +34 -4
  63. package/dist/components/form/combobox.d.ts +4 -0
  64. package/dist/components/form/combobox.d.ts.map +1 -1
  65. package/dist/components/form/combobox.js +56 -13
  66. package/dist/components/form/select.d.ts +4 -0
  67. package/dist/components/form/select.d.ts.map +1 -1
  68. package/dist/components/form/select.js +84 -40
  69. package/dist/components/navigation/sub-menu.d.ts.map +1 -1
  70. package/dist/components/navigation/sub-menu.js +0 -1
  71. package/dist/core/autoform/autoview.d.ts +86 -0
  72. package/dist/core/autoform/autoview.d.ts.map +1 -0
  73. package/dist/core/autoform/autoview.js +37 -0
  74. package/dist/core/autoform/index.d.ts +2 -0
  75. package/dist/core/autoform/index.d.ts.map +1 -1
  76. package/dist/core/autoform/index.js +1 -0
  77. package/dist/core/datahub/__tests__/force-options.test.d.ts +8 -0
  78. package/dist/core/datahub/__tests__/force-options.test.d.ts.map +1 -0
  79. package/dist/core/datahub/__tests__/force-options.test.js +161 -0
  80. package/dist/core/datahub/core/api-styles.d.ts.map +1 -1
  81. package/dist/core/datahub/core/api-styles.js +5 -0
  82. package/dist/core/datahub/core/datahub-core.d.ts +50 -0
  83. package/dist/core/datahub/core/datahub-core.d.ts.map +1 -1
  84. package/dist/core/datahub/core/datahub-core.js +160 -81
  85. package/dist/core/datahub/types.d.ts +18 -0
  86. package/dist/core/datahub/types.d.ts.map +1 -1
  87. package/dist/core/markdown/plugins.d.ts +2 -1
  88. package/dist/core/markdown/plugins.d.ts.map +1 -1
  89. package/dist/core/markdown/plugins.js +168 -21
  90. package/dist/core/types.d.ts +2 -0
  91. package/dist/core/types.d.ts.map +1 -1
  92. package/dist/index.d.ts +1 -0
  93. package/dist/index.d.ts.map +1 -1
  94. package/dist/index.js +1267 -753
  95. package/dist/index.js.map +1 -1
  96. package/dist/index.umd.js +282 -138
  97. package/dist/index.umd.js.map +1 -1
  98. package/dist/styles/i18n/locales/de-DE.d.ts.map +1 -1
  99. package/dist/styles/i18n/locales/de-DE.js +3 -0
  100. package/dist/styles/i18n/locales/en-US.d.ts.map +1 -1
  101. package/dist/styles/i18n/locales/en-US.js +3 -0
  102. package/dist/styles/i18n/locales/es-ES.d.ts.map +1 -1
  103. package/dist/styles/i18n/locales/es-ES.js +3 -0
  104. package/dist/styles/i18n/locales/fr-FR.d.ts.map +1 -1
  105. package/dist/styles/i18n/locales/fr-FR.js +3 -0
  106. package/dist/styles/i18n/locales/ja-JP.d.ts.map +1 -1
  107. package/dist/styles/i18n/locales/ja-JP.js +3 -0
  108. package/dist/styles/i18n/locales/ko-KR.d.ts.map +1 -1
  109. package/dist/styles/i18n/locales/ko-KR.js +3 -0
  110. package/dist/styles/i18n/locales/pt-BR.d.ts.map +1 -1
  111. package/dist/styles/i18n/locales/pt-BR.js +3 -0
  112. package/dist/styles/i18n/locales/zh-CN.d.ts.map +1 -1
  113. package/dist/styles/i18n/locales/zh-CN.js +3 -0
  114. package/dist/styles/i18n/locales/zh-HK.d.ts.map +1 -1
  115. package/dist/styles/i18n/locales/zh-HK.js +3 -0
  116. package/dist/styles/i18n/locales/zh-TW.d.ts.map +1 -1
  117. package/dist/styles/i18n/locales/zh-TW.js +3 -0
  118. package/docs/api/display/autoview.md +277 -0
  119. package/docs/api/display/desc.md +56 -14
  120. package/docs/api/form/autoform-item.md +16 -1
  121. package/docs/api/form/autoform.md +3 -2
  122. package/docs/api/form/combobox.md +27 -7
  123. package/docs/api/form/select.md +30 -8
  124. package/docs/api/summary.md +1 -0
  125. package/docs/autoform.md +1 -32
  126. package/docs/changelog/CHANGELOG.md +76 -1
  127. package/docs/changelog/VERSION_26.3.1.md +5 -5
  128. package/docs/changelog/VERSION_26.3.2.md +852 -0
  129. package/docs/datahub.md +3 -0
  130. package/docs/framework-integration.md +1 -1
  131. package/docs/guide.md +7 -6
  132. package/docs/i18n.md +1 -3
  133. package/docs/issue/26.3.2/issue_26.3.2.1.md +46 -0
  134. package/docs/issue/26.3.2/issue_26.3.2.2.md +82 -0
  135. package/docs/issue/26.3.2/issue_26.3.2.3.md +57 -0
  136. package/docs/issue/26.3.2/issue_26.3.2.4.md +43 -0
  137. package/docs/issue/AGENTS.md +24 -3
  138. package/docs/markdown.md +2 -2
  139. package/docs/quickstart.md +3 -3
  140. package/docs/theming.md +5 -4
  141. package/package.json +1 -1
  142. package/dist/components/navigation/dropdown.d.ts +0 -56
  143. package/dist/components/navigation/dropdown.d.ts.map +0 -1
  144. /package/docs/issue/{issue_26.2.2.1.md → 26.2.2/issue_26.2.2.1.md} +0 -0
  145. /package/docs/issue/{issue_26.2.2.2.md → 26.2.2/issue_26.2.2.2.md} +0 -0
  146. /package/docs/issue/{issue_26.2.2.3.md → 26.2.2/issue_26.2.2.3.md} +0 -0
  147. /package/docs/issue/{issue_26.2.2.4.md → 26.2.2/issue_26.2.2.4.md} +0 -0
  148. /package/docs/issue/{issue_26.2.3.1.md → 26.2.3/issue_26.2.3.1.md} +0 -0
  149. /package/docs/issue/{issue_26.2.3.10.md → 26.2.3/issue_26.2.3.10.md} +0 -0
  150. /package/docs/issue/{issue_26.2.3.11.md → 26.2.3/issue_26.2.3.11.md} +0 -0
  151. /package/docs/issue/{issue_26.2.3.12.md → 26.2.3/issue_26.2.3.12.md} +0 -0
  152. /package/docs/issue/{issue_26.2.3.13.md → 26.2.3/issue_26.2.3.13.md} +0 -0
  153. /package/docs/issue/{issue_26.2.3.14.md → 26.2.3/issue_26.2.3.14.md} +0 -0
  154. /package/docs/issue/{issue_26.2.3.15.md → 26.2.3/issue_26.2.3.15.md} +0 -0
  155. /package/docs/issue/{issue_26.2.3.16.md → 26.2.3/issue_26.2.3.16.md} +0 -0
  156. /package/docs/issue/{issue_26.2.3.2.md → 26.2.3/issue_26.2.3.2.md} +0 -0
  157. /package/docs/issue/{issue_26.2.3.3.md → 26.2.3/issue_26.2.3.3.md} +0 -0
  158. /package/docs/issue/{issue_26.2.3.4.md → 26.2.3/issue_26.2.3.4.md} +0 -0
  159. /package/docs/issue/{issue_26.2.3.5.md → 26.2.3/issue_26.2.3.5.md} +0 -0
  160. /package/docs/issue/{issue_26.2.3.6.md → 26.2.3/issue_26.2.3.6.md} +0 -0
  161. /package/docs/issue/{issue_26.2.3.7.md → 26.2.3/issue_26.2.3.7.md} +0 -0
  162. /package/docs/issue/{issue_26.2.3.8.md → 26.2.3/issue_26.2.3.8.md} +0 -0
  163. /package/docs/issue/{issue_26.2.3.9.md → 26.2.3/issue_26.2.3.9.md} +0 -0
  164. /package/docs/issue/{issue_26.3.1.0.md → 26.3.1/issue_26.3.1.0.md} +0 -0
  165. /package/docs/issue/{issue_26.3.1.1.md → 26.3.1/issue_26.3.1.1.md} +0 -0
  166. /package/docs/issue/{issue_26.3.1.2.md → 26.3.1/issue_26.3.1.2.md} +0 -0
  167. /package/docs/issue/{issue_26.3.1.3.md → 26.3.1/issue_26.3.1.3.md} +0 -0
  168. /package/docs/issue/{issue_26.3.1.4.md → 26.3.1/issue_26.3.1.4.md} +0 -0
  169. /package/docs/issue/{issue_26.3.1.5.md → 26.3.1/issue_26.3.1.5.md} +0 -0
  170. /package/docs/issue/{issue_26.3.1.6.md → 26.3.1/issue_26.3.1.6.md} +0 -0
  171. /package/docs/issue/{issue_26.3.1.7.md → 26.3.1/issue_26.3.1.7.md} +0 -0
@@ -0,0 +1,460 @@
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 JSON-driven read-only auto view / JSON 驱动的只读自动视图
9
+ * @description Renders a read-only detail view from a FormFieldConfig JSON array and a data object.
10
+ * Built as a thin adapter on top of <aithe-desc>: parses the field config, resolves
11
+ * dependency-based visibility, transforms values per control type, and injects
12
+ * type-aware read-only content into <aithe-desc-item> slots.
13
+ * 基于 <aithe-desc> 的轻量适配器:解析字段配置,解析依赖联动显隐,
14
+ * 按控件类型转换值,将类型感知的只读内容注入 <aithe-desc-item> 的 slot。
15
+ */
16
+ import { css, html, nothing } from 'lit';
17
+ import { customElement, property } from 'lit/decorators.js';
18
+ import { AitheElement } from '../../core/aithe-element';
19
+ import { aitheBaseStyles } from '../../core/styles';
20
+ import { t } from '../../styles/i18n';
21
+ import { filterFactory } from '../../core/filter';
22
+ import { FormRuleEngine, ViewRegistry } from '../../core/autoform';
23
+ import { safeStringify } from '../../utils/utils';
24
+ import './desc.js';
25
+ import './label.js';
26
+ import '../basic/tag.js';
27
+ /**
28
+ * JSON-driven read-only detail view, the display-only counterpart of <aithe-autoform>.
29
+ * JSON 驱动的只读详情视图,<aithe-autoform> 的只读镜像。
30
+ *
31
+ * @description Shares the same FormFieldConfig model as autoform, rendering field values
32
+ * as a structured description list. Supports dependency-based show/hide rules,
33
+ * per-type read-only renderers (switch→badge, select→label lookup, etc.),
34
+ * and custom renderers via ViewRegistry.
35
+ * 与 autoform 共用 FormFieldConfig 模型,将字段值渲染为结构化描述列表。
36
+ * 支持依赖联动显隐、按类型的只读渲染器(switch→徽章、select→label 反查等),
37
+ * 以及通过 ViewRegistry 注册的自定义渲染器。
38
+ *
39
+ * @slot title - Custom title content (passed through to desc). 自定义标题内容(透传给 desc)。
40
+ * @slot extra - Extra action content in the header (passed through to desc). 头部额外操作内容(透传给 desc)。
41
+ *
42
+ * @fires aithe-view-ready - Emitted after initial render with current visible values. 初始渲染完成后触发,携带当前可见字段值。
43
+ *
44
+ * @example
45
+ * ```html
46
+ * <aithe-autoview
47
+ * fields='[
48
+ * {"name":"username","type":"input","label":"用户名"},
49
+ * {"name":"role","type":"select","label":"角色",
50
+ * "options":[{"label":"管理员","id":"admin"}]},
51
+ * {"name":"active","type":"switch","label":"状态"}
52
+ * ]'
53
+ * .data=${{username:"张三",role:"admin",active:true}}
54
+ * column="2"
55
+ * border
56
+ * ></aithe-autoview>
57
+ * ```
58
+ */
59
+ let AitheAutoView = class AitheAutoView extends AitheElement {
60
+ constructor() {
61
+ super(...arguments);
62
+ /**
63
+ * JSON string of field configuration array. Same model as autoform's `fields`.
64
+ * 字段配置数组的 JSON 字符串,与 autoform 的 `fields` 模型一致。
65
+ */
66
+ this.fields = '[]';
67
+ /**
68
+ * Display data object. Values are keyed by field name.
69
+ * Supports passing an object directly or a JSON string.
70
+ * 展示数据对象,按字段名取值。支持直接传对象或 JSON 字符串。
71
+ */
72
+ this.data = {};
73
+ /** Number of columns in the grid layout. Passed to desc. 网格列数,透传给 desc。 */
74
+ this.column = 1;
75
+ /** Whether to show borders. Passed to desc. 是否显示边框,透传给 desc。 */
76
+ this.border = true;
77
+ /** Border style: 'none' / 'full' / 'row'. Passed to desc. 边框样式,透传给 desc。 */
78
+ this.borderStyle = 'none';
79
+ /** Label background style: 'filled' / 'none'. Passed to desc. 标签背景样式,透传给 desc。 */
80
+ this.labelBackground = 'filled';
81
+ /** Layout direction. Passed to desc. 布局方向,透传给 desc。 */
82
+ this.direction = 'horizontal';
83
+ /** Label cell width. Passed to desc. 标签单元格宽度,透传给 desc。 */
84
+ this.labelWidth = '150px';
85
+ /** Size preset. Passed to desc. 尺寸规格,透传给 desc。 */
86
+ this.size = 'md';
87
+ /** Title text in the header. Passed to desc. 头部标题文本,透传给 desc。 */
88
+ this.title = '';
89
+ /** 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。 */
90
+ this.showTitle = true;
91
+ /** Max visible rows. 0 means no limit. Passed to desc. 最大可见行数,0 表示不限制,透传给 desc。 */
92
+ this.maxRows = 0;
93
+ /** Global empty value placeholder. Falls back to i18n. 全局空值占位文本,回退到 i18n。 */
94
+ this.emptyText = '';
95
+ }
96
+ static { this.styles = [
97
+ aitheBaseStyles,
98
+ css `
99
+ :host {
100
+ display: block;
101
+ width: 100%;
102
+ }
103
+
104
+ .autoview-text {
105
+ color: var(--aithe-color-text);
106
+ font-size: var(--aithe-font-size-sm);
107
+ line-height: 1.5;
108
+ word-break: break-word;
109
+ overflow-wrap: break-word;
110
+ }
111
+
112
+ .autoview-empty {
113
+ color: var(--aithe-color-text-muted, var(--aithe-color-text-secondary));
114
+ font-size: var(--aithe-font-size-sm);
115
+ line-height: 1.5;
116
+ }
117
+
118
+ .autoview-tags {
119
+ display: inline-flex;
120
+ flex-wrap: wrap;
121
+ gap: var(--aithe-space-1, 4px);
122
+ }
123
+
124
+ .autoview-color {
125
+ display: inline-flex;
126
+ align-items: center;
127
+ gap: var(--aithe-space-2, 8px);
128
+ }
129
+
130
+ .autoview-color-chip {
131
+ display: inline-block;
132
+ width: 16px;
133
+ height: 16px;
134
+ border-radius: var(--aithe-radius-sm, 3px);
135
+ border: 1px solid var(--aithe-color-border, #e5e6eb);
136
+ flex-shrink: 0;
137
+ }
138
+ `,
139
+ ]; }
140
+ get _data() {
141
+ if (typeof this.data === 'string') {
142
+ if (!this.data)
143
+ return {};
144
+ try {
145
+ const parsed = JSON.parse(this.data);
146
+ return parsed && typeof parsed === 'object' && !Array.isArray(parsed) ? parsed : {};
147
+ }
148
+ catch {
149
+ return {};
150
+ }
151
+ }
152
+ return this.data ?? {};
153
+ }
154
+ get _emptyText() {
155
+ return this.emptyText || t('form.autoView.empty', '--');
156
+ }
157
+ /**
158
+ * Returns the values of all visible fields.
159
+ * 返回所有可见字段的值。
160
+ */
161
+ getValues() {
162
+ const configs = this.parseFields();
163
+ const data = this._data;
164
+ const values = {};
165
+ for (const field of configs) {
166
+ if (!this.isVisible(field, data))
167
+ continue;
168
+ const name = field.name ?? '';
169
+ if (!name)
170
+ continue;
171
+ values[name] = data[name] ?? field.dft ?? '';
172
+ }
173
+ return values;
174
+ }
175
+ /** Parses the fields JSON string into a typed array with fallback sanitization. 解析 fields JSON 字符串为类型化数组,含容错。 */
176
+ parseFields() {
177
+ const raw = this.fields || '[]';
178
+ try {
179
+ return JSON.parse(raw);
180
+ }
181
+ catch {
182
+ try {
183
+ const sanitized = raw.replaceAll(/\\(?!["\\/bfnrtu])/g, '\\\\');
184
+ return JSON.parse(sanitized);
185
+ }
186
+ catch {
187
+ return [];
188
+ }
189
+ }
190
+ }
191
+ /** Normalizes options from JSON string or array. 将 options 从 JSON 字符串或数组统一为数组。 */
192
+ normalizeOptions(raw) {
193
+ if (Array.isArray(raw))
194
+ return raw;
195
+ if (typeof raw === 'string') {
196
+ try {
197
+ const parsed = JSON.parse(raw || '[]');
198
+ return Array.isArray(parsed) ? parsed : [];
199
+ }
200
+ catch {
201
+ return [];
202
+ }
203
+ }
204
+ return [];
205
+ }
206
+ /** Normalizes dependency rules, parsing options for 'update' type rules. 规范化依赖规则。 */
207
+ normalizeRules(rules) {
208
+ if (!rules)
209
+ return [];
210
+ return rules.map((rule) => ({
211
+ ...rule,
212
+ options: rule.type === 'update' && rule.options != null
213
+ ? this.normalizeOptions(rule.options)
214
+ : rule.options,
215
+ }));
216
+ }
217
+ /**
218
+ * Evaluates show/hide rules to determine field visibility.
219
+ * Only 'show' and 'hide' rule types are honored in read-only mode;
220
+ * disable/enable/clear/update are ignored.
221
+ * 评估 show/hide 规则决定字段可见性。
222
+ * 只读模式下仅生效 show/hide,忽略 disable/enable/clear/update。
223
+ */
224
+ isVisible(field, data) {
225
+ const rules = this.normalizeRules(field.rules);
226
+ const visibleRules = rules.filter((r) => r.type === 'show' || r.type === 'hide');
227
+ if (visibleRules.length === 0)
228
+ return true;
229
+ const depValues = {};
230
+ for (const dep of field.dependencies ?? []) {
231
+ depValues[dep] = data[dep] ?? '';
232
+ }
233
+ const result = FormRuleEngine.evaluate(visibleRules, depValues, {
234
+ visible: true,
235
+ disabled: false,
236
+ options: this.normalizeOptions(field.options),
237
+ value: safeStringify(data[field.name ?? ''] ?? field.dft ?? ''),
238
+ });
239
+ return result.visible;
240
+ }
241
+ /** Resolves the raw string value for a field from data or default. 从 data 或缺省值解析字段的原始字符串值。 */
242
+ resolveRawValue(field, data) {
243
+ const name = field.name ?? '';
244
+ const val = name in data ? data[name] : (field.dft ?? '');
245
+ if (val == null)
246
+ return '';
247
+ if (typeof val === 'boolean')
248
+ return val ? 'true' : 'false';
249
+ if (typeof val === 'number')
250
+ return String(val);
251
+ if (Array.isArray(val))
252
+ return JSON.stringify(val);
253
+ if (typeof val === 'object')
254
+ return safeStringify(val);
255
+ return safeStringify(val);
256
+ }
257
+ /** Transforms the raw string value into its typed display value. 将原始字符串值转换为类型化的展示值。 */
258
+ transformValue(field, rawValue) {
259
+ const type = field.type ?? 'input';
260
+ switch (type) {
261
+ case 'switch':
262
+ return rawValue === 'true' || rawValue === '';
263
+ case 'number': {
264
+ const num = Number(rawValue);
265
+ return Number.isNaN(num) ? '' : num;
266
+ }
267
+ case 'checkbox': {
268
+ try {
269
+ const parsed = JSON.parse(rawValue || '[]');
270
+ return Array.isArray(parsed) ? parsed : [];
271
+ }
272
+ catch {
273
+ return [];
274
+ }
275
+ }
276
+ default:
277
+ return rawValue;
278
+ }
279
+ }
280
+ /** Renders the type-aware read-only content for a field. 渲染字段的类型感知只读内容。 */
281
+ renderContent(field, data) {
282
+ const rawValue = this.resolveRawValue(field, data);
283
+ const value = this.transformValue(field, rawValue);
284
+ const options = this.normalizeOptions(field.options);
285
+ const emptyText = field.emptyText || this._emptyText;
286
+ const ctx = { value, rawValue, options, field, emptyText };
287
+ // Custom registered renderer takes precedence.
288
+ const custom = ViewRegistry.get(field.type ?? 'input');
289
+ if (custom) {
290
+ return custom.render(ctx);
291
+ }
292
+ return this.renderBuiltin(field, ctx);
293
+ }
294
+ /** Renders one of the built-in read-only views by control type. 按控件类型渲染内置只读视图。 */
295
+ renderBuiltin(field, ctx) {
296
+ const type = field.type ?? 'input';
297
+ // Apply filter expression if provided (for input/textarea/number/date types).
298
+ if (field.filter) {
299
+ return this.renderFiltered(ctx.rawValue, ctx.emptyText, field.filter);
300
+ }
301
+ switch (type) {
302
+ case 'select':
303
+ case 'radio':
304
+ return this.renderOptionLabel(ctx.options, ctx.rawValue, ctx.emptyText);
305
+ case 'checkbox':
306
+ return this.renderCheckboxTags(ctx.value, ctx.options, ctx.emptyText);
307
+ case 'switch':
308
+ return this.renderSwitch(ctx.value);
309
+ case 'date-picker':
310
+ case 'time-picker':
311
+ return this.renderDate(ctx.rawValue, ctx.emptyText);
312
+ case 'color-picker':
313
+ return this.renderColor(ctx.rawValue, ctx.emptyText);
314
+ case 'rate':
315
+ case 'slider':
316
+ return this.renderPlain(ctx.rawValue, ctx.emptyText);
317
+ default:
318
+ return this.renderPlain(ctx.rawValue, ctx.emptyText);
319
+ }
320
+ }
321
+ /** Renders a filter-formatted text value. 渲染过滤器格式化后的文本值。 */
322
+ renderFiltered(rawValue, emptyText, filterExpr) {
323
+ const filtered = filterFactory.format(rawValue, filterExpr);
324
+ const text = filtered == null || filtered === '' ? emptyText : safeStringify(filtered);
325
+ return html `<span class="autoview-text">${text}</span>`;
326
+ }
327
+ /** Renders the label of a matched option for select/radio. 渲染 select/radio 匹配选项的 label。 */
328
+ renderOptionLabel(options, rawValue, emptyText) {
329
+ const matched = options.find((o) => o.id === rawValue);
330
+ return html `<span class="autoview-text">${matched?.label ?? emptyText}</span>`;
331
+ }
332
+ /** Renders multiple tags for checkbox values. 渲染 checkbox 多值的标签组。 */
333
+ renderCheckboxTags(value, options, emptyText) {
334
+ const arr = Array.isArray(value) ? value : [];
335
+ if (arr.length === 0)
336
+ return html `<span class="autoview-empty">${emptyText}</span>`;
337
+ return html `<span class="autoview-tags">
338
+ ${arr.map((id) => {
339
+ const matched = options.find((o) => o.id === id);
340
+ return html `<aithe-tag variant="default" size="sm">${matched?.label ?? id}</aithe-tag>`;
341
+ })}
342
+ </span>`;
343
+ }
344
+ /** Renders a yes/no tag for switch. 渲染 switch 的 是/否 标签。 */
345
+ renderSwitch(value) {
346
+ const on = value === true;
347
+ return html `<aithe-tag variant=${on ? 'success' : 'default'} size="sm">
348
+ ${on ? t('form.autoView.yes', 'Yes') : t('form.autoView.no', 'No')}
349
+ </aithe-tag>`;
350
+ }
351
+ /** Renders a formatted date value. 渲染格式化日期值。 */
352
+ renderDate(rawValue, emptyText) {
353
+ if (!rawValue)
354
+ return html `<span class="autoview-empty">${emptyText}</span>`;
355
+ const filtered = filterFactory.format(rawValue, 'date yyyy-MM-dd');
356
+ return html `<span class="autoview-text">${filtered || emptyText}</span>`;
357
+ }
358
+ /** Renders a color chip plus hex text. 渲染色块及色值文本。 */
359
+ renderColor(rawValue, emptyText) {
360
+ if (!rawValue)
361
+ return html `<span class="autoview-empty">${emptyText}</span>`;
362
+ return html `<span class="autoview-color">
363
+ <span class="autoview-color-chip" style="background:${rawValue}"></span>
364
+ <span class="autoview-text">${rawValue}</span>
365
+ </span>`;
366
+ }
367
+ /** Renders a plain text value with empty fallback. 渲染纯文本值,空值回退。 */
368
+ renderPlain(rawValue, emptyText) {
369
+ const text = rawValue || emptyText;
370
+ const isEmpty = !rawValue;
371
+ return html `<span class=${isEmpty ? 'autoview-empty' : 'autoview-text'}>${text}</span>`;
372
+ }
373
+ render() {
374
+ const configs = this.parseFields();
375
+ const data = this._data;
376
+ return html `
377
+ <aithe-desc
378
+ column=${this.column}
379
+ ?border=${this.border}
380
+ border-style=${this.borderStyle}
381
+ label-background=${this.labelBackground}
382
+ direction=${this.direction}
383
+ label-width=${this.labelWidth}
384
+ size=${this.size}
385
+ title=${this.title || nothing}
386
+ .showTitle=${this.showTitle}
387
+ max-rows=${this.maxRows}
388
+ >
389
+ <slot name="title" slot="title"></slot>
390
+ <slot name="extra" slot="extra"></slot>
391
+ ${configs.map((field) => this.renderItem(field, data))}
392
+ </aithe-desc>
393
+ `;
394
+ }
395
+ /** Renders a single desc-item with type-aware content. 渲染单个 desc-item 及其类型感知内容。 */
396
+ renderItem(field, data) {
397
+ if (!this.isVisible(field, data))
398
+ return html ``;
399
+ const label = field.hideLabel ? '' : (field.label ?? '');
400
+ const content = this.renderContent(field, data);
401
+ return html `
402
+ <aithe-desc-item
403
+ label=${label || nothing}
404
+ .span=${field.span ?? 1}
405
+ .rowspan=${field.rowspan ?? 1}
406
+ .align=${field.align ?? 'left'}
407
+ >${content}</aithe-desc-item>
408
+ `;
409
+ }
410
+ /**
411
+ * Emits `aithe-view-ready` after the first render with the values of all visible fields.
412
+ * 初始渲染完成后发射 `aithe-view-ready`,携带所有可见字段的值。
413
+ */
414
+ firstUpdated() {
415
+ this.emit('view-ready', { values: this.getValues() });
416
+ }
417
+ };
418
+ __decorate([
419
+ property({ type: String })
420
+ ], AitheAutoView.prototype, "fields", void 0);
421
+ __decorate([
422
+ property({ type: Object })
423
+ ], AitheAutoView.prototype, "data", void 0);
424
+ __decorate([
425
+ property({ type: Number })
426
+ ], AitheAutoView.prototype, "column", void 0);
427
+ __decorate([
428
+ property({ type: Boolean })
429
+ ], AitheAutoView.prototype, "border", void 0);
430
+ __decorate([
431
+ property({ attribute: 'border-style', type: String })
432
+ ], AitheAutoView.prototype, "borderStyle", void 0);
433
+ __decorate([
434
+ property({ attribute: 'label-background', type: String })
435
+ ], AitheAutoView.prototype, "labelBackground", void 0);
436
+ __decorate([
437
+ property({ type: String })
438
+ ], AitheAutoView.prototype, "direction", void 0);
439
+ __decorate([
440
+ property({ type: String, attribute: 'label-width' })
441
+ ], AitheAutoView.prototype, "labelWidth", void 0);
442
+ __decorate([
443
+ property({ type: String })
444
+ ], AitheAutoView.prototype, "size", void 0);
445
+ __decorate([
446
+ property({ type: String })
447
+ ], AitheAutoView.prototype, "title", void 0);
448
+ __decorate([
449
+ property({ attribute: 'show-title', type: Boolean })
450
+ ], AitheAutoView.prototype, "showTitle", void 0);
451
+ __decorate([
452
+ property({ type: Number, attribute: 'max-rows' })
453
+ ], AitheAutoView.prototype, "maxRows", void 0);
454
+ __decorate([
455
+ property({ type: String, attribute: 'empty-text' })
456
+ ], AitheAutoView.prototype, "emptyText", void 0);
457
+ AitheAutoView = __decorate([
458
+ customElement('aithe-autoview')
459
+ ], AitheAutoView);
460
+ export { AitheAutoView };
@@ -32,6 +32,10 @@ export declare class AitheDesc extends AitheElement {
32
32
  column: number;
33
33
  /** Whether to show border. 是否显示边框。 */
34
34
  border: boolean;
35
+ /** Border style: 'none' (no borders), 'full' (outer + all cell separators), 'row' (row separators only, no outer frame or column separators). 边框样式:'none'(无边框)、'full'(外框+所有单元格分隔线)、'row'(仅行分隔线,无外框和列分隔线)。 */
36
+ borderStyle: 'none' | 'full' | 'row';
37
+ /** Label background style: 'filled' (default gray), 'none' (transparent). 标签背景样式:'filled'(默认灰底)或 'none'(无背景)。 */
38
+ labelBackground: 'filled' | 'none';
35
39
  /** Layout direction: horizontal (label left of content) or vertical (label above content). 布局方向:horizontal(标签在内容左侧)或 vertical(标签在内容上方)。 */
36
40
  direction: 'horizontal' | 'vertical';
37
41
  /** Size of the description list. 描述列表的尺寸。 */
@@ -1 +1 @@
1
- {"version":3,"file":"desc.d.ts","sourceRoot":"","sources":["../../../src/components/display/desc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAM9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAanD,qBACa,SAAU,SAAQ,YAAY;IACzC,kDAAkD;IACtB,KAAK,SAAM;IAEvC,6DAA6D;IACjC,MAAM,SAAK;IAEvC,sCAAsC;IACT,MAAM,UAAS;IAE5C,2IAA2I;IAC/G,SAAS,EAAE,YAAY,GAAG,UAAU,CAAgB;IAEhF,6CAA6C;IACR,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAErE,gDAAgD;IACM,UAAU,SAAW;IAE3E,yIAAyI;IACnF,SAAS,UAAQ;IAEvE,mHAAmH;IAChE,OAAO,SAAK;IAE/D,MAAM,CAAC,QAAQ,CAAC,MAAM,0DAiHpB;IAEF,OAAO,CAAC,SAAS;IAMjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;IAad,MAAM,IAAI,cAAc;CAoGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
1
+ {"version":3,"file":"desc.d.ts","sourceRoot":"","sources":["../../../src/components/display/desc.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAM9D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAanD,qBACa,SAAU,SAAQ,YAAY;IACzC,kDAAkD;IACtB,KAAK,SAAM;IAEvC,6DAA6D;IACjC,MAAM,SAAK;IAEvC,sCAAsC;IACT,MAAM,UAAS;IAE5C,6MAA6M;IACtJ,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAU;IAErG,iHAAiH;IACtD,eAAe,EAAE,QAAQ,GAAG,MAAM,CAAY;IAEzG,2IAA2I;IAC/G,SAAS,EAAE,YAAY,GAAG,UAAU,CAAgB;IAEhF,6CAA6C;IACR,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAErE,gDAAgD;IACM,UAAU,SAAW;IAE3E,yIAAyI;IACnF,SAAS,UAAQ;IAEvE,mHAAmH;IAChE,OAAO,SAAK;IAE/D,MAAM,CAAC,QAAQ,CAAC,MAAM,0DAiJpB;IAEF,OAAO,CAAC,SAAS;IAMjB;;;;OAIG;IACH,OAAO,CAAC,YAAY;IAgCpB,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,aAAa;IAQrB,OAAO,CAAC,eAAe;IAad,MAAM,IAAI,cAAc;CAoGlC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,SAAS,CAAC;KACzB;CACF"}
@@ -45,6 +45,10 @@ let AitheDesc = class AitheDesc extends AitheElement {
45
45
  this.column = 1;
46
46
  /** Whether to show border. 是否显示边框。 */
47
47
  this.border = false;
48
+ /** Border style: 'none' (no borders), 'full' (outer + all cell separators), 'row' (row separators only, no outer frame or column separators). 边框样式:'none'(无边框)、'full'(外框+所有单元格分隔线)、'row'(仅行分隔线,无外框和列分隔线)。 */
49
+ this.borderStyle = 'none';
50
+ /** Label background style: 'filled' (default gray), 'none' (transparent). 标签背景样式:'filled'(默认灰底)或 'none'(无背景)。 */
51
+ this.labelBackground = 'filled';
48
52
  /** Layout direction: horizontal (label left of content) or vertical (label above content). 布局方向:horizontal(标签在内容左侧)或 vertical(标签在内容上方)。 */
49
53
  this.direction = 'horizontal';
50
54
  /** Size of the description list. 描述列表的尺寸。 */
@@ -63,7 +67,7 @@ let AitheDesc = class AitheDesc extends AitheElement {
63
67
  display: block;
64
68
  font-family: var(--aithe-font-family);
65
69
  color: var(--aithe-color-text);
66
- border-radius: var(--aithe-radius-md, 6px);
70
+ border-radius: var(--aithe-container-radius-md, 6px);
67
71
  overflow: hidden;
68
72
  }
69
73
 
@@ -89,7 +93,7 @@ let AitheDesc = class AitheDesc extends AitheElement {
89
93
  .desc-body {
90
94
  display: grid;
91
95
  border: 1px solid var(--aithe-color-border, #e5e6eb);
92
- border-radius: var(--aithe-radius-md, 6px);
96
+ border-radius: var(--aithe-container-radius-md, 6px);
93
97
  overflow: hidden;
94
98
  }
95
99
 
@@ -116,6 +120,7 @@ let AitheDesc = class AitheDesc extends AitheElement {
116
120
  background: var(--aithe-fill-2, #f0f1f3);
117
121
  font-weight: 500;
118
122
  min-width: 80px;
123
+ padding: var(--aithe-space-2, 8px) var(--aithe-space-3, 12px);
119
124
  border-bottom: 1px solid var(--aithe-color-border, #e5e6eb);
120
125
  border-right: 1px solid var(--aithe-color-border, #e5e6eb);
121
126
  word-break: break-word;
@@ -130,7 +135,14 @@ let AitheDesc = class AitheDesc extends AitheElement {
130
135
  background: var(--aithe-fill-2, #f0f1f3);
131
136
  }
132
137
 
138
+ :host([label-background='none']) .desc-cell-label,
139
+ :host([label-background='none']) .desc-cell-label.is-bordered {
140
+ background: transparent;
141
+ }
142
+
133
143
  .desc-cell-content {
144
+ display: flex;
145
+ align-items: center;
134
146
  font-size: var(--aithe-font-size-sm);
135
147
  color: var(--aithe-color-text);
136
148
  padding: var(--aithe-space-2, 8px) var(--aithe-space-3, 12px);
@@ -151,6 +163,30 @@ let AitheDesc = class AitheDesc extends AitheElement {
151
163
  border: none;
152
164
  }
153
165
 
166
+ /* Row border style: row separators only, no outer frame or column separators. */
167
+ :host([border-style='row']) .desc-body {
168
+ border: none;
169
+ border-radius: 0;
170
+ }
171
+
172
+ :host([border-style='row']) .desc-cell-label {
173
+ border-right: none;
174
+ border-bottom: 1px solid var(--aithe-color-border, #e5e6eb);
175
+ }
176
+
177
+ :host([border-style='row']) .desc-cell-label.no-border {
178
+ border-bottom: none;
179
+ }
180
+
181
+ :host([border-style='row']) .desc-cell-content {
182
+ border-right: none;
183
+ border-bottom: 1px solid var(--aithe-color-border, #e5e6eb);
184
+ }
185
+
186
+ :host([border-style='row']) .desc-cell-content.no-border {
187
+ border-bottom: none;
188
+ }
189
+
154
190
  /* Vertical direction */
155
191
  .desc-cell.vertical .desc-cell-label {
156
192
  border-right: none;
@@ -242,7 +278,7 @@ let AitheDesc = class AitheDesc extends AitheElement {
242
278
  }
243
279
  render() {
244
280
  const column = Math.max(1, this.column);
245
- const isBordered = this.border;
281
+ const isBordered = this.border || this.borderStyle !== 'none';
246
282
  const isVertical = this.direction === 'vertical';
247
283
  const items = this._getItems();
248
284
  const cells = this._layoutCells(items);
@@ -342,6 +378,12 @@ __decorate([
342
378
  __decorate([
343
379
  property({ type: Boolean })
344
380
  ], AitheDesc.prototype, "border", void 0);
381
+ __decorate([
382
+ property({ attribute: 'border-style', type: String })
383
+ ], AitheDesc.prototype, "borderStyle", void 0);
384
+ __decorate([
385
+ property({ attribute: 'label-background', type: String })
386
+ ], AitheDesc.prototype, "labelBackground", void 0);
345
387
  __decorate([
346
388
  property({ type: String })
347
389
  ], AitheDesc.prototype, "direction", void 0);
@@ -85,6 +85,8 @@ export declare class AitheAutoformItem extends AitheElement {
85
85
  private _ruleDisabled;
86
86
  /** Options computed by dependency rules. 依赖规则计算的选项。 */
87
87
  private _ruleOptions;
88
+ /** Whether the password is visible (only for inputType="password"). 密码是否明文显示(仅 inputType="password" 时生效)。 */
89
+ private _passwordVisible;
88
90
  /** Whether the field is visible (controlled by dependency rules). 字段是否可见(由依赖规则控制)。 */
89
91
  get visible(): boolean;
90
92
  static readonly styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
@@ -105,6 +107,10 @@ export declare class AitheAutoformItem extends AitheElement {
105
107
  getFieldValue(): unknown;
106
108
  /** Handles input/textarea/number change events. 处理 input/textarea/number 的变更事件。 */
107
109
  private readonly handleInputChange;
110
+ /** Toggles password visibility (only for inputType="password"). 切换密码明文显示(仅 inputType="password" 时生效)。 */
111
+ private readonly togglePasswordVisible;
112
+ /** Resolves the effective input type for password fields based on visibility state. 根据可见状态解析密码字段的有效输入类型。 */
113
+ private resolvePasswordType;
108
114
  /** Handles switch toggle change. 处理开关组件的切换事件。 */
109
115
  private readonly handleSwitchChange;
110
116
  /** Handles select dropdown change. 处理下拉选择器的变更事件。 */
@@ -1 +1 @@
1
- {"version":3,"file":"autoform-item.d.ts","sourceRoot":"","sources":["../../../src/components/form/autoform-item.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autoform-item.d.ts","sourceRoot":"","sources":["../../../src/components/form/autoform-item.ts"],"names":[],"mappings":"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"}