@unif/react-native-design 0.22.0 → 0.23.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.
@@ -7,7 +7,7 @@ import { pressedOpacity, r, useColors, useThemedStyles } from "../../../theme/in
7
7
  import { createLogger } from "../../../utils/logger/index.js";
8
8
  import { Icon } from "../Icon/index.js";
9
9
  import { A11Y_HIDDEN_PROPS } from "../shared/a11y.js";
10
- import { resolveCellActionAccessibilityLabel, stringifyCellText } from "./content.js";
10
+ import { resolveCellActionAccessibilityLabel, resolveCellTitleColor, stringifyCellText } from "./content.js";
11
11
  import { useListVariant } from "./context.js";
12
12
  import { Leading } from "./Leading.js";
13
13
  import { makeStyles } from "./styles.js";
@@ -62,7 +62,12 @@ export function Cell(props) {
62
62
  }
63
63
  }, [hasMissingActionName]);
64
64
  const cellStyle = [styles.cell, flush && styles.cellFlush, flush && props.desc !== undefined && styles.cellFlushWithDesc, props.style];
65
- const titleColor = props.danger ? c.error : undefined;
65
+ const titleColor = resolveCellTitleColor({
66
+ danger: props.danger,
67
+ selected: props.selected,
68
+ dangerColor: c.error,
69
+ selectedColor: c.primary
70
+ });
66
71
  const titleStyle = [flush ? styles.titleFlush : styles.title, titleColor && {
67
72
  color: titleColor
68
73
  }];
