@unif/react-native-design 0.21.0 → 0.22.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.
Files changed (25) hide show
  1. package/README.md +69 -16
  2. package/lib/module/components/ui/Cell/Cell.js +12 -0
  3. package/lib/module/components/ui/Cell/Cell.js.map +1 -1
  4. package/lib/module/components/ui/TextField/TextFieldSlot.js +8 -1
  5. package/lib/module/components/ui/TextField/TextFieldSlot.js.map +1 -1
  6. package/lib/module/components/ui/TextField/normalize.js +10 -2
  7. package/lib/module/components/ui/TextField/normalize.js.map +1 -1
  8. package/lib/module/components/ui/TextField/styles.js +16 -2
  9. package/lib/module/components/ui/TextField/styles.js.map +1 -1
  10. package/lib/typescript/src/components/ui/Cell/Cell.d.ts.map +1 -1
  11. package/lib/typescript/src/components/ui/Cell/types.d.ts +9 -1
  12. package/lib/typescript/src/components/ui/Cell/types.d.ts.map +1 -1
  13. package/lib/typescript/src/components/ui/TextField/TextFieldSlot.d.ts.map +1 -1
  14. package/lib/typescript/src/components/ui/TextField/normalize.d.ts.map +1 -1
  15. package/lib/typescript/src/components/ui/TextField/styles.d.ts +10 -1
  16. package/lib/typescript/src/components/ui/TextField/styles.d.ts.map +1 -1
  17. package/lib/typescript/src/components/ui/TextField/types.d.ts +13 -3
  18. package/lib/typescript/src/components/ui/TextField/types.d.ts.map +1 -1
  19. package/package.json +4 -2
  20. package/src/components/ui/Cell/Cell.tsx +11 -0
  21. package/src/components/ui/Cell/types.ts +9 -1
  22. package/src/components/ui/TextField/TextFieldSlot.tsx +18 -1
  23. package/src/components/ui/TextField/normalize.ts +8 -2
  24. package/src/components/ui/TextField/styles.ts +16 -2
  25. package/src/components/ui/TextField/types.ts +9 -3
