@dsh-plugin/dsh-ui-components 0.0.1 → 0.1.0-dev.43616582648

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 (65) hide show
  1. package/LICENSE +21 -21
  2. package/NOTICE +21 -21
  3. package/README.md +136 -136
  4. package/README.zh_CN.md +136 -136
  5. package/docs/tokens.md +67 -67
  6. package/lib/basic/form.js +49 -49
  7. package/lib/basic/styles.js +391 -391
  8. package/lib/composites/styles.js +427 -427
  9. package/lib/data/styles.js +257 -257
  10. package/lib/display/styles.js +310 -310
  11. package/lib/feedback/styles.js +228 -228
  12. package/lib/foundation/bridge.js +203 -203
  13. package/lib/navigation/styles.js +417 -417
  14. package/package.json +104 -104
  15. package/scripts/check-size.mjs +69 -69
  16. package/scripts/dump-npm-latest.mjs +59 -59
  17. package/scripts/gen-host-tokens.mjs +61 -61
  18. package/scripts/gen-icons.mjs +188 -178
  19. package/scripts/verify-no-literal-colors.mjs +63 -63
  20. package/scripts/verify-tokens.mjs +135 -135
  21. package/src/basic/button.tsx +76 -76
  22. package/src/basic/form.tsx +187 -187
  23. package/src/basic/icon-button.tsx +66 -66
  24. package/src/basic/index.ts +38 -38
  25. package/src/basic/input.tsx +140 -140
  26. package/src/basic/select.tsx +120 -120
  27. package/src/basic/styles.ts +412 -412
  28. package/src/basic/toggle.tsx +116 -116
  29. package/src/composites/data-view.tsx +189 -189
  30. package/src/composites/index.ts +11 -11
  31. package/src/composites/indicator.tsx +90 -90
  32. package/src/composites/menu-select.tsx +230 -230
  33. package/src/composites/panel.tsx +72 -72
  34. package/src/composites/settings.tsx +80 -80
  35. package/src/composites/styles.ts +450 -450
  36. package/src/data/collection.tsx +71 -71
  37. package/src/data/index.ts +39 -39
  38. package/src/data/info.tsx +89 -89
  39. package/src/data/picker.tsx +113 -113
  40. package/src/data/styles.ts +278 -278
  41. package/src/display/container.tsx +67 -67
  42. package/src/display/feedback.tsx +92 -92
  43. package/src/display/index.ts +44 -44
  44. package/src/display/label.tsx +165 -165
  45. package/src/display/overlay.tsx +103 -103
  46. package/src/display/styles.ts +332 -332
  47. package/src/feedback/global.tsx +110 -110
  48. package/src/feedback/index.ts +19 -19
  49. package/src/feedback/inline.tsx +50 -50
  50. package/src/feedback/panel.tsx +93 -93
  51. package/src/feedback/styles.ts +250 -250
  52. package/src/foundation/bridge.ts +318 -318
  53. package/src/foundation/icons.tsx +315 -315
  54. package/src/foundation/index.ts +33 -33
  55. package/src/foundation/palette.ts +153 -153
  56. package/src/foundation/provider.tsx +62 -62
  57. package/src/foundation/style.ts +63 -63
  58. package/src/foundation/tokens.ts +62 -62
  59. package/src/index.ts +18 -18
  60. package/src/navigation/hierarchy.tsx +82 -82
  61. package/src/navigation/index.ts +21 -21
  62. package/src/navigation/indicator.tsx +125 -125
  63. package/src/navigation/menu.tsx +94 -94
  64. package/src/navigation/segmented.tsx +136 -136
  65. package/src/navigation/styles.ts +438 -438
@@ -8,263 +8,263 @@
8
8
  */
9
9
  import { injectUiStyle } from '../foundation/style.js';
10
10
  /** 数据展示组件样式表。 */