@@ -105,9 +110,13 @@ export function Cell(props) {
105
110
  disabled: isDisabled,
106
111
  accessibilityRole: "button",
107
112
  accessibilityLabel: accessibilityLabel,
108
- accessibilityHint: props.accessibilityHint,
113
+ accessibilityHint: props.accessibilityHint
114
+ // 选中态必须进 a11y state:只靠 primary 色区分的话,色觉障碍与读屏用户
115
+ // 都感知不到「当前是哪一项」。
116
+ ,
109
117
  accessibilityState: {
110
- disabled: isDisabled
118
+ disabled: isDisabled,
119
+ selected: props.selected
111
120
  },
112
121
  testID: props.testID,
113
122
  style: ({
@@ -126,6 +135,9 @@ export function Cell(props) {
126
135
  return /*#__PURE__*/_jsx(View, {
127
136
  accessible: true,
128
137
  accessibilityLabel: staticLabel,
138
+ accessibilityState: props.selected === undefined ? undefined : {
139
+ selected: props.selected
140
+ },
129
141
  testID: props.testID,
130
142
  children: inner
131
143
  });
@@ -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","staticLabel","trim","length","accessible"],"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","resolveCellTitleColor","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","selected","dangerColor","error","selectedColor","primary","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":[]}
@@ -31,4 +31,20 @@ export function resolveCellActionAccessibilityLabel({
31
31
  }) {
32
32
  return normalizeNonBlankText(accessibilityLabel) ?? normalizeNonBlankText(buildCellAccessibilityLabel(content));
33
33
  }
34
+
35
+ /**
36
+ * 语义态 → 标题色。**danger 优先于 selected** —— 危险语义比选中语义更需要被看见,
37
+ * 两者同时给时不该让「当前项」的高亮盖掉「这一项有风险」。
38
+ * 都没给返回 undefined,由调用方回落到默认前景色。
39
+ */
40
+ export function resolveCellTitleColor({
41
+ danger,
42
+ selected,
43
+ dangerColor,
44
+ selectedColor
45
+ }) {
46
+ if (danger === true) return dangerColor;
47
+ if (selected === true) return selectedColor;
48
+ return undefined;
49
+ }
34
50
  //# sourceMappingURL=content.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["normalizeNonBlankText","stringifyCellText","value","String","appendNonBlank","parts","normalized","undefined","push","buildCellAccessibilityLabel","title","desc","extra","kind","accessibilityText","join","resolveCellActionAccessibilityLabel","accessibilityLabel","content"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/content.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,gCAA6B;AAInE,OAAO,SAASC,iBAAiBA,CAACC,KAAoB,EAAU;EAC9D,OAAOC,MAAM,CAACD,KAAK,CAAC;AACtB;AAEA,SAASE,cAAcA,CAACC,KAAe,EAAEH,KAAa,EAAQ;EAC5D,MAAMI,UAAU,GAAGN,qBAAqB,CAACE,KAAK,CAAC;EAC/C,IAAII,UAAU,KAAKC,SAAS,EAAEF,KAAK,CAACG,IAAI,CAACF,UAAU,CAAC;AACtD;AAEA,OAAO,SAASG,2BAA2BA,CAAC;EAC1CC,KAAK;EACLC,IAAI;EACJC;AAKF,CAAC,EAAU;EACT,MAAMP,KAAe,GAAG,EAAE;EAC1BD,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACS,KAAK,CAAC,CAAC;EAE/C,IAAIC,IAAI,KAAKJ,SAAS,EAAE;IACtBH,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACU,IAAI,CAAC,CAAC;EAChD;EAEA,IAAIC,KAAK,EAAEC,IAAI,KAAK,MAAM,EAAE;IAC1BT,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACW,KAAK,CAACV,KAAK,CAAC,CAAC;EACvD,CAAC,MAAM,IAAIU,KAAK,EAAEC,IAAI,KAAK,SAAS,EAAE;IACpCT,cAAc,CAACC,KAAK,EAAEO,KAAK,CAACE,iBAAiB,IAAI,EAAE,CAAC;EACtD;EAEA,OAAOT,KAAK,CAACU,IAAI,CAAC,GAAG,CAAC;AACxB;AAEA,OAAO,SAASC,mCAAmCA,CAAC;EAClDC,kBAAkB;EAClB,GAAGC;AAML,CAAC,EAAsB;EACrB,OACElB,qBAAqB,CAACiB,kBAAkB,CAAC,IACzCjB,qBAAqB,CAACS,2BAA2B,CAACS,OAAO,CAAC,CAAC;AAE/D","ignoreList":[]}
1
+ {"version":3,"names":["normalizeNonBlankText","stringifyCellText","value","String","appendNonBlank","parts","normalized","undefined","push","buildCellAccessibilityLabel","title","desc","extra","kind","accessibilityText","join","resolveCellActionAccessibilityLabel","accessibilityLabel","content","resolveCellTitleColor","danger","selected","dangerColor","selectedColor"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/content.ts"],"mappings":";;AACA,SAASA,qBAAqB,QAAQ,gCAA6B;AAInE,OAAO,SAASC,iBAAiBA,CAACC,KAAoB,EAAU;EAC9D,OAAOC,MAAM,CAACD,KAAK,CAAC;AACtB;AAEA,SAASE,cAAcA,CAACC,KAAe,EAAEH,KAAa,EAAQ;EAC5D,MAAMI,UAAU,GAAGN,qBAAqB,CAACE,KAAK,CAAC;EAC/C,IAAII,UAAU,KAAKC,SAAS,EAAEF,KAAK,CAACG,IAAI,CAACF,UAAU,CAAC;AACtD;AAEA,OAAO,SAASG,2BAA2BA,CAAC;EAC1CC,KAAK;EACLC,IAAI;EACJC;AAKF,CAAC,EAAU;EACT,MAAMP,KAAe,GAAG,EAAE;EAC1BD,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACS,KAAK,CAAC,CAAC;EAE/C,IAAIC,IAAI,KAAKJ,SAAS,EAAE;IACtBH,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACU,IAAI,CAAC,CAAC;EAChD;EAEA,IAAIC,KAAK,EAAEC,IAAI,KAAK,MAAM,EAAE;IAC1BT,cAAc,CAACC,KAAK,EAAEJ,iBAAiB,CAACW,KAAK,CAACV,KAAK,CAAC,CAAC;EACvD,CAAC,MAAM,IAAIU,KAAK,EAAEC,IAAI,KAAK,SAAS,EAAE;IACpCT,cAAc,CAACC,KAAK,EAAEO,KAAK,CAACE,iBAAiB,IAAI,EAAE,CAAC;EACtD;EAEA,OAAOT,KAAK,CAACU,IAAI,CAAC,GAAG,CAAC;AACxB;AAEA,OAAO,SAASC,mCAAmCA,CAAC;EAClDC,kBAAkB;EAClB,GAAGC;AAML,CAAC,EAAsB;EACrB,OACElB,qBAAqB,CAACiB,kBAAkB,CAAC,IACzCjB,qBAAqB,CAACS,2BAA2B,CAACS,OAAO,CAAC,CAAC;AAE/D;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,qBAAqBA,CAAC;EACpCC,MAAM;EACNC,QAAQ;EACRC,WAAW;EACXC;AAMF,CAAC,EAAsB;EACrB,IAAIH,MAAM,KAAK,IAAI,EAAE,OAAOE,WAAW;EACvC,IAAID,QAAQ,KAAK,IAAI,EAAE,OAAOE,aAAa;EAC3C,OAAOhB,SAAS;AAClB","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,CAyGxD"}
1
+ {"version":3,"file":"Cell.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/Cell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoB,MAAM,OAAO,CAAC;AAezC,OAAO,KAAK,EAAa,SAAS,EAAE,MAAM,SAAS,CAAC;AA0BpD;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAyHxD"}
@@ -14,5 +14,16 @@ export declare function resolveCellActionAccessibilityLabel({ accessibilityLabel
14
14
  desc?: CellTextValue;
15
15
  extra?: CellAccessibilityExtra;
16
16
  }): string | undefined;
17
+ /**
18
+ * 语义态 → 标题色。**danger 优先于 selected** —— 危险语义比选中语义更需要被看见,
19
+ * 两者同时给时不该让「当前项」的高亮盖掉「这一项有风险」。
20
+ * 都没给返回 undefined,由调用方回落到默认前景色。
21
+ */
22
+ export declare function resolveCellTitleColor({ danger, selected, dangerColor, selectedColor, }: {
23
+ danger?: boolean;
24
+ selected?: boolean;
25
+ dangerColor: string;
26
+ selectedColor: string;
27
+ }): string | undefined;
17
28
  export {};
18
29
  //# sourceMappingURL=content.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxD,KAAK,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE9D;AAOD,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,IAAI,EACJ,KAAK,GACN,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,GAAG,MAAM,CAeT;AAED,wBAAgB,mCAAmC,CAAC,EAClD,kBAAkB,EAClB,GAAG,OAAO,EACX,EAAE;IACD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,GAAG,MAAM,GAAG,SAAS,CAKrB"}
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Cell/content.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGxD,KAAK,sBAAsB,GAAG,OAAO,CAAC,SAAS,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,GAAG,MAAM,CAE9D;AAOD,wBAAgB,2BAA2B,CAAC,EAC1C,KAAK,EACL,IAAI,EACJ,KAAK,GACN,EAAE;IACD,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,GAAG,MAAM,CAeT;AAED,wBAAgB,mCAAmC,CAAC,EAClD,kBAAkB,EAClB,GAAG,OAAO,EACX,EAAE;IACD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,CAAC,EAAE,sBAAsB,CAAC;CAChC,GAAG,MAAM,GAAG,SAAS,CAKrB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,MAAM,EACN,QAAQ,EACR,WAAW,EACX,aAAa,GACd,EAAE;IACD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB,GAAG,MAAM,GAAG,SAAS,CAIrB"}
@@ -38,6 +38,12 @@ type SharedCellProps = {
38
38
  leading?: CellLeading;
39
39
  /** 危险态:icon 盒子与标题使用 error 色;action arrow 不显示。 */
40
40
  danger?: boolean;
41
+ /**
42
+ * 选中态:标题使用 primary 色,表示「列表里当前这一项」(会话列表的当前会话、
43
+ * 设置列表的当前选项等)。与 `danger` 互斥——同时给时 `danger` 优先,
44
+ * 危险语义比选中语义更需要被看见。
45
+ */
46
+ selected?: boolean;
41
47
  /** 额外样式覆盖。 */
42
48
  style?: StyleProp<ViewStyle>;
43
49
  /** E2E / 测试定位。 */
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unif/react-native-design",
3
- "version": "0.22.0",
3
+ "version": "0.23.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",
@@ -7,6 +7,7 @@ import { Icon } from '../Icon';
7
7
  import { A11Y_HIDDEN_PROPS } from '../shared/a11y';
8
8
  import {
9
9
  resolveCellActionAccessibilityLabel,
10
+ resolveCellTitleColor,
10
11
  stringifyCellText,
11
12
  } from './content';
12
13
  import { useListVariant } from './context';
@@ -76,7 +77,12 @@ export function Cell(props: CellProps): React.JSX.Element {
76
77
  props.style,
77
78
  ];
78
79
 
79
- const titleColor = props.danger ? c.error : undefined;
80
+ const titleColor = resolveCellTitleColor({
81
+ danger: props.danger,
82
+ selected: props.selected,
83
+ dangerColor: c.error,
84
+ selectedColor: c.primary,
85
+ });
80
86
  const titleStyle = [
81
87
  flush ? styles.titleFlush : styles.title,
82
88
  titleColor && { color: titleColor },
@@ -128,7 +134,9 @@ export function Cell(props: CellProps): React.JSX.Element {
128
134
  accessibilityRole="button"
129
135
  accessibilityLabel={accessibilityLabel}
130
136
  accessibilityHint={props.accessibilityHint}
131
- accessibilityState={{ disabled: isDisabled }}
137
+ // 选中态必须进 a11y state:只靠 primary 色区分的话,色觉障碍与读屏用户
138
+ // 都感知不到「当前是哪一项」。
139
+ accessibilityState={{ disabled: isDisabled, selected: props.selected }}
132
140
  testID={props.testID}
133
141
  style={({ pressed }) => [
134
142
  { opacity: isDisabled ? 0.5 : pressed ? pressedOpacity : 1 },
@@ -144,7 +152,16 @@ export function Cell(props: CellProps): React.JSX.Element {
144
152
  const staticLabel = props.accessibilityLabel;
145
153
  if (staticLabel !== undefined && staticLabel.trim().length > 0) {
146
154
  return (
147
- <View accessible accessibilityLabel={staticLabel} testID={props.testID}>
155
+ <View
156
+ accessible
157
+ accessibilityLabel={staticLabel}
158
+ accessibilityState={
159
+ props.selected === undefined
160
+ ? undefined
161
+ : { selected: props.selected }
162
+ }
163
+ testID={props.testID}
164
+ >
148
165
  {inner}
149
166
  </View>
150
167
  );
@@ -51,3 +51,24 @@ export function resolveCellActionAccessibilityLabel({
51
51
  normalizeNonBlankText(buildCellAccessibilityLabel(content))
52
52
  );
53
53
  }
54
+
55
+ /**
56
+ * 语义态 → 标题色。**danger 优先于 selected** —— 危险语义比选中语义更需要被看见,
57
+ * 两者同时给时不该让「当前项」的高亮盖掉「这一项有风险」。
58
+ * 都没给返回 undefined,由调用方回落到默认前景色。
59
+ */
60
+ export function resolveCellTitleColor({
61
+ danger,
62
+ selected,
63
+ dangerColor,
64
+ selectedColor,
65
+ }: {
66
+ danger?: boolean;
67
+ selected?: boolean;
68
+ dangerColor: string;
69
+ selectedColor: string;
70
+ }): string | undefined {
71
+ if (danger === true) return dangerColor;
72
+ if (selected === true) return selectedColor;
73
+ return undefined;
74
+ }
@@ -35,6 +35,12 @@ type SharedCellProps = {
35
35
  leading?: CellLeading;
36
36
  /** 危险态:icon 盒子与标题使用 error 色;action arrow 不显示。 */
37
37
  danger?: boolean;
38
+ /**
39
+ * 选中态:标题使用 primary 色,表示「列表里当前这一项」(会话列表的当前会话、
40
+ * 设置列表的当前选项等)。与 `danger` 互斥——同时给时 `danger` 优先,
41
+ * 危险语义比选中语义更需要被看见。
42
+ */
43
+ selected?: boolean;
38
44
  /** 额外样式覆盖。 */
39
45
  style?: StyleProp<ViewStyle>;
40
46
  /** E2E / 测试定位。 */