package/README.md CHANGED
@@ -36,7 +36,7 @@ iOS 另需在 `ios/` 执行 `bundle exec pod install`。完整步骤见[文档
36
36
 
37
37
  `react-native-worklets` 的 Babel 插件与 Metro transformer 由宿主工程提供,不随本库分发 —— 宿主需自备与 RN `0.86.2` 匹配的 `@babel/core`、`@react-native/babel-preset@0.86.x`、`@react-native/metro-config@0.86.x`。
38
38
 
39
- `react-native-reanimated-carousel@5.0.0` 发布的 RNGH peer 是 `>=2.9.0 <3.0.0`,与本包要求的 `>=3.0.0 <4.0.0` 无交集;该组合已实测适配。消费端只能**接受这条警告**或加**只作用于 Carousel 的窄 override**(npm `overrides`、pnpm `peerDependencyRules.allowedVersions`、Yarn scoped `logFilters`),不要用全局 peer 忽略、`--force` 或 `--legacy-peer-deps`。本仓 `.yarnrc.yml` 里的 `logFilters` 不随 npm 包分发。
39
+ `react-native-reanimated-carousel@5.0.0` 发布的 RNGH peer 是 `>=2.9.0 <3.0.0`,与本包要求的 `>=3.0.0 <4.0.0` 无交集;该组合已实测适配。消费端只能**接受这条警告**或加**只作用于 Carousel 的窄 override**(npm `overrides`、pnpm `peerDependencyRules.allowedVersions`、Yarn scoped `logFilters`),不要用全局 peer 忽略、`--force` 或 `--legacy-peer-deps`。本仓不使用全局 `logFilters`;`yarn check:runtime-peers` 只接受 root、example、website 三条精确的 RNRC 5 / RNGH 3 例外。
40
40
 
41
41
  ## 快速开始
42
42
 
@@ -44,7 +44,12 @@ App 根必须按 `GestureHandlerRootView → SafeAreaProvider → ThemeProvider
44
44
 
45
45
  ```tsx
46
46
  import {
47
- ThemeProvider, ToastHost, ConfirmHost, Button, useThemedStyles, type ColorTokens,
47
+ ThemeProvider,
48
+ ToastHost,
49
+ ConfirmHost,
50
+ Button,
51
+ useThemedStyles,
52
+ type ColorTokens,
48
53
  } from '@unif/react-native-design';
49
54
  import { View } from 'react-native';
50
55
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
@@ -77,6 +82,52 @@ export const App = () => (
77
82
  );
78
83
  ```
79
84
 
85
+ ## RN 0.86.2 组件展厅
86
+
87
+ 仓库内的持久 `example/` 是 `@unif/react-native-design-example` workspace:它精确使用
88
+ React Native `0.86.2`、React `19.2.3`、New Architecture 和 Hermes,并通过 Metro
89
+ 直接消费本仓 public package root。展厅只挂载当前路由,共有以下 8 个 scene:
90
+
91
+ | Scene ID | 标题 | 主要覆盖 |
92
+ | ------------- | -------------- | --------------------------------------------- |
93
+ | `foundation` | 基础能力与图标 | Theme、token、Icon、logger、testID |
94
+ | `actions` | 操作与状态 | Button、IconButton、Chip、Tag、StatusDot |
95
+ | `feedback` | 反馈与浮层 | Empty、动效、Blur、Toast、Confirm |
96
+ | `forms` | 表单与输入 | 文本输入、选择控件、Stepper、Form |
97
+ | `navigation` | 导航组件 | NavBar、DrawerHeader、Tabs、Segmented、TabBar |
98
+ | `collections` | 容器与集合 | Card、Cell、List、Grid、EntryCard、Carousel |
99
+ | `media` | 媒体展示 | Avatar、Thumbnail、Logo 与图片失败边界 |
100
+ | `business` | 业务复合组件 | 渐变、背景、统计、头像环、版本状态 |
101
+
102
+ 从仓库根目录执行:
103
+
104
+ ```sh
105
+ yarn install --immutable
106
+ yarn example start
107
+ yarn example android
108
+ yarn example ios
109
+
110
+ yarn verify:example-showcase
111
+ yarn example typecheck
112
+ yarn example lint
113
+ yarn example test --maxWorkers=2
114
+ ```
115
+
116
+ iOS 首次运行或 native 依赖变化后,先执行
117
+ `cd example && bundle install`,再执行
118
+ `cd example && bundle exec pod install --project-directory=ios`。完整启动步骤、主题与
119
+ fontScale 操作,以及 VoiceOver/TalkBack、真机、旋转、remote image failure 等尚需人工
120
+ 执行的矩阵见 [`example/README.md`](example/README.md)。自动化结果不等同于真机或 a11y
121
+ 验收通过。
122
+
123
+ Media 默认 success fixture 是项目部署的
124
+ `https://unif-design.github.io/react-native-design/img/logo.png`,failure specimen 使用固定的
125
+ invalid-image fixture
126
+ `https://unif-design.github.io/react-native-design/example-fixtures/media-decode-failure-v1.png`,
127
+ 确保 HTTP 成功后仍稳定进入 native decode failure/fallback 分支。
128
+ Jest 只证明 source wiring 以及合成 load/error event 后的组件状态;真实 HTTPS、缓存和 native
129
+ decode 仍按 `example/README.md` 的 Android/iOS 手工矩阵标记为待执行。
130
+
80
131
  ## 文档
81
132
 
82
133
  - **文档站**(快速开始 · 组件 API · 设计令牌 · 设计原则):https://unif-design.github.io/react-native-design/
@@ -85,7 +136,7 @@ export const App = () => (
85
136
  - **Agent Skill** `design`(`unif` plugin,覆盖组件 API、token 规则、与原生 RN 的关键差异):
86
137
  `/plugin marketplace add unif-design/skills` → `/plugin install unif@skills`
87
138
 
88
- ## 原生验证宿主(runtime harness)
139
+ ## 临时原生验证宿主(runtime harness)
89
140
 
90
141
  ```sh
91
142
  yarn create:runtime-harness
@@ -104,7 +155,9 @@ yarn create:runtime-harness
104
155
  边界:
105
156
 
106
157
  - app 只建在**脚本自持的系统临时目录**里(`fs.mkdtempSync`),**不接受调用方传目录**;脚手架之后的任一步失败也会递归删除自己那一个临时路径,只有完整成功才保留。
107
- - **完全不读、不写、不复制 `example/`** —— 那是启用新架构的 RN `0.85.3` 现有版本 shell,不能作为 RN `0.86.x` 的支持证据。
158
+ - **完全不读、不写、不复制持久 `example/`** —— 两者职责不同:`example/` 提供公共面
159
+ coverage 与可运行 RN `0.86.2` native shell;临时 runtime harness 专门验证 packed
160
+ tarball、负向路径与竞态,不替代展厅。
108
161
  - 生成物不入库。
109
162
 
110
163
  随后在**打印出来的那个目录**里执行(不是在本仓):
@@ -114,23 +167,23 @@ yarn android
114
167
  yarn ios
115
168
  ```
116
169
 
117
- harness 不携带本仓的 `.yarnrc.yml` `logFilters`,所以安装时会看到那条已知的 RNRC / RNGH peer 警告 —— 这正是消费端会看到的真实情况。
170
+ harness 不继承本仓 `check:runtime-peers` 的 workspace 精确 allowlist;安装输出会如实暴露这条已知的 RNRC / RNGH peer warning,等同消费端实际可见结果。
118
171
 
119
172
  ## 兼容性
120
173
 
121
174
  支持范围严格来自 `package.json#peerDependencies`;本仓直接验证的版本是 RN `0.86.2` + React `19.2.3`。
122
175
 
123
- | 依赖 | 支持范围 | 本仓验证版本 |
124
- | --- | --- | --- |
125
- | `react-native` | `>=0.86.0 <0.87.0` | `0.86.2` |
126
- | `react` | `>=19.2.3 <20.0.0` | `19.2.3` |
127
- | `react-native-gesture-handler` | `>=3.0.0 <4.0.0` | `3.1.0` |
128
- | `react-native-reanimated` | `>=4.5.2 <4.6.0` | `4.5.3` |
129
- | `react-native-worklets` | `>=0.11.0 <0.12.0` | `0.11.3` |
130
- | `react-native-reanimated-carousel` | `>=5.0.0 <6.0.0` | `5.0.0` |
131
- | `react-native-safe-area-context` | `>=5` | `5.7.x` |
132
- | `react-native-svg` | `>=15` | `15.15.x` |
133
- | `@sbaiahmed1/react-native-blur` | `>=4` | `4.6.x` |
176
+ | 依赖 | 支持范围 | 本仓验证版本 |
177
+ | ---------------------------------- | ------------------ | ------------ |
178
+ | `react-native` | `>=0.86.0 <0.87.0` | `0.86.2` |
179
+ | `react` | `>=19.2.3 <20.0.0` | `19.2.3` |
180
+ | `react-native-gesture-handler` | `>=3.0.0 <4.0.0` | `3.1.0` |
181
+ | `react-native-reanimated` | `>=4.5.2 <4.6.0` | `4.5.3` |
182
+ | `react-native-worklets` | `>=0.11.0 <0.12.0` | `0.11.3` |
183
+ | `react-native-reanimated-carousel` | `>=5.0.0 <6.0.0` | `5.0.0` |
184
+ | `react-native-safe-area-context` | `>=5` | `5.8.0` |
185
+ | `react-native-svg` | `>=15` | `15.15.5` |
186
+ | `@sbaiahmed1/react-native-blur` | `>=4` | `4.6.2` |
134
187
 
135
188
  - 新架构(Fabric + TurboModule)必须开启;旧架构 Bridge、RN `0.85` 及更低版本、RN `0.87+` 都不在支持范围。
136
189
  - Node.js `^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0`(`package.json#engines`;本仓 `.nvmrc` 固定 `v24.13.0`)
@@ -118,6 +118,18 @@ export function Cell(props) {
118
118
  children: inner
119
119
  });
120
120
  }
