klun-ui 0.5.0 → 0.7.0

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.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,158 @@ All notable changes to **klun-ui** are documented here. The format follows
5
5
  [Semantic Versioning](https://semver.org/) (pre-1.0: minor/patch bumps may carry
6
6
  small breaking changes).
7
7
 
8
+ ## [0.7.0] — 2026-10-08
9
+
10
+ 尺寸标准落地(第 62 批):把「每个组件多大」从文档搬进机制,并统一**字段族的几何与配色**。
11
+
12
+ > **含观感变更**:控件/字段的圆角与高度、部分字号与图标尺寸、kk 皮肤下的几何。
13
+ > 需要改代码的迁移见 `docs/design-standards/MIGRATION.md` §1.4;本轮**没有移除任何公开 API**。
14
+
15
+ ### Added
16
+
17
+ - **`SIZE_CONTRACTS`(`src/components/config/size.ts`)——每个组件尺寸的唯一来源。**
18
+ 登记 47 个组件的档位、默认值、全局档位映射,以及不跟随全局时的理由。
19
+ - **`useScaleSize()` / `useDensity()` / `resolveSize()` / `tierOf()`** 及
20
+ `SizeType` / `GlobalSize` / `SizeContract*` 类型,从包入口导出。
21
+ - **逐组件尺寸规格(137 份 + 索引)** → 仓库内 `docs/design-standards/components/`;
22
+ 格式对齐 Ant Design 的「主题变量(Design Token)」:尺寸表 / 组件 Token / 默认几何 /
23
+ 图标 / 全局档位跟随 / 与 KDS 的差异。由 `scripts/kds-size-spec.mjs` 生成并校验。
24
+ - **全局尺寸 Token 文档**与 **Storybook 规格页**(`KDS/Size specs`:全局 Token / 按组件查阅 / 索引)。
25
+ - 新 token:**图标阶梯 `--klun-icon-size-{xs,sm,md,lg}`(16/16/18/20)**、非控件图标档
26
+ (micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72)、
27
+ **代码字号 `--klun-code-size`(13/20)**、**热区 `--klun-hit-area-min|touch`(24/44)**、
28
+ 间距补齐 `--klun-space-20|64`。
29
+ - 新门禁(均纳入 `kds-verify`):`kds-size-contract`(+ 自测)、`kds-size-spec`、
30
+ `kds-geometry-ratchet`(字面几何只降不升)、`kds-field-family-check`、
31
+ `kds-baseline-provenance`(以**渲染源指纹**判定:组件/token 一变就必须重采基线,
32
+ 改版本号或文档只提示)。
33
+ - 测量流程脚本化:`kds-capture-probe.mjs`(11 个故事/组合的采集探针)+
34
+ `kds-measure-baseline.mjs`(合并片段、重写出处、记录渲染源指纹);
35
+ 基线可直接被 `kds-measure-diff.mjs <capture.json>` 对比检测漂移。
36
+
37
+ ### Changed
38
+
39
+ - **全局 `ConfigProvider size` 现在覆盖全部有离散档位的组件**:此前 Badge、StatusBadge、
40
+ Toggle、CopyButton、ChartLegend、ContentLabel、KeyIcon、Money、StatusDot、Item、
41
+ GaugeBar、RangeSlider 等忽略全局尺寸(全库仅 25/137 生效)。
42
+ - **密度收敛为单通道**:`<html data-density="compact">` 与 `<ConfigProvider density="compact">`
43
+ 语义一致;`Table` 改用 `useDensity()`(此前只写属性时表格不跟随)。
44
+ - **皮肤不再改几何**:kk 原本在 `[data-mode="kk"]` 里重定义整条控件高度与圆角,
45
+ 使 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px。现在几何只由显式轴决定:
46
+ 控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
47
+ - **字段族统一**(同一 size 档必须长得一样):Cascader / SelectMenu / TimePicker /
48
+ InputGroup / RichEditor 的 medium 圆角 10px → **8px**;**CounterInput** 档位
49
+ 32/36/40 → **36/40/48**(圆角 8/10/10 → 6/8/10);**CronEditor** 默认档 32/10 → **40/8**;
50
+ TimePicker / InputGroup 的横向内边距改用字段 token。
51
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`
52
+ (表单层统一,工具条里的组件保持固有宽度)。
53
+ - **覆盖层/字段圆角对齐 KDS 档位**:Textarea 8/10/12/12 → **6/6/8/10**。
54
+ - **SelectMenu / Cascader 的触发器圆角**、**InputGroup 组圆角**随档位对齐(10 → 6/8/10)。
55
+ - **547 处字面几何改用语义 token**(`gap`/`padding`/`margin` → `var(--klun-space-N)`,
56
+ 101 个文件)。**值等价**:仅当字面值与 token 完全相等时替换,且无主题/消费方覆盖这些 token,
57
+ 因此任何皮肤与密度下渲染不变。
58
+ - 字号全部 token 化(144 处字面 `font-size` → 0):文本走字阶、代码走 `--klun-code-size`、
59
+ 图标走图标阶梯;其中 **9 处 13px 文本收敛到 12px 辅助档**、**代码块 12px → 13px**(KDS §1.3)。
60
+
61
+ ### Fixed
62
+
63
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**、
64
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24);
65
+ compact 同步下调一档;**热区保持 24px 不缩**(新增 `--klun-hit-area-min`)。
66
+ - **文本按钮与输入框的图标**此前写死 20px(xsmall 档 32px 控件也配 20px 图标),
67
+ 现按档位 **16/16/18/20**,与图标按钮一致;顺手把 15→14、17→18、26→28 三个魔法数收进档位。
68
+ - **日期/时间/范围选择器触发器**不再复用 readonly 弱底,改用新增 `.klun-input--trigger`
69
+ 保持字段表面(暗色实测 rgb(38,38,38) → rgb(23,23,23))。
70
+ - **`InputGroup` 内嵌完整 `<Input>` 时不再出现「框中框」**(组内控件透明、无圆角、无描边)。
71
+ - **`kds-inventory` 的 `rootClass` 口径修正**:旧正则把 `var(--klun-*)` 与 `@keyframes` 名
72
+ 当成类名(基线里 Divider 的 rootClass 曾是 `klun-stroke-soft-200`),该字段的契约保护此前失效。
73
+ - **测量基线重新采集**:2026-10-07 · 库 0.6.0 · commit `5d4c3d8`(原基线停留在 0.5.0)。
74
+ 重测后控件边界在四条组合下统一(light/metronic 3.16:1 → **5.411:1**),
75
+ 状态环补到四条组合;未测项 9 → 8(补测 Table 的 Provider 密度继承)。
76
+ - `ConfigProvider` 的 `useOverlayScope` 系列此前漏导出,现补进 barrel。
77
+
78
+
79
+ ## [0.6.0] — 2026-10-06
80
+
81
+ KDS 设计标准升级。**含破坏性变更**——完整迁移指引见 `docs/design-standards/MIGRATION.md`。
82
+
83
+ ### Breaking
84
+ - **移除 `FormInstance.registerRules`** —— 请改用 `<FormItem rules={…} />`。
85
+ 依据:源码中已标 `@deprecated`,且**已登记消费者零使用**。
86
+ - **移除 `DrawerProps.side`** —— 请改用 `placement`(支持 `top`/`right`/`bottom`/`left`,比 `side` 更宽)。
87
+ - **覆盖层 `align` 默认值由物理改为逻辑**(`Popover`/`Dropdown`/`SelectMenu`/`DatePicker`/
88
+ `DateRangePicker`/`DateTimePicker`):默认 `"start"`。**LTR 行为不变**,RTL 下改为贴内联起始边(修复锚错边)。
89
+ 需要原有物理行为时显式传 `align="left"` / `align="right"`。
90
+
91
+ ### Added
92
+ - **按下态反馈**:Button / IconButton / CopyButton 新增 `translateY(1px)`。
93
+ - **RTL 逻辑属性**:RangeSlider 镜像、Tree 层级缩进、Notification 关闭按钮、Chip 内边距、
94
+ CodeViewer 浮动按钮、覆盖层对齐。
95
+ - **密度跟随**:`Result`/`EmptyState`/`Collapse`/`Accordion`/`Sidebar`/`Chip`/`Message`/`Banner`/
96
+ `Notification`/`Timeline`/`CodeViewer`/`DiffViewer`/`Kanban`/`RichEditor` 在 `density="compact"` 下
97
+ 跟随缩放(此前保持桌面留白)。
98
+ - **长文案健壮性**:`Alert`/`Banner`/`Notification`/`Message`/`Tabs`/`StepIndicator`/`Timeline`/
99
+ `ChartLegend`/`DiffViewer` 在超长文本下折行或可滚动(此前溢出或被静默裁掉)。
100
+ - **代码块横向滚动**:`CodeViewer` / `DiffViewer` 的长行可横向滚动查看,不再被裁掉。
101
+
102
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
103
+
104
+ ### Changed(续 3)
105
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
106
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
107
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
108
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
109
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
110
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
111
+
112
+ ### Added(续)
113
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
114
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
115
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
116
+
117
+ ### Fixed(续 3)
118
+ - **字段族一致性**(同档字段必须长得一样):
119
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
120
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
121
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
122
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
123
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
124
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
125
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
126
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
127
+ 工具条里的组件保持固有宽度)。
128
+
129
+ ### Fixed(续 2)
130
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
131
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
132
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
133
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
134
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
135
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
136
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
137
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
138
+
139
+ ### Fixed
140
+ - **`CodeViewer` / `LogViewer` 的 `--dark` 变体在暗色主题下白底白字**(对比度 **1.0**,代码不可见)。
141
+ 根因:背景用了会随主题翻转的 `--klun-bg-strong-950`,而文字是写死的白色。
142
+ 改用主题恒定的 `--klun-static-static-black`(**浅色下同值,浅色观感不变**)。
143
+ - **焦点环**由「2px 白 + 2px 主色」收窄为单层 2px,且补上 `RichEditor` 编辑区缺失的焦点样式。
144
+ - **`prefers-reduced-motion`**:5 个文件 6 个动画补齐降级。
145
+ - 约 35 个组件的次要文字加深,达到对比度要求。
146
+ - 暗色皮肤覆写此前**未真正生效**,已修复。
147
+
148
+ ### Changed
149
+ - **控件尺寸**:默认档 32/36/40/48、紧凑档 28/32/36/40;圆角 6/6/8/10;正文 14/20。
150
+ - **`kk` 皮肤**控制高度由「全部 32px」改为**五档** 20/24/28/32/36(默认档仍 32px,常规观感不变)。
151
+
152
+ ### Known issues(**已知未修,待设计决策**)
153
+ - **按钮文字对比度**:12 种样式(3 变体 × 4 外观)里 **8 种**在多数主题组合下低于 4.5:1
154
+ (`neutral` 四种全部达标)。
155
+ - **Badge 强调色对比度**:`filled` 外观 **5/6 色相**不达标,`orange-filled`/`yellow-filled` **全组合不达标**。
156
+ 根因:`filled` 对所有色相统一用白字,而黄/橙是浅色相(对照 `lighter` 外观**已按色相**配深色文字)。
157
+ 修法需**加深强调色**或**按色相配文字色**,两者都改变品牌观感,故本版未改。
158
+ - 读屏实际朗读、真机触摸、forced-colors、200% 文字与 320px 重排**未验证**。
159
+
8
160
  ## [0.5.0] — 2026-09-29
9
161
 
10
162
  ### Added
@@ -566,6 +718,43 @@ small breaking changes).
566
718
  `ConfigProvider`, and the templates section covers all eight templates plus
567
719
  the `klun-ui/charts` subpath.
568
720
 
721
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
722
+
723
+ ### Changed(续 3)
724
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
725
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
726
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
727
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
728
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
729
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
730
+
731
+ ### Added(续)
732
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
733
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
734
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
735
+
736
+ ### Fixed(续 3)
737
+ - **字段族一致性**(同档字段必须长得一样):
738
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
739
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
740
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
741
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
742
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
743
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
744
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
745
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
746
+ 工具条里的组件保持固有宽度)。
747
+
748
+ ### Fixed(续 2)
749
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
750
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
751
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
752
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
753
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
754
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
755
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
756
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
757
+
569
758
  ### Fixed
570
759
  - **Developer scripts are cross-platform again.** `scripts/gen-barrel.mjs`
571
760
  and `scripts/jsx-to-tsx.mjs` resolved the repo root from a hardcoded
@@ -575,6 +764,43 @@ small breaking changes).
575
764
 
576
765
  ## [0.1.23] — 2026-07-16
577
766
 
767
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
768
+
769
+ ### Changed(续 3)
770
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
771
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
772
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
773
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
774
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
775
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
776
+
777
+ ### Added(续)
778
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
779
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
780
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
781
+
782
+ ### Fixed(续 3)
783
+ - **字段族一致性**(同档字段必须长得一样):
784
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
785
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
786
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
787
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
788
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
789
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
790
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
791
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
792
+ 工具条里的组件保持固有宽度)。
793
+
794
+ ### Fixed(续 2)
795
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
796
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
797
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
798
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
799
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
800
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
801
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
802
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
803
+
578
804
  ### Fixed
579
805
  - **Dark theme — soft dividers were invisible.** In dark mode the token
580
806
  `--klun-stroke-soft-200` resolved to `--klun-800`, the **same value as the page
@@ -667,6 +893,43 @@ small breaking changes).
667
893
 
668
894
  ## [0.1.18] — 2026-06-29
669
895
 
896
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
897
+
898
+ ### Changed(续 3)
899
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
900
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
901
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
902
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
903
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
904
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
905
+
906
+ ### Added(续)
907
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
908
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
909
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
910
+
911
+ ### Fixed(续 3)
912
+ - **字段族一致性**(同档字段必须长得一样):
913
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
914
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
915
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
916
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
917
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
918
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
919
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
920
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
921
+ 工具条里的组件保持固有宽度)。
922
+
923
+ ### Fixed(续 2)
924
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
925
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
926
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
927
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
928
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
929
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
930
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
931
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
932
+
670
933
  ### Fixed
671
934
  - **`Popover` panel no longer gets clipped by scrolling/`overflow:hidden` ancestors.**
672
935
  Same treatment as the select family in 0.1.17: the panel now renders in a
@@ -681,6 +944,43 @@ small breaking changes).
681
944
 
682
945
  ## [0.1.17] — 2026-06-28
683
946
 
947
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
948
+
949
+ ### Changed(续 3)
950
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
951
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
952
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
953
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
954
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
955
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
956
+
957
+ ### Added(续)
958
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
959
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
960
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
961
+
962
+ ### Fixed(续 3)
963
+ - **字段族一致性**(同档字段必须长得一样):
964
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
965
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
966
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
967
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
968
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
969
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
970
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
971
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
972
+ 工具条里的组件保持固有宽度)。
973
+
974
+ ### Fixed(续 2)
975
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
976
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
977
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
978
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
979
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
980
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
981
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
982
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
983
+
684
984
  ### Fixed
685
985
  - **Select dropdowns no longer get clipped by scrolling/`overflow:hidden` ancestors.**
686
986
  The custom select family (`Select`, `CompactSelect`, `CompactSelectForInput`,
@@ -747,6 +1047,43 @@ small breaking changes).
747
1047
 
748
1048
  ## [0.1.9] — 2026-06-21
749
1049
 
1050
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
1051
+
1052
+ ### Changed(续 3)
1053
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
1054
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
1055
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
1056
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
1057
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
1058
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
1059
+
1060
+ ### Added(续)
1061
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
1062
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
1063
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
1064
+
1065
+ ### Fixed(续 3)
1066
+ - **字段族一致性**(同档字段必须长得一样):
1067
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
1068
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
1069
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
1070
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
1071
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
1072
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
1073
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
1074
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
1075
+ 工具条里的组件保持固有宽度)。
1076
+
1077
+ ### Fixed(续 2)
1078
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
1079
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
1080
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
1081
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
1082
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
1083
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
1084
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
1085
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
1086
+
750
1087
  ### Fixed
751
1088
  - **`Popconfirm` bubble is no longer clipped by scroll containers.** The bubble
752
1089
  rendered as an `absolute` child of the trigger, so when the trigger sat inside
@@ -758,6 +1095,43 @@ small breaking changes).
758
1095
 
759
1096
  ## [0.1.8] — 2026-06-21
760
1097
 
1098
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
1099
+
1100
+ ### Changed(续 3)
1101
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
1102
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
1103
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
1104
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
1105
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
1106
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
1107
+
1108
+ ### Added(续)
1109
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
1110
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
1111
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
1112
+
1113
+ ### Fixed(续 3)
1114
+ - **字段族一致性**(同档字段必须长得一样):
1115
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
1116
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
1117
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
1118
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
1119
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
1120
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
1121
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
1122
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
1123
+ 工具条里的组件保持固有宽度)。
1124
+
1125
+ ### Fixed(续 2)
1126
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
1127
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
1128
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
1129
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
1130
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
1131
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
1132
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
1133
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
1134
+
761
1135
  ### Fixed
762
1136
  - **Metronic + dark mode: text/icons on strong surfaces are now readable.**
763
1137
  The `metronic` skin mapped `--klun-bg-strong-950` to `grey-900` (which flips
@@ -772,6 +1146,43 @@ small breaking changes).
772
1146
 
773
1147
  ## [0.1.7] — 2026-06-21
774
1148
 
1149
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
1150
+
1151
+ ### Changed(续 3)
1152
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
1153
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
1154
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
1155
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
1156
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
1157
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
1158
+
1159
+ ### Added(续)
1160
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
1161
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
1162
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
1163
+
1164
+ ### Fixed(续 3)
1165
+ - **字段族一致性**(同档字段必须长得一样):
1166
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
1167
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
1168
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
1169
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
1170
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
1171
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
1172
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
1173
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
1174
+ 工具条里的组件保持固有宽度)。
1175
+
1176
+ ### Fixed(续 2)
1177
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
1178
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
1179
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
1180
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
1181
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
1182
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
1183
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
1184
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
1185
+
775
1186
  ### Fixed
776
1187
  - **`Popconfirm` content is always left-aligned.** The bubble rendered inline,
777
1188
  so a Popconfirm placed inside a right-aligned container (e.g. a table action
@@ -780,6 +1191,43 @@ small breaking changes).
780
1191
 
781
1192
  ## [0.1.6] — 2026-06-21
782
1193
 
1194
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
1195
+
1196
+ ### Changed(续 3)
1197
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
1198
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
1199
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
1200
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
1201
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
1202
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
1203
+
1204
+ ### Added(续)
1205
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
1206
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
1207
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
1208
+
1209
+ ### Fixed(续 3)
1210
+ - **字段族一致性**(同档字段必须长得一样):
1211
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
1212
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
1213
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
1214
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
1215
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
1216
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
1217
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
1218
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
1219
+ 工具条里的组件保持固有宽度)。
1220
+
1221
+ ### Fixed(续 2)
1222
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
1223
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
1224
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
1225
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
1226
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
1227
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
1228
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
1229
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
1230
+
783
1231
  ### Fixed
784
1232
  - **`Modal` / `Drawer` mask is now clearly visible in both themes.** The
785
1233
  backdrop uses a theme-independent scrim (`rgba(0,0,0,0.45)` + `blur(3px)`,
@@ -808,6 +1256,43 @@ small breaking changes).
808
1256
 
809
1257
  ## [0.1.4] — 2026-06-21
810
1258
 
1259
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
1260
+
1261
+ ### Changed(续 3)
1262
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
1263
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
1264
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
1265
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
1266
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
1267
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
1268
+
1269
+ ### Added(续)
1270
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
1271
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
1272
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
1273
+
1274
+ ### Fixed(续 3)
1275
+ - **字段族一致性**(同档字段必须长得一样):
1276
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
1277
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
1278
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
1279
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
1280
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
1281
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
1282
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
1283
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
1284
+ 工具条里的组件保持固有宽度)。
1285
+
1286
+ ### Fixed(续 2)
1287
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
1288
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
1289
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
1290
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
1291
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
1292
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
1293
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
1294
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
1295
+
811
1296
  ### Fixed
812
1297
  - **`Modal`** no longer draws the footer divider when there's no body (e.g.
813
1298
  confirmation dialogs), so the actions sit cleanly under the heading instead of
@@ -815,6 +1300,43 @@ small breaking changes).
815
1300
 
816
1301
  ## [0.1.3] — 2026-06-20
817
1302
 
1303
+ - **Storybook 里的规格页**:`KDS/Size specs`(全局 Token / 按组件查阅 137 份规格 / 索引)。
1304
+
1305
+ ### Changed(续 3)
1306
+ - **皮肤不再改几何**(行为变更):kk 原本在 `[data-mode="kk"]` 里顺带重定义整条控件高度与圆角,
1307
+ 导致 `size="medium"` 在 kk 下是 32px、默认皮肤下是 40px——`size` 跨皮肤失效。
1308
+ 现在几何只由显式轴决定:控件尺度走新增的 **`density="kk"`**,直角走 **`radius="square"`**。
1309
+ **迁移**:`<ConfigProvider accent="kk">` → `<ConfigProvider accent="kk" density="kk" radius="square">`
1310
+ 可复现原观感;不加密度/圆角则使用标准尺度(推荐)。
1311
+ - **Textarea 档位圆角收敛**到控件档位 6/6/8/10(原 8/10/12/12),与同档 Input/Select 一致。
1312
+
1313
+ ### Added(续)
1314
+ - **测量基线重新采集流程脚本化**:`scripts/kds-capture-probe.mjs`(11 个故事/组合的探针)、
1315
+ `scripts/kds-measure-baseline.mjs`(合并 + 重写出处)。基线更新为
1316
+ **2026-10-07 / 0.6.0 / 5d4c3d8**;出处门禁升级为 MUST(库版本一变必须重采)。
1317
+
1318
+ ### Fixed(续 3)
1319
+ - **字段族一致性**(同档字段必须长得一样):
1320
+ · Cascader / SelectMenu / TimePicker / InputGroup / RichEditor 的 medium 档圆角 10px → **8px**;
1321
+ · **CounterInput** 档位纠正(small/medium/large 由 32/36/40 改为 **36/40/48**,圆角 8/10/10 → 6/8/10);
1322
+ **CronEditor** 默认档 32/10 → **40/8**,并补齐 small/large;
1323
+ · `InputGroup` 内嵌完整 `<Input>` 时不再出现"框中框"(组内控件透明、无圆角、无描边);
1324
+ · 日期/时间/范围选择器触发器新增 `.klun-input--trigger`:不再复用 readonly 弱底,
1325
+ 与同排 Input 底色一致(暗色实测 rgb(38,38,38) → rgb(23,23,23));
1326
+ · TimePicker / InputGroup 的横向内边距改用字段 token(`--klun-field-px-*`)。
1327
+ - **表单里字段等宽**:`.klun-form-item__control > <字段族> { width: 100% }`(表单层统一,
1328
+ 工具条里的组件保持固有宽度)。
1329
+
1330
+ ### Fixed(续 2)
1331
+ - **144 处 `font-size` 字面量全部 token 化**(文本走字阶、代码走 `--klun-code-size`、
1332
+ 图标走图标阶梯)。其中 9 处 13px 文本收敛到 12px 辅助档,代码块 12px → 13px(KDS §1.3 目标)。
1333
+ - **Checkbox / Radio / Switch 迁到 KDS §1.5 目标**:可见 box / 圆点 **16/18/20**,
1334
+ Switch 轨道 **28×16 / 32×18 / 40×22**(原 18/20/24、16/20/24、32×18/36×20/44×24,每档大一级);
1335
+ compact 同步下调一档。新增 `--klun-hit-area-min`(24px) / `--klun-hit-area-touch`(44px),
1336
+ **热区不随可见尺寸缩小**(实测仍为 24px)。
1337
+ - 图标阶梯补齐非控件档位(micro 12 / inline 14 / feature 22 / display 28 / hero 64 / hero-lg 72),
1338
+ 并把 15px→14、17px→18、26px→28 三个魔法数收敛到档位。
1339
+
818
1340
  ### Fixed
819
1341
  - **`TimePicker`** dropdowns now flip above the trigger when there isn't enough
820
1342
  room below the viewport (e.g. when the picker sits low inside a
package/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # klun-ui
2
2
 
3
+ ## Klun Design Standard
4
+
5
+ KDS `1.0.0-draft.1` is a proposed design, component, interaction and quality standard. It does not mean the current library already complies; adoption and implementation require the documented review and migration process.
6
+
7
+ The standard lives in the repository at `docs/design-standards/` (start with `README.md`, full text in `COMPLETE.md`, upgrade work packages in `UPGRADE-PLAN.md`). It is **not** included in the published npm tarball — `package.json` `files` ships only `dist`, `README.md`, `CHANGELOG.md` and `LICENSE`. Whether the KDS should be published (and how, given `docs/design-standards/references/` contains large HTML snapshots) is tracked as U23 in the upgrade plan.
8
+
3
9
  [![npm version](https://img.shields.io/npm/v/klun-ui)](https://www.npmjs.com/package/klun-ui)
4
10
  [![license](https://img.shields.io/npm/l/klun-ui)](./LICENSE)
5
11
  [![types included](https://img.shields.io/npm/types/klun-ui)](https://www.npmjs.com/package/klun-ui)