@unif/react-native-design 0.33.1 → 0.35.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/ActionMenuContent/ActionMenuContent.js +97 -0
- package/lib/module/components/ui/ActionMenuContent/ActionMenuContent.js.map +1 -0
- package/lib/module/components/ui/ActionMenuContent/index.js +4 -0
- package/lib/module/components/ui/ActionMenuContent/index.js.map +1 -0
- package/lib/module/components/ui/ActionMenuContent/styles.js +54 -0
- package/lib/module/components/ui/ActionMenuContent/styles.js.map +1 -0
- package/lib/module/components/ui/ActionMenuContent/types.js.map +1 -0
- package/lib/module/components/ui/Button/ButtonBase.js +10 -2
- package/lib/module/components/ui/Button/ButtonBase.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/{BorderBeam → GlassLayer}/types.js.map +1 -1
- package/lib/module/components/ui/IconButton/IconButton.js +5 -1
- package/lib/module/components/ui/IconButton/IconButton.js.map +1 -1
- package/lib/module/components/ui/ImagePreview/ImagePreview.js +200 -0
- package/lib/module/components/ui/ImagePreview/ImagePreview.js.map +1 -0
- package/lib/module/components/ui/ImagePreview/constants.js +5 -0
- package/lib/module/components/ui/ImagePreview/constants.js.map +1 -0
- package/lib/module/components/ui/ImagePreview/index.js +4 -0
- package/lib/module/components/ui/ImagePreview/index.js.map +1 -0
- package/lib/module/components/ui/ImagePreview/styles.js +55 -0
- package/lib/module/components/ui/ImagePreview/styles.js.map +1 -0
- package/lib/module/components/ui/ImagePreview/types.js +4 -0
- package/lib/module/components/ui/ImagePreview/types.js.map +1 -0
- package/lib/module/components/ui/Sheet/Sheet.js +40 -0
- package/lib/module/components/ui/Sheet/Sheet.js.map +1 -0
- package/lib/module/components/ui/Sheet/index.js +4 -0
- package/lib/module/components/ui/Sheet/index.js.map +1 -0
- package/lib/module/components/ui/Sheet/styles.js +41 -0
- package/lib/module/components/ui/Sheet/styles.js.map +1 -0
- package/lib/module/components/ui/Sheet/types.js +4 -0
- package/lib/module/components/ui/Sheet/types.js.map +1 -0
- package/lib/module/components/ui/SmsField/SmsField.js +40 -0
- package/lib/module/components/ui/SmsField/SmsField.js.map +1 -0
- package/lib/module/components/ui/SmsField/index.js +4 -0
- package/lib/module/components/ui/SmsField/index.js.map +1 -0
- package/lib/module/components/ui/SmsField/types.js +4 -0
- package/lib/module/components/ui/SmsField/types.js.map +1 -0
- package/lib/module/components/ui/TextEntryContent/TextEntryContent.js +60 -0
- package/lib/module/components/ui/TextEntryContent/TextEntryContent.js.map +1 -0
- package/lib/module/components/ui/TextEntryContent/index.js +4 -0
- package/lib/module/components/ui/TextEntryContent/index.js.map +1 -0
- package/lib/module/components/ui/TextEntryContent/styles.js +29 -0
- package/lib/module/components/ui/TextEntryContent/styles.js.map +1 -0
- package/lib/module/components/ui/TextEntryContent/types.js +4 -0
- package/lib/module/components/ui/TextEntryContent/types.js.map +1 -0
- package/lib/module/components/ui/index.js +6 -2
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/icons/data.js +87 -1
- package/lib/module/icons/data.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/ActionMenuContent/ActionMenuContent.d.ts +4 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/ActionMenuContent.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/index.d.ts +3 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/styles.d.ts +51 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/types.d.ts +25 -0
- package/lib/typescript/src/components/ui/ActionMenuContent/types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Button/ButtonBase.d.ts +3 -1
- package/lib/typescript/src/components/ui/Button/ButtonBase.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/{BorderBeam → GlassLayer}/index.d.ts.map +1 -1
- 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/IconButton/IconButton.d.ts +1 -1
- package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/IconButton/types.d.ts +4 -0
- package/lib/typescript/src/components/ui/IconButton/types.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/ImagePreview/ImagePreview.d.ts +3 -0
- package/lib/typescript/src/components/ui/ImagePreview/ImagePreview.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ImagePreview/constants.d.ts +3 -0
- package/lib/typescript/src/components/ui/ImagePreview/constants.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ImagePreview/index.d.ts +3 -0
- package/lib/typescript/src/components/ui/ImagePreview/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ImagePreview/styles.d.ts +56 -0
- package/lib/typescript/src/components/ui/ImagePreview/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/ImagePreview/types.d.ts +33 -0
- package/lib/typescript/src/components/ui/ImagePreview/types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Sheet/Sheet.d.ts +4 -0
- package/lib/typescript/src/components/ui/Sheet/Sheet.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Sheet/index.d.ts +3 -0
- package/lib/typescript/src/components/ui/Sheet/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Sheet/styles.d.ts +38 -0
- package/lib/typescript/src/components/ui/Sheet/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/Sheet/types.d.ts +13 -0
- package/lib/typescript/src/components/ui/Sheet/types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/SmsField/SmsField.d.ts +4 -0
- package/lib/typescript/src/components/ui/SmsField/SmsField.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/SmsField/index.d.ts +3 -0
- package/lib/typescript/src/components/ui/SmsField/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/SmsField/types.d.ts +12 -0
- package/lib/typescript/src/components/ui/SmsField/types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextEntryContent/TextEntryContent.d.ts +4 -0
- package/lib/typescript/src/components/ui/TextEntryContent/TextEntryContent.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextEntryContent/index.d.ts +3 -0
- package/lib/typescript/src/components/ui/TextEntryContent/index.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextEntryContent/styles.d.ts +26 -0
- package/lib/typescript/src/components/ui/TextEntryContent/styles.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/TextEntryContent/types.d.ts +18 -0
- package/lib/typescript/src/components/ui/TextEntryContent/types.d.ts.map +1 -0
- package/lib/typescript/src/components/ui/index.d.ts +12 -4
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/icons/data.d.ts +1 -1
- package/lib/typescript/src/icons/data.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/lib/typescript/type-tests/content-api.d.ts +2 -0
- package/lib/typescript/type-tests/content-api.d.ts.map +1 -0
- 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/ActionMenuContent/ActionMenuContent.tsx +118 -0
- package/src/components/ui/ActionMenuContent/index.ts +6 -0
- package/src/components/ui/ActionMenuContent/styles.ts +47 -0
- package/src/components/ui/ActionMenuContent/types.ts +27 -0
- package/src/components/ui/Button/ButtonBase.tsx +11 -2
- 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/IconButton/IconButton.tsx +9 -1
- package/src/components/ui/IconButton/types.ts +4 -0
- package/src/components/ui/ImagePreview/ImagePreview.tsx +243 -0
- package/src/components/ui/ImagePreview/constants.ts +2 -0
- package/src/components/ui/ImagePreview/index.ts +6 -0
- package/src/components/ui/ImagePreview/styles.ts +48 -0
- package/src/components/ui/ImagePreview/types.ts +37 -0
- package/src/components/ui/Sheet/Sheet.tsx +43 -0
- package/src/components/ui/Sheet/index.ts +2 -0
- package/src/components/ui/Sheet/styles.ts +40 -0
- package/src/components/ui/Sheet/types.ts +14 -0
- package/src/components/ui/SmsField/SmsField.tsx +40 -0
- package/src/components/ui/SmsField/index.ts +2 -0
- package/src/components/ui/SmsField/types.ts +15 -0
- package/src/components/ui/TextEntryContent/TextEntryContent.tsx +56 -0
- package/src/components/ui/TextEntryContent/index.ts +2 -0
- package/src/components/ui/TextEntryContent/styles.ts +17 -0
- package/src/components/ui/TextEntryContent/types.ts +18 -0
- package/src/components/ui/index.ts +20 -4
- package/src/icons/data.ts +134 -0
- 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/components/ui/BorderBeam/BorderBeam.js +0 -102
- package/lib/module/components/ui/BorderBeam/BorderBeam.js.map +0 -1
- package/lib/module/components/ui/BorderBeam/BorderBeam.web.js +0 -108
- package/lib/module/components/ui/BorderBeam/BorderBeam.web.js.map +0 -1
- package/lib/module/components/ui/BorderBeam/index.js +0 -4
- package/lib/module/components/ui/BorderBeam/index.js.map +0 -1
- package/lib/module/components/ui/BorderBeam/normalizeBorderBeam.js +0 -23
- package/lib/module/components/ui/BorderBeam/normalizeBorderBeam.js.map +0 -1
- package/lib/module/components/ui/BorderBeam/shared.js +0 -54
- package/lib/module/components/ui/BorderBeam/shared.js.map +0 -1
- package/lib/module/components/ui/BorderBeam/styles.js +0 -18
- package/lib/module/components/ui/BorderBeam/styles.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/components/ui/BorderBeam/BorderBeam.d.ts +0 -10
- package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.web.d.ts +0 -5
- package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.web.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BorderBeam/index.d.ts +0 -3
- package/lib/typescript/src/components/ui/BorderBeam/normalizeBorderBeam.d.ts +0 -16
- package/lib/typescript/src/components/ui/BorderBeam/normalizeBorderBeam.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BorderBeam/shared.d.ts +0 -28
- package/lib/typescript/src/components/ui/BorderBeam/shared.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BorderBeam/styles.d.ts +0 -15
- package/lib/typescript/src/components/ui/BorderBeam/styles.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/BorderBeam/types.d.ts +0 -23
- package/lib/typescript/src/components/ui/BorderBeam/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/components/ui/BorderBeam/BorderBeam.tsx +0 -130
- package/src/components/ui/BorderBeam/BorderBeam.web.tsx +0 -127
- package/src/components/ui/BorderBeam/index.ts +0 -2
- package/src/components/ui/BorderBeam/normalizeBorderBeam.ts +0 -58
- package/src/components/ui/BorderBeam/shared.ts +0 -47
- package/src/components/ui/BorderBeam/styles.ts +0 -16
- package/src/components/ui/BorderBeam/types.ts +0 -23
- package/src/theme/blur.ts +0 -11
- /package/lib/module/components/ui/{BlurLayer → ActionMenuContent}/types.js +0 -0
- /package/lib/module/components/ui/{BorderBeam → GlassLayer}/types.js +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { ImageSourcePropType, StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
export interface ImagePreviewItem {
|
|
4
|
+
id: string;
|
|
5
|
+
source?: ImageSourcePropType;
|
|
6
|
+
label?: string;
|
|
7
|
+
canDelete?: boolean;
|
|
8
|
+
deleting?: boolean;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export interface ImagePreviewProps {
|
|
12
|
+
items: readonly ImagePreviewItem[];
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
initialId?: string;
|
|
16
|
+
onCurrentChange?(item: Readonly<ImagePreviewItem>): void;
|
|
17
|
+
onRequestDelete?(item: Readonly<ImagePreviewItem>): void;
|
|
18
|
+
style?: StyleProp<ViewStyle>;
|
|
19
|
+
testID?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export interface ImagePreviewHandle {
|
|
23
|
+
scrollTo(id: string, animated?: boolean): void;
|
|
24
|
+
getCurrent(): Readonly<ImagePreviewItem> | undefined;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export interface ImagePreviewSelection {
|
|
28
|
+
items: readonly ImagePreviewItem[];
|
|
29
|
+
index: number;
|
|
30
|
+
initialized: boolean;
|
|
31
|
+
carouselRevision: number;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface ImagePreviewScrollRequest {
|
|
35
|
+
id: string;
|
|
36
|
+
animated: boolean;
|
|
37
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ScrollView, View } from 'react-native';
|
|
3
|
+
import { useThemedStyles } from '../../../theme';
|
|
4
|
+
import { makeStyles } from './styles';
|
|
5
|
+
import type { SheetProps } from './types';
|
|
6
|
+
|
|
7
|
+
export function Sheet({
|
|
8
|
+
children,
|
|
9
|
+
header,
|
|
10
|
+
footer,
|
|
11
|
+
contentMode = 'fixed',
|
|
12
|
+
contentContainerStyle,
|
|
13
|
+
style,
|
|
14
|
+
testID,
|
|
15
|
+
}: SheetProps): React.JSX.Element {
|
|
16
|
+
const styles = useThemedStyles(makeStyles);
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<View style={[styles.root, style]} testID={testID}>
|
|
20
|
+
{header ?? (
|
|
21
|
+
<View style={styles.grabberContainer}>
|
|
22
|
+
<View style={styles.grabber} />
|
|
23
|
+
</View>
|
|
24
|
+
)}
|
|
25
|
+
{contentMode === 'scroll' ? (
|
|
26
|
+
<ScrollView
|
|
27
|
+
style={styles.contentRegion}
|
|
28
|
+
contentContainerStyle={[styles.content, contentContainerStyle]}
|
|
29
|
+
keyboardShouldPersistTaps="handled"
|
|
30
|
+
>
|
|
31
|
+
{children}
|
|
32
|
+
</ScrollView>
|
|
33
|
+
) : (
|
|
34
|
+
<View
|
|
35
|
+
style={[styles.contentRegion, styles.content, contentContainerStyle]}
|
|
36
|
+
>
|
|
37
|
+
{children}
|
|
38
|
+
</View>
|
|
39
|
+
)}
|
|
40
|
+
{footer ? <View style={styles.footer}>{footer}</View> : null}
|
|
41
|
+
</View>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
import { space, type ColorTokens } from '../../../theme';
|
|
3
|
+
|
|
4
|
+
export const makeStyles = (colors: ColorTokens) =>
|
|
5
|
+
StyleSheet.create({
|
|
6
|
+
root: {
|
|
7
|
+
flex: 1,
|
|
8
|
+
minHeight: 0,
|
|
9
|
+
backgroundColor: colors.surface,
|
|
10
|
+
},
|
|
11
|
+
grabberContainer: {
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
paddingTop: space['3'],
|
|
14
|
+
paddingBottom: space['2'],
|
|
15
|
+
},
|
|
16
|
+
grabber: {
|
|
17
|
+
width: 36,
|
|
18
|
+
height: 5,
|
|
19
|
+
borderRadius: 3,
|
|
20
|
+
backgroundColor: colors.foregroundMuted,
|
|
21
|
+
},
|
|
22
|
+
contentRegion: {
|
|
23
|
+
flex: 1,
|
|
24
|
+
minHeight: 0,
|
|
25
|
+
},
|
|
26
|
+
content: {
|
|
27
|
+
paddingHorizontal: space['9'],
|
|
28
|
+
paddingTop: space['4'],
|
|
29
|
+
paddingBottom: space['9'],
|
|
30
|
+
gap: space['5'],
|
|
31
|
+
},
|
|
32
|
+
footer: {
|
|
33
|
+
backgroundColor: colors.surface,
|
|
34
|
+
paddingHorizontal: space['9'],
|
|
35
|
+
paddingTop: space['5'],
|
|
36
|
+
paddingBottom: space['6'],
|
|
37
|
+
borderTopWidth: StyleSheet.hairlineWidth,
|
|
38
|
+
borderTopColor: colors.outline,
|
|
39
|
+
},
|
|
40
|
+
});
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
3
|
+
|
|
4
|
+
export type SheetContentMode = 'fixed' | 'scroll' | 'external-scroll';
|
|
5
|
+
|
|
6
|
+
export interface SheetProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
header?: ReactNode;
|
|
9
|
+
footer?: ReactNode;
|
|
10
|
+
contentMode?: SheetContentMode;
|
|
11
|
+
contentContainerStyle?: StyleProp<ViewStyle>;
|
|
12
|
+
style?: StyleProp<ViewStyle>;
|
|
13
|
+
testID?: string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { useColors } from '../../../theme';
|
|
3
|
+
import { Input } from '../Input';
|
|
4
|
+
import type { SmsFieldProps } from './types';
|
|
5
|
+
|
|
6
|
+
export function SmsField({
|
|
7
|
+
value,
|
|
8
|
+
onChangeText,
|
|
9
|
+
remainingSeconds,
|
|
10
|
+
sendDisabled,
|
|
11
|
+
onSend,
|
|
12
|
+
sendLabel,
|
|
13
|
+
sendAccessibilityLabel,
|
|
14
|
+
...inputProps
|
|
15
|
+
}: SmsFieldProps): React.JSX.Element {
|
|
16
|
+
const colors = useColors();
|
|
17
|
+
return (
|
|
18
|
+
<Input
|
|
19
|
+
{...inputProps}
|
|
20
|
+
value={value}
|
|
21
|
+
onChangeText={onChangeText}
|
|
22
|
+
keyboardType="number-pad"
|
|
23
|
+
autoComplete="sms-otp"
|
|
24
|
+
textContentType="oneTimeCode"
|
|
25
|
+
leading={{
|
|
26
|
+
kind: 'icon',
|
|
27
|
+
icon: 'mail',
|
|
28
|
+
size: 18,
|
|
29
|
+
color: colors.iconFaint40,
|
|
30
|
+
}}
|
|
31
|
+
trailing={{
|
|
32
|
+
kind: 'action',
|
|
33
|
+
label: sendLabel,
|
|
34
|
+
accessibilityLabel: sendAccessibilityLabel ?? sendLabel,
|
|
35
|
+
disabled: sendDisabled || remainingSeconds > 0,
|
|
36
|
+
onPress: onSend,
|
|
37
|
+
}}
|
|
38
|
+
/>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { InputProps } from '../Input';
|
|
2
|
+
|
|
3
|
+
/** 长度、提示及发送文案由调用方提供;remainingSeconds 只控制冷却禁用。 */
|
|
4
|
+
export interface SmsFieldProps extends Pick<
|
|
5
|
+
InputProps,
|
|
6
|
+
'maxLength' | 'placeholder' | 'editable' | 'accessibilityLabel' | 'testID'
|
|
7
|
+
> {
|
|
8
|
+
value: string;
|
|
9
|
+
onChangeText(value: string): void;
|
|
10
|
+
remainingSeconds: number;
|
|
11
|
+
sendLabel: string;
|
|
12
|
+
sendAccessibilityLabel?: string;
|
|
13
|
+
sendDisabled?: boolean;
|
|
14
|
+
onSend(): void;
|
|
15
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Text, View } from 'react-native';
|
|
3
|
+
import { useThemedStyles } from '../../../theme';
|
|
4
|
+
import { Button } from '../Button';
|
|
5
|
+
import { Textarea } from '../Textarea';
|
|
6
|
+
import { makeStyles } from './styles';
|
|
7
|
+
import type { TextEntryContentProps } from './types';
|
|
8
|
+
|
|
9
|
+
export function TextEntryContent({
|
|
10
|
+
title,
|
|
11
|
+
value,
|
|
12
|
+
onChangeText,
|
|
13
|
+
onSubmit,
|
|
14
|
+
onCancel,
|
|
15
|
+
message,
|
|
16
|
+
busy = false,
|
|
17
|
+
maxLength,
|
|
18
|
+
confirmLabel = '确认',
|
|
19
|
+
cancelLabel = '取消',
|
|
20
|
+
autoFocus = true,
|
|
21
|
+
style,
|
|
22
|
+
testID,
|
|
23
|
+
}: TextEntryContentProps): React.JSX.Element {
|
|
24
|
+
const styles = useThemedStyles(makeStyles);
|
|
25
|
+
return (
|
|
26
|
+
<View style={[styles.root, style]} testID={testID}>
|
|
27
|
+
<Text style={styles.title} accessibilityRole="header">
|
|
28
|
+
{title}
|
|
29
|
+
</Text>
|
|
30
|
+
{message ? <Text style={styles.message}>{message}</Text> : null}
|
|
31
|
+
<Textarea
|
|
32
|
+
value={value}
|
|
33
|
+
onChangeText={onChangeText}
|
|
34
|
+
maxLength={maxLength}
|
|
35
|
+
editable={!busy}
|
|
36
|
+
autoFocus={autoFocus}
|
|
37
|
+
accessibilityLabel={title}
|
|
38
|
+
/>
|
|
39
|
+
<View style={styles.actions}>
|
|
40
|
+
<Button
|
|
41
|
+
label={confirmLabel}
|
|
42
|
+
size="sm"
|
|
43
|
+
loading={busy}
|
|
44
|
+
onPress={() => onSubmit(value)}
|
|
45
|
+
/>
|
|
46
|
+
<Button
|
|
47
|
+
label={cancelLabel}
|
|
48
|
+
size="sm"
|
|
49
|
+
variant="outline"
|
|
50
|
+
disabled={busy}
|
|
51
|
+
onPress={onCancel}
|
|
52
|
+
/>
|
|
53
|
+
</View>
|
|
54
|
+
</View>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { StyleSheet } from 'react-native';
|
|
2
|
+
import { fw, radius, space, type, type ColorTokens } from '../../../theme';
|
|
3
|
+
|
|
4
|
+
export const makeStyles = (colors: ColorTokens) =>
|
|
5
|
+
StyleSheet.create({
|
|
6
|
+
root: {
|
|
7
|
+
gap: space[4],
|
|
8
|
+
padding: space[5],
|
|
9
|
+
borderWidth: 1,
|
|
10
|
+
borderColor: colors.outline,
|
|
11
|
+
borderRadius: radius.xl,
|
|
12
|
+
backgroundColor: colors.surface,
|
|
13
|
+
},
|
|
14
|
+
title: { color: colors.foreground, fontSize: type.h3, fontWeight: fw.semi },
|
|
15
|
+
message: { color: colors.foregroundMuted, fontSize: type.sm },
|
|
16
|
+
actions: { flexDirection: 'row', flexWrap: 'wrap', gap: space[3] },
|
|
17
|
+
});
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { StyleProp, ViewStyle } from 'react-native';
|
|
2
|
+
|
|
3
|
+
/** 受控文字编辑内容;弹层、键盘和业务提交结果由宿主负责。 */
|
|
4
|
+
export interface TextEntryContentProps {
|
|
5
|
+
title: string;
|
|
6
|
+
value: string;
|
|
7
|
+
onChangeText(value: string): void;
|
|
8
|
+
onSubmit(value: string): void;
|
|
9
|
+
onCancel(): void;
|
|
10
|
+
message?: string;
|
|
11
|
+
busy?: boolean;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
confirmLabel?: string;
|
|
14
|
+
cancelLabel?: string;
|
|
15
|
+
autoFocus?: boolean;
|
|
16
|
+
style?: StyleProp<ViewStyle>;
|
|
17
|
+
testID?: string;
|
|
18
|
+
}
|
|
@@ -7,10 +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 {
|
|
12
|
-
export { BorderBeam } from './BorderBeam';
|
|
13
|
-
export type { BorderBeamProps } from './BorderBeam';
|
|
10
|
+
export { GlassLayer } from './GlassLayer';
|
|
11
|
+
export type { GlassEffect, GlassLayerProps } from './GlassLayer';
|
|
14
12
|
export { Button } from './Button';
|
|
15
13
|
export type { ButtonProps, ButtonSize, ButtonVariant } from './Button';
|
|
16
14
|
export { Card } from './Card';
|
|
@@ -109,3 +107,21 @@ export type {
|
|
|
109
107
|
ToastKind,
|
|
110
108
|
ToastPosition,
|
|
111
109
|
} from './Toast';
|
|
110
|
+
export { ActionMenuContent } from './ActionMenuContent';
|
|
111
|
+
export type {
|
|
112
|
+
ActionMenuAction,
|
|
113
|
+
ActionMenuConfirmation,
|
|
114
|
+
ActionMenuContentProps,
|
|
115
|
+
} from './ActionMenuContent';
|
|
116
|
+
export { ImagePreview } from './ImagePreview';
|
|
117
|
+
export type {
|
|
118
|
+
ImagePreviewItem,
|
|
119
|
+
ImagePreviewProps,
|
|
120
|
+
ImagePreviewHandle,
|
|
121
|
+
} from './ImagePreview';
|
|
122
|
+
export { Sheet } from './Sheet';
|
|
123
|
+
export type { SheetContentMode, SheetProps } from './Sheet';
|
|
124
|
+
export { SmsField } from './SmsField';
|
|
125
|
+
export type { SmsFieldProps } from './SmsField';
|
|
126
|
+
export { TextEntryContent } from './TextEntryContent';
|
|
127
|
+
export type { TextEntryContentProps } from './TextEntryContent';
|
package/src/icons/data.ts
CHANGED
|
@@ -15,6 +15,8 @@ export type IconName =
|
|
|
15
15
|
| 'aspect-4-3'
|
|
16
16
|
| 'attachment'
|
|
17
17
|
| 'bag-check'
|
|
18
|
+
| 'bank'
|
|
19
|
+
| 'bed'
|
|
18
20
|
| 'bell'
|
|
19
21
|
| 'bluetooth'
|
|
20
22
|
| 'bot'
|
|
@@ -41,8 +43,10 @@ export type IconName =
|
|
|
41
43
|
| 'clipboard-user'
|
|
42
44
|
| 'clipboard'
|
|
43
45
|
| 'close'
|
|
46
|
+
| 'coffee'
|
|
44
47
|
| 'coin'
|
|
45
48
|
| 'copy'
|
|
49
|
+
| 'crosshair'
|
|
46
50
|
| 'dashboard-megaphone'
|
|
47
51
|
| 'dashboard-star'
|
|
48
52
|
| 'download'
|
|
@@ -58,6 +62,7 @@ export type IconName =
|
|
|
58
62
|
| 'flash-auto'
|
|
59
63
|
| 'flash-off'
|
|
60
64
|
| 'flash-on'
|
|
65
|
+
| 'fuel'
|
|
61
66
|
| 'grid'
|
|
62
67
|
| 'hand'
|
|
63
68
|
| 'heart'
|
|
@@ -73,12 +78,15 @@ export type IconName =
|
|
|
73
78
|
| 'logout'
|
|
74
79
|
| 'mail'
|
|
75
80
|
| 'maximize'
|
|
81
|
+
| 'medical-cross'
|
|
76
82
|
| 'menu'
|
|
77
83
|
| 'mic-on'
|
|
78
84
|
| 'mic'
|
|
79
85
|
| 'minimize'
|
|
86
|
+
| 'minus'
|
|
80
87
|
| 'more-h'
|
|
81
88
|
| 'more-v'
|
|
89
|
+
| 'navigation-pointer'
|
|
82
90
|
| 'order'
|
|
83
91
|
| 'package'
|
|
84
92
|
| 'paperclip'
|
|
@@ -100,6 +108,7 @@ export type IconName =
|
|
|
100
108
|
| 'share'
|
|
101
109
|
| 'shelf-pay'
|
|
102
110
|
| 'shield-check'
|
|
111
|
+
| 'shopping-bag'
|
|
103
112
|
| 'shutter-recording'
|
|
104
113
|
| 'shutter'
|
|
105
114
|
| 'sidebar'
|
|
@@ -107,8 +116,10 @@ export type IconName =
|
|
|
107
116
|
| 'sound-off'
|
|
108
117
|
| 'sound'
|
|
109
118
|
| 'spark'
|
|
119
|
+
| 'star-filled'
|
|
110
120
|
| 'star'
|
|
111
121
|
| 'stop'
|
|
122
|
+
| 'store'
|
|
112
123
|
| 'storefront-ai'
|
|
113
124
|
| 'storefront-arrow'
|
|
114
125
|
| 'storefront-check'
|
|
@@ -122,6 +133,7 @@ export type IconName =
|
|
|
122
133
|
| 'upload'
|
|
123
134
|
| 'user'
|
|
124
135
|
| 'users-search'
|
|
136
|
+
| 'utensils'
|
|
125
137
|
| 'visit'
|
|
126
138
|
| 'warning';
|
|
127
139
|
|
|
@@ -290,6 +302,24 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
290
302
|
},
|
|
291
303
|
],
|
|
292
304
|
},
|
|
305
|
+
'bank': {
|
|
306
|
+
strokeWidth: 1.75,
|
|
307
|
+
elements: [
|
|
308
|
+
{
|
|
309
|
+
kind: 'path',
|
|
310
|
+
d: 'M3 9l9-5 9 5 M5 9v8 M9 9v8 M15 9v8 M19 9v8 M3 21h18 M4 17h16',
|
|
311
|
+
},
|
|
312
|
+
],
|
|
313
|
+
},
|
|
314
|
+
'bed': {
|
|
315
|
+
strokeWidth: 1.75,
|
|
316
|
+
elements: [
|
|
317
|
+
{
|
|
318
|
+
kind: 'path',
|
|
319
|
+
d: 'M3 6v12 M3 11h18v7 M21 18v-3 M7 11V9a1 1 0 0 1 1-1h9a3 3 0 0 1 3 3',
|
|
320
|
+
},
|
|
321
|
+
],
|
|
322
|
+
},
|
|
293
323
|
'bell': {
|
|
294
324
|
strokeWidth: 1.75,
|
|
295
325
|
elements: [
|
|
@@ -858,6 +888,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
858
888
|
},
|
|
859
889
|
],
|
|
860
890
|
},
|
|
891
|
+
'coffee': {
|
|
892
|
+
strokeWidth: 1.75,
|
|
893
|
+
elements: [
|
|
894
|
+
{
|
|
895
|
+
kind: 'path',
|
|
896
|
+
d: 'M4 8h13v5a5 5 0 0 1-5 5H9a5 5 0 0 1-5-5V8z M17 9h2a2 2 0 0 1 0 6h-2 M8 3v2 M12 3v2',
|
|
897
|
+
},
|
|
898
|
+
],
|
|
899
|
+
},
|
|
861
900
|
'coin': {
|
|
862
901
|
strokeWidth: 1.75,
|
|
863
902
|
elements: [
|
|
@@ -902,6 +941,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
902
941
|
},
|
|
903
942
|
],
|
|
904
943
|
},
|
|
944
|
+
'crosshair': {
|
|
945
|
+
strokeWidth: 1.75,
|
|
946
|
+
elements: [
|
|
947
|
+
{
|
|
948
|
+
kind: 'path',
|
|
949
|
+
d: 'M16 12a4 4 0 1 1-8 0a4 4 0 1 1 8 0 M12 2v3 M12 19v3 M2 12h3 M19 12h3',
|
|
950
|
+
},
|
|
951
|
+
],
|
|
952
|
+
},
|
|
905
953
|
'dashboard-megaphone': {
|
|
906
954
|
strokeWidth: 1.75,
|
|
907
955
|
elements: [
|
|
@@ -1160,6 +1208,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
1160
1208
|
},
|
|
1161
1209
|
],
|
|
1162
1210
|
},
|
|
1211
|
+
'fuel': {
|
|
1212
|
+
strokeWidth: 1.75,
|
|
1213
|
+
elements: [
|
|
1214
|
+
{
|
|
1215
|
+
kind: 'path',
|
|
1216
|
+
d: 'M5 21V5a2 2 0 0 1 2-2h5a2 2 0 0 1 2 2v16 M4 21h11 M7 9h5 M14 8l3 3v6a2 2 0 0 0 2 2 2 2 0 0 0 2-2v-7l-3-3',
|
|
1217
|
+
},
|
|
1218
|
+
],
|
|
1219
|
+
},
|
|
1163
1220
|
'grid': {
|
|
1164
1221
|
strokeWidth: 1.75,
|
|
1165
1222
|
elements: [
|
|
@@ -1459,6 +1516,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
1459
1516
|
},
|
|
1460
1517
|
],
|
|
1461
1518
|
},
|
|
1519
|
+
'medical-cross': {
|
|
1520
|
+
strokeWidth: 1.75,
|
|
1521
|
+
elements: [
|
|
1522
|
+
{
|
|
1523
|
+
kind: 'path',
|
|
1524
|
+
d: 'M7 4h10a3 3 0 0 1 3 3v10a3 3 0 0 1-3 3H7a3 3 0 0 1-3-3V7a3 3 0 0 1 3-3z M12 8v8 M8 12h8',
|
|
1525
|
+
},
|
|
1526
|
+
],
|
|
1527
|
+
},
|
|
1462
1528
|
'menu': {
|
|
1463
1529
|
strokeWidth: 1.75,
|
|
1464
1530
|
elements: [
|
|
@@ -1519,6 +1585,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
1519
1585
|
},
|
|
1520
1586
|
],
|
|
1521
1587
|
},
|
|
1588
|
+
'minus': {
|
|
1589
|
+
strokeWidth: 1.75,
|
|
1590
|
+
elements: [
|
|
1591
|
+
{
|
|
1592
|
+
kind: 'path',
|
|
1593
|
+
d: 'M5 12h14',
|
|
1594
|
+
},
|
|
1595
|
+
],
|
|
1596
|
+
},
|
|
1522
1597
|
'more-h': {
|
|
1523
1598
|
strokeWidth: 1.75,
|
|
1524
1599
|
elements: [
|
|
@@ -1571,6 +1646,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
1571
1646
|
},
|
|
1572
1647
|
],
|
|
1573
1648
|
},
|
|
1649
|
+
'navigation-pointer': {
|
|
1650
|
+
strokeWidth: 1.75,
|
|
1651
|
+
elements: [
|
|
1652
|
+
{
|
|
1653
|
+
kind: 'path',
|
|
1654
|
+
d: 'M21 4L3 11l7 2 2 7 9-16z',
|
|
1655
|
+
},
|
|
1656
|
+
],
|
|
1657
|
+
},
|
|
1574
1658
|
'order': {
|
|
1575
1659
|
strokeWidth: 1.75,
|
|
1576
1660
|
elements: [
|
|
@@ -1994,6 +2078,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
1994
2078
|
},
|
|
1995
2079
|
],
|
|
1996
2080
|
},
|
|
2081
|
+
'shopping-bag': {
|
|
2082
|
+
strokeWidth: 1.75,
|
|
2083
|
+
elements: [
|
|
2084
|
+
{
|
|
2085
|
+
kind: 'path',
|
|
2086
|
+
d: 'M5 8h14l-1 12H6L5 8z M9 8V6a3 3 0 0 1 6 0v2',
|
|
2087
|
+
},
|
|
2088
|
+
],
|
|
2089
|
+
},
|
|
1997
2090
|
'shutter-recording': {
|
|
1998
2091
|
strokeWidth: 1.75,
|
|
1999
2092
|
elements: [
|
|
@@ -2127,6 +2220,17 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
2127
2220
|
},
|
|
2128
2221
|
],
|
|
2129
2222
|
},
|
|
2223
|
+
'star-filled': {
|
|
2224
|
+
strokeWidth: 1.75,
|
|
2225
|
+
elements: [
|
|
2226
|
+
{
|
|
2227
|
+
kind: 'path',
|
|
2228
|
+
d: 'M12 3.2l2.5 5.1 5.6.8-4.05 3.95.96 5.6L12 16.9 6.99 18.65l.96-5.6L3.9 9.1l5.6-.8L12 3.2z',
|
|
2229
|
+
fill: 'currentColor',
|
|
2230
|
+
stroke: 'none',
|
|
2231
|
+
},
|
|
2232
|
+
],
|
|
2233
|
+
},
|
|
2130
2234
|
'star': {
|
|
2131
2235
|
strokeWidth: 1.75,
|
|
2132
2236
|
elements: [
|
|
@@ -2151,6 +2255,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
2151
2255
|
},
|
|
2152
2256
|
],
|
|
2153
2257
|
},
|
|
2258
|
+
'store': {
|
|
2259
|
+
strokeWidth: 1.75,
|
|
2260
|
+
elements: [
|
|
2261
|
+
{
|
|
2262
|
+
kind: 'path',
|
|
2263
|
+
d: 'M4 9l1.2-4h13.6L20 9 M5 9.5V20h14V9.5 M4 9c0 1.4 1 2.3 2.2 2.3S8.4 10.4 8.4 9 M8.4 9c0 1.4 1 2.3 2.2 2.3S12.8 10.4 12.8 9 M12.8 9c0 1.4 1 2.3 2.2 2.3S17.2 10.4 17.2 9 M17.2 9c0 1.4 1 2.3 2.2 2.3 M9.5 20v-5h5v5',
|
|
2264
|
+
},
|
|
2265
|
+
],
|
|
2266
|
+
},
|
|
2154
2267
|
'storefront-ai': {
|
|
2155
2268
|
strokeWidth: 1.75,
|
|
2156
2269
|
elements: [
|
|
@@ -2461,6 +2574,15 @@ export const ICONS: Record<IconName, IconDef> = {
|
|
|
2461
2574
|
},
|
|
2462
2575
|
],
|
|
2463
2576
|
},
|
|
2577
|
+
'utensils': {
|
|
2578
|
+
strokeWidth: 1.75,
|
|
2579
|
+
elements: [
|
|
2580
|
+
{
|
|
2581
|
+
kind: 'path',
|
|
2582
|
+
d: 'M7 3v7 M5 3v4a2 2 0 0 0 2 2 M9 3v4a2 2 0 0 1-2 2 M7 11v10 M16 3c-1.5 0-2.5 2-2.5 5s1 4 2.5 4 M16 3v18',
|
|
2583
|
+
},
|
|
2584
|
+
],
|
|
2585
|
+
},
|
|
2464
2586
|
'visit': {
|
|
2465
2587
|
strokeWidth: 1.75,
|
|
2466
2588
|
elements: [
|
|
@@ -2515,6 +2637,8 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2515
2637
|
'aspect-4-3',
|
|
2516
2638
|
'attachment',
|
|
2517
2639
|
'bag-check',
|
|
2640
|
+
'bank',
|
|
2641
|
+
'bed',
|
|
2518
2642
|
'bell',
|
|
2519
2643
|
'bluetooth',
|
|
2520
2644
|
'bot',
|
|
@@ -2541,8 +2665,10 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2541
2665
|
'clipboard-user',
|
|
2542
2666
|
'clipboard',
|
|
2543
2667
|
'close',
|
|
2668
|
+
'coffee',
|
|
2544
2669
|
'coin',
|
|
2545
2670
|
'copy',
|
|
2671
|
+
'crosshair',
|
|
2546
2672
|
'dashboard-megaphone',
|
|
2547
2673
|
'dashboard-star',
|
|
2548
2674
|
'download',
|
|
@@ -2558,6 +2684,7 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2558
2684
|
'flash-auto',
|
|
2559
2685
|
'flash-off',
|
|
2560
2686
|
'flash-on',
|
|
2687
|
+
'fuel',
|
|
2561
2688
|
'grid',
|
|
2562
2689
|
'hand',
|
|
2563
2690
|
'heart',
|
|
@@ -2573,12 +2700,15 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2573
2700
|
'logout',
|
|
2574
2701
|
'mail',
|
|
2575
2702
|
'maximize',
|
|
2703
|
+
'medical-cross',
|
|
2576
2704
|
'menu',
|
|
2577
2705
|
'mic-on',
|
|
2578
2706
|
'mic',
|
|
2579
2707
|
'minimize',
|
|
2708
|
+
'minus',
|
|
2580
2709
|
'more-h',
|
|
2581
2710
|
'more-v',
|
|
2711
|
+
'navigation-pointer',
|
|
2582
2712
|
'order',
|
|
2583
2713
|
'package',
|
|
2584
2714
|
'paperclip',
|
|
@@ -2600,6 +2730,7 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2600
2730
|
'share',
|
|
2601
2731
|
'shelf-pay',
|
|
2602
2732
|
'shield-check',
|
|
2733
|
+
'shopping-bag',
|
|
2603
2734
|
'shutter-recording',
|
|
2604
2735
|
'shutter',
|
|
2605
2736
|
'sidebar',
|
|
@@ -2607,8 +2738,10 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2607
2738
|
'sound-off',
|
|
2608
2739
|
'sound',
|
|
2609
2740
|
'spark',
|
|
2741
|
+
'star-filled',
|
|
2610
2742
|
'star',
|
|
2611
2743
|
'stop',
|
|
2744
|
+
'store',
|
|
2612
2745
|
'storefront-ai',
|
|
2613
2746
|
'storefront-arrow',
|
|
2614
2747
|
'storefront-check',
|
|
@@ -2622,6 +2755,7 @@ export const ICON_NAMES: IconName[] = [
|
|
|
2622
2755
|
'upload',
|
|
2623
2756
|
'user',
|
|
2624
2757
|
'users-search',
|
|
2758
|
+
'utensils',
|
|
2625
2759
|
'visit',
|
|
2626
2760
|
'warning',
|
|
2627
2761
|
];
|
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)',
|