@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
package/docs/tokens.md CHANGED
@@ -1,67 +1,67 @@
1
- # DSH 令牌对照表
2
-
3
- 本表记录本包桥接的 Arco 变量与 DSH 语义令牌之间的对应关系。左边是 Arco 组件实际消费的变量,右边是本包改写成的宿主令牌。
4
-
5
- 修改 `src/foundation/bridge.ts` 时同步更新本表;`npm run verify:tokens` 会核对右列令牌名在宿主样式表中确实存在。
6
-
7
- ## 文字层级
8
-
9
- | Arco 变量 | DSH 令牌 | 用途 |
10
- |---|---|---|
11
- | `--color-text-1` | `--dsw-alias-label-primary` | 正文与标题 |
12
- | `--color-text-2` | `--dsw-alias-label-secondary` | 次要文字、说明 |
13
- | `--color-text-3` | `--dsw-alias-label-tertiary` | 提示、单位、占位 |
14
- | `--color-text-4` | `--dsw-alias-label-caption` | 禁用与极弱文字 |
15
-
16
- ## 背景与边框
17
-
18
- | Arco 变量 | DSH 令牌 |
19
- |---|---|
20
- | `--color-bg-1` | `--dsw-alias-bg-base` |
21
- | `--color-bg-2` | `--dsw-alias-bg-layer-1` |
22
- | `--color-bg-3` | `--dsw-alias-bg-layer-2` |
23
- | `--color-bg-4`、`--color-bg-5` | `--dsw-alias-bg-layer-3` |
24
- | `--color-border`、`--color-border-2` | `--dsw-alias-border-l2` |
25
- | `--color-border-1` | `--dsw-alias-border-l1` |
26
- | `--color-border-3` | `--dsw-alias-border-l3` |
27
- | `--color-border-4` | `--dsw-alias-border-l4` |
28
- | `--color-fill-2` | `--dsw-alias-interactive-bg-hover` |
29
- | `--color-fill-3` | `--dsw-alias-interactive-bg-hover-solid` |
30
- | `--color-fill-4` | `--dsw-alias-interactive-bg-active` |
31
-
32
- ## 圆角
33
-
34
- 按 DSH 圆角标准重绑,取值与 `docs/ui-radius.md` 一致。
35
-
36
- | Arco 变量 | 取值 | 对应角色 |
37
- |---|---|---|
38
- | `--border-radius-small` | `--dsw-radius-sm`(8px) | H20–28 的紧凑控件 |
39
- | `--border-radius-medium` | `--dsw-radius-md`(12px) | H32–40 的标准控件 |
40
- | `--border-radius-large` | `--dsw-radius-lg`(16px) | 分组内容与多行单元格 |
41
- | `--border-radius-circle` | `50%` | 圆形头像与圆点 |
42
-
43
- ## 浮层与状态
44
-
45
- | 用途 | DSH 令牌 |
46
- |---|---|
47
- | 菜单与下拉表面 | `--dsw-specific-menu` + `--dsw-menu-backdrop-filter` |
48
- | 浮起阴影 | `--dsw-elevation-panel` / `--dsw-elevation-prominent` / `--dsw-elevation-soft` |
49
- | Tooltip 背景与文字 | `--dsw-alias-tooltip-bg` / `--dsw-alias-tooltip-label` |
50
- | 遮罩 | `--dsw-alias-bg-mask-1` |
51
- | 业务强调(品牌蓝) | `--dsw-alias-state-business-primary` |
52
- | 成功 | `--dsw-alias-state-success-primary` |
53
- | 警告 | `--dsw-alias-state-warn-primary` |
54
- | 错误 | `--dsw-alias-state-error-primary` |
55
- | 主按钮 | `--dsw-alias-button-primary-fill` / `--dsw-alias-button-primary-hover` |
56
- | 焦点环 | `--dsw-focus-ring-width` + `--dsw-alias-state-business-primary` |
57
- | 等宽字体 | `--ds-font-family-code` |
58
-
59
- ## 需要三元组字面量的部分
60
-
61
- Arco 以 `rgb(var(--primary-6))` 的形式消费色阶,无法引用一个 `rgb(...)` 字符串令牌,因此以下色阶以 `R,G,B` 三元组写死在 `src/foundation/bridge.ts`,深浅主题各一份:
62
-
63
- `--primary-1..10`、`--gray-1..10`、`--arcoblue-1..10`、`--blue-*`、`--green-*`、`--red-*`、`--orange-*`、`--orangered-*`、`--gold-*`、`--success-*`、`--warning-*`、`--danger-*`、`--link-*`。
64
-
65
- 基准色取自 `src/foundation/palette.ts` 的 `STATIC`,该表逐项对应宿主 `design-platform.css` 的 `--dsw-static-*`。宿主换配色时改这张表,色阶由 `ramp()` 自动展开。
66
-
67
- 浅色主题的主色基准是宿主的中性近黑色 `rgb(15,17,21)`,深色主题是近白色 `rgb(249,250,251)`:DSH 的主按钮本来就是中性色,品牌蓝只用于链接与强调。
1
+ # DSH 令牌对照表
2
+
3
+ 本表记录本包桥接的 Arco 变量与 DSH 语义令牌之间的对应关系。左边是 Arco 组件实际消费的变量,右边是本包改写成的宿主令牌。
4
+
5
+ 修改 `src/foundation/bridge.ts` 时同步更新本表;`npm run verify:tokens` 会核对右列令牌名在宿主样式表中确实存在。
6
+
7
+ ## 文字层级
8
+
9
+ | Arco 变量 | DSH 令牌 | 用途 |
10
+ |---|---|---|
11
+ | `--color-text-1` | `--dsw-alias-label-primary` | 正文与标题 |
12
+ | `--color-text-2` | `--dsw-alias-label-secondary` | 次要文字、说明 |
13
+ | `--color-text-3` | `--dsw-alias-label-tertiary` | 提示、单位、占位 |
14
+ | `--color-text-4` | `--dsw-alias-label-caption` | 禁用与极弱文字 |
15
+
16
+ ## 背景与边框
17
+
18
+ | Arco 变量 | DSH 令牌 |
19
+ |---|---|
20
+ | `--color-bg-1` | `--dsw-alias-bg-base` |
21
+ | `--color-bg-2` | `--dsw-alias-bg-layer-1` |
22
+ | `--color-bg-3` | `--dsw-alias-bg-layer-2` |
23
+ | `--color-bg-4`、`--color-bg-5` | `--dsw-alias-bg-layer-3` |
24
+ | `--color-border`、`--color-border-2` | `--dsw-alias-border-l2` |
25
+ | `--color-border-1` | `--dsw-alias-border-l1` |
26
+ | `--color-border-3` | `--dsw-alias-border-l3` |
27
+ | `--color-border-4` | `--dsw-alias-border-l4` |
28
+ | `--color-fill-2` | `--dsw-alias-interactive-bg-hover` |
29
+ | `--color-fill-3` | `--dsw-alias-interactive-bg-hover-solid` |
30
+ | `--color-fill-4` | `--dsw-alias-interactive-bg-active` |
31
+
32
+ ## 圆角
33
+
34
+ 按 DSH 圆角标准重绑,取值与 `docs/ui-radius.md` 一致。
35
+
36
+ | Arco 变量 | 取值 | 对应角色 |
37
+ |---|---|---|
38
+ | `--border-radius-small` | `--dsw-radius-sm`(8px) | H20–28 的紧凑控件 |
39
+ | `--border-radius-medium` | `--dsw-radius-md`(12px) | H32–40 的标准控件 |
40
+ | `--border-radius-large` | `--dsw-radius-lg`(16px) | 分组内容与多行单元格 |
41
+ | `--border-radius-circle` | `50%` | 圆形头像与圆点 |
42
+
43
+ ## 浮层与状态
44
+
45
+ | 用途 | DSH 令牌 |
46
+ |---|---|
47
+ | 菜单与下拉表面 | `--dsw-specific-menu` + `--dsw-menu-backdrop-filter` |
48
+ | 浮起阴影 | `--dsw-elevation-panel` / `--dsw-elevation-prominent` / `--dsw-elevation-soft` |
49
+ | Tooltip 背景与文字 | `--dsw-alias-tooltip-bg` / `--dsw-alias-tooltip-label` |
50
+ | 遮罩 | `--dsw-alias-bg-mask-1` |
51
+ | 业务强调(品牌蓝) | `--dsw-alias-state-business-primary` |
52
+ | 成功 | `--dsw-alias-state-success-primary` |
53
+ | 警告 | `--dsw-alias-state-warn-primary` |
54
+ | 错误 | `--dsw-alias-state-error-primary` |
55
+ | 主按钮 | `--dsw-alias-button-primary-fill` / `--dsw-alias-button-primary-hover` |
56
+ | 焦点环 | `--dsw-focus-ring-width` + `--dsw-alias-state-business-primary` |
57
+ | 等宽字体 | `--ds-font-family-code` |
58
+
59
+ ## 需要三元组字面量的部分
60
+
61
+ Arco 以 `rgb(var(--primary-6))` 的形式消费色阶,无法引用一个 `rgb(...)` 字符串令牌,因此以下色阶以 `R,G,B` 三元组写死在 `src/foundation/bridge.ts`,深浅主题各一份:
62
+
63
+ `--primary-1..10`、`--gray-1..10`、`--arcoblue-1..10`、`--blue-*`、`--green-*`、`--red-*`、`--orange-*`、`--orangered-*`、`--gold-*`、`--success-*`、`--warning-*`、`--danger-*`、`--link-*`。
64
+
65
+ 基准色取自 `src/foundation/palette.ts` 的 `STATIC`,该表逐项对应宿主 `design-platform.css` 的 `--dsw-static-*`。宿主换配色时改这张表,色阶由 `ramp()` 自动展开。
66
+
67
+ 浅色主题的主色基准是宿主的中性近黑色 `rgb(15,17,21)`,深色主题是近白色 `rgb(249,250,251)`:DSH 的主按钮本来就是中性色,品牌蓝只用于链接与强调。
package/lib/basic/form.js CHANGED
@@ -3,55 +3,55 @@ import { Arco } from '@dsh-plugin/dsh-loader/client';
3
3
  import { cx, injectUiStyle } from '../foundation/style.js';
