@morlay/dsh-client-ui-primitives 0.0.7 → 0.0.9

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 (83) hide show
  1. package/README.md +32 -9
  2. package/dist/client-DYp99CgT.mjs +3730 -0
  3. package/dist/client-uyVkC7mu.cjs +17197 -0
  4. package/dist/client.cjs +54 -0
  5. package/dist/client.d.cts +4 -0
  6. package/dist/client.d.mts +3 -11680
  7. package/dist/client.mjs +3 -4575
  8. package/dist/index-AMHtcyMt.d.mts +647 -0
  9. package/dist/index.cjs +54 -0
  10. package/dist/index.d.mts +4 -5
  11. package/dist/index.mjs +4 -5
  12. package/dist/reference-hchCWm3z.cjs +482 -0
  13. package/dist/reference.cjs +4 -0
  14. package/dist/reference.d.mts +3 -0
  15. package/dist/reference.mjs +1 -0
  16. package/package.json +31 -35
  17. package/src/client/controls/Bubble.module.css +17 -0
  18. package/src/client/controls/Bubble.tsx +17 -0
  19. package/src/client/controls/Button.module.css +10 -0
  20. package/src/client/controls/Button.tsx +29 -0
  21. package/src/client/controls/DisclosureRow.module.css +22 -0
  22. package/src/client/controls/DisclosureRow.tsx +20 -0
  23. package/src/client/controls/IconButton.module.css +50 -0
  24. package/src/client/controls/IconButton.tsx +47 -0
  25. package/src/client/controls/ModelRouteList.module.css +100 -0
  26. package/src/client/controls/ModelRouteList.tsx +118 -0
  27. package/src/client/controls/MultilineField.module.css +26 -0
  28. package/src/client/controls/MultilineField.tsx +19 -0
  29. package/src/client/controls/SearchSelect.module.css +34 -0
  30. package/src/client/controls/SearchSelect.tsx +138 -0
  31. package/src/client/controls/SeatButton.module.css +53 -0
  32. package/src/client/controls/SeatButton.tsx +39 -0
  33. package/src/client/controls/Spinner.module.css +18 -0
  34. package/src/client/controls/Spinner.tsx +14 -0
  35. package/src/client/controls/TagInput.module.css +105 -0
  36. package/src/client/controls/TagInput.tsx +152 -0
  37. package/src/client/controls/TimeLabel.module.css +16 -0
  38. package/src/client/controls/TimeLabel.tsx +15 -0
  39. package/src/client/controls/VisuallyHidden.module.css +9 -0
  40. package/src/client/controls/VisuallyHidden.tsx +16 -0
  41. package/src/client/controls/classes.ts +5 -0
  42. package/src/client/controls/index.ts +24 -0
  43. package/src/client/controls/tags.ts +24 -0
  44. package/src/client/index.ts +16 -2
  45. package/src/client/layout/Row.tsx +89 -0
  46. package/src/client/layout/Stack.tsx +82 -0
  47. package/src/client/layout/Text.tsx +61 -0
  48. package/src/client/layout/index.ts +16 -0
  49. package/src/client/layout/layout.module.css +217 -0
  50. package/src/client/layout/scales.ts +91 -0
  51. package/src/client/schema-form/Editor.tsx +65 -65
  52. package/src/client/schema-form/SchemaForm.tsx +9 -4
  53. package/src/client/schema-form/controller.ts +5 -2
  54. package/src/client/schema-form/geometry.ts +3 -0
  55. package/src/client/schema-form/index.ts +5 -0
  56. package/src/client/schema-form/schema-form.module.css +335 -0
  57. package/src/client/schema-form/testing/fake-scope.ts +0 -1
  58. package/src/client/schema-form/value.tsx +15 -9
  59. package/src/client/settings-form/SettingsFieldRow.module.css +93 -0
  60. package/src/client/settings-form/SettingsFieldRow.tsx +105 -0
  61. package/src/client/settings-form/index.ts +5 -18
  62. package/src/css-modules.d.ts +6 -0
  63. package/src/index.ts +6 -2
  64. package/src/reference-markdown.tsx +2 -6
  65. package/dist/rolldown-runtime-EAsCxrDo.mjs +0 -14
  66. package/locale/en.json +0 -6
  67. package/locale/zh.json +0 -6
  68. package/src/client/schema-form/styles.ts +0 -321
  69. package/src/client/settings-form/SettingsForm.styles.ts +0 -58
  70. package/src/client/settings-form/SettingsForm.tsx +0 -68
  71. package/src/client/settings-form/fields.styles.ts +0 -158
  72. package/src/client/settings-form/fields.tsx +0 -184
  73. package/src/client/settings-form/form-model.ts +0 -339
  74. package/src/client/styling/css.ts +0 -27
  75. package/src/client/styling/focus.ts +0 -9
  76. package/src/client/styling/index.ts +0 -6
  77. package/src/client/styling/styled.tsx +0 -54
  78. package/src/client/styling/styling.ts +0 -142
  79. package/src/client/styling/token.ts +0 -275
  80. package/src/client/styling/toolkit.ts +0 -37
  81. package/src/client/theme.generated.ts +0 -846
  82. package/src/client/theme.ts +0 -5
  83. /package/src/{client/markdown-text.ts → markdown-text.ts} +0 -0
