@morlay/dsh-client-ui-primitives 0.0.6 → 0.0.8

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 (76) hide show
  1. package/README.md +31 -6
  2. package/dist/client.d.mts +186 -11175
  3. package/dist/client.mjs +3730 -0
  4. package/locale/en.json +1 -1
  5. package/locale/zh.json +1 -1
  6. package/package.json +23 -34
  7. package/src/client/controls/Bubble.module.css +17 -0
  8. package/src/client/controls/Bubble.tsx +17 -0
  9. package/src/client/controls/Button.module.css +10 -0
  10. package/src/client/controls/Button.tsx +29 -0
  11. package/src/client/controls/DisclosureRow.module.css +22 -0
  12. package/src/client/controls/DisclosureRow.tsx +20 -0
  13. package/src/client/controls/IconButton.module.css +50 -0
  14. package/src/client/controls/IconButton.tsx +45 -0
  15. package/src/client/controls/ModelRouteList.module.css +100 -0
  16. package/src/client/controls/ModelRouteList.tsx +118 -0
  17. package/src/client/controls/MultilineField.module.css +26 -0
  18. package/src/client/controls/MultilineField.tsx +19 -0
  19. package/src/client/controls/SearchInput.module.css +11 -0
  20. package/src/client/controls/SearchInput.tsx +22 -0
  21. package/src/client/controls/SearchSelect.module.css +34 -0
  22. package/src/client/controls/SearchSelect.tsx +138 -0
  23. package/src/client/controls/SeatButton.module.css +53 -0
  24. package/src/client/controls/SeatButton.tsx +40 -0
  25. package/src/client/controls/Spinner.module.css +18 -0
  26. package/src/client/controls/Spinner.tsx +14 -0
  27. package/src/client/controls/Tabs.module.css +48 -0
  28. package/src/client/controls/Tabs.tsx +57 -0
  29. package/src/client/controls/TagInput.module.css +105 -0
  30. package/src/client/controls/TagInput.tsx +152 -0
  31. package/src/client/controls/TimeLabel.module.css +16 -0
  32. package/src/client/controls/TimeLabel.tsx +15 -0
  33. package/src/client/controls/VisuallyHidden.module.css +9 -0
  34. package/src/client/controls/VisuallyHidden.tsx +16 -0
  35. package/src/client/controls/classes.ts +7 -0
  36. package/src/client/controls/index.ts +30 -0
  37. package/src/client/controls/tags.ts +24 -0
  38. package/src/client/index.ts +17 -9
  39. package/src/client/layout/Row.tsx +86 -0
  40. package/src/client/layout/Stack.tsx +79 -0
  41. package/src/client/layout/Text.tsx +54 -0
  42. package/src/client/layout/index.ts +16 -0
  43. package/src/client/layout/layout.module.css +217 -0
  44. package/src/client/layout/scales.ts +91 -0
  45. package/src/client/schema-form/Editor.tsx +61 -70
  46. package/src/client/schema-form/SchemaForm.tsx +4 -4
  47. package/src/client/schema-form/TruncatedTooltip.tsx +60 -0
  48. package/src/client/schema-form/controller.ts +5 -2
  49. package/src/client/schema-form/geometry.ts +3 -0
  50. package/src/client/schema-form/index.ts +11 -0
  51. package/src/client/schema-form/schema-form.module.css +335 -0
  52. package/src/client/schema-form/testing/resize-observer-stub.ts +63 -0
  53. package/src/client/schema-form/value.tsx +18 -15
  54. package/src/client/settings-form/SettingsFieldRow.module.css +93 -0
  55. package/src/client/settings-form/SettingsFieldRow.tsx +103 -0
  56. package/src/client/settings-form/index.ts +5 -18
  57. package/src/css-modules.d.ts +6 -0
  58. package/dist/client.cjs +0 -17075
  59. package/dist/client.d.cts +0 -11656
  60. package/dist/index.d.cts +0 -5
  61. package/dist/reference-BX54bj6_.d.cts +0 -30
  62. package/src/client/schema-form/styles.ts +0 -298
  63. package/src/client/settings-form/SettingsForm.styles.ts +0 -58
  64. package/src/client/settings-form/SettingsForm.tsx +0 -68
  65. package/src/client/settings-form/fields.styles.ts +0 -158
  66. package/src/client/settings-form/fields.tsx +0 -184
  67. package/src/client/settings-form/form-model.ts +0 -339
  68. package/src/client/styling/css.ts +0 -27
  69. package/src/client/styling/focus.ts +0 -9
  70. package/src/client/styling/index.ts +0 -6
  71. package/src/client/styling/styled.tsx +0 -54
  72. package/src/client/styling/styling.ts +0 -137
  73. package/src/client/styling/token.ts +0 -275
  74. package/src/client/styling/toolkit.ts +0 -37
  75. package/src/client/theme.generated.ts +0 -833
  76. package/src/client/theme.ts +0 -5