4
4
  import { injectBasicStyles } from './styles.js';
5
5
  /** 字段容器的样式表,单独一张,避免与控件表混在一起。 */
6
- const FIELD_CSS = `
7
- .dsh-field {
8
- display: flex;
9
- flex-direction: column;
10
- gap: 6px;
11
- min-width: 0;
12
- }
13
-
14
- .dsh-field__label {
15
- font-size: 13px;
16
- font-weight: 500;
17
- line-height: 20px;
18
- color: var(--dsw-alias-label-secondary);
19
- }
20
-
21
- .dsh-field__required {
22
- margin-left: 2px;
23
- color: var(--dsw-alias-state-error-primary);
24
- }
25
-
26
- .dsh-field__desc {
27
- font-size: 12px;
28
- line-height: 18px;
29
- color: var(--dsw-alias-label-tertiary);
30
- }
31
-
32
- .dsh-field__error {
33
- font-size: 12px;
34
- line-height: 18px;
35
- color: var(--dsw-alias-state-error-primary);
36
- }
37
-
38
- .dsh-field--inline {
39
- flex-direction: row;
40
- align-items: center;
41
- justify-content: space-between;
42
- gap: 16px;
43
- }
44
-
45
- .dsh-field__text {
46
- display: flex;
47
- flex-direction: column;
48
- gap: 2px;
49
- min-width: 0;
50
- }
51
-
52
- .dsh-field--inline .dsh-field__text {
53
- flex: 1 1 auto;
54
- }
6
+ const FIELD_CSS = `
7
+ .dsh-field {
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: 6px;
11
+ min-width: 0;
12
+ }
13
+
14
+ .dsh-field__label {
15
+ font-size: 13px;
16
+ font-weight: 500;
17
+ line-height: 20px;
18
+ color: var(--dsw-alias-label-secondary);
19
+ }
20
+
21
+ .dsh-field__required {
22
+ margin-left: 2px;
23
+ color: var(--dsw-alias-state-error-primary);
24
+ }
25
+
26
+ .dsh-field__desc {
27
+ font-size: 12px;
28
+ line-height: 18px;
29
+ color: var(--dsw-alias-label-tertiary);
30
+ }
31
+
32
+ .dsh-field__error {
33
+ font-size: 12px;
34
+ line-height: 18px;
35
+ color: var(--dsw-alias-state-error-primary);
36
+ }
37
+
38
+ .dsh-field--inline {
39
+ flex-direction: row;
40
+ align-items: center;
41
+ justify-content: space-between;
42
+ gap: 16px;
43
+ }
44
+
45
+ .dsh-field__text {
46
+ display: flex;
47
+ flex-direction: column;
48
+ gap: 2px;
49
+ min-width: 0;
50
+ }
51
+
52
+ .dsh-field--inline .dsh-field__text {
53
+ flex: 1 1 auto;
54
+ }
55
55
  `;
56
56
  /**
57
57
  * 注入字段样式。