package/README.md CHANGED
@@ -1,9 +1,12 @@
1
1
  # @morlay/dsh-client-ui-primitives
2
2
 
3
- 对话 UI 与设置页共用的**基础面**:**css-in-js 样式层**(`styled` / `Token` / `dsw`,消费官方主题注入的
4
- `--dsw-*`,源码可直接加载)、**引用解析与渲染转换**(host 与 client 共用唯一一份源码,
5
- [`@morlay/dsh-reference`](../../context/dsh-reference/README.md) 的引用展开复用 host 那半),以及**设置面原语**
6
- (从上游 fork 的暂存式表单原语,与按 schema 自动生成的行配置页)。
3
+ 对话 UI 与设置页共用的**基础面**:上游那套样式、官方基础组件的统一出口(`Button` / `Menu` / `Input` / `Modal` /
4
+ `Switch` / `SettingsForm` / 图标 …)、布局原语(`Stack` / `Row` / `Text`)、这套界面自有的控件(字段行 / 可搜索
5
+ 选择器 / 标签输入 / 图标按钮 …)、按 schema 自动生成的行配置页,以及引用解析与渲染(host 与 client 共用唯一一份
6
+ 源码,[`@morlay/dsh-reference`](../../context/dsh-reference/README.md) 的引用展开复用 host 那半)。
7
+
8
+ 样式与控件的写法约束见[规范 how-to-write](./.agents/standards/how-to-write.md);schema 表单、字段槽与装配形态的
9
+ 机制见[设计 按 schema 自动生成行配置表单与字段槽注入](./.agents/designs/20260924-schema自动生成行配置表单与字段槽注入.md)。
7
10
 
8
11
  ## 用法
9
12
 
@@ -21,7 +24,7 @@ export const Config = z.object({
21
24
  ```
22
25
 
23
26
  ```tsx
24
- // 想给某个字段换控件或只改文案:注册 chain 槽(select 返回 null 才是不认领)
27
+ // 想给某个字段换控件或只改文案:注册 chain 槽
25
28
  import {
26
29
  SchemaFieldDefault,
27
30
  type SchemaFieldComponentProps,
@@ -40,7 +43,7 @@ ctx.slots.inject("settings.schema-form.field", () =>
40
43
  );
41
44
  ```
42
45
 
43
- 设置表单原语是暂存式的:控件只上报用户输入,`save` 是唯一写盘点。
46
+ 设置表单原语:
44
47
 
45
48
  ```ts
46
49
  import { SettingsFormModel, settingsNumberField } from "@morlay/dsh-client-ui-primitives/client";
@@ -48,6 +51,26 @@ import { SettingsFormModel, settingsNumberField } from "@morlay/dsh-client-ui-pr
48
51
  const form = new SettingsFormModel(scope, [settingsNumberField("timeoutMs")]);
49
52
  ```
50
53
 
51
- 装配:**不是装配行**——client 半随用到它的 client 行内联(清单里标 `dsh.client.inline`,devkit 因此不把它当
52
- 模块表里的行外置),装配入口 `apply` 由那些行各自调用、按服务在场与否幂等去重;`styling` 单例跨副本共享一份。
53
- 取舍见 [ADR 基础面暂时内联而不是装配行](./.agents/adrs/20261001-暂时内联而不是装配行.md)。
54
+ 业务页面组设置面时,控件与字段摆位都从这里取:
55
+
56
+ ```tsx
57
+ import {
58
+ IconButton,
59
+ SearchSelect,
60
+ SettingsFieldRow,
61
+ TagInput,
62
+ } from "@morlay/dsh-client-ui-primitives/client";
63
+
64
+ <SettingsFieldRow label="允许的工具" hint="留空 = 不限制" divider layout="inline">
65
+ <TagInput
66
+ value={tools}
67
+ onChange={setTools}
68
+ placeholder="加一个后回车,或粘贴一串"
69
+ label="允许的工具"
70
+ removeLabel={(name) => `移除 ${name}`}
71
+ />
72
+ </SettingsFieldRow>;
73
+ ```
74
+
75
+ 装配:**不是装配行**——client 半随用到它的 client 行内联,`apply` 由那些行各自调用、幂等去重。取舍见
76
+ [ADR 基础面暂时内联而不是装配行](./.agents/adrs/20261001-暂时内联而不是装配行.md)。