@linkdesk/ui 0.2.35 → 0.2.36

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "shellVersion": "0.2.33",
3
- "commit": "d0a8c66cf",
4
- "cutAt": "2026-10-01"
2
+ "shellVersion": "0.2.36",
3
+ "commit": "4beb9c281",
4
+ "cutAt": "2026-10-03"
5
5
  }
@@ -6,17 +6,36 @@
6
6
  * 无障碍(原生 range = role="slider" + aria-valuemin/max/now),不手写 pointer 拖拽状态机(B 类 bug 高发区)。
7
7
  * 填充 = inline `--slider-pct` CSS 变量 → linear-gradient(mockup fill 语义,见 Slider.css)。
8
8
  * prefers-reduced-motion:原生 range 无动画,天然满足(无 transition 可禁)。
9
+ *
10
+ * 能力扩展(2026-10-03,docs/04-软件更新/待抉择池/滑杆件-Slider能力扩展)——
11
+ * 「值标签」与「细调步进」自设置仓包裹层下沉进组件(D3:组件自带能力,声明即显、不声明即无):
12
+ * - unit / unitPosition:值标签(当前值+单位一体,D1)。⚠️ 空串 ≠ 未声明——未声明 = 不渲染标签
13
+ * (裸滑杆);"" = 有标签无单位(如设置页不透明度的 0.5)。方位 D5:before/after 贴「按钮对」外侧,
14
+ * above/below 脱离行内流居中压轨道中线(配置键一律用缺省 after——上下方位撑破固定行高)。
15
+ * - stepper:轨道两侧常驻 −/+(D2,单击单发、长按连发不做);按 step 步进、min/max 夹取、
16
+ * 触边置灰、disabled 联动;步进按 step 小数位收敛浮点误差(E7)。按钮可聚焦(E5——
17
+ * ⛔ 不做「不可聚焦」的偷懒解法),键盘全链 = Tab − → 轨道 → +。
18
+ * 结构(E13):声明了任一能力时根节点 = .ldk-slider-root 网格盒;两者都不声明 = 返回裸 input
19
+ * (与历史 DOM 逐字节一致,第三方零感知)。.ldk-slider 类名仍留在 input 上(后代选择器兼容);
20
+ * style prop 仍落在 input 上(不改既有 API 语义)。
9
21
  */
22
+ type UnitPosition = "before" | "after" | "above" | "below";
10
23
  interface SliderProps {
11
24
  value: number;
12
25
  onChange: (v: number) => void;
13
26
  min?: number;
14
27
  max?: number;
15
28
  step?: number;
16
- /** 无障碍标签(设置行 label 由 SettingRow 显示,此处供读屏) */
29
+ /** 单位文案(px / ms / × / 毫米…由声明者自定)——声明了才有值标签;空串 = 有标签无单位 */
30
+ unit?: string;
31
+ /** 值标签方位(缺省 after);above/below 只留插件自绘场景(撑破固定行高) */
32
+ unitPosition?: UnitPosition;
33
+ /** 轨道两侧 −/+ 细调按钮(常驻,单击单发);不声明 = 一个 DOM 都不多 */
34
+ stepper?: boolean;
35
+ /** 无障碍标签(设置行 label 由 SettingRow 显示,此处供读屏;stepper 按钮连带「减少/增加」+此标签) */
17
36
  ariaLabel?: string;
18
37
  disabled?: boolean;
19
38
  style?: React.CSSProperties;
20
39
  }
21
- declare function Slider({ value, onChange, min, max, step, ariaLabel, disabled, style }: SliderProps): import("react").JSX.Element;
40
+ declare function Slider({ value, onChange, min, max, step, unit, unitPosition, stepper, ariaLabel, disabled, style, }: SliderProps): import("react").JSX.Element;
22
41
  export default Slider;
@@ -0,0 +1,15 @@
1
+ /**
2
+ * 滑杆值标签格式化——E5.8#77 数值显示。
3
+ * 纯函数零依赖:unit "×" → 倍数前缀 + 1 位小数(mockup ×1.0);"px" → 数值 + 后缀;
4
+ * 空 → 裸数值(0-1 不透明度 0.45)。
5
+ * 滑杆件能力扩展(2026-10-03):自设置仓迁入组件本体(能力搬家,非复制)——
6
+ * 设置仓那份已删除,组件值标签统一走这里(⛔ 不造第二套格式化器)。
7
+ */
8
+ /**
9
+ * 把滑杆当前值格式化为带单位标签。
10
+ * - 非有限值(val 解析失败)→ 空串(防御)。
11
+ * - "×":前置 + toFixed(1)(×1.0 / ×1.5,mockup 倍数语义)。
12
+ * - 其余单位:数值规整(去尾零)+ 单位后缀(16px / 0.5px)。
13
+ * - 空单位:裸数值(0.45 / 1——不透明度直接显示)。
14
+ */
15
+ export declare function formatSliderValue(v: number, unit?: string): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkdesk/ui",
3
- "version": "0.2.35",
3
+ "version": "0.2.36",
4
4
  "description": "@linkdesk/ui——LinkDesk 共享 UI 组件的类型契约 + dev 解析体。L9 集中供给:组件代码与样式在运行时由壳池 vendor 单实例供给(壳改一处全生态跟随);npm i 装的是类型与本地解析体,插件源码不 import 本包 css(lint 腿 check-ui-css-import 判红)。版本号自走(E6#166 对货不对号:2026-10-01 起与壳脱钩,壳发版只查作者面货不落后)。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",