@unif/react-native-ui 0.2.30 → 0.3.2
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/commonjs/index.js +7 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/tag/index.js +57 -0
- package/lib/commonjs/tag/index.js.map +1 -0
- package/lib/commonjs/tag/style/index.js +91 -0
- package/lib/commonjs/tag/style/index.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/tag/index.js +52 -0
- package/lib/module/tag/index.js.map +1 -0
- package/lib/module/tag/style/index.js +81 -0
- package/lib/module/tag/style/index.js.map +1 -0
- package/lib/typescript/commonjs/src/index.d.ts +3 -0
- package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/src/tag/index.d.ts +25 -0
- package/lib/typescript/commonjs/src/tag/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/src/tag/style/index.d.ts +17 -0
- package/lib/typescript/commonjs/src/tag/style/index.d.ts.map +1 -0
- package/lib/typescript/module/src/index.d.ts +3 -0
- package/lib/typescript/module/src/index.d.ts.map +1 -1
- package/lib/typescript/module/src/tag/index.d.ts +25 -0
- package/lib/typescript/module/src/tag/index.d.ts.map +1 -0
- package/lib/typescript/module/src/tag/style/index.d.ts +17 -0
- package/lib/typescript/module/src/tag/style/index.d.ts.map +1 -0
- package/package.json +1 -1
- package/src/index.tsx +3 -0
- package/src/tag/index.tsx +78 -0
- package/src/tag/style/index.tsx +99 -0
package/lib/commonjs/index.js
CHANGED
|
@@ -87,6 +87,12 @@ Object.defineProperty(exports, "Space", {
|
|
|
87
87
|
return _space.default;
|
|
88
88
|
}
|
|
89
89
|
});
|
|
90
|
+
Object.defineProperty(exports, "Tag", {
|
|
91
|
+
enumerable: true,
|
|
92
|
+
get: function () {
|
|
93
|
+
return _tag.default;
|
|
94
|
+
}
|
|
95
|
+
});
|
|
90
96
|
Object.defineProperty(exports, "Text", {
|
|
91
97
|
enumerable: true,
|
|
92
98
|
get: function () {
|
|
@@ -139,6 +145,7 @@ var _avatar = _interopRequireDefault(require("./avatar"));
|
|
|
139
145
|
var _waveAnimation = _interopRequireDefault(require("./wave-animation"));
|
|
140
146
|
var _input = _interopRequireDefault(require("./input"));
|
|
141
147
|
var _chip = _interopRequireDefault(require("./chip"));
|
|
148
|
+
var _tag = _interopRequireDefault(require("./tag"));
|
|
142
149
|
var _actionSheet = _interopRequireDefault(require("./action-sheet"));
|
|
143
150
|
var _popover = _interopRequireDefault(require("./popover"));
|
|
144
151
|
var _menu = _interopRequireDefault(require("./menu"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_context","require","_tokens","_hooks","_row","_interopRequireDefault","_column","_center","_space","_text","_button","_divider","_listItem","_touchable","_avatar","_waveAnimation","_input","_chip","_actionSheet","_popover","_menu","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_context","require","_tokens","_hooks","_row","_interopRequireDefault","_column","_center","_space","_text","_button","_divider","_listItem","_touchable","_avatar","_waveAnimation","_input","_chip","_tag","_actionSheet","_popover","_menu","e","__esModule","default"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAGA,IAAAG,IAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEA,IAAAK,OAAA,GAAAD,sBAAA,CAAAJ,OAAA;AAEA,IAAAM,OAAA,GAAAF,sBAAA,CAAAJ,OAAA;AAEA,IAAAO,MAAA,GAAAH,sBAAA,CAAAJ,OAAA;AAIA,IAAAQ,KAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AAEA,IAAAS,OAAA,GAAAL,sBAAA,CAAAJ,OAAA;AAGA,IAAAU,QAAA,GAAAN,sBAAA,CAAAJ,OAAA;AACA,IAAAW,SAAA,GAAAP,sBAAA,CAAAJ,OAAA;AACA,IAAAY,UAAA,GAAAR,sBAAA,CAAAJ,OAAA;AAIA,IAAAa,OAAA,GAAAT,sBAAA,CAAAJ,OAAA;AAGA,IAAAc,cAAA,GAAAV,sBAAA,CAAAJ,OAAA;AAIA,IAAAe,MAAA,GAAAX,sBAAA,CAAAJ,OAAA;AAGA,IAAAgB,KAAA,GAAAZ,sBAAA,CAAAJ,OAAA;AAGA,IAAAiB,IAAA,GAAAb,sBAAA,CAAAJ,OAAA;AAGA,IAAAkB,YAAA,GAAAd,sBAAA,CAAAJ,OAAA;AAMA,IAAAmB,QAAA,GAAAf,sBAAA,CAAAJ,OAAA;AAGA,IAAAoB,KAAA,GAAAhB,sBAAA,CAAAJ,OAAA;AAAyC,SAAAI,uBAAAiB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA","ignoreList":[]}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _hooks = require("../hooks");
|
|
10
|
+
var _context = require("../theme/context");
|
|
11
|
+
var _style = require("./style");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
/**
|
|
15
|
+
* Tag 标签组件
|
|
16
|
+
*
|
|
17
|
+
* 信息展示标签,支持三种变体:
|
|
18
|
+
* - filled(默认):浅色底 + 深色字
|
|
19
|
+
* - solid:纯色底 + 白字
|
|
20
|
+
* - outlined:边框 + 深色字
|
|
21
|
+
*
|
|
22
|
+
* color 支持预设语义色(success/processing/warning/error/default)或自定义 hex。
|
|
23
|
+
*/
|
|
24
|
+
|
|
25
|
+
const Tag = ({
|
|
26
|
+
children,
|
|
27
|
+
variant = 'filled',
|
|
28
|
+
color,
|
|
29
|
+
size = 'default',
|
|
30
|
+
style,
|
|
31
|
+
styles: semanticStyles,
|
|
32
|
+
testID
|
|
33
|
+
}) => {
|
|
34
|
+
const tokens = (0, _context.useTokens)();
|
|
35
|
+
const resolved = (0, _style.resolveColor)(color);
|
|
36
|
+
const s = (0, _react.useMemo)(() => {
|
|
37
|
+
let variantStyles;
|
|
38
|
+
if (variant === 'solid') {
|
|
39
|
+
variantStyles = (0, _style.createSolidStyles)(resolved);
|
|
40
|
+
} else if (variant === 'outlined') {
|
|
41
|
+
variantStyles = (0, _style.createOutlinedStyles)(resolved);
|
|
42
|
+
} else {
|
|
43
|
+
variantStyles = (0, _style.createFilledStyles)(resolved);
|
|
44
|
+
}
|
|
45
|
+
return (0, _hooks.mergeStyles)((0, _style.createDefaultStyles)(tokens), size === 'small' ? (0, _style.createSmallStyles)() : undefined, variantStyles, semanticStyles);
|
|
46
|
+
}, [variant, resolved, size, tokens, semanticStyles]);
|
|
47
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
48
|
+
style: [s.root, style],
|
|
49
|
+
testID: testID,
|
|
50
|
+
children: typeof children === 'string' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
|
|
51
|
+
style: s.content,
|
|
52
|
+
children: children
|
|
53
|
+
}) : children
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
var _default = exports.default = Tag;
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_hooks","_context","_style","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Tag","children","variant","color","size","style","styles","semanticStyles","testID","tokens","useTokens","resolved","resolveColor","s","useMemo","variantStyles","createSolidStyles","createOutlinedStyles","createFilledStyles","mergeStyles","createDefaultStyles","createSmallStyles","undefined","jsx","View","root","Text","content","_default","exports"],"sourceRoot":"../../../src","sources":["tag/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.createSolidStyles = exports.createSmallStyles = exports.createOutlinedStyles = exports.createFilledStyles = exports.createDefaultStyles = void 0;
|
|
7
|
+
exports.resolveColor = resolveColor;
|
|
8
|
+
/** 预设语义色 → 实际色值映射 */
|
|
9
|
+
const PRESET_COLORS = {
|
|
10
|
+
success: '#52C41A',
|
|
11
|
+
processing: '#1677FF',
|
|
12
|
+
warning: '#FF9500',
|
|
13
|
+
error: '#FF3B30',
|
|
14
|
+
default: '#8C8C8C'
|
|
15
|
+
};
|
|
16
|
+
/** 解析颜色:支持预设名或自定义 hex */
|
|
17
|
+
function resolveColor(color) {
|
|
18
|
+
if (!color) return PRESET_COLORS.default;
|
|
19
|
+
if (color in PRESET_COLORS) return PRESET_COLORS[color];
|
|
20
|
+
return color;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 十六进制颜色追加透明度
|
|
25
|
+
* '#1677FF' + 0.1 → '#1677FF1A'
|
|
26
|
+
*/
|
|
27
|
+
function withAlpha(hex, alpha) {
|
|
28
|
+
const a = Math.round(alpha * 255).toString(16).padStart(2, '0');
|
|
29
|
+
const base = hex.length === 9 ? hex.slice(0, 7) : hex;
|
|
30
|
+
return `${base}${a}`;
|
|
31
|
+
}
|
|
32
|
+
const createDefaultStyles = t => ({
|
|
33
|
+
root: {
|
|
34
|
+
flexDirection: 'row',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
alignSelf: 'flex-start',
|
|
37
|
+
borderRadius: t.radiusSm,
|
|
38
|
+
paddingHorizontal: 8,
|
|
39
|
+
paddingVertical: 2
|
|
40
|
+
},
|
|
41
|
+
content: {
|
|
42
|
+
fontSize: t.fontSizeXs
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
exports.createDefaultStyles = createDefaultStyles;
|
|
46
|
+
const createSmallStyles = () => ({
|
|
47
|
+
root: {
|
|
48
|
+
paddingHorizontal: 6,
|
|
49
|
+
paddingVertical: 1
|
|
50
|
+
},
|
|
51
|
+
content: {
|
|
52
|
+
fontSize: 10
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
/** filled: 浅色底 + 深色字(默认) */
|
|
57
|
+
exports.createSmallStyles = createSmallStyles;
|
|
58
|
+
const createFilledStyles = color => ({
|
|
59
|
+
root: {
|
|
60
|
+
backgroundColor: withAlpha(color, 0.1)
|
|
61
|
+
},
|
|
62
|
+
content: {
|
|
63
|
+
color
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
/** solid: 纯色底 + 白字 */
|
|
68
|
+
exports.createFilledStyles = createFilledStyles;
|
|
69
|
+
const createSolidStyles = color => ({
|
|
70
|
+
root: {
|
|
71
|
+
backgroundColor: color
|
|
72
|
+
},
|
|
73
|
+
content: {
|
|
74
|
+
color: '#FFFFFF'
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
/** outlined: 边框 + 深色字 + 透明底 */
|
|
79
|
+
exports.createSolidStyles = createSolidStyles;
|
|
80
|
+
const createOutlinedStyles = color => ({
|
|
81
|
+
root: {
|
|
82
|
+
backgroundColor: 'transparent',
|
|
83
|
+
borderWidth: 1,
|
|
84
|
+
borderColor: color
|
|
85
|
+
},
|
|
86
|
+
content: {
|
|
87
|
+
color
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
exports.createOutlinedStyles = createOutlinedStyles;
|
|
91
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PRESET_COLORS","success","processing","warning","error","default","resolveColor","color","withAlpha","hex","alpha","a","Math","round","toString","padStart","base","length","slice","createDefaultStyles","t","root","flexDirection","alignItems","alignSelf","borderRadius","radiusSm","paddingHorizontal","paddingVertical","content","fontSize","fontSizeXs","exports","createSmallStyles","createFilledStyles","backgroundColor","createSolidStyles","createOutlinedStyles","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["tag/style/index.tsx"],"mappings":";;;;;;;AAQA;AACA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE;AACX,CAAU;AAIV;AACO,SAASC,YAAYA,CAACC,KAAyB,EAAU;EAC9D,IAAI,CAACA,KAAK,EAAE,OAAOP,aAAa,CAACK,OAAO;EACxC,IAAIE,KAAK,IAAIP,aAAa,EAAE,OAAOA,aAAa,CAACO,KAAK,CAAe;EACrE,OAAOA,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,GAAW,EAAEC,KAAa,EAAU;EACrD,MAAMC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,GAAG,GAAG,CAAC,CAC9BI,QAAQ,CAAC,EAAE,CAAC,CACZC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACnB,MAAMC,IAAI,GAAGP,GAAG,CAACQ,MAAM,KAAK,CAAC,GAAGR,GAAG,CAACS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGT,GAAG;EACrD,OAAO,GAAGO,IAAI,GAAGL,CAAC,EAAE;AACtB;AAEO,MAAMQ,mBAAmB,GAAIC,CAAS,KAAyB;EACpEC,IAAI,EAAE;IACJC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE,YAAY;IACvBC,YAAY,EAAEL,CAAC,CAACM,QAAQ;IACxBC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAEV,CAAC,CAACW;EACd;AACF,CAAC,CAAC;AAACC,OAAA,CAAAb,mBAAA,GAAAA,mBAAA;AAEI,MAAMc,iBAAiB,GAAGA,CAAA,MAAmC;EAClEZ,IAAI,EAAE;IACJM,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEF;AAAAE,OAAA,CAAAC,iBAAA,GAAAA,iBAAA;AACO,MAAMC,kBAAkB,GAC7B3B,KAAa,KACmB;EAChCc,IAAI,EAAE;IACJc,eAAe,EAAE3B,SAAS,CAACD,KAAK,EAAE,GAAG;EACvC,CAAC;EACDsB,OAAO,EAAE;IACPtB;EACF;AACF,CAAC,CAAC;;AAEF;AAAAyB,OAAA,CAAAE,kBAAA,GAAAA,kBAAA;AACO,MAAME,iBAAiB,GAC5B7B,KAAa,KACmB;EAChCc,IAAI,EAAE;IACJc,eAAe,EAAE5B;EACnB,CAAC;EACDsB,OAAO,EAAE;IACPtB,KAAK,EAAE;EACT;AACF,CAAC,CAAC;;AAEF;AAAAyB,OAAA,CAAAI,iBAAA,GAAAA,iBAAA;AACO,MAAMC,oBAAoB,GAC/B9B,KAAa,KACmB;EAChCc,IAAI,EAAE;IACJc,eAAe,EAAE,aAAa;IAC9BG,WAAW,EAAE,CAAC;IACdC,WAAW,EAAEhC;EACf,CAAC;EACDsB,OAAO,EAAE;IACPtB;EACF;AACF,CAAC,CAAC;AAACyB,OAAA,CAAAK,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -23,6 +23,7 @@ export { default as WaveAnimation } from "./wave-animation/index.js";
|
|
|
23
23
|
// Base
|
|
24
24
|
export { default as Input } from "./input/index.js";
|
|
25
25
|
export { default as Chip } from "./chip/index.js";
|
|
26
|
+
export { default as Tag } from "./tag/index.js";
|
|
26
27
|
export { default as ActionSheet } from "./action-sheet/index.js";
|
|
27
28
|
export { default as Popover } from "./popover/index.js";
|
|
28
29
|
export { default as Menu } from "./menu/index.js";
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ConfigProvider","useTokens","defaultTokens","mergeStyles","default","Row","Column","Center","Space","Text","Button","Divider","ListItem","Touchable","Avatar","WaveAnimation","Input","Chip","ActionSheet","Popover","Menu"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,cAAc,EAAEC,SAAS,QAAQ,oBAAiB;AAE3D,SAASC,aAAa,QAAQ,mBAAgB;AAG9C;AACA,SAASC,WAAW,QAAQ,kBAAS;;AAErC;AACA,SAASC,OAAO,IAAIC,GAAG,QAAQ,gBAAO;AAEtC,SAASD,OAAO,IAAIE,MAAM,QAAQ,mBAAU;AAE5C,SAASF,OAAO,IAAIG,MAAM,QAAQ,mBAAU;AAE5C,SAASH,OAAO,IAAII,KAAK,QAAQ,kBAAS;AAG1C;AACA,SAASJ,OAAO,IAAIK,IAAI,QAAQ,iBAAQ;AAExC,SAASL,OAAO,IAAIM,MAAM,QAAQ,mBAAU;AAG5C,SAASN,OAAO,IAAIO,OAAO,QAAQ,oBAAW;AAC9C,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,sBAAa;AACjD,SAASR,OAAO,IAAIS,SAAS,QAAQ,sBAAa;AAGlD;AACA,SAAST,OAAO,IAAIU,MAAM,QAAQ,mBAAU;AAG5C,SAASV,OAAO,IAAIW,aAAa,QAAQ,2BAAkB;AAG3D;AACA,SAASX,OAAO,IAAIY,KAAK,QAAQ,kBAAS;AAG1C,SAASZ,OAAO,IAAIa,IAAI,QAAQ,iBAAQ;AAGxC,SAASb,OAAO,IAAIc,WAAW,QAAQ,yBAAgB;AAMvD,
|
|
1
|
+
{"version":3,"names":["ConfigProvider","useTokens","defaultTokens","mergeStyles","default","Row","Column","Center","Space","Text","Button","Divider","ListItem","Touchable","Avatar","WaveAnimation","Input","Chip","Tag","ActionSheet","Popover","Menu"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";;AAAA;AACA,SAASA,cAAc,EAAEC,SAAS,QAAQ,oBAAiB;AAE3D,SAASC,aAAa,QAAQ,mBAAgB;AAG9C;AACA,SAASC,WAAW,QAAQ,kBAAS;;AAErC;AACA,SAASC,OAAO,IAAIC,GAAG,QAAQ,gBAAO;AAEtC,SAASD,OAAO,IAAIE,MAAM,QAAQ,mBAAU;AAE5C,SAASF,OAAO,IAAIG,MAAM,QAAQ,mBAAU;AAE5C,SAASH,OAAO,IAAII,KAAK,QAAQ,kBAAS;AAG1C;AACA,SAASJ,OAAO,IAAIK,IAAI,QAAQ,iBAAQ;AAExC,SAASL,OAAO,IAAIM,MAAM,QAAQ,mBAAU;AAG5C,SAASN,OAAO,IAAIO,OAAO,QAAQ,oBAAW;AAC9C,SAASP,OAAO,IAAIQ,QAAQ,QAAQ,sBAAa;AACjD,SAASR,OAAO,IAAIS,SAAS,QAAQ,sBAAa;AAGlD;AACA,SAAST,OAAO,IAAIU,MAAM,QAAQ,mBAAU;AAG5C,SAASV,OAAO,IAAIW,aAAa,QAAQ,2BAAkB;AAG3D;AACA,SAASX,OAAO,IAAIY,KAAK,QAAQ,kBAAS;AAG1C,SAASZ,OAAO,IAAIa,IAAI,QAAQ,iBAAQ;AAGxC,SAASb,OAAO,IAAIc,GAAG,QAAQ,gBAAO;AAGtC,SAASd,OAAO,IAAIe,WAAW,QAAQ,yBAAgB;AAMvD,SAASf,OAAO,IAAIgB,OAAO,QAAQ,oBAAW;AAG9C,SAAShB,OAAO,IAAIiB,IAAI,QAAQ,iBAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Tag 标签组件
|
|
5
|
+
*
|
|
6
|
+
* 信息展示标签,支持三种变体:
|
|
7
|
+
* - filled(默认):浅色底 + 深色字
|
|
8
|
+
* - solid:纯色底 + 白字
|
|
9
|
+
* - outlined:边框 + 深色字
|
|
10
|
+
*
|
|
11
|
+
* color 支持预设语义色(success/processing/warning/error/default)或自定义 hex。
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import React, { useMemo } from 'react';
|
|
15
|
+
import { View, Text } from 'react-native';
|
|
16
|
+
import { mergeStyles } from "../hooks/index.js";
|
|
17
|
+
import { useTokens } from "../theme/context.js";
|
|
18
|
+
import { createDefaultStyles, createSmallStyles, createFilledStyles, createSolidStyles, createOutlinedStyles, resolveColor } from "./style/index.js";
|
|
19
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
20
|
+
const Tag = ({
|
|
21
|
+
children,
|
|
22
|
+
variant = 'filled',
|
|
23
|
+
color,
|
|
24
|
+
size = 'default',
|
|
25
|
+
style,
|
|
26
|
+
styles: semanticStyles,
|
|
27
|
+
testID
|
|
28
|
+
}) => {
|
|
29
|
+
const tokens = useTokens();
|
|
30
|
+
const resolved = resolveColor(color);
|
|
31
|
+
const s = useMemo(() => {
|
|
32
|
+
let variantStyles;
|
|
33
|
+
if (variant === 'solid') {
|
|
34
|
+
variantStyles = createSolidStyles(resolved);
|
|
35
|
+
} else if (variant === 'outlined') {
|
|
36
|
+
variantStyles = createOutlinedStyles(resolved);
|
|
37
|
+
} else {
|
|
38
|
+
variantStyles = createFilledStyles(resolved);
|
|
39
|
+
}
|
|
40
|
+
return mergeStyles(createDefaultStyles(tokens), size === 'small' ? createSmallStyles() : undefined, variantStyles, semanticStyles);
|
|
41
|
+
}, [variant, resolved, size, tokens, semanticStyles]);
|
|
42
|
+
return /*#__PURE__*/_jsx(View, {
|
|
43
|
+
style: [s.root, style],
|
|
44
|
+
testID: testID,
|
|
45
|
+
children: typeof children === 'string' ? /*#__PURE__*/_jsx(Text, {
|
|
46
|
+
style: s.content,
|
|
47
|
+
children: children
|
|
48
|
+
}) : children
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
export default Tag;
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","useMemo","View","Text","mergeStyles","useTokens","createDefaultStyles","createSmallStyles","createFilledStyles","createSolidStyles","createOutlinedStyles","resolveColor","jsx","_jsx","Tag","children","variant","color","size","style","styles","semanticStyles","testID","tokens","resolved","s","variantStyles","undefined","root","content"],"sourceRoot":"../../../src","sources":["tag/index.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AAEzC,SAASC,WAAW,QAAQ,mBAAU;AACtC,SAASC,SAAS,QAAQ,qBAAkB;AAE5C,SACEC,mBAAmB,EACnBC,iBAAiB,EACjBC,kBAAkB,EAClBC,iBAAiB,EACjBC,oBAAoB,EACpBC,YAAY,QACP,kBAAS;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAYjB,MAAMC,GAAuB,GAAGA,CAAC;EAC/BC,QAAQ;EACRC,OAAO,GAAG,QAAQ;EAClBC,KAAK;EACLC,IAAI,GAAG,SAAS;EAChBC,KAAK;EACLC,MAAM,EAAEC,cAAc;EACtBC;AACF,CAAC,KAAK;EACJ,MAAMC,MAAM,GAAGlB,SAAS,CAAC,CAAC;EAC1B,MAAMmB,QAAQ,GAAGb,YAAY,CAACM,KAAK,CAAC;EAEpC,MAAMQ,CAAC,GAAGxB,OAAO,CAAC,MAAM;IACtB,IAAIyB,aAAa;IACjB,IAAIV,OAAO,KAAK,OAAO,EAAE;MACvBU,aAAa,GAAGjB,iBAAiB,CAACe,QAAQ,CAAC;IAC7C,CAAC,MAAM,IAAIR,OAAO,KAAK,UAAU,EAAE;MACjCU,aAAa,GAAGhB,oBAAoB,CAACc,QAAQ,CAAC;IAChD,CAAC,MAAM;MACLE,aAAa,GAAGlB,kBAAkB,CAACgB,QAAQ,CAAC;IAC9C;IAEA,OAAOpB,WAAW,CAChBE,mBAAmB,CAACiB,MAAM,CAAC,EAC3BL,IAAI,KAAK,OAAO,GAAGX,iBAAiB,CAAC,CAAC,GAAGoB,SAAS,EAClDD,aAAa,EACbL,cACF,CAAC;EACH,CAAC,EAAE,CAACL,OAAO,EAAEQ,QAAQ,EAAEN,IAAI,EAAEK,MAAM,EAAEF,cAAc,CAAC,CAAC;EAErD,oBACER,IAAA,CAACX,IAAI;IAACiB,KAAK,EAAE,CAACM,CAAC,CAACG,IAAI,EAAET,KAAK,CAAE;IAACG,MAAM,EAAEA,MAAO;IAAAP,QAAA,EAC1C,OAAOA,QAAQ,KAAK,QAAQ,gBAC3BF,IAAA,CAACV,IAAI;MAACgB,KAAK,EAAEM,CAAC,CAACI,OAAQ;MAAAd,QAAA,EAAEA;IAAQ,CAAO,CAAC,GAEzCA;EACD,CACG,CAAC;AAEX,CAAC;AAED,eAAeD,GAAG","ignoreList":[]}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/** 预设语义色 → 实际色值映射 */
|
|
4
|
+
const PRESET_COLORS = {
|
|
5
|
+
success: '#52C41A',
|
|
6
|
+
processing: '#1677FF',
|
|
7
|
+
warning: '#FF9500',
|
|
8
|
+
error: '#FF3B30',
|
|
9
|
+
default: '#8C8C8C'
|
|
10
|
+
};
|
|
11
|
+
/** 解析颜色:支持预设名或自定义 hex */
|
|
12
|
+
export function resolveColor(color) {
|
|
13
|
+
if (!color) return PRESET_COLORS.default;
|
|
14
|
+
if (color in PRESET_COLORS) return PRESET_COLORS[color];
|
|
15
|
+
return color;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* 十六进制颜色追加透明度
|
|
20
|
+
* '#1677FF' + 0.1 → '#1677FF1A'
|
|
21
|
+
*/
|
|
22
|
+
function withAlpha(hex, alpha) {
|
|
23
|
+
const a = Math.round(alpha * 255).toString(16).padStart(2, '0');
|
|
24
|
+
const base = hex.length === 9 ? hex.slice(0, 7) : hex;
|
|
25
|
+
return `${base}${a}`;
|
|
26
|
+
}
|
|
27
|
+
export const createDefaultStyles = t => ({
|
|
28
|
+
root: {
|
|
29
|
+
flexDirection: 'row',
|
|
30
|
+
alignItems: 'center',
|
|
31
|
+
alignSelf: 'flex-start',
|
|
32
|
+
borderRadius: t.radiusSm,
|
|
33
|
+
paddingHorizontal: 8,
|
|
34
|
+
paddingVertical: 2
|
|
35
|
+
},
|
|
36
|
+
content: {
|
|
37
|
+
fontSize: t.fontSizeXs
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
export const createSmallStyles = () => ({
|
|
41
|
+
root: {
|
|
42
|
+
paddingHorizontal: 6,
|
|
43
|
+
paddingVertical: 1
|
|
44
|
+
},
|
|
45
|
+
content: {
|
|
46
|
+
fontSize: 10
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
/** filled: 浅色底 + 深色字(默认) */
|
|
51
|
+
export const createFilledStyles = color => ({
|
|
52
|
+
root: {
|
|
53
|
+
backgroundColor: withAlpha(color, 0.1)
|
|
54
|
+
},
|
|
55
|
+
content: {
|
|
56
|
+
color
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
/** solid: 纯色底 + 白字 */
|
|
61
|
+
export const createSolidStyles = color => ({
|
|
62
|
+
root: {
|
|
63
|
+
backgroundColor: color
|
|
64
|
+
},
|
|
65
|
+
content: {
|
|
66
|
+
color: '#FFFFFF'
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
/** outlined: 边框 + 深色字 + 透明底 */
|
|
71
|
+
export const createOutlinedStyles = color => ({
|
|
72
|
+
root: {
|
|
73
|
+
backgroundColor: 'transparent',
|
|
74
|
+
borderWidth: 1,
|
|
75
|
+
borderColor: color
|
|
76
|
+
},
|
|
77
|
+
content: {
|
|
78
|
+
color
|
|
79
|
+
}
|
|
80
|
+
});
|
|
81
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["PRESET_COLORS","success","processing","warning","error","default","resolveColor","color","withAlpha","hex","alpha","a","Math","round","toString","padStart","base","length","slice","createDefaultStyles","t","root","flexDirection","alignItems","alignSelf","borderRadius","radiusSm","paddingHorizontal","paddingVertical","content","fontSize","fontSizeXs","createSmallStyles","createFilledStyles","backgroundColor","createSolidStyles","createOutlinedStyles","borderWidth","borderColor"],"sourceRoot":"../../../../src","sources":["tag/style/index.tsx"],"mappings":";;AAQA;AACA,MAAMA,aAAa,GAAG;EACpBC,OAAO,EAAE,SAAS;EAClBC,UAAU,EAAE,SAAS;EACrBC,OAAO,EAAE,SAAS;EAClBC,KAAK,EAAE,SAAS;EAChBC,OAAO,EAAE;AACX,CAAU;AAIV;AACA,OAAO,SAASC,YAAYA,CAACC,KAAyB,EAAU;EAC9D,IAAI,CAACA,KAAK,EAAE,OAAOP,aAAa,CAACK,OAAO;EACxC,IAAIE,KAAK,IAAIP,aAAa,EAAE,OAAOA,aAAa,CAACO,KAAK,CAAe;EACrE,OAAOA,KAAK;AACd;;AAEA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,GAAW,EAAEC,KAAa,EAAU;EACrD,MAAMC,CAAC,GAAGC,IAAI,CAACC,KAAK,CAACH,KAAK,GAAG,GAAG,CAAC,CAC9BI,QAAQ,CAAC,EAAE,CAAC,CACZC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;EACnB,MAAMC,IAAI,GAAGP,GAAG,CAACQ,MAAM,KAAK,CAAC,GAAGR,GAAG,CAACS,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGT,GAAG;EACrD,OAAO,GAAGO,IAAI,GAAGL,CAAC,EAAE;AACtB;AAEA,OAAO,MAAMQ,mBAAmB,GAAIC,CAAS,KAAyB;EACpEC,IAAI,EAAE;IACJC,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE,YAAY;IACvBC,YAAY,EAAEL,CAAC,CAACM,QAAQ;IACxBC,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAEV,CAAC,CAACW;EACd;AACF,CAAC,CAAC;AAEF,OAAO,MAAMC,iBAAiB,GAAGA,CAAA,MAAmC;EAClEX,IAAI,EAAE;IACJM,iBAAiB,EAAE,CAAC;IACpBC,eAAe,EAAE;EACnB,CAAC;EACDC,OAAO,EAAE;IACPC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;;AAEF;AACA,OAAO,MAAMG,kBAAkB,GAC7B1B,KAAa,KACmB;EAChCc,IAAI,EAAE;IACJa,eAAe,EAAE1B,SAAS,CAACD,KAAK,EAAE,GAAG;EACvC,CAAC;EACDsB,OAAO,EAAE;IACPtB;EACF;AACF,CAAC,CAAC;;AAEF;AACA,OAAO,MAAM4B,iBAAiB,GAC5B5B,KAAa,KACmB;EAChCc,IAAI,EAAE;IACJa,eAAe,EAAE3B;EACnB,CAAC;EACDsB,OAAO,EAAE;IACPtB,KAAK,EAAE;EACT;AACF,CAAC,CAAC;;AAEF;AACA,OAAO,MAAM6B,oBAAoB,GAC/B7B,KAAa,KACmB;EAChCc,IAAI,EAAE;IACJa,eAAe,EAAE,aAAa;IAC9BG,WAAW,EAAE,CAAC;IACdC,WAAW,EAAE/B;EACf,CAAC;EACDsB,OAAO,EAAE;IACPtB;EACF;AACF,CAAC,CAAC","ignoreList":[]}
|
|
@@ -31,6 +31,9 @@ export type { InputSemanticStyles } from './input/style';
|
|
|
31
31
|
export { default as Chip } from './chip';
|
|
32
32
|
export type { ChipProps } from './chip';
|
|
33
33
|
export type { ChipSemanticStyles } from './chip/style';
|
|
34
|
+
export { default as Tag } from './tag';
|
|
35
|
+
export type { TagProps } from './tag';
|
|
36
|
+
export type { TagSemanticStyles } from './tag/style';
|
|
34
37
|
export { default as ActionSheet } from './action-sheet';
|
|
35
38
|
export type { ActionSheetProps } from './action-sheet';
|
|
36
39
|
export type { ActionSheetOption, ActionSheetSemanticStyles, } from './action-sheet/style';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tag 标签组件
|
|
3
|
+
*
|
|
4
|
+
* 信息展示标签,支持三种变体:
|
|
5
|
+
* - filled(默认):浅色底 + 深色字
|
|
6
|
+
* - solid:纯色底 + 白字
|
|
7
|
+
* - outlined:边框 + 深色字
|
|
8
|
+
*
|
|
9
|
+
* color 支持预设语义色(success/processing/warning/error/default)或自定义 hex。
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import type { ViewStyle } from 'react-native';
|
|
13
|
+
import type { TagSemanticStyles } from './style';
|
|
14
|
+
export interface TagProps {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
variant?: 'filled' | 'solid' | 'outlined';
|
|
17
|
+
color?: string;
|
|
18
|
+
size?: 'default' | 'small';
|
|
19
|
+
style?: ViewStyle;
|
|
20
|
+
styles?: Partial<TagSemanticStyles>;
|
|
21
|
+
testID?: string;
|
|
22
|
+
}
|
|
23
|
+
declare const Tag: React.FC<TagProps>;
|
|
24
|
+
export default Tag;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tag/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAUjD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAuC3B,CAAC;AAEF,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ViewStyle, TextStyle } from 'react-native';
|
|
2
|
+
import type { Tokens } from '../../theme/tokens';
|
|
3
|
+
export type TagSemanticStyles = {
|
|
4
|
+
root?: ViewStyle;
|
|
5
|
+
content?: TextStyle;
|
|
6
|
+
};
|
|
7
|
+
/** 解析颜色:支持预设名或自定义 hex */
|
|
8
|
+
export declare function resolveColor(color: string | undefined): string;
|
|
9
|
+
export declare const createDefaultStyles: (t: Tokens) => TagSemanticStyles;
|
|
10
|
+
export declare const createSmallStyles: () => Partial<TagSemanticStyles>;
|
|
11
|
+
/** filled: 浅色底 + 深色字(默认) */
|
|
12
|
+
export declare const createFilledStyles: (color: string) => Partial<TagSemanticStyles>;
|
|
13
|
+
/** solid: 纯色底 + 白字 */
|
|
14
|
+
export declare const createSolidStyles: (color: string) => Partial<TagSemanticStyles>;
|
|
15
|
+
/** outlined: 边框 + 深色字 + 透明底 */
|
|
16
|
+
export declare const createOutlinedStyles: (color: string) => Partial<TagSemanticStyles>;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/tag/style/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAaF,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI9D;AAcD,eAAO,MAAM,mBAAmB,GAAI,GAAG,MAAM,KAAG,iBAY9C,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,iBAAiB,CAQ5D,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,CAO1B,CAAC;AAEH,sBAAsB;AACtB,eAAO,MAAM,iBAAiB,GAC5B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,CAO1B,CAAC;AAEH,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,CAS1B,CAAC"}
|
|
@@ -31,6 +31,9 @@ export type { InputSemanticStyles } from './input/style';
|
|
|
31
31
|
export { default as Chip } from './chip';
|
|
32
32
|
export type { ChipProps } from './chip';
|
|
33
33
|
export type { ChipSemanticStyles } from './chip/style';
|
|
34
|
+
export { default as Tag } from './tag';
|
|
35
|
+
export type { TagProps } from './tag';
|
|
36
|
+
export type { TagSemanticStyles } from './tag/style';
|
|
34
37
|
export { default as ActionSheet } from './action-sheet';
|
|
35
38
|
export type { ActionSheetProps } from './action-sheet';
|
|
36
39
|
export type { ActionSheetOption, ActionSheetSemanticStyles, } from './action-sheet/style';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5D,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAG7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,OAAO,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,UAAU,CAAC;AAC7C,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAG3D,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACxC,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EACV,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAC9C,YAAY,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,QAAQ,CAAC;AACzC,YAAY,EAAE,SAAS,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tag 标签组件
|
|
3
|
+
*
|
|
4
|
+
* 信息展示标签,支持三种变体:
|
|
5
|
+
* - filled(默认):浅色底 + 深色字
|
|
6
|
+
* - solid:纯色底 + 白字
|
|
7
|
+
* - outlined:边框 + 深色字
|
|
8
|
+
*
|
|
9
|
+
* color 支持预设语义色(success/processing/warning/error/default)或自定义 hex。
|
|
10
|
+
*/
|
|
11
|
+
import React from 'react';
|
|
12
|
+
import type { ViewStyle } from 'react-native';
|
|
13
|
+
import type { TagSemanticStyles } from './style';
|
|
14
|
+
export interface TagProps {
|
|
15
|
+
children: React.ReactNode;
|
|
16
|
+
variant?: 'filled' | 'solid' | 'outlined';
|
|
17
|
+
color?: string;
|
|
18
|
+
size?: 'default' | 'small';
|
|
19
|
+
style?: ViewStyle;
|
|
20
|
+
styles?: Partial<TagSemanticStyles>;
|
|
21
|
+
testID?: string;
|
|
22
|
+
}
|
|
23
|
+
declare const Tag: React.FC<TagProps>;
|
|
24
|
+
export default Tag;
|
|
25
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/tag/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAUjD,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,OAAO,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,QAAA,MAAM,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC,QAAQ,CAuC3B,CAAC;AAEF,eAAe,GAAG,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { ViewStyle, TextStyle } from 'react-native';
|
|
2
|
+
import type { Tokens } from '../../theme/tokens';
|
|
3
|
+
export type TagSemanticStyles = {
|
|
4
|
+
root?: ViewStyle;
|
|
5
|
+
content?: TextStyle;
|
|
6
|
+
};
|
|
7
|
+
/** 解析颜色:支持预设名或自定义 hex */
|
|
8
|
+
export declare function resolveColor(color: string | undefined): string;
|
|
9
|
+
export declare const createDefaultStyles: (t: Tokens) => TagSemanticStyles;
|
|
10
|
+
export declare const createSmallStyles: () => Partial<TagSemanticStyles>;
|
|
11
|
+
/** filled: 浅色底 + 深色字(默认) */
|
|
12
|
+
export declare const createFilledStyles: (color: string) => Partial<TagSemanticStyles>;
|
|
13
|
+
/** solid: 纯色底 + 白字 */
|
|
14
|
+
export declare const createSolidStyles: (color: string) => Partial<TagSemanticStyles>;
|
|
15
|
+
/** outlined: 边框 + 深色字 + 透明底 */
|
|
16
|
+
export declare const createOutlinedStyles: (color: string) => Partial<TagSemanticStyles>;
|
|
17
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/tag/style/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GAAG;IAC9B,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB,CAAC;AAaF,yBAAyB;AACzB,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAI9D;AAcD,eAAO,MAAM,mBAAmB,GAAI,GAAG,MAAM,KAAG,iBAY9C,CAAC;AAEH,eAAO,MAAM,iBAAiB,QAAO,OAAO,CAAC,iBAAiB,CAQ5D,CAAC;AAEH,4BAA4B;AAC5B,eAAO,MAAM,kBAAkB,GAC7B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,CAO1B,CAAC;AAEH,sBAAsB;AACtB,eAAO,MAAM,iBAAiB,GAC5B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,CAO1B,CAAC;AAEH,+BAA+B;AAC/B,eAAO,MAAM,oBAAoB,GAC/B,OAAO,MAAM,KACZ,OAAO,CAAC,iBAAiB,CAS1B,CAAC"}
|
package/package.json
CHANGED
package/src/index.tsx
CHANGED
|
@@ -42,6 +42,9 @@ export type { InputSemanticStyles } from './input/style';
|
|
|
42
42
|
export { default as Chip } from './chip';
|
|
43
43
|
export type { ChipProps } from './chip';
|
|
44
44
|
export type { ChipSemanticStyles } from './chip/style';
|
|
45
|
+
export { default as Tag } from './tag';
|
|
46
|
+
export type { TagProps } from './tag';
|
|
47
|
+
export type { TagSemanticStyles } from './tag/style';
|
|
45
48
|
export { default as ActionSheet } from './action-sheet';
|
|
46
49
|
export type { ActionSheetProps } from './action-sheet';
|
|
47
50
|
export type {
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tag 标签组件
|
|
3
|
+
*
|
|
4
|
+
* 信息展示标签,支持三种变体:
|
|
5
|
+
* - filled(默认):浅色底 + 深色字
|
|
6
|
+
* - solid:纯色底 + 白字
|
|
7
|
+
* - outlined:边框 + 深色字
|
|
8
|
+
*
|
|
9
|
+
* color 支持预设语义色(success/processing/warning/error/default)或自定义 hex。
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import React, { useMemo } from 'react';
|
|
13
|
+
import { View, Text } from 'react-native';
|
|
14
|
+
import type { ViewStyle } from 'react-native';
|
|
15
|
+
import { mergeStyles } from '../hooks';
|
|
16
|
+
import { useTokens } from '../theme/context';
|
|
17
|
+
import type { TagSemanticStyles } from './style';
|
|
18
|
+
import {
|
|
19
|
+
createDefaultStyles,
|
|
20
|
+
createSmallStyles,
|
|
21
|
+
createFilledStyles,
|
|
22
|
+
createSolidStyles,
|
|
23
|
+
createOutlinedStyles,
|
|
24
|
+
resolveColor,
|
|
25
|
+
} from './style';
|
|
26
|
+
|
|
27
|
+
export interface TagProps {
|
|
28
|
+
children: React.ReactNode;
|
|
29
|
+
variant?: 'filled' | 'solid' | 'outlined';
|
|
30
|
+
color?: string;
|
|
31
|
+
size?: 'default' | 'small';
|
|
32
|
+
style?: ViewStyle;
|
|
33
|
+
styles?: Partial<TagSemanticStyles>;
|
|
34
|
+
testID?: string;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const Tag: React.FC<TagProps> = ({
|
|
38
|
+
children,
|
|
39
|
+
variant = 'filled',
|
|
40
|
+
color,
|
|
41
|
+
size = 'default',
|
|
42
|
+
style,
|
|
43
|
+
styles: semanticStyles,
|
|
44
|
+
testID,
|
|
45
|
+
}) => {
|
|
46
|
+
const tokens = useTokens();
|
|
47
|
+
const resolved = resolveColor(color);
|
|
48
|
+
|
|
49
|
+
const s = useMemo(() => {
|
|
50
|
+
let variantStyles;
|
|
51
|
+
if (variant === 'solid') {
|
|
52
|
+
variantStyles = createSolidStyles(resolved);
|
|
53
|
+
} else if (variant === 'outlined') {
|
|
54
|
+
variantStyles = createOutlinedStyles(resolved);
|
|
55
|
+
} else {
|
|
56
|
+
variantStyles = createFilledStyles(resolved);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
return mergeStyles<TagSemanticStyles>(
|
|
60
|
+
createDefaultStyles(tokens),
|
|
61
|
+
size === 'small' ? createSmallStyles() : undefined,
|
|
62
|
+
variantStyles,
|
|
63
|
+
semanticStyles
|
|
64
|
+
);
|
|
65
|
+
}, [variant, resolved, size, tokens, semanticStyles]);
|
|
66
|
+
|
|
67
|
+
return (
|
|
68
|
+
<View style={[s.root, style]} testID={testID}>
|
|
69
|
+
{typeof children === 'string' ? (
|
|
70
|
+
<Text style={s.content}>{children}</Text>
|
|
71
|
+
) : (
|
|
72
|
+
children
|
|
73
|
+
)}
|
|
74
|
+
</View>
|
|
75
|
+
);
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export default Tag;
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
import type { ViewStyle, TextStyle } from 'react-native';
|
|
2
|
+
import type { Tokens } from '../../theme/tokens';
|
|
3
|
+
|
|
4
|
+
export type TagSemanticStyles = {
|
|
5
|
+
root?: ViewStyle;
|
|
6
|
+
content?: TextStyle;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
/** 预设语义色 → 实际色值映射 */
|
|
10
|
+
const PRESET_COLORS = {
|
|
11
|
+
success: '#52C41A',
|
|
12
|
+
processing: '#1677FF',
|
|
13
|
+
warning: '#FF9500',
|
|
14
|
+
error: '#FF3B30',
|
|
15
|
+
default: '#8C8C8C',
|
|
16
|
+
} as const;
|
|
17
|
+
|
|
18
|
+
type PresetName = keyof typeof PRESET_COLORS;
|
|
19
|
+
|
|
20
|
+
/** 解析颜色:支持预设名或自定义 hex */
|
|
21
|
+
export function resolveColor(color: string | undefined): string {
|
|
22
|
+
if (!color) return PRESET_COLORS.default;
|
|
23
|
+
if (color in PRESET_COLORS) return PRESET_COLORS[color as PresetName];
|
|
24
|
+
return color;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* 十六进制颜色追加透明度
|
|
29
|
+
* '#1677FF' + 0.1 → '#1677FF1A'
|
|
30
|
+
*/
|
|
31
|
+
function withAlpha(hex: string, alpha: number): string {
|
|
32
|
+
const a = Math.round(alpha * 255)
|
|
33
|
+
.toString(16)
|
|
34
|
+
.padStart(2, '0');
|
|
35
|
+
const base = hex.length === 9 ? hex.slice(0, 7) : hex;
|
|
36
|
+
return `${base}${a}`;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export const createDefaultStyles = (t: Tokens): TagSemanticStyles => ({
|
|
40
|
+
root: {
|
|
41
|
+
flexDirection: 'row',
|
|
42
|
+
alignItems: 'center',
|
|
43
|
+
alignSelf: 'flex-start',
|
|
44
|
+
borderRadius: t.radiusSm,
|
|
45
|
+
paddingHorizontal: 8,
|
|
46
|
+
paddingVertical: 2,
|
|
47
|
+
},
|
|
48
|
+
content: {
|
|
49
|
+
fontSize: t.fontSizeXs,
|
|
50
|
+
},
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
export const createSmallStyles = (): Partial<TagSemanticStyles> => ({
|
|
54
|
+
root: {
|
|
55
|
+
paddingHorizontal: 6,
|
|
56
|
+
paddingVertical: 1,
|
|
57
|
+
},
|
|
58
|
+
content: {
|
|
59
|
+
fontSize: 10,
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
|
|
63
|
+
/** filled: 浅色底 + 深色字(默认) */
|
|
64
|
+
export const createFilledStyles = (
|
|
65
|
+
color: string
|
|
66
|
+
): Partial<TagSemanticStyles> => ({
|
|
67
|
+
root: {
|
|
68
|
+
backgroundColor: withAlpha(color, 0.1),
|
|
69
|
+
},
|
|
70
|
+
content: {
|
|
71
|
+
color,
|
|
72
|
+
},
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
/** solid: 纯色底 + 白字 */
|
|
76
|
+
export const createSolidStyles = (
|
|
77
|
+
color: string
|
|
78
|
+
): Partial<TagSemanticStyles> => ({
|
|
79
|
+
root: {
|
|
80
|
+
backgroundColor: color,
|
|
81
|
+
},
|
|
82
|
+
content: {
|
|
83
|
+
color: '#FFFFFF',
|
|
84
|
+
},
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
/** outlined: 边框 + 深色字 + 透明底 */
|
|
88
|
+
export const createOutlinedStyles = (
|
|
89
|
+
color: string
|
|
90
|
+
): Partial<TagSemanticStyles> => ({
|
|
91
|
+
root: {
|
|
92
|
+
backgroundColor: 'transparent',
|
|
93
|
+
borderWidth: 1,
|
|
94
|
+
borderColor: color,
|
|
95
|
+
},
|
|
96
|
+
content: {
|
|
97
|
+
color,
|
|
98
|
+
},
|
|
99
|
+
});
|