@unif/react-native-design 0.14.1 → 0.15.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/lib/module/components/ui/StatusDot/StatusDot.js +8 -2
- package/lib/module/components/ui/StatusDot/StatusDot.js.map +1 -1
- package/lib/module/components/ui/StatusDot/styles.js +5 -0
- package/lib/module/components/ui/StatusDot/styles.js.map +1 -1
- package/lib/module/index.js +3 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/components/ui/StatusDot/StatusDot.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/StatusDot/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/StatusDot/types.d.ts +1 -1
- package/lib/typescript/src/components/ui/StatusDot/types.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +4 -2
- package/src/components/ui/StatusDot/StatusDot.tsx +9 -1
- package/src/components/ui/StatusDot/styles.ts +2 -0
- package/src/components/ui/StatusDot/types.ts +1 -1
- package/src/index.tsx +3 -0
|
@@ -9,13 +9,14 @@ import { paletteFor, styles } from "./styles.js";
|
|
|
9
9
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
10
10
|
/**
|
|
11
11
|
* 任务列表 / 推理链通用的状态圆点。
|
|
12
|
-
* done = 绿底 + 白勾;active = 边框 + 内部 PulseDot;pending = 仅边框。
|
|
12
|
+
* done = 绿底 + 白勾;error = 红底 + 白叉;active = 边框 + 内部 PulseDot;pending = 仅边框。
|
|
13
13
|
*/
|
|
14
14
|
// status 派生默认 a11y label —— 不传时 SR 仍能播报状态语义。
|
|
15
15
|
const DEFAULT_A11Y = {
|
|
16
16
|
pending: 'pending',
|
|
17
17
|
active: 'active',
|
|
18
|
-
done: 'done'
|
|
18
|
+
done: 'done',
|
|
19
|
+
error: 'error'
|
|
19
20
|
};
|
|
20
21
|
export function StatusDot({
|
|
21
22
|
status,
|
|
@@ -48,6 +49,11 @@ export function StatusDot({
|
|
|
48
49
|
size: Math.round(size * 0.6),
|
|
49
50
|
color: c.onPrimary,
|
|
50
51
|
strokeWidth: 2.5
|
|
52
|
+
}) : status === 'error' ? /*#__PURE__*/_jsx(Icon, {
|
|
53
|
+
name: "close",
|
|
54
|
+
size: Math.round(size * 0.6),
|
|
55
|
+
color: c.onError,
|
|
56
|
+
strokeWidth: 2.5
|
|
51
57
|
}) : status === 'active' ?
|
|
52
58
|
/*#__PURE__*/
|
|
53
59
|
// [L-13] size 随外圈等比派生(系数 0.375 ≈ 6/16),视觉居中且不溢出。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","View","r","useColors","Icon","PulseDot","paletteFor","styles","jsx","_jsx","DEFAULT_A11Y","pending","active","done","StatusDot","status","size","tone","accessibilityLabel","style","testID","c","bg","border","a11yLabel","undefined","dot","width","height","borderRadius","backgroundColor","borderColor","accessible","children","name","Math","round","color","onPrimary","strokeWidth"],"sourceRoot":"../../../../../src","sources":["components/ui/StatusDot/StatusDot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,CAAC,EAAEC,SAAS,QAAQ,yBAAgB;AAC7C,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,QAAQ,QAAQ,mBAAU;AACnC,SAASC,UAAU,EAAEC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9C;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAoC,GAAG;EAC3CC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE;
|
|
1
|
+
{"version":3,"names":["React","View","r","useColors","Icon","PulseDot","paletteFor","styles","jsx","_jsx","DEFAULT_A11Y","pending","active","done","error","StatusDot","status","size","tone","accessibilityLabel","style","testID","c","bg","border","a11yLabel","undefined","dot","width","height","borderRadius","backgroundColor","borderColor","accessible","children","name","Math","round","color","onPrimary","strokeWidth","onError"],"sourceRoot":"../../../../../src","sources":["components/ui/StatusDot/StatusDot.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,cAAc;AACnC,SAASC,CAAC,EAAEC,SAAS,QAAQ,yBAAgB;AAC7C,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,QAAQ,QAAQ,mBAAU;AACnC,SAASC,UAAU,EAAEC,MAAM,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAG9C;AACA;AACA;AACA;AACA;AACA,MAAMC,YAAoC,GAAG;EAC3CC,OAAO,EAAE,SAAS;EAClBC,MAAM,EAAE,QAAQ;EAChBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE;AACT,CAAC;AAED,OAAO,SAASC,SAASA,CAAC;EACxBC,MAAM;EACNC,IAAI,GAAGf,CAAC,CAAC,EAAE,CAAC;EACZgB,IAAI,GAAG,MAAM;EACbC,kBAAkB;EAClBC,KAAK;EACLC;AACc,CAAC,EAAqB;EACpC,MAAMC,CAAC,GAAGnB,SAAS,CAAC,CAAC;EACrB,MAAM;IAAEoB,EAAE;IAAEC;EAAO,CAAC,GAAGlB,UAAU,CAACU,MAAM,EAAEE,IAAI,EAAEI,CAAC,CAAC;EAClD;EACA,MAAMG,SAAS,GACbN,kBAAkB,KAAKO,SAAS,GAC5BP,kBAAkB,IAAIO,SAAS,GAC/BhB,YAAY,CAACM,MAAM,CAAC;EAE1B,oBACEP,IAAA,CAACR,IAAI;IACHmB,KAAK,EAAE,CACLb,MAAM,CAACoB,GAAG,EACV;MACEC,KAAK,EAAEX,IAAI;MACXY,MAAM,EAAEZ,IAAI;MACZa,YAAY,EAAEb,IAAI,GAAG,CAAC;MACtBc,eAAe,EAAER,EAAE;MACnBS,WAAW,EAAER;IACf,CAAC,EACDJ,KAAK,CACL;IACFa,UAAU,EAAE,CAAC,CAACR,SAAU;IACxBN,kBAAkB,EAAEM,SAAU;IAC9BJ,MAAM,EAAEA,MAAO;IAAAa,QAAA,EAEdlB,MAAM,KAAK,MAAM,gBAChBP,IAAA,CAACL,IAAI;MACH+B,IAAI,EAAC,OAAO;MACZlB,IAAI,EAAEmB,IAAI,CAACC,KAAK,CAACpB,IAAI,GAAG,GAAG,CAAE;MAC7BqB,KAAK,EAAEhB,CAAC,CAACiB,SAAU;MACnBC,WAAW,EAAE;IAAI,CAClB,CAAC,GACAxB,MAAM,KAAK,OAAO,gBACpBP,IAAA,CAACL,IAAI;MACH+B,IAAI,EAAC,OAAO;MACZlB,IAAI,EAAEmB,IAAI,CAACC,KAAK,CAACpB,IAAI,GAAG,GAAG,CAAE;MAC7BqB,KAAK,EAAEhB,CAAC,CAACmB,OAAQ;MACjBD,WAAW,EAAE;IAAI,CAClB,CAAC,GACAxB,MAAM,KAAK,QAAQ;IAAA;IACrB;IACAP,IAAA,CAACJ,QAAQ;MAACY,IAAI,EAAEmB,IAAI,CAACC,KAAK,CAACpB,IAAI,GAAG,KAAK;IAAE,CAAE,CAAC,GAC1C;EAAI,CACJ,CAAC;AAEX","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["StyleSheet","r","styles","create","dot","borderWidth","alignItems","justifyContent","paletteFor","status","tone","c","bg","success","border","primaryContainer","primary","surface","outline"],"sourceRoot":"../../../../../src","sources":["components/ui/StatusDot/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,CAAC,QAA0B,yBAAgB;AAGpD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGF,UAAU,CAACG,MAAM,CAAC;EACtCC,GAAG,EAAE;IACHC,WAAW,EAAEJ,CAAC,CAAC,GAAG,CAAC;IACnBK,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CACxBC,MAAuB,EACvBC,IAAmB,EACnBC,CAAc,EACkB;EAChC,QAAQF,MAAM;IACZ,KAAK,MAAM;MACT,OAAO;QAAEG,EAAE,EAAED,CAAC,CAACE,OAAO;QAAEC,MAAM,EAAEH,CAAC,CAACE;MAAQ,CAAC;IAC7C,KAAK,QAAQ;MACX,OAAO;
|
|
1
|
+
{"version":3,"names":["StyleSheet","r","styles","create","dot","borderWidth","alignItems","justifyContent","paletteFor","status","tone","c","bg","success","border","error","primaryContainer","primary","surface","outline"],"sourceRoot":"../../../../../src","sources":["components/ui/StatusDot/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,CAAC,QAA0B,yBAAgB;AAGpD;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,MAAM,GAAGF,UAAU,CAACG,MAAM,CAAC;EACtCC,GAAG,EAAE;IACHC,WAAW,EAAEJ,CAAC,CAAC,GAAG,CAAC;IACnBK,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC;;AAEF;AACA;AACA;AACA,OAAO,SAASC,UAAUA,CACxBC,MAAuB,EACvBC,IAAmB,EACnBC,CAAc,EACkB;EAChC,QAAQF,MAAM;IACZ,KAAK,MAAM;MACT,OAAO;QAAEG,EAAE,EAAED,CAAC,CAACE,OAAO;QAAEC,MAAM,EAAEH,CAAC,CAACE;MAAQ,CAAC;IAC7C,KAAK,OAAO;MACV,OAAO;QAAED,EAAE,EAAED,CAAC,CAACI,KAAK;QAAED,MAAM,EAAEH,CAAC,CAACI;MAAM,CAAC;IACzC,KAAK,QAAQ;MACX,OAAO;QACLH,EAAE,EAAEF,IAAI,KAAK,MAAM,GAAGC,CAAC,CAACK,gBAAgB,GAAG,aAAa;QACxDF,MAAM,EAAEH,CAAC,CAACM;MACZ,CAAC;IACH,KAAK,SAAS;MACZ,OAAO;QACLL,EAAE,EAAEF,IAAI,KAAK,MAAM,GAAGC,CAAC,CAACO,OAAO,GAAG,aAAa;QAC/CJ,MAAM,EAAEH,CAAC,CAACQ;MACZ,CAAC;EACL;AACF","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
// @unif/react-native-design 公共入口:theme(设计令牌)/ icons / utils / 组件(ui · business)。
|
|
4
4
|
// 文档站共享首页样式以 `./docs-home.css` 子路径导出(供各 Docusaurus 文档站 import,见 package.json#exports)。
|
|
5
|
+
// 该 CSS 只为副作用而 import(不取任何绑定),故 package.json#sideEffects 必须保留 `"*.css"`:
|
|
6
|
+
// 写成 `false` 会让 webpack 生产构建把它当无副作用模块摇掉 —— 首页 class 全在、样式全无,
|
|
7
|
+
// 且 dev 不开 sideEffects 优化(只在 build 后暴露)。
|
|
5
8
|
// 0.5.1:修 docs-home.css 深色 OS 兜底选择器恒真(系统深色 + 站点切浅色时内容区被强制深色),见 #52。
|
|
6
9
|
export * from "./theme/index.js";
|
|
7
10
|
export * from "./icons/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,yBAAgB;AAC9B,cAAc,yBAAgB;AAC9B;AACA,cAAc,0BAAiB;AAC/B,cAAc,gCAAuB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA,cAAc,kBAAS;AACvB,cAAc,kBAAS;AACvB,cAAc,yBAAgB;AAC9B,cAAc,yBAAgB;AAC9B;AACA,cAAc,0BAAiB;AAC/B,cAAc,gCAAuB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusDot.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/StatusDot/StatusDot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"StatusDot.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/StatusDot/StatusDot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAc9C,wBAAgB,SAAS,CAAC,EACxB,MAAM,EACN,IAAY,EACZ,IAAa,EACb,kBAAkB,EAClB,KAAK,EACL,MAAM,GACP,EAAE,cAAc,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8CpC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/StatusDot/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;EAMjB,CAAC;AAEH;;yFAEyF;AACzF,wBAAgB,UAAU,CACxB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,aAAa,EACnB,CAAC,EAAE,WAAW,GACb;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/StatusDot/styles.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE9D;;;;GAIG;AACH,eAAO,MAAM,MAAM;;;;;;EAMjB,CAAC;AAEH;;yFAEyF;AACzF,wBAAgB,UAAU,CACxB,MAAM,EAAE,eAAe,EACvB,IAAI,EAAE,aAAa,EACnB,CAAC,EAAE,WAAW,GACb;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAiBhC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
-
export type StatusDotStatus = 'pending' | 'active' | 'done';
|
|
2
|
+
export type StatusDotStatus = 'pending' | 'active' | 'done' | 'error';
|
|
3
3
|
/**
|
|
4
4
|
* `flat`:pending/active 底色透明(任务列表风格)。
|
|
5
5
|
* `soft`:pending = surface、active = primaryContainer,常用于推理链。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/StatusDot/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/StatusDot/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzD,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5C,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;;;;;;;OAOG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uCAAuC;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,iBAAiB;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAE/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unif/react-native-design",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.15.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
|
-
"sideEffects":
|
|
7
|
+
"sideEffects": [
|
|
8
|
+
"*.css"
|
|
9
|
+
],
|
|
8
10
|
"exports": {
|
|
9
11
|
".": {
|
|
10
12
|
"source": "./src/index.tsx",
|
|
@@ -8,13 +8,14 @@ import type { StatusDotProps } from './types';
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* 任务列表 / 推理链通用的状态圆点。
|
|
11
|
-
* done = 绿底 + 白勾;active = 边框 + 内部 PulseDot;pending = 仅边框。
|
|
11
|
+
* done = 绿底 + 白勾;error = 红底 + 白叉;active = 边框 + 内部 PulseDot;pending = 仅边框。
|
|
12
12
|
*/
|
|
13
13
|
// status 派生默认 a11y label —— 不传时 SR 仍能播报状态语义。
|
|
14
14
|
const DEFAULT_A11Y: Record<string, string> = {
|
|
15
15
|
pending: 'pending',
|
|
16
16
|
active: 'active',
|
|
17
17
|
done: 'done',
|
|
18
|
+
error: 'error',
|
|
18
19
|
};
|
|
19
20
|
|
|
20
21
|
export function StatusDot({
|
|
@@ -57,6 +58,13 @@ export function StatusDot({
|
|
|
57
58
|
color={c.onPrimary}
|
|
58
59
|
strokeWidth={2.5}
|
|
59
60
|
/>
|
|
61
|
+
) : status === 'error' ? (
|
|
62
|
+
<Icon
|
|
63
|
+
name="close"
|
|
64
|
+
size={Math.round(size * 0.6)}
|
|
65
|
+
color={c.onError}
|
|
66
|
+
strokeWidth={2.5}
|
|
67
|
+
/>
|
|
60
68
|
) : status === 'active' ? (
|
|
61
69
|
// [L-13] size 随外圈等比派生(系数 0.375 ≈ 6/16),视觉居中且不溢出。
|
|
62
70
|
<PulseDot size={Math.round(size * 0.375)} />
|
|
@@ -26,6 +26,8 @@ export function paletteFor(
|
|
|
26
26
|
switch (status) {
|
|
27
27
|
case 'done':
|
|
28
28
|
return { bg: c.success, border: c.success };
|
|
29
|
+
case 'error':
|
|
30
|
+
return { bg: c.error, border: c.error };
|
|
29
31
|
case 'active':
|
|
30
32
|
return {
|
|
31
33
|
bg: tone === 'soft' ? c.primaryContainer : 'transparent',
|
package/src/index.tsx
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
// @unif/react-native-design 公共入口:theme(设计令牌)/ icons / utils / 组件(ui · business)。
|
|
2
2
|
// 文档站共享首页样式以 `./docs-home.css` 子路径导出(供各 Docusaurus 文档站 import,见 package.json#exports)。
|
|
3
|
+
// 该 CSS 只为副作用而 import(不取任何绑定),故 package.json#sideEffects 必须保留 `"*.css"`:
|
|
4
|
+
// 写成 `false` 会让 webpack 生产构建把它当无副作用模块摇掉 —— 首页 class 全在、样式全无,
|
|
5
|
+
// 且 dev 不开 sideEffects 优化(只在 build 后暴露)。
|
|
3
6
|
// 0.5.1:修 docs-home.css 深色 OS 兜底选择器恒真(系统深色 + 站点切浅色时内容区被强制深色),见 #52。
|
|
4
7
|
export * from './theme';
|
|
5
8
|
export * from './icons';
|