@unif/react-native-design 0.33.1 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/module/components/ui/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/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 +5 -1
- 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/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/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 +10 -2
- 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/type-tests/content-api.d.ts +2 -0
- package/lib/typescript/type-tests/content-api.d.ts.map +1 -0
- package/package.json +1 -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/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 +18 -2
- package/src/icons/data.ts +134 -0
- 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/components/ui/BorderBeam/types.js.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/index.d.ts.map +0 -1
- 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/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/lib/module/components/ui/{BorderBeam → ActionMenuContent}/types.js +0 -0
|
@@ -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
|
+
}
|
|
@@ -9,8 +9,6 @@ export { AvatarGroup } from './AvatarGroup';
|
|
|
9
9
|
export type { AvatarGroupItem, AvatarGroupProps } from './AvatarGroup';
|
|
10
10
|
export { BlurLayer } from './BlurLayer';
|
|
11
11
|
export type { BlurLayerProps } from './BlurLayer';
|
|
12
|
-
export { BorderBeam } from './BorderBeam';
|
|
13
|
-
export type { BorderBeamProps } from './BorderBeam';
|
|
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
|
];
|
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
import React, { useEffect, useState } from 'react';
|
|
4
|
-
import { View } from 'react-native';
|
|
5
|
-
import Animated, { cancelAnimation, Easing, ReduceMotion, useAnimatedProps, useSharedValue, withRepeat, withTiming } from 'react-native-reanimated';
|
|
6
|
-
import Svg, { Rect } from 'react-native-svg';
|
|
7
|
-
import { radius, useColors, usePrefersReducedMotion } from "../../../theme/index.js";
|
|
8
|
-
import { A11Y_HIDDEN_PROPS } from "../shared/a11y.js";
|
|
9
|
-
import { normalizeBorderBeam } from "./normalizeBorderBeam.js";
|
|
10
|
-
import { borderBeamGeometry, borderBeamTrail, EMPTY_BORDER_BEAM_LAYOUT } from "./shared.js";
|
|
11
|
-
import { styles } from "./styles.js";
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
const AnimatedRect = Animated.createAnimatedComponent(Rect);
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* 沿内容边缘循环移动的装饰性流光描边。
|
|
17
|
-
*
|
|
18
|
-
* 组件不承载加载、错误或焦点语义;业务状态仍由调用方自己的可访问元素表达。
|
|
19
|
-
* 系统开启「减弱动态效果」时隐藏流光,只保留原内容。
|
|
20
|
-
*/
|
|
21
|
-
export function BorderBeam({
|
|
22
|
-
children,
|
|
23
|
-
active = true,
|
|
24
|
-
color,
|
|
25
|
-
duration,
|
|
26
|
-
lineWidth,
|
|
27
|
-
size,
|
|
28
|
-
borderRadius = radius.md,
|
|
29
|
-
style,
|
|
30
|
-
testID
|
|
31
|
-
}) {
|
|
32
|
-
const colors = useColors();
|
|
33
|
-
const reducedMotion = usePrefersReducedMotion();
|
|
34
|
-
const [layout, setLayout] = useState(EMPTY_BORDER_BEAM_LAYOUT);
|
|
35
|
-
const normalized = normalizeBorderBeam({
|
|
36
|
-
duration,
|
|
37
|
-
lineWidth,
|
|
38
|
-
size,
|
|
39
|
-
borderRadius
|
|
40
|
-
});
|
|
41
|
-
const geometry = borderBeamGeometry({
|
|
42
|
-
layout,
|
|
43
|
-
...normalized
|
|
44
|
-
});
|
|
45
|
-
const trail = borderBeamTrail(geometry.beamLength);
|
|
46
|
-
const dashOffset = useSharedValue(0);
|
|
47
|
-
const showVisual = active && !reducedMotion && geometry.perimeter > 0;
|
|
48
|
-
useEffect(() => {
|
|
49
|
-
cancelAnimation(dashOffset);
|
|
50
|
-
dashOffset.value = 0;
|
|
51
|
-
if (!showVisual) return;
|
|
52
|
-
dashOffset.value = withRepeat(withTiming(-geometry.perimeter, {
|
|
53
|
-
duration: normalized.duration,
|
|
54
|
-
easing: Easing.linear,
|
|
55
|
-
reduceMotion: ReduceMotion.System
|
|
56
|
-
}), -1, false, undefined, ReduceMotion.System);
|
|
57
|
-
return () => cancelAnimation(dashOffset);
|
|
58
|
-
}, [dashOffset, geometry.perimeter, normalized.duration, showVisual]);
|
|
59
|
-
const animatedProps = useAnimatedProps(() => ({
|
|
60
|
-
strokeDashoffset: dashOffset.value
|
|
61
|
-
}));
|
|
62
|
-
const handleLayout = event => {
|
|
63
|
-
const width = Math.max(0, event.nativeEvent.layout.width);
|
|
64
|
-
const height = Math.max(0, event.nativeEvent.layout.height);
|
|
65
|
-
setLayout(current => current.width === width && current.height === height ? current : {
|
|
66
|
-
width,
|
|
67
|
-
height
|
|
68
|
-
});
|
|
69
|
-
};
|
|
70
|
-
return /*#__PURE__*/_jsxs(View, {
|
|
71
|
-
onLayout: handleLayout,
|
|
72
|
-
style: [styles.container, {
|
|
73
|
-
borderRadius: normalized.borderRadius
|
|
74
|
-
}, style],
|
|
75
|
-
testID: testID,
|
|
76
|
-
children: [children, showVisual ? /*#__PURE__*/_jsx(View, {
|
|
77
|
-
pointerEvents: "none",
|
|
78
|
-
style: styles.visual,
|
|
79
|
-
...A11Y_HIDDEN_PROPS,
|
|
80
|
-
children: /*#__PURE__*/_jsx(Svg, {
|
|
81
|
-
width: layout.width,
|
|
82
|
-
height: layout.height,
|
|
83
|
-
children: trail.map(layer => /*#__PURE__*/_jsx(AnimatedRect, {
|
|
84
|
-
animatedProps: animatedProps,
|
|
85
|
-
x: normalized.lineWidth / 2,
|
|
86
|
-
y: normalized.lineWidth / 2,
|
|
87
|
-
width: geometry.rectWidth,
|
|
88
|
-
height: geometry.rectHeight,
|
|
89
|
-
rx: geometry.radius,
|
|
90
|
-
ry: geometry.radius,
|
|
91
|
-
fill: "none",
|
|
92
|
-
stroke: color ?? colors.primary,
|
|
93
|
-
strokeOpacity: layer.opacity,
|
|
94
|
-
strokeWidth: normalized.lineWidth,
|
|
95
|
-
strokeLinecap: "round",
|
|
96
|
-
strokeDasharray: [layer.length, Math.max(0, geometry.perimeter - layer.length)]
|
|
97
|
-
}, `${layer.length}-${layer.opacity}`))
|
|
98
|
-
})
|
|
99
|
-
}) : null]
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
//# sourceMappingURL=BorderBeam.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useState","View","Animated","cancelAnimation","Easing","ReduceMotion","useAnimatedProps","useSharedValue","withRepeat","withTiming","Svg","Rect","radius","useColors","usePrefersReducedMotion","A11Y_HIDDEN_PROPS","normalizeBorderBeam","borderBeamGeometry","borderBeamTrail","EMPTY_BORDER_BEAM_LAYOUT","styles","jsx","_jsx","jsxs","_jsxs","AnimatedRect","createAnimatedComponent","BorderBeam","children","active","color","duration","lineWidth","size","borderRadius","md","style","testID","colors","reducedMotion","layout","setLayout","normalized","geometry","trail","beamLength","dashOffset","showVisual","perimeter","value","easing","linear","reduceMotion","System","undefined","animatedProps","strokeDashoffset","handleLayout","event","width","Math","max","nativeEvent","height","current","onLayout","container","pointerEvents","visual","map","layer","x","y","rectWidth","rectHeight","rx","ry","fill","stroke","primary","strokeOpacity","opacity","strokeWidth","strokeLinecap","strokeDasharray","length"],"sourceRoot":"../../../../../src","sources":["components/ui/BorderBeam/BorderBeam.tsx"],"mappings":"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","ignoreList":[]}
|