@unif/react-native-design 0.34.0 → 0.36.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/jest-preset.js +1 -1
- package/jest-setup.js +16 -1
- package/lib/module/components/business/GlassStats/GlassStats.js +6 -7
- package/lib/module/components/business/GlassStats/GlassStats.js.map +1 -1
- package/lib/module/components/business/GlassStats/styles.js +5 -1
- package/lib/module/components/business/GlassStats/styles.js.map +1 -1
- package/lib/module/components/ui/GlassLayer/GlassLayer.js +39 -0
- package/lib/module/components/ui/GlassLayer/GlassLayer.js.map +1 -0
- package/lib/module/components/ui/GlassLayer/GlassLayer.web.js +36 -0
- package/lib/module/components/ui/GlassLayer/GlassLayer.web.js.map +1 -0
- package/lib/module/components/ui/GlassLayer/constants.js +8 -0
- package/lib/module/components/ui/GlassLayer/constants.js.map +1 -0
- package/lib/module/components/ui/GlassLayer/index.js +4 -0
- package/lib/module/components/ui/GlassLayer/index.js.map +1 -0
- package/lib/module/components/ui/GlassLayer/types.js.map +1 -0
- package/lib/module/components/ui/TextField/TextFieldBase.js +20 -6
- package/lib/module/components/ui/TextField/TextFieldBase.js.map +1 -1
- package/lib/module/components/ui/TextField/constants.js +2 -2
- package/lib/module/components/ui/TextField/constants.js.map +1 -1
- package/lib/module/components/ui/TextField/styles.js +10 -0
- package/lib/module/components/ui/TextField/styles.js.map +1 -1
- package/lib/module/components/ui/index.js +1 -1
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/theme/colors.js +4 -7
- package/lib/module/theme/colors.js.map +1 -1
- package/lib/module/theme/index.js +0 -1
- package/lib/module/theme/index.js.map +1 -1
- package/lib/typescript/src/components/business/GlassStats/GlassStats.d.ts +2 -4
- package/lib/typescript/src/components/business/GlassStats/GlassStats.d.ts.map +1 -1
- package/lib/typescript/src/components/business/GlassStats/styles.d.ts +4 -1
- package/lib/typescript/src/components/business/GlassStats/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/GlassLayer/GlassLayer.d.ts +5 -0
- package/lib/typescript/src/components/ui/GlassLayer/GlassLayer.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/GlassLayer/GlassLayer.web.d.ts +5 -0
- package/lib/typescript/src/components/ui/GlassLayer/GlassLayer.web.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/GlassLayer/constants.d.ts +6 -0
- package/lib/typescript/src/components/ui/GlassLayer/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/GlassLayer/index.d.ts +3 -0
- package/lib/typescript/src/components/ui/GlassLayer/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/GlassLayer/types.d.ts +13 -0
- package/lib/typescript/src/components/ui/GlassLayer/types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/constants.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/styles.d.ts +16 -0
- package/lib/typescript/src/components/ui/TextField/styles.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/TextField/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/TextField/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Textarea/types.d.ts +2 -0
- package/lib/typescript/src/components/ui/Textarea/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/index.d.ts +2 -2
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/theme/colors.d.ts +2 -5
- package/lib/typescript/src/theme/colors.d.ts.map +1 -1
- package/lib/typescript/src/theme/index.d.ts +0 -2
- package/lib/typescript/src/theme/index.d.ts.map +1 -1
- package/package.json +3 -3
- package/src/components/business/GlassStats/GlassStats.tsx +4 -6
- package/src/components/business/GlassStats/styles.ts +3 -1
- package/src/components/ui/GlassLayer/GlassLayer.tsx +42 -0
- package/src/components/ui/GlassLayer/GlassLayer.web.tsx +37 -0
- package/src/components/ui/GlassLayer/constants.ts +2 -0
- package/src/components/ui/GlassLayer/index.ts +2 -0
- package/src/components/ui/GlassLayer/types.ts +14 -0
- package/src/components/ui/TextField/TextFieldBase.tsx +24 -5
- package/src/components/ui/TextField/constants.ts +2 -2
- package/src/components/ui/TextField/styles.ts +5 -0
- package/src/components/ui/TextField/types.ts +2 -0
- package/src/components/ui/Textarea/types.ts +2 -0
- package/src/components/ui/index.ts +2 -2
- package/src/theme/colors.ts +4 -7
- package/src/theme/index.ts +0 -3
- package/lib/module/components/ui/BlurLayer/BlurLayer.js +0 -45
- package/lib/module/components/ui/BlurLayer/BlurLayer.js.map +0 -1
- package/lib/module/components/ui/BlurLayer/BlurLayer.web.js +0 -46
- package/lib/module/components/ui/BlurLayer/BlurLayer.web.js.map +0 -1
- package/lib/module/components/ui/BlurLayer/index.js +0 -4
- package/lib/module/components/ui/BlurLayer/index.js.map +0 -1
- package/lib/module/components/ui/BlurLayer/types.js.map +0 -1
- package/lib/module/theme/blur.js +0 -12
- package/lib/module/theme/blur.js.map +0 -1
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.d.ts +0 -10
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.web.d.ts +0 -12
- package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.web.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BlurLayer/index.d.ts +0 -3
- package/lib/typescript/src/components/ui/BlurLayer/index.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BlurLayer/types.d.ts +0 -15
- package/lib/typescript/src/components/ui/BlurLayer/types.d.ts.map +0 -1
- package/lib/typescript/src/theme/blur.d.ts +0 -11
- package/lib/typescript/src/theme/blur.d.ts.map +0 -1
- package/src/components/ui/BlurLayer/BlurLayer.tsx +0 -47
- package/src/components/ui/BlurLayer/BlurLayer.web.tsx +0 -46
- package/src/components/ui/BlurLayer/index.ts +0 -2
- package/src/components/ui/BlurLayer/types.ts +0 -15
- package/src/theme/blur.ts +0 -11
- /package/lib/module/components/ui/{BlurLayer → GlassLayer}/types.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/GlassLayer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ColorValue, StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
export type GlassEffect = 'clear' | 'regular';
|
|
3
|
+
export interface GlassLayerProps {
|
|
4
|
+
/** 玻璃材质,默认 regular;clear 更通透。Web 使用对应的 CSS 近似效果。 */
|
|
5
|
+
effect?: GlassEffect;
|
|
6
|
+
/** 默认 clear 使用 glassTintLight,regular 使用 sheetBackdrop;降级时作为背景色。 */
|
|
7
|
+
tintColor?: ColorValue;
|
|
8
|
+
/** 布局、定位与圆角;默认 absoluteFill,材质颜色通过 tintColor 设置。 */
|
|
9
|
+
style?: StyleProp<ViewStyle>;
|
|
10
|
+
/** E2E / 测试定位。 */
|
|
11
|
+
testID?: string;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/GlassLayer/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AAE9C,MAAM,WAAW,eAAe;IAC9B,oDAAoD;IACpD,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,oEAAoE;IACpE,SAAS,CAAC,EAAE,UAAU,CAAC;IACvB,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,kBAAkB;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextFieldBase.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/TextFieldBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAcnE,0EAA0E;AAC1E,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"TextFieldBase.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/TextFieldBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAaf,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAcnE,0EAA0E;AAC1E,eAAO,MAAM,aAAa,4FAmQzB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAClD,eAAO,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/TextField/constants.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,uBAAuB,IAAI,CAAC;AACzC,eAAO,MAAM,yBAAyB,QAAW,CAAC;AAClD,eAAO,MAAM,6BAA6B,QAAe,CAAC;AAC1D,eAAO,MAAM,uBAAuB,QACyB,CAAC"}
|
|
@@ -13,7 +13,23 @@ export declare const makeStyles: (c: ColorTokens) => Readonly<{
|
|
|
13
13
|
paddingVertical: number;
|
|
14
14
|
alignItems: "flex-start";
|
|
15
15
|
};
|
|
16
|
+
wrapCentered: {
|
|
17
|
+
alignItems: "center";
|
|
18
|
+
};
|
|
19
|
+
focusSurface: Readonly<{
|
|
20
|
+
position: "absolute";
|
|
21
|
+
left: 0;
|
|
22
|
+
right: 0;
|
|
23
|
+
top: 0;
|
|
24
|
+
bottom: 0;
|
|
25
|
+
}>;
|
|
26
|
+
inputCentered: {
|
|
27
|
+
position: "relative";
|
|
28
|
+
zIndex: number;
|
|
29
|
+
};
|
|
16
30
|
wrapPlain: {
|
|
31
|
+
paddingHorizontal: number;
|
|
32
|
+
paddingVertical: number;
|
|
17
33
|
backgroundColor: string;
|
|
18
34
|
borderWidth: number;
|
|
19
35
|
borderRadius: number;
|
|
@@ -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;AAMlD,yDAAyD;AACzD,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW
|
|
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;AAMlD,yDAAyD;AACzD,eAAO,MAAM,UAAU,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwBrC,+BAA+B;;;;;;;;;;;;;;;IAe/B,qEAAqE;;;;;;;;;;;;;;;;;;;;;;IAuBrE,sCAAsC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkDtC,CAAC"}
|
|
@@ -111,6 +111,8 @@ export type TextFieldBaseProps = Omit<TextInputProps, RemovedTextInputProps> & T
|
|
|
111
111
|
searchLayout?: SearchFieldLayout;
|
|
112
112
|
/** internal:仅由 Textarea 的公开 surface 选择,无独立表面的多行输入。 */
|
|
113
113
|
plainSurface?: boolean;
|
|
114
|
+
/** internal:Textarea 的文字对齐;不改变单行控件。 */
|
|
115
|
+
contentAlignment?: 'start' | 'center';
|
|
114
116
|
};
|
|
115
117
|
export interface MultilineLayoutInput {
|
|
116
118
|
enabled: boolean;
|
|
@@ -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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"}
|
|
@@ -10,6 +10,8 @@ export type TextareaProps = Omit<TextInputProps, RemovedTextInputProps> & TextFi
|
|
|
10
10
|
interface TextareaLayoutProps {
|
|
11
11
|
/** default 绘制独立输入表面;plain 嵌入复合输入,保留文字内边距但不绘制表面。 */
|
|
12
12
|
surface?: 'default' | 'plain';
|
|
13
|
+
/** start 顶对齐;center 以原生自然文字高度居中,保留外层最小触达范围。 */
|
|
14
|
+
contentAlignment?: 'start' | 'center';
|
|
13
15
|
/** 最小高度,默认 96(约 5 行) */
|
|
14
16
|
minHeight?: number;
|
|
15
17
|
/** 最大高度(超过后内部滚动),默认不限制 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Textarea/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,GACrE,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAEtB,UAAU,mBAAmB;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/ui/Textarea/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,KAAK,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACpB,MAAM,oBAAoB,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,qBAAqB,CAAC,GACrE,oBAAoB,GACpB,mBAAmB,GACnB,mBAAmB,CAAC;AAEtB,UAAU,mBAAmB;IAC3B,mDAAmD;IACnD,OAAO,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IAC9B,+CAA+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IACtC,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
|
@@ -2,8 +2,8 @@ export { Avatar } from './Avatar';
|
|
|
2
2
|
export type { AvatarProps, AvatarShape, AvatarSize, AvatarVariant, } from './Avatar';
|
|
3
3
|
export { AvatarGroup } from './AvatarGroup';
|
|
4
4
|
export type { AvatarGroupItem, AvatarGroupProps } from './AvatarGroup';
|
|
5
|
-
export {
|
|
6
|
-
export type {
|
|
5
|
+
export { GlassLayer } from './GlassLayer';
|
|
6
|
+
export type { GlassEffect, GlassLayerProps } from './GlassLayer';
|
|
7
7
|
export { Button } from './Button';
|
|
8
8
|
export type { ButtonProps, ButtonSize, ButtonVariant } from './Button';
|
|
9
9
|
export { Card } from './Card';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,aAAa,GACd,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -45,12 +45,9 @@ export declare const lightColors: {
|
|
|
45
45
|
readonly glassTintLight: "rgba(255,255,255,0.55)";
|
|
46
46
|
/** 玻璃容器内部分隔线 —— 暗色翻成对应低透白,保证暗底可见。 */
|
|
47
47
|
readonly glassSeparator: "rgba(0,0,0,0.08)";
|
|
48
|
-
/**
|
|
49
|
-
* 数值配合 blur.strong(blurAmount=40) 让"玻璃门外区滚动内容透过模糊显示"达成。
|
|
50
|
-
* 跟 glassTintLight 区分:此 token 给"玻璃门外区"语义。 */
|
|
48
|
+
/** 玻璃容器的半透明背景,与轻薄染色 glassTintLight 分别表达表面与覆盖层。 */
|
|
51
49
|
readonly glassSurface: "rgba(255,255,255,0.20)";
|
|
52
|
-
/** TabBar
|
|
53
|
-
* TabBar 场景配合 blur.soft(blurAmount=10) 主导,语义不同不可复用同一个 alpha。 */
|
|
50
|
+
/** TabBar 的轻薄主题背景;只表达颜色,不定义原生玻璃材质或模糊半径。 */
|
|
54
51
|
readonly tabBarGlassTint: "rgba(255,255,255,0.10)";
|
|
55
52
|
/** 玻璃胶囊边框(亮 0.18 / 暗 0.14 白透)。 */
|
|
56
53
|
readonly glassBorder: "rgba(255,255,255,0.18)";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/colors.ts"],"names":[],"mappings":"AAEA;wBACwB;AACxB,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,WAAW;;;;;IAMtB,+CAA+C;;IAE/C,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCjC,mDAAmD;;IAEnD;2CACuC;;IAEvC,yDAAyD;;IAEzD,qCAAqC;;IAErC;;
|
|
1
|
+
{"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../../src/theme/colors.ts"],"names":[],"mappings":"AAEA;wBACwB;AACxB,eAAO,MAAM,YAAY,YAAY,CAAC;AAEtC,eAAO,MAAM,WAAW;;;;;IAMtB,+CAA+C;;IAE/C,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAwCjC,mDAAmD;;IAEnD;2CACuC;;IAEvC,yDAAyD;;IAEzD,qCAAqC;;IAErC,kDAAkD;;IAElD,2CAA2C;;IAE3C,kCAAkC;;IAElC,qCAAqC;;IAErC;wDACoD;;IAEpD;+BAC2B;;IAE3B,gEAAgE;;IAIhE,uDAAuD;;IAEvD,wBAAwB;;IAExB,+BAA+B;;IAG/B,+DAA+D;;IAE/D,oDAAoD;;IAOpD,yBAAyB;;IAEzB,sCAAsC;;IAEtC,2EAA2E;;IAG3E;qCACiC;;IAEjC,+BAA+B;;CAEvB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG;KAAG,CAAC,IAAI,MAAM,OAAO,WAAW,GAAG,MAAM;CAAE,CAAC;AAEtE,eAAO,MAAM,UAAU,EAAE,WA6FxB,CAAC;AAEF;;kCAEkC;AAClC,eAAO,MAAM,cAAc,iCAAqC,CAAC"}
|
|
@@ -11,7 +11,5 @@ export { useThemedStyles } from './useThemedStyles';
|
|
|
11
11
|
export type { StylesMaker } from './useThemedStyles';
|
|
12
12
|
export { usePrefersReducedMotion } from './usePrefersReducedMotion';
|
|
13
13
|
export { fontMono, type, fw, space, radius, avatar, icon, control, dim, fixed, motion, pressedOpacity, } from './tokens';
|
|
14
|
-
export { blur } from './blur';
|
|
15
|
-
export type { BlurIntensity } from './blur';
|
|
16
14
|
export { r, rf } from './scale';
|
|
17
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,KAAK,EACL,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,MAAM,EACN,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/theme/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,cAAc,EACd,YAAY,GACb,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE7C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEtE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EACL,QAAQ,EACR,IAAI,EACJ,EAAE,EACF,KAAK,EACL,MAAM,EACN,MAAM,EACN,IAAI,EACJ,OAAO,EACP,GAAG,EACH,KAAK,EACL,MAAM,EACN,cAAc,GACf,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@unif/react-native-design",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.36.0",
|
|
4
4
|
"description": "Unif React Native 设计系统:基础组件、主题、字体和图标",
|
|
5
5
|
"main": "./lib/module/index.js",
|
|
6
6
|
"types": "./lib/typescript/src/index.d.ts",
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
},
|
|
80
80
|
"devDependencies": {
|
|
81
81
|
"@babel/core": "^7.29.7",
|
|
82
|
+
"@callstack/liquid-glass": "0.8.2",
|
|
82
83
|
"@commitlint/config-conventional": "^21.0.1",
|
|
83
84
|
"@eslint/compat": "^2.0.3",
|
|
84
85
|
"@eslint/eslintrc": "^3.3.5",
|
|
@@ -91,7 +92,6 @@
|
|
|
91
92
|
"@react-native/jest-preset": "0.86.3",
|
|
92
93
|
"@react-native/metro-config": "0.86.3",
|
|
93
94
|
"@release-it/conventional-changelog": "^11.0.0",
|
|
94
|
-
"@sbaiahmed1/react-native-blur": "6.0.1",
|
|
95
95
|
"@types/react": "^19.2.0",
|
|
96
96
|
"commitlint": "^21.0.1",
|
|
97
97
|
"del-cli": "^7.0.0",
|
|
@@ -118,7 +118,7 @@
|
|
|
118
118
|
"typescript": "^6.0.2"
|
|
119
119
|
},
|
|
120
120
|
"peerDependencies": {
|
|
121
|
-
"@
|
|
121
|
+
"@callstack/liquid-glass": ">=0.8.2 <0.9.0",
|
|
122
122
|
"react": ">=19.2.3 <20.0.0",
|
|
123
123
|
"react-native": ">=0.86.0",
|
|
124
124
|
"react-native-gesture-handler": ">=3.0.0 <4.0.0",
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Text, View } from 'react-native';
|
|
3
|
-
import {
|
|
3
|
+
import { GlassLayer } from '../../ui/GlassLayer';
|
|
4
4
|
import { useThemedStyles } from '../../../theme';
|
|
5
5
|
import { makeGlassStatsStyles } from './styles';
|
|
6
6
|
import type { GlassStatsProps } from './types';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* 玻璃数据条 ——
|
|
10
|
-
*
|
|
11
|
-
* BlurLayer 接管 backdrop 双层结构(BlurView soft + glassTintLight tint),
|
|
12
|
-
* blurType 跟 scheme 自动切。
|
|
9
|
+
* 玻璃数据条 —— GlassLayer 通透材质 + 内部 N 列数据。
|
|
10
|
+
* 材质、主题和平台降级由 GlassLayer 接管。
|
|
13
11
|
*/
|
|
14
12
|
export function GlassStats({
|
|
15
13
|
items,
|
|
@@ -23,7 +21,7 @@ export function GlassStats({
|
|
|
23
21
|
// 单层 overflow + shadow 在 iOS 上 shadow 完全不可见。
|
|
24
22
|
<View style={[styles.glassShell, style]} testID={testID}>
|
|
25
23
|
<View style={styles.glass}>
|
|
26
|
-
<
|
|
24
|
+
<GlassLayer effect="clear" style={styles.glassLayer} />
|
|
27
25
|
{/* 顶部 1px inset 白高光,让数据条顶部"凸起" */}
|
|
28
26
|
<View style={styles.topHighlight} pointerEvents="none" />
|
|
29
27
|
<View style={styles.inner}>
|
|
@@ -9,11 +9,13 @@ import type { ColorTokens, ShadowTokens } from '../../../theme';
|
|
|
9
9
|
* iOS Core Animation `masksToBounds=true` 会裁掉 outer shadow。
|
|
10
10
|
* - `glass`:内层承担 borderRadius + overflow:hidden + border 边线。
|
|
11
11
|
*
|
|
12
|
-
*
|
|
12
|
+
* 玻璃材质与平台降级由 `<GlassLayer effect="clear"/>` 接管。 */
|
|
13
13
|
export const makeGlassStatsStyles = (c: ColorTokens, s: ShadowTokens) => {
|
|
14
14
|
/** count 数字 mono display 字号,无对应 type token,保留 rf(20) 走字号缩放(非 r)。 */
|
|
15
15
|
const countSize = rf(20);
|
|
16
16
|
return StyleSheet.create({
|
|
17
|
+
// LiquidGlassView 需要自身圆角,父容器的 overflow 裁切不足以定义材质轮廓。
|
|
18
|
+
glassLayer: { borderRadius: radius['2xl'] },
|
|
17
19
|
glassShell: {
|
|
18
20
|
borderRadius: radius['2xl'],
|
|
19
21
|
...s.glassBar,
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet } from 'react-native';
|
|
3
|
+
import {
|
|
4
|
+
LiquidGlassView,
|
|
5
|
+
isLiquidGlassSupported,
|
|
6
|
+
} from '@callstack/liquid-glass';
|
|
7
|
+
import { useColors, useTheme } from '../../../theme';
|
|
8
|
+
import type { GlassLayerProps } from './types';
|
|
9
|
+
|
|
10
|
+
/** 装饰玻璃层;不支持原生材质的平台使用主题半透明背景。 */
|
|
11
|
+
export function GlassLayer({
|
|
12
|
+
effect = 'regular',
|
|
13
|
+
tintColor,
|
|
14
|
+
style,
|
|
15
|
+
testID,
|
|
16
|
+
}: GlassLayerProps): React.JSX.Element {
|
|
17
|
+
const c = useColors();
|
|
18
|
+
const { scheme } = useTheme();
|
|
19
|
+
const resolvedTint =
|
|
20
|
+
tintColor ?? (effect === 'clear' ? c.glassTintLight : c.sheetBackdrop);
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<LiquidGlassView
|
|
24
|
+
// 支持标记也可能因宿主设计兼容设置关闭,必须显式禁用原生材质。
|
|
25
|
+
effect={isLiquidGlassSupported ? effect : 'none'}
|
|
26
|
+
tintColor={resolvedTint}
|
|
27
|
+
colorScheme={scheme}
|
|
28
|
+
// 纯装饰层无需材质切换动画,也不引入减少动态效果的额外状态。
|
|
29
|
+
animated={false}
|
|
30
|
+
style={[
|
|
31
|
+
StyleSheet.absoluteFill,
|
|
32
|
+
style,
|
|
33
|
+
!isLiquidGlassSupported && { backgroundColor: resolvedTint },
|
|
34
|
+
]}
|
|
35
|
+
pointerEvents="none"
|
|
36
|
+
accessible={false}
|
|
37
|
+
accessibilityElementsHidden
|
|
38
|
+
importantForAccessibility="no-hide-descendants"
|
|
39
|
+
testID={testID}
|
|
40
|
+
/>
|
|
41
|
+
);
|
|
42
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { StyleSheet, View, type ViewStyle } from 'react-native';
|
|
3
|
+
import { useColors, useTheme } from '../../../theme';
|
|
4
|
+
import { webGlassBlur } from './constants';
|
|
5
|
+
import type { GlassLayerProps } from './types';
|
|
6
|
+
|
|
7
|
+
/** Web 保留 CSS 玻璃近似效果,不加载原生 Liquid Glass 模块。 */
|
|
8
|
+
export function GlassLayer({
|
|
9
|
+
effect = 'regular',
|
|
10
|
+
tintColor,
|
|
11
|
+
style,
|
|
12
|
+
testID,
|
|
13
|
+
}: GlassLayerProps): React.JSX.Element {
|
|
14
|
+
const c = useColors();
|
|
15
|
+
const { scheme } = useTheme();
|
|
16
|
+
const resolvedTint =
|
|
17
|
+
tintColor ?? (effect === 'clear' ? c.glassTintLight : c.sheetBackdrop);
|
|
18
|
+
// RN 类型不含 CSS backdrop-filter。保留原有饱和度和暗色透明度近似值。
|
|
19
|
+
const webGlassStyle: ViewStyle &
|
|
20
|
+
Pick<React.CSSProperties, 'backdropFilter' | 'WebkitBackdropFilter'> = {
|
|
21
|
+
backdropFilter: `blur(${webGlassBlur[effect]}px) saturate(180%)`,
|
|
22
|
+
WebkitBackdropFilter: `blur(${webGlassBlur[effect]}px) saturate(180%)`,
|
|
23
|
+
backgroundColor: resolvedTint,
|
|
24
|
+
opacity: scheme === 'dark' ? 0.96 : 1,
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
return (
|
|
28
|
+
<View
|
|
29
|
+
style={[StyleSheet.absoluteFill, style, webGlassStyle]}
|
|
30
|
+
pointerEvents="none"
|
|
31
|
+
accessible={false}
|
|
32
|
+
accessibilityElementsHidden
|
|
33
|
+
importantForAccessibility="no-hide-descendants"
|
|
34
|
+
testID={testID}
|
|
35
|
+
/>
|
|
36
|
+
);
|
|
37
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ColorValue, StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
export type GlassEffect = 'clear' | 'regular';
|
|
4
|
+
|
|
5
|
+
export interface GlassLayerProps {
|
|
6
|
+
/** 玻璃材质,默认 regular;clear 更通透。Web 使用对应的 CSS 近似效果。 */
|
|
7
|
+
effect?: GlassEffect;
|
|
8
|
+
/** 默认 clear 使用 glassTintLight,regular 使用 sheetBackdrop;降级时作为背景色。 */
|
|
9
|
+
tintColor?: ColorValue;
|
|
10
|
+
/** 布局、定位与圆角;默认 absoluteFill,材质颜色通过 tintColor 设置。 */
|
|
11
|
+
style?: StyleProp<ViewStyle>;
|
|
12
|
+
/** E2E / 测试定位。 */
|
|
13
|
+
testID?: string;
|
|
14
|
+
}
|
|
@@ -5,7 +5,7 @@ import React, {
|
|
|
5
5
|
useImperativeHandle,
|
|
6
6
|
useState,
|
|
7
7
|
} from 'react';
|
|
8
|
-
import { Platform, Text, TextInput, View } from 'react-native';
|
|
8
|
+
import { Platform, Pressable, Text, TextInput, View } from 'react-native';
|
|
9
9
|
import type { TextInputProps } from 'react-native';
|
|
10
10
|
import { fixed, useColors, useThemedStyles } from '../../../theme';
|
|
11
11
|
import { childTestID } from '../../../utils/testID';
|
|
@@ -41,6 +41,7 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
41
41
|
maxHeight,
|
|
42
42
|
searchLayout,
|
|
43
43
|
plainSurface,
|
|
44
|
+
contentAlignment = 'start',
|
|
44
45
|
leading,
|
|
45
46
|
trailing,
|
|
46
47
|
error,
|
|
@@ -105,14 +106,16 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
105
106
|
maxHeight
|
|
106
107
|
);
|
|
107
108
|
const plain = multiline && plainSurface === true;
|
|
109
|
+
const centered = multiline && contentAlignment === 'center';
|
|
110
|
+
const verticalInset = plain
|
|
111
|
+
? TEXTAREA_PLAIN_VERTICAL_INSET
|
|
112
|
+
: TEXTAREA_VERTICAL_INSET;
|
|
108
113
|
const multilineLayout = useMultilineLayout({
|
|
109
114
|
enabled: multiline,
|
|
110
115
|
value: controller.value,
|
|
111
|
-
minHeight: normalizedTextareaHeights.minHeight,
|
|
116
|
+
minHeight: centered ? verticalInset : normalizedTextareaHeights.minHeight,
|
|
112
117
|
maxHeight: normalizedTextareaHeights.maxHeight,
|
|
113
|
-
verticalInset
|
|
114
|
-
? TEXTAREA_PLAIN_VERTICAL_INSET
|
|
115
|
-
: TEXTAREA_VERTICAL_INSET,
|
|
118
|
+
verticalInset,
|
|
116
119
|
fontSize: styles.input.fontSize,
|
|
117
120
|
placeholder: allowedNativeProps.placeholder as string | undefined,
|
|
118
121
|
inputRef: nativeRef,
|
|
@@ -179,6 +182,7 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
179
182
|
style={[
|
|
180
183
|
styles.wrap,
|
|
181
184
|
multiline && styles.wrapMultiline,
|
|
185
|
+
centered && styles.wrapCentered,
|
|
182
186
|
searchLayout === undefined && !plain && wrapStateStyles,
|
|
183
187
|
searchLayout !== undefined && styles.searchInteractiveRow,
|
|
184
188
|
plain && styles.wrapPlain,
|
|
@@ -192,6 +196,20 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
192
196
|
: { height: interactiveHeight },
|
|
193
197
|
]}
|
|
194
198
|
>
|
|
199
|
+
{centered ? (
|
|
200
|
+
<Pressable
|
|
201
|
+
accessible={false}
|
|
202
|
+
focusable={false}
|
|
203
|
+
tabIndex={-1}
|
|
204
|
+
importantForAccessibility="no"
|
|
205
|
+
style={styles.focusSurface}
|
|
206
|
+
disabled={!effectiveEditable}
|
|
207
|
+
onPress={() => {
|
|
208
|
+
if (effectiveEditable) nativeRef.current?.focus();
|
|
209
|
+
}}
|
|
210
|
+
testID={childTestID(testID, 'focus-surface')}
|
|
211
|
+
/>
|
|
212
|
+
) : null}
|
|
195
213
|
{searchLayout ? (
|
|
196
214
|
<View
|
|
197
215
|
pointerEvents="none"
|
|
@@ -236,6 +254,7 @@ export const TextFieldBase = forwardRef<TextFieldHandle, TextFieldBaseProps>(
|
|
|
236
254
|
}}
|
|
237
255
|
style={[
|
|
238
256
|
styles.input,
|
|
257
|
+
centered && styles.inputCentered,
|
|
239
258
|
multiline && styles.inputMultiline,
|
|
240
259
|
multiline &&
|
|
241
260
|
(multilineLayout.scrollEnabled
|
|
@@ -2,6 +2,6 @@ import { space } from '../../../theme';
|
|
|
2
2
|
|
|
3
3
|
export const TEXT_FIELD_BORDER_WIDTH = 1;
|
|
4
4
|
export const TEXTAREA_VERTICAL_PADDING = space[4];
|
|
5
|
-
export const TEXTAREA_PLAIN_VERTICAL_INSET = 2 *
|
|
5
|
+
export const TEXTAREA_PLAIN_VERTICAL_INSET = 2 * space[3];
|
|
6
6
|
export const TEXTAREA_VERTICAL_INSET =
|
|
7
|
-
|
|
7
|
+
2 * TEXTAREA_VERTICAL_PADDING + 2 * TEXT_FIELD_BORDER_WIDTH;
|
|
@@ -21,7 +21,12 @@ export const makeStyles = (c: ColorTokens) =>
|
|
|
21
21
|
paddingVertical: TEXTAREA_VERTICAL_PADDING,
|
|
22
22
|
alignItems: 'flex-start',
|
|
23
23
|
},
|
|
24
|
+
wrapCentered: { alignItems: 'center' },
|
|
25
|
+
focusSurface: StyleSheet.absoluteFill,
|
|
26
|
+
inputCentered: { position: 'relative', zIndex: 1 },
|
|
24
27
|
wrapPlain: {
|
|
28
|
+
paddingHorizontal: space[3],
|
|
29
|
+
paddingVertical: space[3],
|
|
25
30
|
backgroundColor: 'transparent',
|
|
26
31
|
borderWidth: 0,
|
|
27
32
|
borderRadius: 0,
|
|
@@ -135,6 +135,8 @@ export type TextFieldBaseProps = Omit<TextInputProps, RemovedTextInputProps> &
|
|
|
135
135
|
searchLayout?: SearchFieldLayout;
|
|
136
136
|
/** internal:仅由 Textarea 的公开 surface 选择,无独立表面的多行输入。 */
|
|
137
137
|
plainSurface?: boolean;
|
|
138
|
+
/** internal:Textarea 的文字对齐;不改变单行控件。 */
|
|
139
|
+
contentAlignment?: 'start' | 'center';
|
|
138
140
|
};
|
|
139
141
|
|
|
140
142
|
export interface MultilineLayoutInput {
|
|
@@ -19,6 +19,8 @@ export type TextareaProps = Omit<TextInputProps, RemovedTextInputProps> &
|
|
|
19
19
|
interface TextareaLayoutProps {
|
|
20
20
|
/** default 绘制独立输入表面;plain 嵌入复合输入,保留文字内边距但不绘制表面。 */
|
|
21
21
|
surface?: 'default' | 'plain';
|
|
22
|
+
/** start 顶对齐;center 以原生自然文字高度居中,保留外层最小触达范围。 */
|
|
23
|
+
contentAlignment?: 'start' | 'center';
|
|
22
24
|
/** 最小高度,默认 96(约 5 行) */
|
|
23
25
|
minHeight?: number;
|
|
24
26
|
/** 最大高度(超过后内部滚动),默认不限制 */
|
|
@@ -7,8 +7,8 @@ export type {
|
|
|
7
7
|
} from './Avatar';
|
|
8
8
|
export { AvatarGroup } from './AvatarGroup';
|
|
9
9
|
export type { AvatarGroupItem, AvatarGroupProps } from './AvatarGroup';
|
|
10
|
-
export {
|
|
11
|
-
export type {
|
|
10
|
+
export { GlassLayer } from './GlassLayer';
|
|
11
|
+
export type { GlassEffect, GlassLayerProps } from './GlassLayer';
|
|
12
12
|
export { Button } from './Button';
|
|
13
13
|
export type { ButtonProps, ButtonSize, ButtonVariant } from './Button';
|
|
14
14
|
export { Card } from './Card';
|
package/src/theme/colors.ts
CHANGED
|
@@ -61,12 +61,9 @@ export const lightColors = {
|
|
|
61
61
|
glassTintLight: 'rgba(255,255,255,0.55)',
|
|
62
62
|
/** 玻璃容器内部分隔线 —— 暗色翻成对应低透白,保证暗底可见。 */
|
|
63
63
|
glassSeparator: 'rgba(0,0,0,0.08)',
|
|
64
|
-
/**
|
|
65
|
-
* 数值配合 blur.strong(blurAmount=40) 让"玻璃门外区滚动内容透过模糊显示"达成。
|
|
66
|
-
* 跟 glassTintLight 区分:此 token 给"玻璃门外区"语义。 */
|
|
64
|
+
/** 玻璃容器的半透明背景,与轻薄染色 glassTintLight 分别表达表面与覆盖层。 */
|
|
67
65
|
glassSurface: 'rgba(255,255,255,0.20)',
|
|
68
|
-
/** TabBar
|
|
69
|
-
* TabBar 场景配合 blur.soft(blurAmount=10) 主导,语义不同不可复用同一个 alpha。 */
|
|
66
|
+
/** TabBar 的轻薄主题背景;只表达颜色,不定义原生玻璃材质或模糊半径。 */
|
|
70
67
|
tabBarGlassTint: 'rgba(255,255,255,0.10)',
|
|
71
68
|
/** 玻璃胶囊边框(亮 0.18 / 暗 0.14 白透)。 */
|
|
72
69
|
glassBorder: 'rgba(255,255,255,0.18)',
|
|
@@ -170,9 +167,9 @@ export const darkColors: ColorTokens = {
|
|
|
170
167
|
// 暗色 0.06 白透,凸起感由 glassBar 暗色黑 0.35 shadow 补
|
|
171
168
|
glassTintLight: 'rgba(255,255,255,0.06)',
|
|
172
169
|
glassSeparator: 'rgba(255,255,255,0.10)',
|
|
173
|
-
//
|
|
170
|
+
// 暗色玻璃容器沿用深灰半透明背景。
|
|
174
171
|
glassSurface: 'rgba(28,28,30,0.30)',
|
|
175
|
-
//
|
|
172
|
+
// TabBar 沿用独立的轻薄染色。
|
|
176
173
|
tabBarGlassTint: 'rgba(28,28,30,0.18)',
|
|
177
174
|
glassBorder: 'rgba(255,255,255,0.14)',
|
|
178
175
|
glassHighlight: 'rgba(255,255,255,0.24)',
|
package/src/theme/index.ts
CHANGED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import { StyleSheet, View } from 'react-native';
|
|
5
|
-
import { BlurView } from '@sbaiahmed1/react-native-blur';
|
|
6
|
-
import { blur as blurTokens, useColors, useTheme } from "../../../theme/index.js";
|
|
7
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
/** Blur backdrop 双层 —— BlurView + tint。
|
|
9
|
-
*
|
|
10
|
-
* blurType 跟 scheme 自动切(亮 'light' / 暗 'dark',避免暗色奶白雾)。
|
|
11
|
-
*
|
|
12
|
-
* - `'soft'` 玻璃数据条 / 小区域
|
|
13
|
-
* - `'strong'` 焦点引导 backdrop(sheet 类浮层) */
|
|
14
|
-
export function BlurLayer({
|
|
15
|
-
intensity,
|
|
16
|
-
tint,
|
|
17
|
-
style,
|
|
18
|
-
testID
|
|
19
|
-
}) {
|
|
20
|
-
const c = useColors();
|
|
21
|
-
const {
|
|
22
|
-
scheme
|
|
23
|
-
} = useTheme();
|
|
24
|
-
const blurType = scheme === 'dark' ? 'dark' : 'light';
|
|
25
|
-
const defaultTint = intensity === 'strong' ? c.sheetBackdrop : c.glassTintLight;
|
|
26
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
27
|
-
style: [StyleSheet.absoluteFill, style],
|
|
28
|
-
pointerEvents: "none",
|
|
29
|
-
testID: testID,
|
|
30
|
-
children: [/*#__PURE__*/_jsx(BlurView, {
|
|
31
|
-
style: StyleSheet.absoluteFill,
|
|
32
|
-
blurType: blurType,
|
|
33
|
-
blurAmount: blurTokens[intensity]
|
|
34
|
-
// iOS「降低透明度」开启时 BlurView 用纯色替换模糊;库默认 #FFFFFF 在暗色 scheme
|
|
35
|
-
// 下整面刺眼白底。传随 scheme 的 surface 色,与下方 tint 层视觉一致([M-6])。
|
|
36
|
-
,
|
|
37
|
-
reducedTransparencyFallbackColor: c.surface
|
|
38
|
-
}), /*#__PURE__*/_jsx(View, {
|
|
39
|
-
style: [StyleSheet.absoluteFill, {
|
|
40
|
-
backgroundColor: tint ?? defaultTint
|
|
41
|
-
}]
|
|
42
|
-
})]
|
|
43
|
-
});
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=BlurLayer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","StyleSheet","View","BlurView","blur","blurTokens","useColors","useTheme","jsx","_jsx","jsxs","_jsxs","BlurLayer","intensity","tint","style","testID","c","scheme","blurType","defaultTint","sheetBackdrop","glassTintLight","absoluteFill","pointerEvents","children","blurAmount","reducedTransparencyFallbackColor","surface","backgroundColor"],"sourceRoot":"../../../../../src","sources":["components/ui/BlurLayer/BlurLayer.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,QAAQ,QAAQ,+BAA+B;AACxD,SAASC,IAAI,IAAIC,UAAU,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,yBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGzE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAC;EACxBC,SAAS;EACTC,IAAI;EACJC,KAAK;EACLC;AACc,CAAC,EAAqB;EACpC,MAAMC,CAAC,GAAGX,SAAS,CAAC,CAAC;EACrB,MAAM;IAAEY;EAAO,CAAC,GAAGX,QAAQ,CAAC,CAAC;EAC7B,MAAMY,QAAQ,GAAGD,MAAM,KAAK,MAAM,GAAG,MAAM,GAAG,OAAO;EACrD,MAAME,WAAW,GACfP,SAAS,KAAK,QAAQ,GAAGI,CAAC,CAACI,aAAa,GAAGJ,CAAC,CAACK,cAAc;EAE7D,oBACEX,KAAA,CAACT,IAAI;IACHa,KAAK,EAAE,CAACd,UAAU,CAACsB,YAAY,EAAER,KAAK,CAAE;IACxCS,aAAa,EAAC,MAAM;IACpBR,MAAM,EAAEA,MAAO;IAAAS,QAAA,gBAEfhB,IAAA,CAACN,QAAQ;MACPY,KAAK,EAAEd,UAAU,CAACsB,YAAa;MAC/BJ,QAAQ,EAAEA,QAAS;MACnBO,UAAU,EAAErB,UAAU,CAACQ,SAAS;MAChC;MACA;MAAA;MACAc,gCAAgC,EAAEV,CAAC,CAACW;IAAQ,CAC7C,CAAC,eACFnB,IAAA,CAACP,IAAI;MACHa,KAAK,EAAE,CACLd,UAAU,CAACsB,YAAY,EACvB;QAAEM,eAAe,EAAEf,IAAI,IAAIM;MAAY,CAAC;IACxC,CACH,CAAC;EAAA,CACE,CAAC;AAEX","ignoreList":[]}
|