package/README.md CHANGED
@@ -1,9 +1,13 @@
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 与设置页共用的**基础面**:**上游那套样式**(每件组件一个 `*.module.css`,token 直接写
4
+ `var(--dsw-*)`,与官方 `ui-primitives` 同一套技术栈)、**官方基础组件的统一出口**(`Button` / `Menu` / `Input` /
5
+ `Tag` / `Modal` / `Switch` / `SettingsForm` / 图标 … 由本包 `export *` 转出,业务包只向本包取控件)、**布局原语**
6
+ (`Stack` / `Row` / `Text`,间距 / 内距 / 文本档位集中在 `layout` 的档位表里)、**这套界面自有的控件**(字段行
7
+ `SettingsFieldRow`、可搜索选择器 `SearchSelect`、模型路由清单 `ModelRouteList`、标签输入 `TagInput`、多行文本
8
+ `MultilineField`、图标按钮 `IconButton`、按钮 `Button`、`Tabs` / `Spinner` / `Bubble` / `PopoverPanel` …)、
9
+ **按 schema 自动生成的行配置页**,以及**引用解析与渲染转换**(host 与 client 共用唯一一份源码,
10
+ [`@morlay/dsh-reference`](../../context/dsh-reference/README.md) 的引用展开复用 host 那半)。
7
11
 
8
12
  ## 用法
9
13
 
@@ -48,5 +52,26 @@ import { SettingsFormModel, settingsNumberField } from "@morlay/dsh-client-ui-pr
48
52
  const form = new SettingsFormModel(scope, [settingsNumberField("timeoutMs")]);
49
53
  ```
50
54
 
51
- 装配:一行 insert(行 id `ui-primitives-fork`,各 bundle 都插同一行,同 id 重复插入由 Loader 幂等处理),见
52
- [`@morlay/better-session`](../../bundles/better-session/cordis.patch.yml) 的 patch。
55
+ 业务页面组设置面时,控件与字段摆位都从这里取(**业务层不写控件外观**;每个控件带稳定的 `data-role` 供样式、测试与
56
+ 自动化定位):
57
+
58
+ ```tsx
59
+ import {
60
+ IconButton, SearchSelect, SettingsFieldRow, TagInput,
61
+ } from "@morlay/dsh-client-ui-primitives/client";
62
+
63
+ <SettingsFieldRow label="允许的工具" hint="留空 = 不限制" divider layout="inline">
64
+ <TagInput
65
+ value={tools}
66
+ onChange={setTools}
67
+ placeholder="加一个后回车,或粘贴一串"
68
+ label="允许的工具"
69
+ removeLabel={(name) => `移除 ${name}`}
70
+ />
71
+ </SettingsFieldRow>
72
+ ```
73
+
74
+ 装配:**不是装配行**——client 半随用到它的 client 行内联(清单里标 `dsh.client.inline`,devkit 因此不把它当
75
+ 模块表里的行外置),装配入口 `apply` 由那些行各自调用、按服务在场与否幂等去重;样式由构建期内联成
76
+ "模块执行即注入 `<style>`",同名 `<style data-plugin-css>` 只注入一份。
77
+ 取舍见 [ADR 基础面暂时内联而不是装配行](./.agents/adrs/20261001-暂时内联而不是装配行.md)。