11
- export const DATA_CSS = `
12
- /* ── 表格 ───────────────────────────────────────────────────────── */
13
- .dsh-ui .arco-table {
14
- font-size: 14px;
15
- line-height: 22px;
16
- color: var(--dsw-alias-label-primary);
17
- }
18
-
19
- .dsh-ui .arco-table-th {
20
- background-color: var(--dsw-alias-bg-module-platform);
21
- color: var(--dsw-alias-label-secondary);
22
- font-size: 13px;
23
- font-weight: 500;
24
- border-bottom: 0.5px solid var(--dsw-alias-border-l2);
25
- }
26
-
27
- .dsh-ui .arco-table-td {
28
- border-bottom: 0.5px solid var(--dsw-alias-border-l1);
29
- color: var(--dsw-alias-label-primary);
30
- }
31
-
32
- .dsh-ui .arco-table-tr:hover .arco-table-td {
33
- background-color: var(--dsw-alias-interactive-bg-hover);
34
- }
35
-
36
- .dsh-ui .arco-table-tbody > .arco-table-tr-checked .arco-table-td {
37
- background-color: var(--dsw-alias-button-ghost-active-fill);
38
- }
39
-
40
- .dsh-ui .arco-table-border .arco-table-th,
41
- .dsh-ui .arco-table-border .arco-table-td {
42
- border-right: 0.5px solid var(--dsw-alias-border-l1);
43
- }
44
-
45
- .dsh-ui .arco-table-pagination {
46
- margin-top: 16px;
47
- }
48
-
49
- .dsh-ui .arco-table-empty .arco-table-td {
50
- color: var(--dsw-alias-label-tertiary);
51
- }
52
-
53
- /* 固定列在滚动时应与内容区分开 */
54
- .dsh-ui .arco-table-col-fixed-left-last::after,
55
- .dsh-ui .arco-table-col-fixed-right-first::after {
56
- box-shadow: none;
57
- background: none;
58
- }
59
-
60
- .dsh-ui .arco-table .arco-table-col-fixed-left::before,
61
- .dsh-ui .arco-table .arco-table-col-fixed-right::before {
62
- box-shadow: none;
63
- }
64
-
65
- /* ── 列表 ───────────────────────────────────────────────────────── */
66
- .dsh-ui .arco-list {
67
- border-radius: var(--dsw-radius-lg, 16px);
68
- border-color: var(--dsw-alias-border-l1);
69
- background-color: transparent;
70
- }
71
-
72
- .dsh-ui .arco-list-item {
73
- border-bottom: 0.5px solid var(--dsw-alias-border-l1);
74
- color: var(--dsw-alias-label-primary);
75
- font-size: 14px;
76
- line-height: 22px;
77
- }
78
-
79
- .dsh-ui .arco-list-item-meta-title {
80
- color: var(--dsw-alias-label-primary);
81
- font-size: 14px;
82
- line-height: 22px;
83
- }
84
-
85
- .dsh-ui .arco-list-item-meta-description {
86
- color: var(--dsw-alias-label-tertiary);
87
- font-size: 13px;
88
- line-height: 20px;
89
- }
90
-
91
- /* ── 树 ─────────────────────────────────────────────────────────── */
92
- .dsh-ui .arco-tree-node-title {
93
- border-radius: var(--dsw-radius-sm, 8px);
94
- color: var(--dsw-alias-label-primary);
95
- font-size: 14px;
96
- line-height: 28px;
97
- padding: 0 8px;
98
- }
99
-
100
- @media (hover: hover) {
101
- .dsh-ui .arco-tree-node-title:hover {
102
- background-color: var(--dsw-alias-interactive-bg-hover);
103
- }
104
- }
105
-
106
- .dsh-ui .arco-tree-node-selected .arco-tree-node-title {
107
- background-color: var(--dsw-alias-button-ghost-active-fill);
108
- color: var(--dsw-alias-label-primary);
109
- font-weight: 500;
110
- }
111
-
112
- .dsh-ui .arco-tree-node-switcher {
113
- color: var(--dsw-alias-label-tertiary);
114
- }
115
-
116
- .dsh-ui .arco-tree-node-indent-block {
117
- width: 16px;
118
- }
119
-
120
- /* ── 日期与时间选择 ─────────────────────────────────────────────── */
121
- .dsh-ui .arco-picker {
122
- border-radius: var(--dsw-radius-md, 12px);
123
- font-family: inherit;
124
- font-size: 14px;
125
- }
126
-
127
- .dsh-ui .arco-picker:hover,
128
- .dsh-ui .arco-picker-focused {
129
- border-color: var(--dsw-alias-state-business-primary);
130
- }
131
-
132
- .dsh-ui-overlay .arco-picker-container,
133
- .dsh-ui .arco-picker-container {
134
- border-radius: var(--dsw-radius-lg, 16px);
135
- border: 0;
136
- background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-2));
137
- backdrop-filter: var(--dsw-menu-backdrop-filter, none);
138
- box-shadow: var(--dsw-elevation-prominent);
139
- }
140
-
141
- .dsh-ui-overlay .arco-picker-header,
142
- .dsh-ui .arco-picker-header {
143
- border-bottom: 0.5px solid var(--dsw-alias-border-l1);
144
- color: var(--dsw-alias-label-secondary);
145
- }
146
-
147
- .dsh-ui-overlay .arco-picker-cell-selected .arco-picker-date,
148
- .dsh-ui .arco-picker-cell-selected .arco-picker-date {
149
- background-color: var(--dsw-alias-brand-primary);
150
- color: var(--dsw-alias-label-primary-foreground);
151
- border-radius: var(--dsw-radius-sm, 8px);
152
- }
153
-
154
- .dsh-ui-overlay .arco-picker-cell-today::after,
155
- .dsh-ui .arco-picker-cell-today::after {
156
- background-color: var(--dsw-alias-brand-primary);
157
- }
158
-
159
- /* ── 级联与树选择 ───────────────────────────────────────────────── */
160
- .dsh-ui-overlay .arco-cascader-popup,
161
- .dsh-ui-overlay .arco-tree-select-popup,
162
- .dsh-ui .arco-cascader-popup,
163
- .dsh-ui .arco-tree-select-popup {
164
- border-radius: var(--dsw-radius-lg, 16px);
165
- border: 0;
166
- background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-2));
167
- box-shadow: var(--dsw-elevation-panel);
168
- padding: 4px;
169
- }
170
-
171
- .dsh-ui .arco-cascader-option,
172
- .dsh-ui .arco-tree-select-node-title {
173
- border-radius: var(--dsw-radius-sm, 8px);
174
- color: var(--dsw-alias-label-primary);
175
- font-size: 14px;
176
- line-height: 22px;
177
- }
178
-
179
- .dsh-ui .arco-cascader-option:hover,
180
- .dsh-ui .arco-tree-select-node-title:hover {
181
- background-color: var(--dsw-alias-interactive-bg-hover);
182
- }
183
-
184
- /* ── 统计与时间线 ───────────────────────────────────────────────── */
185
- .dsh-ui .arco-statistic-title {
186
- font-size: 13px;
187
- line-height: 20px;
188
- color: var(--dsw-alias-label-tertiary);
189
- }
190
-
191
- .dsh-ui .arco-statistic-value {
192
- font-size: 22px;
193
- line-height: 30px;
194
- font-weight: 600;
195
- color: var(--dsw-alias-label-primary);
196
- }
197
-
198
- .dsh-ui .arco-timeline-item-dot {
199
- border-color: var(--dsw-alias-brand-primary);
200
- background-color: var(--dsw-alias-bg-base);
201
- }
202
-
203
- .dsh-ui .arco-timeline-item-dot-custom {
204
- background-color: transparent;
205
- }
206
-
207
- .dsh-ui .arco-timeline-item-tail {
208
- border-left: 0.5px solid var(--dsw-alias-border-l2);
209
- }
210
-
211
- .dsh-ui .arco-timeline-item-content {
212
- font-size: 14px;
213
- line-height: 22px;
214
- color: var(--dsw-alias-label-primary);
215
- }
216
-
217
- .dsh-ui .arco-timeline-item-label {
218
- font-size: 12px;
219
- line-height: 18px;
220
- color: var(--dsw-alias-label-tertiary);
221
- }
222
-
223
- /* ── 图片与轮播 ─────────────────────────────────────────────────── */
224
- .dsh-ui .arco-image {
225
- border-radius: var(--dsw-radius-lg, 16px);
226
- overflow: hidden;
227
- }
228
-
229
- .dsh-ui .arco-image-preview-toolbar {
230
- border-radius: var(--dsw-radius-md, 12px);
231
- background-color: var(--dsw-alias-bg-mask-3);
232
- }
233
-
234
- .dsh-ui .arco-carousel-indicator-item {
235
- border-radius: 999px;
236
- corner-shape: round;
237
- background-color: var(--dsw-alias-bg-mask-drop);
238
- }
239
-
240
- .dsh-ui .arco-carousel-indicator-item-active {
241
- background-color: var(--dsw-alias-label-primary);
242
- }
243
-
244
- /* ── 日历 ───────────────────────────────────────────────────────── */
245
- .dsh-ui .arco-calendar {
246
- border-radius: var(--dsw-radius-lg, 16px);
247
- border-color: var(--dsw-alias-border-l1);
248
- }
249
-
250
- .dsh-ui .arco-calendar-header {
251
- border-bottom: 0.5px solid var(--dsw-alias-border-l1);
252
- }
253
-
254
- .dsh-ui .arco-calendar-cell {
255
- color: var(--dsw-alias-label-primary);
256
- }
257
-
258
- .dsh-ui .arco-calendar-cell-today {
259
- color: var(--dsw-alias-state-business-primary);
260
- }
261
-
262
- @media (prefers-reduced-motion: reduce) {
263
- .dsh-ui .arco-tree-node-title,
264
- .dsh-ui .arco-table-td {
265
- transition: none;
266
- }
267
- }
11
+ export const DATA_CSS = `
12
+ /* ── 表格 ───────────────────────────────────────────────────────── */
13
+ .dsh-ui .arco-table {
14
+ font-size: 14px;
15
+ line-height: 22px;
16
+ color: var(--dsw-alias-label-primary);
17
+ }
18
+
19
+ .dsh-ui .arco-table-th {
20
+ background-color: var(--dsw-alias-bg-module-platform);
21
+ color: var(--dsw-alias-label-secondary);
22
+ font-size: 13px;
23
+ font-weight: 500;
24
+ border-bottom: 0.5px solid var(--dsw-alias-border-l2);
25
+ }
26
+
27
+ .dsh-ui .arco-table-td {
28
+ border-bottom: 0.5px solid var(--dsw-alias-border-l1);
29
+ color: var(--dsw-alias-label-primary);
30
+ }
31
+
32
+ .dsh-ui .arco-table-tr:hover .arco-table-td {
33
+ background-color: var(--dsw-alias-interactive-bg-hover);
34
+ }
35
+
36
+ .dsh-ui .arco-table-tbody > .arco-table-tr-checked .arco-table-td {
37
+ background-color: var(--dsw-alias-button-ghost-active-fill);
38
+ }
39
+
40
+ .dsh-ui .arco-table-border .arco-table-th,
41
+ .dsh-ui .arco-table-border .arco-table-td {
42
+ border-right: 0.5px solid var(--dsw-alias-border-l1);
43
+ }
44
+
45
+ .dsh-ui .arco-table-pagination {
46
+ margin-top: 16px;
47
+ }
48
+
49
+ .dsh-ui .arco-table-empty .arco-table-td {
50
+ color: var(--dsw-alias-label-tertiary);
51
+ }
52
+
53
+ /* 固定列在滚动时应与内容区分开 */
54
+ .dsh-ui .arco-table-col-fixed-left-last::after,
55
+ .dsh-ui .arco-table-col-fixed-right-first::after {
56
+ box-shadow: none;
57
+ background: none;
58
+ }
59
+
60
+ .dsh-ui .arco-table .arco-table-col-fixed-left::before,
61
+ .dsh-ui .arco-table .arco-table-col-fixed-right::before {
62
+ box-shadow: none;
63
+ }
64
+
65
+ /* ── 列表 ───────────────────────────────────────────────────────── */
66
+ .dsh-ui .arco-list {
67
+ border-radius: var(--dsw-radius-lg, 16px);
68
+ border-color: var(--dsw-alias-border-l1);
69
+ background-color: transparent;
70
+ }
71
+
72
+ .dsh-ui .arco-list-item {
73
+ border-bottom: 0.5px solid var(--dsw-alias-border-l1);
74
+ color: var(--dsw-alias-label-primary);
75
+ font-size: 14px;
76
+ line-height: 22px;
77
+ }
78
+
79
+ .dsh-ui .arco-list-item-meta-title {
80
+ color: var(--dsw-alias-label-primary);
81
+ font-size: 14px;
82
+ line-height: 22px;
83
+ }
84
+
85
+ .dsh-ui .arco-list-item-meta-description {
86
+ color: var(--dsw-alias-label-tertiary);
87
+ font-size: 13px;
88
+ line-height: 20px;
89
+ }
90
+
91
+ /* ── 树 ─────────────────────────────────────────────────────────── */
92
+ .dsh-ui .arco-tree-node-title {
93
+ border-radius: var(--dsw-radius-sm, 8px);
94
+ color: var(--dsw-alias-label-primary);
95
+ font-size: 14px;
96
+ line-height: 28px;
97
+ padding: 0 8px;
98
+ }
99
+
100
+ @media (hover: hover) {
101
+ .dsh-ui .arco-tree-node-title:hover {
102
+ background-color: var(--dsw-alias-interactive-bg-hover);
103
+ }
104
+ }
105
+
106
+ .dsh-ui .arco-tree-node-selected .arco-tree-node-title {
107
+ background-color: var(--dsw-alias-button-ghost-active-fill);
108
+ color: var(--dsw-alias-label-primary);
109
+ font-weight: 500;
110
+ }
111
+
112
+ .dsh-ui .arco-tree-node-switcher {
113
+ color: var(--dsw-alias-label-tertiary);
114
+ }
115
+
116
+ .dsh-ui .arco-tree-node-indent-block {
117
+ width: 16px;
118
+ }
119
+
120
+ /* ── 日期与时间选择 ─────────────────────────────────────────────── */
121
+ .dsh-ui .arco-picker {
122
+ border-radius: var(--dsw-radius-md, 12px);
123
+ font-family: inherit;
124
+ font-size: 14px;
125
+ }
126
+
127
+ .dsh-ui .arco-picker:hover,
128
+ .dsh-ui .arco-picker-focused {
129
+ border-color: var(--dsw-alias-state-business-primary);
130
+ }
131
+
132
+ .dsh-ui-overlay .arco-picker-container,
133
+ .dsh-ui .arco-picker-container {
134
+ border-radius: var(--dsw-radius-lg, 16px);
135
+ border: 0;
136
+ background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-2));
137
+ backdrop-filter: var(--dsw-menu-backdrop-filter, none);
138
+ box-shadow: var(--dsw-elevation-prominent);
139
+ }
140
+
141
+ .dsh-ui-overlay .arco-picker-header,
142
+ .dsh-ui .arco-picker-header {
143
+ border-bottom: 0.5px solid var(--dsw-alias-border-l1);
144
+ color: var(--dsw-alias-label-secondary);
145
+ }
146
+
147
+ .dsh-ui-overlay .arco-picker-cell-selected .arco-picker-date,
148
+ .dsh-ui .arco-picker-cell-selected .arco-picker-date {
149
+ background-color: var(--dsw-alias-brand-primary);
150
+ color: var(--dsw-alias-label-primary-foreground);
151
+ border-radius: var(--dsw-radius-sm, 8px);
152
+ }
153
+
154
+ .dsh-ui-overlay .arco-picker-cell-today::after,
155
+ .dsh-ui .arco-picker-cell-today::after {
156
+ background-color: var(--dsw-alias-brand-primary);
157
+ }
158
+
159
+ /* ── 级联与树选择 ───────────────────────────────────────────────── */
160
+ .dsh-ui-overlay .arco-cascader-popup,
161
+ .dsh-ui-overlay .arco-tree-select-popup,
162
+ .dsh-ui .arco-cascader-popup,
163
+ .dsh-ui .arco-tree-select-popup {
164
+ border-radius: var(--dsw-radius-lg, 16px);
165
+ border: 0;
166
+ background: var(--dsw-specific-menu, var(--dsw-alias-bg-layer-2));
167
+ box-shadow: var(--dsw-elevation-panel);
168
+ padding: 4px;
169
+ }
170
+
171
+ .dsh-ui .arco-cascader-option,
172
+ .dsh-ui .arco-tree-select-node-title {
173
+ border-radius: var(--dsw-radius-sm, 8px);
174
+ color: var(--dsw-alias-label-primary);
175
+ font-size: 14px;
176
+ line-height: 22px;
177
+ }
178
+
179
+ .dsh-ui .arco-cascader-option:hover,
180
+ .dsh-ui .arco-tree-select-node-title:hover {
181
+ background-color: var(--dsw-alias-interactive-bg-hover);
182
+ }
183
+
184
+ /* ── 统计与时间线 ───────────────────────────────────────────────── */
185
+ .dsh-ui .arco-statistic-title {
186
+ font-size: 13px;
187
+ line-height: 20px;
188
+ color: var(--dsw-alias-label-tertiary);
189
+ }
190
+
191
+ .dsh-ui .arco-statistic-value {
192
+ font-size: 22px;
193
+ line-height: 30px;
194
+ font-weight: 600;
195
+ color: var(--dsw-alias-label-primary);
196
+ }
197
+
198
+ .dsh-ui .arco-timeline-item-dot {
199
+ border-color: var(--dsw-alias-brand-primary);
200
+ background-color: var(--dsw-alias-bg-base);
201
+ }
202
+
203
+ .dsh-ui .arco-timeline-item-dot-custom {
204
+ background-color: transparent;
205
+ }
206
+
207
+ .dsh-ui .arco-timeline-item-tail {
208
+ border-left: 0.5px solid var(--dsw-alias-border-l2);
209
+ }
210
+
211
+ .dsh-ui .arco-timeline-item-content {
212
+ font-size: 14px;
213
+ line-height: 22px;
214
+ color: var(--dsw-alias-label-primary);
215
+ }
216
+
217
+ .dsh-ui .arco-timeline-item-label {
218
+ font-size: 12px;
219
+ line-height: 18px;
220
+ color: var(--dsw-alias-label-tertiary);
221
+ }
222
+
223
+ /* ── 图片与轮播 ─────────────────────────────────────────────────── */
224
+ .dsh-ui .arco-image {
225
+ border-radius: var(--dsw-radius-lg, 16px);
226
+ overflow: hidden;
227
+ }
228
+
229
+ .dsh-ui .arco-image-preview-toolbar {
230
+ border-radius: var(--dsw-radius-md, 12px);
231
+ background-color: var(--dsw-alias-bg-mask-3);
232
+ }
233
+
234
+ .dsh-ui .arco-carousel-indicator-item {
235
+ border-radius: 999px;
236
+ corner-shape: round;
237
+ background-color: var(--dsw-alias-bg-mask-drop);
238
+ }
239
+
240
+ .dsh-ui .arco-carousel-indicator-item-active {
241
+ background-color: var(--dsw-alias-label-primary);
242
+ }
243
+
244
+ /* ── 日历 ───────────────────────────────────────────────────────── */
245
+ .dsh-ui .arco-calendar {
246
+ border-radius: var(--dsw-radius-lg, 16px);
247
+ border-color: var(--dsw-alias-border-l1);
248
+ }
249
+
250
+ .dsh-ui .arco-calendar-header {
251
+ border-bottom: 0.5px solid var(--dsw-alias-border-l1);
252
+ }
253
+
254
+ .dsh-ui .arco-calendar-cell {
255
+ color: var(--dsw-alias-label-primary);
256
+ }
257
+
258
+ .dsh-ui .arco-calendar-cell-today {
259
+ color: var(--dsw-alias-state-business-primary);
260
+ }
261
+
262
+ @media (prefers-reduced-motion: reduce) {
263
+ .dsh-ui .arco-tree-node-title,
264
+ .dsh-ui .arco-table-td {
265
+ transition: none;
266
+ }
267
+ }
268
268
  `;
269
269
  /**
270
270
  * 注入数据展示组件样式。幂等。