121
+
122
+ // 不可点但显式给了整行名称(Static 分支):合成单个 a11y 节点按指定文案播报。
123
+ // 没给就保持裸渲染 —— 读屏按 title / desc / extra 各自的文本节点逐个读。
124
+ const staticLabel = props.accessibilityLabel;
125
+ if (staticLabel !== undefined && staticLabel.trim().length > 0) {
126
+ return /*#__PURE__*/_jsx(View, {
127
+ accessible: true,
128
+ accessibilityLabel: staticLabel,
129
+ testID: props.testID,
130
+ children: inner
131
+ });
132
+ }
121
133
  return inner;
122
134
  }
123
135
  //# sourceMappingURL=Cell.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","Text","View","Pressable","pressedOpacity","r","useColors","useThemedStyles","createLogger","Icon","A11Y_HIDDEN_PROPS","resolveCellActionAccessibilityLabel","stringifyCellText","useListVariant","Leading","makeStyles","jsx","_jsx","jsxs","_jsxs","log","CellExtraContent","extra","textStyle","kind","style","numberOfLines","children","value","node","Cell","props","c","styles","variant","flush","requestedAction","onPress","accessibilityLabel","title","desc","undefined","hasEffectiveAction","hasMissingActionName","warn","cellStyle","cell","cellFlush","cellFlushWithDesc","titleColor","danger","error","titleStyle","titleFlush","color","descStyle","descFlush","extraStyle","extraFlush","inner","testID","leading","slot","body","titleLines","arrow","chevronFlush","name","size","foregroundSubtle","isDisabled","disabled","accessibilityRole","accessibilityHint","accessibilityState","pressed","opacity"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Cell.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","Text","View","Pressable","pressedOpacity","r","useColors","useThemedStyles","createLogger","Icon","A11Y_HIDDEN_PROPS","resolveCellActionAccessibilityLabel","stringifyCellText","useListVariant","Leading","makeStyles","jsx","_jsx","jsxs","_jsxs","log","CellExtraContent","extra","textStyle","kind","style","numberOfLines","children","value","node","Cell","props","c","styles","variant","flush","requestedAction","onPress","accessibilityLabel","title","desc","undefined","hasEffectiveAction","hasMissingActionName","warn","cellStyle","cell","cellFlush","cellFlushWithDesc","titleColor","danger","error","titleStyle","titleFlush","color","descStyle","descFlush","extraStyle","extraFlush","inner","testID","leading","slot","body","titleLines","arrow","chevronFlush","name","size","foregroundSubtle","isDisabled","disabled","accessibilityRole","accessibilityHint","accessibilityState","pressed","opacity","staticLabel","trim","length","accessible"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Cell.tsx"],"mappings":"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","ignoreList":[]}
@@ -70,10 +70,17 @@ export function TextFieldSlot({
70
70
  },
71
71
  style: styles.actionFrame,
72
72
  testID: testID,
73
- children: /*#__PURE__*/_jsx(Icon, {
73
+ children: safeSlot.icon !== undefined ? /*#__PURE__*/_jsx(Icon, {
74
74
  name: safeSlot.icon,
75
75
  size: 18,
76
76
  color: colors.foregroundMuted
77
+ }) :
78
+ /*#__PURE__*/
79
+ // 文字型操作:命中框与 a11y 走同一个 Pressable,只是内容渲染成文字。
80
+ // 禁用态用 muted 前景色,与图标型的视觉降级一致。
81
+ _jsx(Text, {
82
+ style: [styles.slotActionLabel, disabled && styles.slotActionLabelDisabled],
83
+ children: safeSlot.label
77
84
  })
78
85
  });
79
86
  }
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","Text","View","Pressable","useColors","useThemedStyles","createLogger","A11Y_HIDDEN_PROPS","Icon","normalizeSlotIconSize","normalizeTextFieldSlot","makeStyles","jsx","_jsx","log","TextFieldSlot","slot","effectiveEditable","testID","colors","styles","normalizedSlot","safeSlot","iconSize","kind","size","undefined","iconDiagnosticKey","diagnostics","join","slotDiagnosticKey","length","warn","style","slotDisplay","children","name","icon","value","color","foregroundMuted","slotText","disabled","onPress","accessibilityRole","accessibilityLabel","accessibilityState","actionFrame"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/TextFieldSlot.tsx"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,OAAO;AACjC,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,8BAA8B;AACxD,SAASC,SAAS,EAAEC,eAAe,QAAQ,yBAAgB;AAC3D,SAASC,YAAY,QAAQ,gCAAuB;AACpD,SAASC,iBAAiB,QAAQ,mBAAgB;AAClD,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,qBAAqB,EAAEC,sBAAsB,QAAQ,gBAAa;AAC3E,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGtC,MAAMC,GAAG,GAAGR,YAAY,CAAC,eAAe,CAAC;AAQzC;AACA;AACA;AACA;AACA,OAAO,SAASS,aAAaA,CAAC;EAC5BC,IAAI;EACJC,iBAAiB;EACjBC;AACkB,CAAC,EAA4B;EAC/C,MAAMC,MAAM,GAAGf,SAAS,CAAC,CAAC;EAC1B,MAAMgB,MAAM,GAAGf,eAAe,CAACM,UAAU,CAAC;EAC1C,MAAMU,cAAc,GAAGX,sBAAsB,CAACM,IAAI,CAAC;EACnD,MAAMM,QAAQ,GAAGD,cAAc,CAACL,IAAI;EACpC,MAAMO,QAAQ,GACZD,QAAQ,EAAEE,IAAI,KAAK,MAAM,GACrBf,qBAAqB,CAACa,QAAQ,CAACG,IAAI,CAAC,GACpCC,SAAS;EACf,MAAMC,iBAAiB,GAAGJ,QAAQ,EAAEK,WAAW,CAACC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;EAC/D,MAAMC,iBAAiB,GAAGT,cAAc,CAACO,WAAW,CAACC,IAAI,CAAC,GAAG,CAAC;EAE9D7B,SAAS,CAAC,MAAM;IACd,IAAI2B,iBAAiB,CAACI,MAAM,GAAG,CAAC,EAAE;MAChCjB,GAAG,CAACkB,IAAI,CAAC,4BAA4B,CAAC;IACxC;EACF,CAAC,EAAE,CAACL,iBAAiB,CAAC,CAAC;EACvB3B,SAAS,CAAC,MAAM;IACd,IAAI8B,iBAAiB,CAACC,MAAM,GAAG,CAAC,EAAE;MAChCjB,GAAG,CAACkB,IAAI,CAAC,qBAAqBF,iBAAiB,OAAO,CAAC;IACzD;EACF,CAAC,EAAE,CAACA,iBAAiB,CAAC,CAAC;EAEvB,IAAI,CAACR,QAAQ,EAAE,OAAO,IAAI;EAE1B,QAAQA,QAAQ,CAACE,IAAI;IACnB,KAAK,MAAM;MACT,oBACEX,IAAA,CAACX,IAAI;QAAA,GAAKK,iBAAiB;QAAE0B,KAAK,EAAEb,MAAM,CAACc,WAAY;QAAChB,MAAM,EAAEA,MAAO;QAAAiB,QAAA,eACrEtB,IAAA,CAACL,IAAI;UACH4B,IAAI,EAAEd,QAAQ,CAACe,IAAK;UACpBZ,IAAI,EAAEF,QAAQ,EAAEe,KAAK,IAAI,EAAG;UAC5BC,KAAK,EAAEjB,QAAQ,CAACiB,KAAK,IAAIpB,MAAM,CAACqB;QAAgB,CACjD;MAAC,CACE,CAAC;IAEX,KAAK,MAAM;MACT,oBACE3B,IAAA,CAACZ,IAAI;QAAA,GACCM,iBAAiB;QACrB0B,KAAK,EAAE,CAACb,MAAM,CAACc,WAAW,EAAEd,MAAM,CAACqB,QAAQ,CAAE;QAC7CvB,MAAM,EAAEA,MAAO;QAAAiB,QAAA,EAEdb,QAAQ,CAACgB;MAAK,CACX,CAAC;IAEX,KAAK,QAAQ;MAAE;QACb,MAAMI,QAAQ,GAAG,CAACzB,iBAAiB,IAAIK,QAAQ,CAACoB,QAAQ,KAAK,IAAI;QACjE,oBACE7B,IAAA,CAACV,SAAS;UACRwC,OAAO,EAAED,QAAQ,GAAGhB,SAAS,GAAGJ,QAAQ,CAACqB,OAAQ;UACjDD,QAAQ,EAAEA,QAAS;UACnBE,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAEvB,QAAQ,CAACuB,kBAAmB;UAChDC,kBAAkB,EAAE;YAAEJ;UAAS,CAAE;UACjCT,KAAK,EAAEb,MAAM,CAAC2B,WAAY;UAC1B7B,MAAM,EAAEA,MAAO;UAAAiB,QAAA,eAEftB,IAAA,CAACL,IAAI;YAAC4B,IAAI,EAAEd,QAAQ,CAACe,IAAK;YAACZ,IAAI,EAAE,EAAG;YAACc,KAAK,EAAEpB,MAAM,CAACqB;UAAgB,CAAE;QAAC,CAC7D,CAAC;MAEhB;EACF;AACF","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","Text","View","Pressable","useColors","useThemedStyles","createLogger","A11Y_HIDDEN_PROPS","Icon","normalizeSlotIconSize","normalizeTextFieldSlot","makeStyles","jsx","_jsx","log","TextFieldSlot","slot","effectiveEditable","testID","colors","styles","normalizedSlot","safeSlot","iconSize","kind","size","undefined","iconDiagnosticKey","diagnostics","join","slotDiagnosticKey","length","warn","style","slotDisplay","children","name","icon","value","color","foregroundMuted","slotText","disabled","onPress","accessibilityRole","accessibilityLabel","accessibilityState","actionFrame","slotActionLabel","slotActionLabelDisabled","label"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/TextFieldSlot.tsx"],"mappings":"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","ignoreList":[]}
@@ -143,7 +143,11 @@ export function normalizeTextFieldSlot(slot) {
143
143
  const accessibilityLabel = normalizeNonBlankText(candidate.accessibilityLabel);
144
144
  const hasValidDisabled = candidate.disabled === undefined || typeof candidate.disabled === 'boolean';
145
145
  const slotDisabled = typeof candidate.disabled === 'boolean' ? candidate.disabled : undefined;
146
- if (!isIconName(candidate.icon) || typeof candidate.onPress !== 'function' || accessibilityLabel === undefined || !hasValidDisabled) {
146
+ // icon label **恰好给一个**:两个都给无法决定渲染成什么,一个都不给没有可视内容。
147
+ const actionLabel = normalizeNonBlankText(candidate.label);
148
+ const hasIcon = isIconName(candidate.icon);
149
+ const hasLabel = actionLabel !== undefined;
150
+ if (hasIcon === hasLabel || typeof candidate.onPress !== 'function' || accessibilityLabel === undefined || !hasValidDisabled) {
147
151
  return {
148
152
  slot: undefined,
149
153
  diagnostics: ['slot.action']
@@ -152,7 +156,11 @@ export function normalizeTextFieldSlot(slot) {
152
156
  return {
153
157
  slot: {
154
158
  kind: 'action',
155
- icon: candidate.icon,
159
+ ...(hasIcon ? {
160
+ icon: candidate.icon
161
+ } : {
162
+ label: actionLabel
163
+ }),
156
164
  onPress: candidate.onPress,
157
165
  accessibilityLabel,
158
166
  ...(slotDisabled !== undefined && {
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","fixed","ICONS","normalizeNonBlankText","DEFAULT_SLOT_ICON_SIZE","MAX_SLOT_ICON_SIZE","DEFAULT_TEXTAREA_MIN_HEIGHT","DEFAULT_SEARCH_VISIBLE_HEIGHT","RESERVED_CONTAINER_KEYS","isFiniteAtLeast","value","min","Number","isFinite","isFiniteWithin","max","normalizeInputHeight","hitTarget","diagnostics","normalizeTextareaHeights","minHeight","maxHeight","safeMin","undefined","push","normalizeSlotIconSize","isIconName","Object","prototype","hasOwnProperty","call","normalizeTextFieldSlot","slot","candidate","kind","size","color","hasValidSize","hasValidColor","icon","accessibilityLabel","hasValidDisabled","disabled","slotDisabled","onPress","normalizeSearchLayout","interactiveHeight","visibleHeight","safeInteractive","safeVisible","verticalInset","sanitizeTextFieldWrapperProps","props","multiline","searchLayout","safeProps","sanitizeTextFieldContainerStyle","style","flattened","flatten","reserved","sanitized","key","entry","entries","includes"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/normalize.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","fixed","ICONS","normalizeNonBlankText","DEFAULT_SLOT_ICON_SIZE","MAX_SLOT_ICON_SIZE","DEFAULT_TEXTAREA_MIN_HEIGHT","DEFAULT_SEARCH_VISIBLE_HEIGHT","RESERVED_CONTAINER_KEYS","isFiniteAtLeast","value","min","Number","isFinite","isFiniteWithin","max","normalizeInputHeight","hitTarget","diagnostics","normalizeTextareaHeights","minHeight","maxHeight","safeMin","undefined","push","normalizeSlotIconSize","isIconName","Object","prototype","hasOwnProperty","call","normalizeTextFieldSlot","slot","candidate","kind","size","color","hasValidSize","hasValidColor","icon","accessibilityLabel","hasValidDisabled","disabled","slotDisabled","actionLabel","label","hasIcon","hasLabel","onPress","normalizeSearchLayout","interactiveHeight","visibleHeight","safeInteractive","safeVisible","verticalInset","sanitizeTextFieldWrapperProps","props","multiline","searchLayout","safeProps","sanitizeTextFieldContainerStyle","style","flattened","flatten","reserved","sanitized","key","entry","entries","includes"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/normalize.ts"],"mappings":"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","ignoreList":[]}
@@ -68,10 +68,24 @@ export const makeStyles = c => StyleSheet.create({
68
68
  color: c.foregroundMuted,
69
69
  fontSize: t.sm
70
70
  },
71
- // 固定命中框不走 r()/fontScale:它是手指可达性约束,不是视觉 token。
71
+ // 文字型 action 的标签:用 primary 表达「可操作」,与图标型的 muted 展示区分开;
72
+ // 禁用降到 foregroundSubtle(与 disabled 的图标视觉降级同级)。
73
+ slotActionLabel: {
74
+ fontSize: t.xs,
75
+ color: c.primary,
76
+ fontWeight: fw.medium
77
+ },
78
+ slotActionLabelDisabled: {
79
+ color: c.foregroundSubtle
80
+ },
81
+ // 命中框:44 是**下限**不是定值。写死 width 会把「获取验证码」这类文字型 action
82
+ // 截断;用 minWidth 后图标型(内容 18)照样撑到 44,视觉不变,文字型自适应加宽。
83
+ // minWidth / height 不走 r()/fontScale —— 它是手指可达性约束,不是视觉 token;
84
+ // paddingHorizontal 是呼吸空间,可以随屏幕缩放。
72
85
  actionFrame: {
73
- width: 44,
86
+ minWidth: 44,
74
87
  height: 44,
88
+ paddingHorizontal: space[2],
75
89
  alignItems: 'center',
76
90
  justifyContent: 'center'
77
91
  },
@@ -1 +1 @@
1
- {"version":3,"names":["StyleSheet","fw","radius","space","type","t","makeStyles","c","create","wrap","flexDirection","alignItems","gap","paddingHorizontal","borderRadius","md","borderWidth","wrapMultiline","paddingVertical","searchInteractiveRow","searchVisibleSurface","position","left","right","wrapIdle","backgroundColor","surfaceContainerHigh","borderColor","wrapActive","surface","wrapFocus","primary","wrapFilled","outline","wrapError","error","input","flex","minWidth","fontSize","body","color","foreground","padding","margin","outlineWidth","inputMultiline","textAlignVertical","slotDisplay","justifyContent","minHeight","slotText","foregroundMuted","sm","actionFrame","width","height","errorMsg","micro","marginTop","fontWeight","regular","containerDisabled","opacity","rootCentered"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,EAAE,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,IAAIC,CAAC,QAAQ,yBAAgB;AAG7D;AACA,OAAO,MAAMC,UAAU,GAAIC,CAAc,IACvCP,UAAU,CAACQ,MAAM,CAAC;EAChBC,IAAI,EAAE;IACJC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,GAAG,EAAET,KAAK,CAAC,CAAC,CAAC;IACbU,iBAAiB,EAAEV,KAAK,CAAC,CAAC,CAAC;IAC3BW,YAAY,EAAEZ,MAAM,CAACa,EAAE;IACvBC,WAAW,EAAE;EACf,CAAC;EACDC,aAAa,EAAE;IACbC,eAAe,EAAEf,KAAK,CAAC,CAAC,CAAC;IACzBQ,UAAU,EAAE;EACd,CAAC;EACD;EACAQ,oBAAoB,EAAE;IACpBH,WAAW,EAAE;EACf,CAAC;EACDI,oBAAoB,EAAE;IACpBC,QAAQ,EAAE,UAAU;IACpBC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRT,YAAY,EAAEZ,MAAM,CAACa,EAAE;IACvBC,WAAW,EAAE;EACf,CAAC;EACDQ,QAAQ,EAAE;IACRC,eAAe,EAAElB,CAAC,CAACmB,oBAAoB;IACvCC,WAAW,EAAE;EACf,CAAC;EACD;EACAC,UAAU,EAAE;IACVH,eAAe,EAAElB,CAAC,CAACsB;EACrB,CAAC;EACDC,SAAS,EAAE;IACTH,WAAW,EAAEpB,CAAC,CAACwB;EACjB,CAAC;EACDC,UAAU,EAAE;IACVL,WAAW,EAAEpB,CAAC,CAAC0B;EACjB,CAAC;EACDC,SAAS,EAAE;IACTP,WAAW,EAAEpB,CAAC,CAAC4B;EACjB,CAAC;EACDC,KAAK,EAAE;IACLC,IAAI,EAAE,CAAC;IACPC,QAAQ,EAAE,CAAC;IACXC,QAAQ,EAAElC,CAAC,CAACmC,IAAI;IAChBC,KAAK,EAAElC,CAAC,CAACmC,UAAU;IACnBC,OAAO,EAAE,CAAC;IACVC,MAAM,EAAE,CAAC;IACT;IACAC,YAAY,EAAE;EAChB,CAAC;EACD;EACAC,cAAc,EAAE;IACdC,iBAAiB,EAAE;EACrB,CAAC;EACDC,WAAW,EAAE;IACXrC,UAAU,EAAE,QAAQ;IACpBsC,cAAc,EAAE,QAAQ;IACxBX,QAAQ,EAAE,EAAE;IACZY,SAAS,EAAE;EACb,CAAC;EACDC,QAAQ,EAAE;IACRV,KAAK,EAAElC,CAAC,CAAC6C,eAAe;IACxBb,QAAQ,EAAElC,CAAC,CAACgD;EACd,CAAC;EACD;EACAC,WAAW,EAAE;IACXC,KAAK,EAAE,EAAE;IACTC,MAAM,EAAE,EAAE;IACV7C,UAAU,EAAE,QAAQ;IACpBsC,cAAc,EAAE;EAClB,CAAC;EACDQ,QAAQ,EAAE;IACRlB,QAAQ,EAAElC,CAAC,CAACqD,KAAK;IACjBjB,KAAK,EAAElC,CAAC,CAAC4B,KAAK;IACdwB,SAAS,EAAExD,KAAK,CAAC,CAAC,CAAC;IACnBU,iBAAiB,EAAEV,KAAK,CAAC,CAAC,CAAC;IAC3ByD,UAAU,EAAE3D,EAAE,CAAC4D;EACjB,CAAC;EACDC,iBAAiB,EAAE;IACjBC,OAAO,EAAE;EACX,CAAC;EACDC,YAAY,EAAE;IACZf,cAAc,EAAE;EAClB;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["StyleSheet","fw","radius","space","type","t","makeStyles","c","create","wrap","flexDirection","alignItems","gap","paddingHorizontal","borderRadius","md","borderWidth","wrapMultiline","paddingVertical","searchInteractiveRow","searchVisibleSurface","position","left","right","wrapIdle","backgroundColor","surfaceContainerHigh","borderColor","wrapActive","surface","wrapFocus","primary","wrapFilled","outline","wrapError","error","input","flex","minWidth","fontSize","body","color","foreground","padding","margin","outlineWidth","inputMultiline","textAlignVertical","slotDisplay","justifyContent","minHeight","slotText","foregroundMuted","sm","slotActionLabel","xs","fontWeight","medium","slotActionLabelDisabled","foregroundSubtle","actionFrame","height","errorMsg","micro","marginTop","regular","containerDisabled","opacity","rootCentered"],"sourceRoot":"../../../../../src","sources":["components/ui/TextField/styles.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/Cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAczC,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,SAAS,CAAC;AA0BpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8FxD"}
1
+ {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/Cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAczC,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,SAAS,CAAC;AA0BpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyGxD"}
@@ -68,7 +68,15 @@ type StaticCellProps = {
68
68
  onPress?: never;
69
69
  arrow?: never;
70
70
  disabled?: never;
71
- accessibilityLabel?: never;
71
+ /**
72
+ * 覆盖整行的 accessible name。**不可点不等于不需要名称** —— 状态型行
73
+ * (「定位权限,已授权·始终允许」)靠 title / desc / extra 自动拼,读屏会拆成三段读,
74
+ * 措辞与顺序都不受控。给了这个就把整行合成一个 a11y 节点、按指定文案播报。
75
+ *
76
+ * Control 分支刻意**不**开放它:那种行里有 Switch 等可聚焦控件,整行 accessible
77
+ * 会吞掉控件自己的焦点与状态播报。
78
+ */
79
+ accessibilityLabel?: string;
72
80
  accessibilityHint?: never;
73
81
  };
74
82
  export type CellProps = SharedCellProps & (ActionableCellProps | ControlCellProps | StaticCellProps);
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextFieldSlot.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/TextFieldSlot.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIpE,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,iBAAiB,EACjB,MAAM,GACP,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CA+D/C"}
1
+ {"version":3,"file":"TextFieldSlot.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/TextFieldSlot.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAIpE,KAAK,kBAAkB,GAAG;IACxB,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC;IACpC,iBAAiB,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,iBAAiB,EACjB,MAAM,GACP,EAAE,kBAAkB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAgF/C"}
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACd,MAAM,SAAS,CAAC;AAuCjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAIrE;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,GACjB,yBAAyB,CAqB3B;AAED,qCAAqC;AACrC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAItE;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AASF,0DAA0D;AAC1D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,CA4E7E;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,qBAAqB,CACnC,iBAAiB,EAAE,OAAO,EAC1B,aAAa,EAAE,OAAO,GACrB,sBAAsB,CAwBxB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,8BAA8B,CAUhC;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,GACtC,uBAAuB,CAgBzB"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/normalize.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAIzD,OAAO,KAAK,EACV,iBAAiB,EACjB,uBAAuB,EACvB,aAAa,EACd,MAAM,SAAS,CAAC;AAuCjB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAIrE;AAED,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,OAAO,EAClB,SAAS,EAAE,OAAO,GACjB,yBAAyB,CAqB3B;AAED,qCAAqC;AACrC,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAItE;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,aAAa,GAAG,SAAS,CAAC;IAChC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AASF,0DAA0D;AAC1D,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,OAAO,GAAG,uBAAuB,CAkF7E;AAED,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,GAAG;IACvD,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,8CAA8C;AAC9C,wBAAgB,qBAAqB,CACnC,iBAAiB,EAAE,OAAO,EAC1B,aAAa,EAAE,OAAO,GACrB,sBAAsB,CAwBxB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,KAAK,EAAE,uBAAuB,CAAC;IAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,8BAA8B,CAUhC;AAED;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAC7C,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,GAAG,SAAS,GACtC,uBAAuB,CAgBzB"}
@@ -64,9 +64,18 @@ export declare const makeStyles: (c: ColorTokens) => Readonly<{
64
64
  color: string;
65
65
  fontSize: number;
66
66
  };
67
+ slotActionLabel: {
68
+ fontSize: number;
69
+ color: string;
70
+ fontWeight: "500";
71
+ };
72
+ slotActionLabelDisabled: {
73
+ color: string;
74
+ };
67
75
  actionFrame: {
68
- width: number;
76
+ minWidth: number;
69
77
  height: number;
78
+ paddingHorizontal: number;
70
79
  alignItems: "center";
71
80
  justifyContent: "center";
72
81
  };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,yDAAyD;AACzD,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;IAcrC,+BAA+B;;;;;;;;;;;;;;;IAe/B,qEAAqE;;;;;;;;;;;;;;;;;;;;;;IAuBrE,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCtC,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,yDAAyD;AACzD,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;IAcrC,+BAA+B;;;;;;;;;;;;;;;IAe/B,qEAAqE;;;;;;;;;;;;;;;;;;;;;;IAuBrE,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDtC,CAAC"}
@@ -41,13 +41,23 @@ export type TextFieldSlot = {
41
41
  } | {
42
42
  kind: 'text';
43
43
  value: string | number;
44
- } | {
44
+ } | ({
45
45
  kind: 'action';
46
- icon: IconName;
47
46
  onPress: () => void;
48
47
  accessibilityLabel: string;
49
48
  disabled?: boolean;
50
- };
49
+ } & ({
50
+ icon: IconName;
51
+ label?: never;
52
+ }
53
+ /**
54
+ * 文字型操作(「获取验证码」「重新发送」这类)。命中框、禁用态与可访问名称
55
+ * 与图标型完全一致 —— 只是渲染成文字。
56
+ */
57
+ | {
58
+ label: string;
59
+ icon?: never;
60
+ }));
51
61
  /**
52
62
  * containerStyle 的可用字段。六个尺寸/裁剪字段被排除 ——
53
63
  * 它们会覆盖 TextField 自持的最小命中框,让输入框缩到碰不到。
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unif/react-native-design",
3
- "version": "0.21.0",
3
+ "version": "0.22.0",
4
4
  "description": "Unif 设计系统:theme + icons + utils + components",
5
5
  "main": "./lib/module/index.js",
6
6
  "types": "./lib/typescript/src/index.d.ts",
@@ -47,6 +47,7 @@
47
47
  "check:config": "node scripts/check-config.js",
48
48
  "check:icons": "node scripts/check-icons-generated.js",
49
49
  "check:runtime-peers": "node scripts/check-runtime-peers.js",
50
+ "verify:example-showcase": "node --test scripts/__tests__/verify-example-showcase.test.mjs && node scripts/verify-example-showcase.mjs",
50
51
  "create:runtime-harness": "node scripts/create-runtime-api-harness.js",
51
52
  "runtime:image-fixture": "node scripts/runtime-image-fixture.js",
52
53
  "release": "release-it --only-version"
@@ -163,7 +164,8 @@
163
164
  "testPathIgnorePatterns": [
164
165
  "/node_modules/",
165
166
  "<rootDir>/website/",
166
- "<rootDir>/example/"
167
+ "<rootDir>/example/",
168
+ "<rootDir>/scripts/__tests__/"
167
169
  ]
168
170
  },
169
171
  "commitlint": {
@@ -138,5 +138,16 @@ export function Cell(props: CellProps): React.JSX.Element {
138
138
  </Pressable>
139
139
  );
140
140
  }
141
+
142
+ // 不可点但显式给了整行名称(Static 分支):合成单个 a11y 节点按指定文案播报。
143
+ // 没给就保持裸渲染 —— 读屏按 title / desc / extra 各自的文本节点逐个读。
144
+ const staticLabel = props.accessibilityLabel;
145
+ if (staticLabel !== undefined && staticLabel.trim().length > 0) {
146
+ return (
147
+ <View accessible accessibilityLabel={staticLabel} testID={props.testID}>
148
+ {inner}
149
+ </View>
150
+ );
151
+ }
141
152
  return inner;
142
153
  }
@@ -66,7 +66,15 @@ type StaticCellProps = {
66
66
  onPress?: never;
67
67
  arrow?: never;
68
68
  disabled?: never;
69
- accessibilityLabel?: never;
69
+ /**
70
+ * 覆盖整行的 accessible name。**不可点不等于不需要名称** —— 状态型行
71
+ * (「定位权限,已授权·始终允许」)靠 title / desc / extra 自动拼,读屏会拆成三段读,
72
+ * 措辞与顺序都不受控。给了这个就把整行合成一个 a11y 节点、按指定文案播报。
73
+ *
74
+ * Control 分支刻意**不**开放它:那种行里有 Switch 等可聚焦控件,整行 accessible
75
+ * 会吞掉控件自己的焦点与状态播报。
76
+ */
77
+ accessibilityLabel?: string;
70
78
  accessibilityHint?: never;
71
79
  };
72
80
 
@@ -83,7 +83,24 @@ export function TextFieldSlot({
83
83
  style={styles.actionFrame}
84
84
  testID={testID}
85
85
  >
86
- <Icon name={safeSlot.icon} size={18} color={colors.foregroundMuted} />
86
+ {safeSlot.icon !== undefined ? (
87
+ <Icon
88
+ name={safeSlot.icon}
89
+ size={18}
90
+ color={colors.foregroundMuted}
91
+ />
92
+ ) : (
93
+ // 文字型操作:命中框与 a11y 走同一个 Pressable,只是内容渲染成文字。
94
+ // 禁用态用 muted 前景色,与图标型的视觉降级一致。
95
+ <Text
96
+ style={[
97
+ styles.slotActionLabel,
98
+ disabled && styles.slotActionLabelDisabled,
99
+ ]}
100
+ >
101
+ {safeSlot.label}
102
+ </Text>
103
+ )}
87
104
  </Pressable>
88
105
  );
89
106
  }
@@ -165,8 +165,12 @@ export function normalizeTextFieldSlot(slot: unknown): NormalizedTextFieldSlot {
165
165
  typeof candidate.disabled === 'boolean'
166
166
  ? candidate.disabled
167
167
  : undefined;
168
+ // icon 与 label **恰好给一个**:两个都给无法决定渲染成什么,一个都不给没有可视内容。
169
+ const actionLabel = normalizeNonBlankText(candidate.label);
170
+ const hasIcon = isIconName(candidate.icon);
171
+ const hasLabel = actionLabel !== undefined;
168
172
  if (
169
- !isIconName(candidate.icon) ||
173
+ hasIcon === hasLabel ||
170
174
  typeof candidate.onPress !== 'function' ||
171
175
  accessibilityLabel === undefined ||
172
176
  !hasValidDisabled
@@ -176,7 +180,9 @@ export function normalizeTextFieldSlot(slot: unknown): NormalizedTextFieldSlot {
176
180
  return {
177
181
  slot: {
178
182
  kind: 'action',
179
- icon: candidate.icon,
183
+ ...(hasIcon
184
+ ? { icon: candidate.icon as IconName }
185
+ : { label: actionLabel as string }),
180
186
  onPress: candidate.onPress as () => void,
181
187
  accessibilityLabel,
182
188
  ...(slotDisabled !== undefined && { disabled: slotDisabled }),
@@ -69,10 +69,24 @@ export const makeStyles = (c: ColorTokens) =>
69
69
  color: c.foregroundMuted,
70
70
  fontSize: t.sm,
71
71
  },
72
- // 固定命中框不走 r()/fontScale:它是手指可达性约束,不是视觉 token。
72
+ // 文字型 action 的标签:用 primary 表达「可操作」,与图标型的 muted 展示区分开;
73
+ // 禁用降到 foregroundSubtle(与 disabled 的图标视觉降级同级)。
74
+ slotActionLabel: {
75
+ fontSize: t.xs,
76
+ color: c.primary,
77
+ fontWeight: fw.medium,
78
+ },
79
+ slotActionLabelDisabled: {
80
+ color: c.foregroundSubtle,
81
+ },
82
+ // 命中框:44 是**下限**不是定值。写死 width 会把「获取验证码」这类文字型 action
83
+ // 截断;用 minWidth 后图标型(内容 18)照样撑到 44,视觉不变,文字型自适应加宽。
84
+ // minWidth / height 不走 r()/fontScale —— 它是手指可达性约束,不是视觉 token;
85
+ // paddingHorizontal 是呼吸空间,可以随屏幕缩放。
73
86
  actionFrame: {
74
- width: 44,
87
+ minWidth: 44,
75
88
  height: 44,
89
+ paddingHorizontal: space[2],
76
90
  alignItems: 'center',
77
91
  justifyContent: 'center',
78
92
  },
@@ -43,13 +43,19 @@ export type TextFieldHandle = {
43
43
  export type TextFieldSlot =
44
44
  | { kind: 'icon'; icon: IconName; size?: number; color?: string }
45
45
  | { kind: 'text'; value: string | number }
46
- | {
46
+ | ({
47
47
  kind: 'action';
48
- icon: IconName;
49
48
  onPress: () => void;
50
49
  accessibilityLabel: string;
51
50
  disabled?: boolean;
52
- };
51
+ } & (
52
+ | { icon: IconName; label?: never }
53
+ /**
54
+ * 文字型操作(「获取验证码」「重新发送」这类)。命中框、禁用态与可访问名称
55
+ * 与图标型完全一致 —— 只是渲染成文字。
56
+ */
57
+ | { label: string; icon?: never }
58
+ ));
53
59
 
54
60
  /**
55
61
  * containerStyle 的可用字段。六个尺寸/裁剪字段被排除 ——