@pagopa/io-app-design-system 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/accordion/RawAccordion.js.map +1 -1
- package/lib/commonjs/components/alert/Alert.js.map +1 -1
- package/lib/commonjs/components/avatar/__test__/avatar.test.js.map +1 -1
- package/lib/commonjs/components/badge/Badge.js.map +1 -1
- package/lib/commonjs/components/banner/Banner.js +1 -1
- package/lib/commonjs/components/banner/Banner.js.map +1 -1
- package/lib/commonjs/components/banner/__test__/banner.test.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonExtendedOutline.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonOutline.js +3 -3
- package/lib/commonjs/components/buttons/ButtonOutline.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonSolid.js +3 -3
- package/lib/commonjs/components/buttons/ButtonSolid.js.map +1 -1
- package/lib/commonjs/components/contentWrapper/ContentWrapper.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemAction.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemIDP.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemNavAlert.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemTransaction.js.map +1 -1
- package/lib/commonjs/components/listitems/PressableListItemsBase.js.map +1 -1
- package/lib/commonjs/components/listitems/__test__/listitem.test.js.map +1 -1
- package/lib/commonjs/components/listitems/hooks/useListItemSpringAnimation.js.map +1 -1
- package/lib/commonjs/components/pictograms/Pictogram.js +7 -3
- package/lib/commonjs/components/pictograms/Pictogram.js.map +1 -1
- package/lib/commonjs/components/pictograms/svg/PictogramFocusOn.js +56 -0
- package/lib/commonjs/components/pictograms/svg/PictogramFocusOn.js.map +1 -0
- package/lib/commonjs/components/pictograms/svg/originals/PictogramFocusOn.svg +19 -0
- package/lib/commonjs/components/spacer/Spacer.js.map +1 -1
- package/lib/commonjs/components/typography/Body.js.map +1 -1
- package/lib/commonjs/components/typography/Factory.js.map +1 -1
- package/lib/commonjs/components/typography/H1.js.map +1 -1
- package/lib/commonjs/components/typography/H2.js.map +1 -1
- package/lib/commonjs/components/typography/H4.js.map +1 -1
- package/lib/commonjs/components/typography/H5.js.map +1 -1
- package/lib/commonjs/components/typography/H6.js.map +1 -1
- package/lib/commonjs/components/typography/Label.js.map +1 -1
- package/lib/commonjs/components/typography/LabelSmall.js.map +1 -1
- package/lib/commonjs/components/typography/Monospace.js.map +1 -1
- package/lib/commonjs/components/typography/common.js +2 -2
- package/lib/commonjs/components/typography/common.js.map +1 -1
- package/lib/commonjs/utils/image.js.map +1 -1
- package/lib/module/components/accordion/RawAccordion.js.map +1 -1
- package/lib/module/components/alert/Alert.js.map +1 -1
- package/lib/module/components/avatar/__test__/avatar.test.js.map +1 -1
- package/lib/module/components/badge/Badge.js.map +1 -1
- package/lib/module/components/banner/Banner.js +1 -1
- package/lib/module/components/banner/Banner.js.map +1 -1
- package/lib/module/components/banner/__test__/banner.test.js.map +1 -1
- package/lib/module/components/buttons/ButtonExtendedOutline.js.map +1 -1
- package/lib/module/components/buttons/ButtonOutline.js +3 -3
- package/lib/module/components/buttons/ButtonOutline.js.map +1 -1
- package/lib/module/components/buttons/ButtonSolid.js +3 -3
- package/lib/module/components/buttons/ButtonSolid.js.map +1 -1
- package/lib/module/components/buttons/IconButtonContained.js.map +1 -1
- package/lib/module/components/buttons/IconButtonSolid.js.map +1 -1
- package/lib/module/components/contentWrapper/ContentWrapper.js.map +1 -1
- package/lib/module/components/listitems/ListItemAction.js.map +1 -1
- package/lib/module/components/listitems/ListItemIDP.js.map +1 -1
- package/lib/module/components/listitems/ListItemNavAlert.js.map +1 -1
- package/lib/module/components/listitems/ListItemTransaction.js.map +1 -1
- package/lib/module/components/listitems/PressableListItemsBase.js.map +1 -1
- package/lib/module/components/listitems/__test__/listitem.test.js.map +1 -1
- package/lib/module/components/listitems/hooks/useListItemSpringAnimation.js.map +1 -1
- package/lib/module/components/pictograms/Pictogram.js +7 -3
- package/lib/module/components/pictograms/Pictogram.js.map +1 -1
- package/lib/module/components/pictograms/svg/PictogramFocusOn.js +48 -0
- package/lib/module/components/pictograms/svg/PictogramFocusOn.js.map +1 -0
- package/lib/module/components/pictograms/svg/originals/PictogramFocusOn.svg +19 -0
- package/lib/module/components/spacer/Spacer.js.map +1 -1
- package/lib/module/components/typography/Body.js.map +1 -1
- package/lib/module/components/typography/Factory.js.map +1 -1
- package/lib/module/components/typography/H1.js.map +1 -1
- package/lib/module/components/typography/H2.js.map +1 -1
- package/lib/module/components/typography/H4.js.map +1 -1
- package/lib/module/components/typography/H5.js.map +1 -1
- package/lib/module/components/typography/H6.js.map +1 -1
- package/lib/module/components/typography/Label.js.map +1 -1
- package/lib/module/components/typography/LabelSmall.js.map +1 -1
- package/lib/module/components/typography/Monospace.js.map +1 -1
- package/lib/module/components/typography/common.js +2 -2
- package/lib/module/components/typography/common.js.map +1 -1
- package/lib/module/utils/image.js.map +1 -1
- package/lib/typescript/components/alert/Alert.d.ts.map +1 -1
- package/lib/typescript/components/badge/Badge.d.ts.map +1 -1
- package/lib/typescript/components/banner/Banner.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonExtendedOutline.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonOutline.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonSolid.d.ts.map +1 -1
- package/lib/typescript/components/buttons/IconButtonContained.d.ts.map +1 -1
- package/lib/typescript/components/contentWrapper/ContentWrapper.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemAction.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemIDP.d.ts +1 -1
- package/lib/typescript/components/listitems/ListItemIDP.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemNavAlert.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemTransaction.d.ts.map +1 -1
- package/lib/typescript/components/listitems/PressableListItemsBase.d.ts.map +1 -1
- package/lib/typescript/components/listitems/hooks/useListItemSpringAnimation.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/Pictogram.d.ts +2 -0
- package/lib/typescript/components/pictograms/Pictogram.d.ts.map +1 -1
- package/lib/typescript/components/pictograms/svg/PictogramFocusOn.d.ts +5 -0
- package/lib/typescript/components/pictograms/svg/PictogramFocusOn.d.ts.map +1 -0
- package/lib/typescript/components/spacer/Spacer.d.ts.map +1 -1
- package/lib/typescript/components/typography/Body.d.ts.map +1 -1
- package/lib/typescript/components/typography/Factory.d.ts.map +1 -1
- package/lib/typescript/components/typography/H1.d.ts.map +1 -1
- package/lib/typescript/components/typography/H2.d.ts.map +1 -1
- package/lib/typescript/components/typography/H4.d.ts.map +1 -1
- package/lib/typescript/components/typography/H5.d.ts.map +1 -1
- package/lib/typescript/components/typography/H6.d.ts.map +1 -1
- package/lib/typescript/components/typography/Label.d.ts.map +1 -1
- package/lib/typescript/components/typography/LabelSmall.d.ts.map +1 -1
- package/lib/typescript/components/typography/Monospace.d.ts.map +1 -1
- package/lib/typescript/components/typography/common.d.ts +2 -2
- package/lib/typescript/components/typography/common.d.ts.map +1 -1
- package/lib/typescript/utils/image.d.ts.map +1 -1
- package/package.json +3 -2
- package/src/components/Advice/index.tsx +1 -1
- package/src/components/accordion/RawAccordion.tsx +3 -3
- package/src/components/alert/Alert.tsx +4 -1
- package/src/components/avatar/Avatar.tsx +1 -1
- package/src/components/avatar/__test__/avatar.test.tsx +7 -4
- package/src/components/avatar/index.tsx +1 -1
- package/src/components/badge/Badge.tsx +16 -11
- package/src/components/banner/Banner.tsx +206 -195
- package/src/components/banner/__test__/banner.test.tsx +11 -9
- package/src/components/banner/index.tsx +1 -1
- package/src/components/buttons/ButtonExtendedOutline.tsx +80 -80
- package/src/components/buttons/ButtonOutline.tsx +278 -280
- package/src/components/buttons/ButtonSolid.tsx +142 -141
- package/src/components/buttons/IconButtonContained.tsx +17 -17
- package/src/components/buttons/IconButtonSolid.tsx +11 -11
- package/src/components/contentWrapper/ContentWrapper.tsx +12 -12
- package/src/components/contentWrapper/index.tsx +1 -1
- package/src/components/divider/index.tsx +1 -1
- package/src/components/icons/index.tsx +1 -1
- package/src/components/listitems/ListItemAction.tsx +120 -119
- package/src/components/listitems/ListItemIDP.tsx +115 -115
- package/src/components/listitems/ListItemNavAlert.tsx +114 -110
- package/src/components/listitems/ListItemTransaction.tsx +2 -6
- package/src/components/listitems/PressableListItemsBase.tsx +29 -29
- package/src/components/listitems/__test__/listitem.test.tsx +53 -15
- package/src/components/listitems/hooks/useListItemSpringAnimation.ts +54 -52
- package/src/components/pictograms/Pictogram.tsx +6 -3
- package/src/components/pictograms/svg/PictogramFocusOn.tsx +39 -0
- package/src/components/pictograms/svg/originals/PictogramFocusOn.svg +19 -0
- package/src/components/spacer/Spacer.tsx +21 -18
- package/src/components/spacer/index.tsx +1 -1
- package/src/components/typography/Body.tsx +10 -10
- package/src/components/typography/Factory.tsx +38 -38
- package/src/components/typography/H1.tsx +19 -19
- package/src/components/typography/H2.tsx +19 -19
- package/src/components/typography/H4.tsx +12 -12
- package/src/components/typography/H5.tsx +24 -24
- package/src/components/typography/H6.tsx +10 -10
- package/src/components/typography/Label.tsx +16 -16
- package/src/components/typography/LabelSmall.tsx +27 -28
- package/src/components/typography/Monospace.tsx +14 -14
- package/src/components/typography/common.tsx +20 -20
- package/src/components/typography/index.tsx +0 -1
- package/src/index.tsx +0 -1
- package/src/json-import.d.ts +3 -4
- package/src/utils/dates.ts +1 -1
- package/src/utils/image.ts +22 -22
|
@@ -1,136 +1,140 @@
|
|
|
1
1
|
import React, { useCallback } from "react";
|
|
2
|
-
import {
|
|
3
|
-
GestureResponderEvent,
|
|
4
|
-
Pressable,
|
|
5
|
-
View
|
|
6
|
-
} from "react-native";
|
|
2
|
+
import { GestureResponderEvent, Pressable, View } from "react-native";
|
|
7
3
|
import Animated, {
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
4
|
+
Extrapolate,
|
|
5
|
+
interpolate,
|
|
6
|
+
interpolateColor,
|
|
7
|
+
useAnimatedStyle,
|
|
8
|
+
useDerivedValue,
|
|
9
|
+
useSharedValue,
|
|
10
|
+
withSpring
|
|
15
11
|
} from "react-native-reanimated";
|
|
16
|
-
import {
|
|
12
|
+
import {
|
|
13
|
+
IOColors,
|
|
14
|
+
IOListItemStyles,
|
|
15
|
+
IOListItemVisualParams,
|
|
16
|
+
IOScaleValues,
|
|
17
|
+
IOSpringValues,
|
|
18
|
+
IOStyles,
|
|
19
|
+
hexToRgba,
|
|
20
|
+
useIOTheme
|
|
21
|
+
} from "../../core";
|
|
17
22
|
import { WithTestID } from "../../utils/types";
|
|
18
23
|
import { Icon } from "../icons";
|
|
19
24
|
import { H6, LabelSmall } from "../typography";
|
|
20
25
|
|
|
21
26
|
export type ListItemNavAlert = WithTestID<{
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
value: string;
|
|
28
|
+
description?: string;
|
|
29
|
+
withoutIcon?: boolean;
|
|
30
|
+
onPress: (event: GestureResponderEvent) => void;
|
|
31
|
+
// Accessibility
|
|
32
|
+
accessibilityLabel: string;
|
|
28
33
|
}>;
|
|
29
34
|
|
|
30
35
|
export const ListItemNavAlert = ({
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
value,
|
|
37
|
+
description,
|
|
38
|
+
withoutIcon = false,
|
|
39
|
+
onPress,
|
|
40
|
+
accessibilityLabel,
|
|
41
|
+
testID
|
|
37
42
|
}: ListItemNavAlert) => {
|
|
38
|
-
|
|
43
|
+
const isPressed: Animated.SharedValue<number> = useSharedValue(0);
|
|
39
44
|
|
|
40
|
-
|
|
45
|
+
const theme = useIOTheme();
|
|
41
46
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
const mapBackgroundStates: Record<string, string> = {
|
|
48
|
+
default: hexToRgba(IOColors[theme["listItem-pressed"]], 0),
|
|
49
|
+
pressed: IOColors[theme["listItem-pressed"]]
|
|
50
|
+
};
|
|
46
51
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const progressPressed = useDerivedValue(() =>
|
|
51
|
-
withSpring(isPressed.value, IOSpringValues.button)
|
|
52
|
-
);
|
|
52
|
+
// Scaling transformation applied when the button is pressed
|
|
53
|
+
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
53
54
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
progressPressed.value,
|
|
58
|
-
[0, 1],
|
|
59
|
-
[1, animationScaleValue],
|
|
60
|
-
Extrapolate.CLAMP
|
|
61
|
-
);
|
|
55
|
+
const progressPressed = useDerivedValue(() =>
|
|
56
|
+
withSpring(isPressed.value, IOSpringValues.button)
|
|
57
|
+
);
|
|
62
58
|
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
59
|
+
// Interpolate animation values from `isPressed` values
|
|
60
|
+
const animatedScaleStyle = useAnimatedStyle(() => {
|
|
61
|
+
const scale = interpolate(
|
|
62
|
+
progressPressed.value,
|
|
63
|
+
[0, 1],
|
|
64
|
+
[1, animationScaleValue],
|
|
65
|
+
Extrapolate.CLAMP
|
|
66
|
+
);
|
|
67
67
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
[mapBackgroundStates.default, mapBackgroundStates.pressed]
|
|
73
|
-
);
|
|
68
|
+
return {
|
|
69
|
+
transform: [{ scale }]
|
|
70
|
+
};
|
|
71
|
+
});
|
|
74
72
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
const animatedBackgroundStyle = useAnimatedStyle(() => {
|
|
74
|
+
const backgroundColor = interpolateColor(
|
|
75
|
+
progressPressed.value,
|
|
76
|
+
[0, 1],
|
|
77
|
+
[mapBackgroundStates.default, mapBackgroundStates.pressed]
|
|
78
|
+
);
|
|
79
79
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const handlePressOut = useCallback(() => {
|
|
85
|
-
// eslint-disable-next-line functional/immutable-data
|
|
86
|
-
isPressed.value = 0;
|
|
87
|
-
}, [isPressed]);
|
|
80
|
+
return {
|
|
81
|
+
backgroundColor
|
|
82
|
+
};
|
|
83
|
+
});
|
|
88
84
|
|
|
85
|
+
const handlePressIn = useCallback(() => {
|
|
86
|
+
// eslint-disable-next-line functional/immutable-data
|
|
87
|
+
isPressed.value = 1;
|
|
88
|
+
}, [isPressed]);
|
|
89
|
+
const handlePressOut = useCallback(() => {
|
|
90
|
+
// eslint-disable-next-line functional/immutable-data
|
|
91
|
+
isPressed.value = 0;
|
|
92
|
+
}, [isPressed]);
|
|
89
93
|
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
94
|
+
return (
|
|
95
|
+
<Pressable
|
|
96
|
+
onPress={onPress}
|
|
97
|
+
onPressIn={handlePressIn}
|
|
98
|
+
onPressOut={handlePressOut}
|
|
99
|
+
accessible={true}
|
|
100
|
+
accessibilityLabel={accessibilityLabel}
|
|
101
|
+
accessibilityRole="button"
|
|
102
|
+
testID={testID}
|
|
103
|
+
>
|
|
104
|
+
<Animated.View
|
|
105
|
+
style={[IOListItemStyles.listItem, animatedBackgroundStyle]}
|
|
106
|
+
>
|
|
107
|
+
<Animated.View
|
|
108
|
+
style={[IOListItemStyles.listItemInner, animatedScaleStyle]}
|
|
99
109
|
>
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
/>
|
|
129
|
-
</View>
|
|
130
|
-
</Animated.View>
|
|
131
|
-
</Animated.View>
|
|
132
|
-
</Pressable>
|
|
133
|
-
);
|
|
110
|
+
{!withoutIcon && (
|
|
111
|
+
<View style={{ marginRight: IOListItemVisualParams.iconMargin }}>
|
|
112
|
+
<Icon
|
|
113
|
+
name="errorFilled"
|
|
114
|
+
color={theme.errorIcon}
|
|
115
|
+
size={IOListItemVisualParams.iconSize}
|
|
116
|
+
/>
|
|
117
|
+
</View>
|
|
118
|
+
)}
|
|
119
|
+
<View style={IOStyles.flex}>
|
|
120
|
+
<H6 color={theme["textBody-default"]}>{value}</H6>
|
|
121
|
+
{description && (
|
|
122
|
+
<LabelSmall weight="SemiBold" color={theme.errorText}>
|
|
123
|
+
{description}
|
|
124
|
+
</LabelSmall>
|
|
125
|
+
)}
|
|
126
|
+
</View>
|
|
127
|
+
<View style={{ marginLeft: IOListItemVisualParams.iconMargin }}>
|
|
128
|
+
<Icon
|
|
129
|
+
name="chevronRightListItem"
|
|
130
|
+
color={theme["interactiveElem-default"]}
|
|
131
|
+
size={IOListItemVisualParams.chevronSize}
|
|
132
|
+
/>
|
|
133
|
+
</View>
|
|
134
|
+
</Animated.View>
|
|
135
|
+
</Animated.View>
|
|
136
|
+
</Pressable>
|
|
137
|
+
);
|
|
134
138
|
};
|
|
135
139
|
|
|
136
140
|
export default ListItemNavAlert;
|
|
@@ -101,13 +101,9 @@ export const ListItemTransaction = ({
|
|
|
101
101
|
);
|
|
102
102
|
|
|
103
103
|
case "failure":
|
|
104
|
-
return
|
|
105
|
-
<Badge variant="error" text={"Failed"} />
|
|
106
|
-
);
|
|
104
|
+
return <Badge variant="error" text={"Failed"} />;
|
|
107
105
|
case "pending":
|
|
108
|
-
return
|
|
109
|
-
<Badge variant="info" text={"Cancelled"} />
|
|
110
|
-
);
|
|
106
|
+
return <Badge variant="info" text={"Cancelled"} />;
|
|
111
107
|
}
|
|
112
108
|
};
|
|
113
109
|
|
|
@@ -6,37 +6,37 @@ import { WithTestID } from "../../utils/types";
|
|
|
6
6
|
import { useListItemSpringAnimation } from "./hooks/useListItemSpringAnimation";
|
|
7
7
|
|
|
8
8
|
export type PressableBaseProps = WithTestID<{
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
accessibilityLabel?: string;
|
|
10
|
+
onPress?: () => void;
|
|
11
11
|
}>;
|
|
12
12
|
export const PressableListItemBase = ({
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
onPress,
|
|
14
|
+
testID,
|
|
15
|
+
accessibilityLabel,
|
|
16
|
+
children
|
|
17
17
|
}: React.PropsWithChildren<PressableBaseProps>) => {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
const { onPressIn, onPressOut, animatedScaleStyle, animatedBackgroundStyle } =
|
|
19
|
+
useListItemSpringAnimation();
|
|
20
|
+
return (
|
|
21
|
+
<Pressable
|
|
22
|
+
onPress={onPress}
|
|
23
|
+
testID={testID}
|
|
24
|
+
accessible={true}
|
|
25
|
+
accessibilityLabel={accessibilityLabel}
|
|
26
|
+
onPressIn={onPressIn}
|
|
27
|
+
onPressOut={onPressOut}
|
|
28
|
+
onTouchEnd={onPressOut}
|
|
29
|
+
accessibilityRole="button"
|
|
30
|
+
>
|
|
31
|
+
<Animated.View
|
|
32
|
+
style={[IOListItemStyles.listItem, animatedBackgroundStyle]}
|
|
33
|
+
>
|
|
34
|
+
<Animated.View
|
|
35
|
+
style={[IOListItemStyles.listItemInner, animatedScaleStyle]}
|
|
30
36
|
>
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
>
|
|
37
|
-
{children}
|
|
38
|
-
</Animated.View>
|
|
39
|
-
</Animated.View>
|
|
40
|
-
</Pressable>
|
|
41
|
-
);
|
|
37
|
+
{children}
|
|
38
|
+
</Animated.View>
|
|
39
|
+
</Animated.View>
|
|
40
|
+
</Pressable>
|
|
41
|
+
);
|
|
42
42
|
};
|
|
@@ -16,42 +16,80 @@ const onButtonPress = () => {
|
|
|
16
16
|
|
|
17
17
|
describe("Test List Item Components", () => {
|
|
18
18
|
it("ListItemInfo Snapshot", () => {
|
|
19
|
-
const listItemInfo = TestRenderer.create(
|
|
19
|
+
const listItemInfo = TestRenderer.create(
|
|
20
|
+
<ListItemInfo
|
|
21
|
+
label={"label"}
|
|
22
|
+
value={"testValue"}
|
|
23
|
+
accessibilityLabel={"accessibilityLabel"}
|
|
24
|
+
></ListItemInfo>
|
|
25
|
+
).toJSON();
|
|
20
26
|
expect(listItemInfo).toMatchSnapshot();
|
|
21
27
|
});
|
|
22
28
|
it("ListItemInfoCopy Snapshot", () => {
|
|
23
|
-
const listItemInfoCopy = TestRenderer.create(
|
|
29
|
+
const listItemInfoCopy = TestRenderer.create(
|
|
30
|
+
<ListItemInfoCopy
|
|
31
|
+
label={"label"}
|
|
32
|
+
value={"testValue"}
|
|
33
|
+
onPress={onButtonPress}
|
|
34
|
+
accessibilityLabel={"accessibilityLabel"}
|
|
35
|
+
></ListItemInfoCopy>
|
|
36
|
+
).toJSON();
|
|
24
37
|
expect(listItemInfoCopy).toMatchSnapshot();
|
|
25
38
|
});
|
|
26
39
|
it("ListItemNav Snapshot", () => {
|
|
27
|
-
const listItemNav = TestRenderer.create(
|
|
40
|
+
const listItemNav = TestRenderer.create(
|
|
41
|
+
<ListItemNav
|
|
42
|
+
value={"testValue"}
|
|
43
|
+
onPress={onButtonPress}
|
|
44
|
+
accessibilityLabel={"accessibilityLabel"}
|
|
45
|
+
></ListItemNav>
|
|
46
|
+
).toJSON();
|
|
28
47
|
expect(listItemNav).toMatchSnapshot();
|
|
29
48
|
});
|
|
30
49
|
it("ListItemNavAlert Snapshot", () => {
|
|
31
|
-
const listItemNavAlert = TestRenderer.create(
|
|
50
|
+
const listItemNavAlert = TestRenderer.create(
|
|
51
|
+
<ListItemNavAlert
|
|
52
|
+
value={"testValue"}
|
|
53
|
+
onPress={onButtonPress}
|
|
54
|
+
accessibilityLabel={"accessibilityLabel"}
|
|
55
|
+
></ListItemNavAlert>
|
|
56
|
+
).toJSON();
|
|
32
57
|
expect(listItemNavAlert).toMatchSnapshot();
|
|
33
58
|
});
|
|
34
59
|
it("ListItemAction Snapshot", () => {
|
|
35
|
-
const listItemAction = TestRenderer.create(
|
|
60
|
+
const listItemAction = TestRenderer.create(
|
|
61
|
+
<ListItemAction
|
|
62
|
+
label={"label"}
|
|
63
|
+
variant={"primary"}
|
|
64
|
+
onPress={onButtonPress}
|
|
65
|
+
accessibilityLabel={"accessibilityLabel"}
|
|
66
|
+
></ListItemAction>
|
|
67
|
+
).toJSON();
|
|
36
68
|
expect(listItemAction).toMatchSnapshot();
|
|
37
69
|
});
|
|
38
70
|
it("ListItemIDP Snapshot", () => {
|
|
39
|
-
const listItemIDP = TestRenderer.create(
|
|
71
|
+
const listItemIDP = TestRenderer.create(
|
|
72
|
+
<ListItemIDP></ListItemIDP>
|
|
73
|
+
).toJSON();
|
|
40
74
|
expect(listItemIDP).toMatchSnapshot();
|
|
41
75
|
});
|
|
42
76
|
it("ListItemTransaction Snapshot", () => {
|
|
43
|
-
const listItemIDP = TestRenderer.create(
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
77
|
+
const listItemIDP = TestRenderer.create(
|
|
78
|
+
<ListItemTransaction
|
|
79
|
+
title="TITLE"
|
|
80
|
+
subtitle="subtitle"
|
|
81
|
+
transactionStatus="success"
|
|
82
|
+
transactionAmount="€ 1.000,00"
|
|
83
|
+
isLoading={true}
|
|
84
|
+
onPress={onButtonPress}
|
|
85
|
+
/>
|
|
86
|
+
).toJSON();
|
|
51
87
|
expect(listItemIDP).toMatchSnapshot();
|
|
52
88
|
});
|
|
53
89
|
it("PressableListItemsBase Snapshot", () => {
|
|
54
|
-
const listItemIDP = TestRenderer.create(
|
|
90
|
+
const listItemIDP = TestRenderer.create(
|
|
91
|
+
<PressableListItemBase></PressableListItemBase>
|
|
92
|
+
).toJSON();
|
|
55
93
|
expect(listItemIDP).toMatchSnapshot();
|
|
56
94
|
});
|
|
57
95
|
});
|
|
@@ -1,70 +1,72 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import Animated, {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
3
|
+
Extrapolate,
|
|
4
|
+
interpolate,
|
|
5
|
+
interpolateColor,
|
|
6
|
+
useAnimatedStyle,
|
|
7
|
+
useDerivedValue,
|
|
8
|
+
useSharedValue,
|
|
9
|
+
withSpring
|
|
10
10
|
} from "react-native-reanimated";
|
|
11
11
|
import {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
12
|
+
IOColors,
|
|
13
|
+
IOScaleValues,
|
|
14
|
+
IOSpringValues,
|
|
15
|
+
hexToRgba,
|
|
16
|
+
useIOTheme
|
|
15
17
|
} from "../../../core";
|
|
16
18
|
|
|
17
19
|
export const useListItemSpringAnimation = () => {
|
|
18
|
-
|
|
20
|
+
const theme = useIOTheme();
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
const isPressed: Animated.SharedValue<number> = useSharedValue(0);
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
const mapBackgroundStates: Record<string, string> = {
|
|
25
|
+
default: hexToRgba(IOColors[theme["listItem-pressed"]], 0),
|
|
26
|
+
pressed: IOColors[theme["listItem-pressed"]]
|
|
27
|
+
};
|
|
26
28
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
+
// Scaling transformation applied when the button is pressed
|
|
30
|
+
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
29
31
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
const progressPressed = useDerivedValue(() =>
|
|
33
|
+
withSpring(isPressed.value, IOSpringValues.button)
|
|
34
|
+
);
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
// Interpolate animation values from `isPressed` values
|
|
37
|
+
const animatedScaleStyle = useAnimatedStyle(() => {
|
|
38
|
+
const scale = interpolate(
|
|
39
|
+
progressPressed.value,
|
|
40
|
+
[0, 1],
|
|
41
|
+
[1, animationScaleValue],
|
|
42
|
+
Extrapolate.CLAMP
|
|
43
|
+
);
|
|
42
44
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
return {
|
|
46
|
+
transform: [{ scale }]
|
|
47
|
+
};
|
|
48
|
+
});
|
|
47
49
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
const animatedBackgroundStyle = useAnimatedStyle(() => {
|
|
51
|
+
const backgroundColor = interpolateColor(
|
|
52
|
+
progressPressed.value,
|
|
53
|
+
[0, 1],
|
|
54
|
+
[mapBackgroundStates.default, mapBackgroundStates.pressed]
|
|
55
|
+
);
|
|
54
56
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
57
|
+
return {
|
|
58
|
+
backgroundColor
|
|
59
|
+
};
|
|
60
|
+
});
|
|
59
61
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
const onPressIn = React.useCallback(() => {
|
|
63
|
+
// eslint-disable-next-line functional/immutable-data
|
|
64
|
+
isPressed.value = 1;
|
|
65
|
+
}, [isPressed]);
|
|
66
|
+
const onPressOut = React.useCallback(() => {
|
|
67
|
+
// eslint-disable-next-line functional/immutable-data
|
|
68
|
+
isPressed.value = 0;
|
|
69
|
+
}, [isPressed]);
|
|
68
70
|
|
|
69
|
-
|
|
71
|
+
return { onPressIn, onPressOut, animatedScaleStyle, animatedBackgroundStyle };
|
|
70
72
|
};
|
|
@@ -41,6 +41,7 @@ import PictogramUmbrellaNew from "./svg/PictogramUmbrellaNew";
|
|
|
41
41
|
import PictogramUnrecognized from "./svg/PictogramUnrecognized";
|
|
42
42
|
import PictogramUploadFile from "./svg/PictogramUploadFile";
|
|
43
43
|
import PictogramSuccess from "./svg/PictogramSuccess";
|
|
44
|
+
import PictogramFocusOn from "./svg/PictogramFocusOn";
|
|
44
45
|
|
|
45
46
|
export const IOPictograms = {
|
|
46
47
|
airBaloon: PictogramAirBaloon,
|
|
@@ -81,7 +82,8 @@ export const IOPictograms = {
|
|
|
81
82
|
umbrellaNew: PictogramUmbrellaNew,
|
|
82
83
|
feedback: PictogramFeedback,
|
|
83
84
|
cameraRequest: PictogramCameraRequest,
|
|
84
|
-
success: PictogramSuccess
|
|
85
|
+
success: PictogramSuccess,
|
|
86
|
+
focusOn: PictogramFocusOn
|
|
85
87
|
};
|
|
86
88
|
|
|
87
89
|
export type IOPictograms = keyof typeof IOPictograms;
|
|
@@ -115,11 +117,12 @@ export const Pictogram = ({
|
|
|
115
117
|
/* Bleed pictograms
|
|
116
118
|
Used in the <Banner /> component
|
|
117
119
|
*/
|
|
118
|
-
const { donation, feedback } = IOPictograms;
|
|
120
|
+
const { donation, feedback, focusOn } = IOPictograms;
|
|
119
121
|
|
|
120
122
|
const IOPictogramsBleed = {
|
|
121
123
|
donation,
|
|
122
|
-
feedback
|
|
124
|
+
feedback,
|
|
125
|
+
focusOn
|
|
123
126
|
} as const;
|
|
124
127
|
|
|
125
128
|
export type IOPictogramsBleed = keyof typeof IOPictogramsBleed;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Svg, Path, G, Defs } from "react-native-svg";
|
|
3
|
+
import { SVGPictogramProps } from "../Pictogram";
|
|
4
|
+
|
|
5
|
+
const PictogramFocusOn = ({ size, color, ...props }: SVGPictogramProps) => (
|
|
6
|
+
<Svg fill="none" width={size} height={size} viewBox="0 0 80 80" {...props}>
|
|
7
|
+
<G clip-path="url(#a)">
|
|
8
|
+
<Path
|
|
9
|
+
fill="#AAEEEF"
|
|
10
|
+
fill-rule="evenodd"
|
|
11
|
+
d="M37.0385 36.6024c2.6444-3.4677 4.2148-7.7986 4.2148-12.4963 0-11.3918-9.2348-20.62667-20.6266-20.62667C9.23488 3.47943 0 12.7143 0 24.1061s9.23488 20.6267 20.6267 20.6267c4.4277 0 8.5295-1.3951 11.89-3.7697l-1.5767-.6757-.7113-1.4226V37.798l1.6004-.8891 5.2094-.3065Z"
|
|
12
|
+
clip-rule="evenodd"
|
|
13
|
+
/>
|
|
14
|
+
<Path
|
|
15
|
+
fill="#00C5CA"
|
|
16
|
+
d="M20.5295 29.5c-.3443 0-.6293-.2724-.651-.6222l-.1207-1.9419c-.0817-1.313.7858-2.4577 1.9653-2.995.1316-.0599.2599-.1217.3849-.1853.7403-.3871 1.3506-.825 1.8308-1.3139.4801-.4889.8303-1.0389 1.0504-1.65.2401-.6111.3601-1.263.3601-1.9556 0-.7741-.1801-1.487-.5402-2.1389-.3601-.6518-.8904-1.1815-1.5906-1.5889-.6803-.4074-1.4906-.6111-2.431-.6111-.7203 0-1.4105.1426-2.0708.4278-.6403.2648-1.2305.6824-1.7707 1.2528-.3548.389-.6724.8538-.9527 1.3945-.2058.3968-.7123.5401-1.0638.2693-.244-.188-.3347-.5216-.2013-.802.3663-.7697.8154-1.4338 1.3475-1.9924.6402-.6722 1.3605-1.1815 2.1608-1.5278.8203-.3463 1.6907-.5194 2.611-.5194 1.2005 0 2.2609.2648 3.1813.7944.9404.5093 1.6706 1.2019 2.1909 2.0778.5202.8759.7803 1.8537.7803 2.9334 0 1.0388-.2401 2.0064-.7203 2.9027-.4602.876-1.1105 1.65-1.9508 2.3223-.4332.336-.9062.6314-1.4191.8862-.8979.4461-1.5879 1.2888-1.6416 2.3045l-.0873 1.6503c-.0186.3524-.3048.6284-.6514.6284Zm-1.1826 4.125c0-.4278.1101-.7741.3302-1.0389.2201-.2648.5202-.3972.9003-.3972.4002 0 .7003.1222.9004.3667.2201.2444.3301.6009.3301 1.0694 0 .387-.11.713-.3301.9778-.2201.2648-.5202.3972-.9004.3972-.4001 0-.7103-.1222-.9303-.3667-.2001-.2444-.3002-.5805-.3002-1.0083Z"
|
|
17
|
+
/>
|
|
18
|
+
<G fill="#0B3EE3" clip-path="url(#b)">
|
|
19
|
+
<Path d="M57.8921 36.9438c.0571.1885.4071.7038.5898.7809 2.0276 2.5853 9.2849 6.7823 22.9454 4.3214v-1.6532c-9.4293 2.1222-15.7294.5002-19.2706-1.5552-2.2284-1.2935-3.3109-3.7543-4.2552-6.1516-1.3778-3.4978-3.5629-7.8791-5.8681-8.0139-.5196-.0371-1.5274.1142-2.1613 1.459-1.1106 2.3441-.6024 7.4292.8109 10.2245-3.7688-.2599-14.2127-.8937-18.4212-.2713-2.581.3798-2.6324 1.8559-2.5867 2.2984.3112 3.0265 6.2584 4.6512 11.015 4.6826-.4796.9907-.9308 2.4925-.2455 3.903.9878 2.0301 3.9743 3.0751 8.8765 3.1036h.0342c1.3591 0 2.5754-.4483 3.4376-1.262 1.0535-.9993 1.1934-2.2356.3826-3.392-.8908-1.2705-2.4554-2.0014-4.1342-1.9615-1.3105.0314-2.6124.3398-3.8715.9108l.5567 1.2249c1.0907-.4968 2.2184-.7623 3.3462-.7909 1.2648-.0342 2.3669.4883 2.9979 1.3876.4282.6082.3654 1.0993-.2056 1.6418-.6082.5739-1.4989.8908-2.5097.8908h-.0285c-5.4076-.0314-7.1549-1.2905-7.6688-2.3413-.768-1.5732.7566-3.5889.7737-3.6089.1599-.2085.1827-.4911.06-.7252-.1228-.2313-.3712-.3712-.6339-.3569-6.8779.3911-10.718-2.2328-10.8436-3.4406-.0457-.4482.7166-.7223 1.4446-.8308 4.9194-.7252 19.3377.3683 19.4833.3797.294.0286.5367-.1285.6566-.3769.12-.2512.0771-.5482-.1113-.7509-1.6246-1.7588-2.4611-7.7176-1.399-9.9617.336-.7117.7084-.6971.8601-.6912l.005.0002c1.8672.1085 4.5967 6.4556 5.9386 10.9268Z" />
|
|
20
|
+
<Path d="M48.1249 55.006c-.7652 0-1.5875-.0343-2.4697-.0999-2.1556-.1656-3.5146-.8623-4.0457-2.0758-.8993-2.0614 1.0593-4.6197 1.2848-4.9052l1.0536.8366c-.474.5996-1.5989 2.4041-1.1078 3.5319.394.8965 1.8015 1.1849 2.9122 1.2705 3.98.3055 6.6381-.1028 7.9229-1.2049.5425-.4654.8337-1.0621.8908-1.8216l1.3419.0999c-.0828 1.1164-.5396 2.0387-1.3562 2.741-1.2677 1.0907-3.3833 1.6275-6.4325 1.6275h.0057Z" />
|
|
21
|
+
<Path d="M80.8936 54.09c-11.9529 4.5537-21.8188.2965-26.3249-1.6009l-.8894 1.0673c10.6723 5.5142 21.2853 4.1505 27.2143 2.1345V54.09Z" />
|
|
22
|
+
</G>
|
|
23
|
+
</G>
|
|
24
|
+
<Defs>
|
|
25
|
+
<clipPath id="a">
|
|
26
|
+
<Path fill="#fff" d="M0 0h80v80H0z" />
|
|
27
|
+
</clipPath>
|
|
28
|
+
<clipPath id="b">
|
|
29
|
+
<Path
|
|
30
|
+
fill="#fff"
|
|
31
|
+
d="M0 0h52v44.6667H0z"
|
|
32
|
+
transform="translate(29.6666 24.6667)"
|
|
33
|
+
/>
|
|
34
|
+
</clipPath>
|
|
35
|
+
</Defs>
|
|
36
|
+
</Svg>
|
|
37
|
+
);
|
|
38
|
+
|
|
39
|
+
export default PictogramFocusOn;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 80 80">
|
|
2
|
+
<g clip-path="url(#a)">
|
|
3
|
+
<path fill="#AAEEEF" fill-rule="evenodd" d="M37.0385 36.6024c2.6444-3.4677 4.2148-7.7986 4.2148-12.4963 0-11.3918-9.2348-20.62667-20.6266-20.62667C9.23488 3.47943 0 12.7143 0 24.1061s9.23488 20.6267 20.6267 20.6267c4.4277 0 8.5295-1.3951 11.89-3.7697l-1.5767-.6757-.7113-1.4226V37.798l1.6004-.8891 5.2094-.3065Z" clip-rule="evenodd"/>
|
|
4
|
+
<path fill="#00C5CA" d="M20.5295 29.5c-.3443 0-.6293-.2724-.651-.6222l-.1207-1.9419c-.0817-1.313.7858-2.4577 1.9653-2.995.1316-.0599.2599-.1217.3849-.1853.7403-.3871 1.3506-.825 1.8308-1.3139.4801-.4889.8303-1.0389 1.0504-1.65.2401-.6111.3601-1.263.3601-1.9556 0-.7741-.1801-1.487-.5402-2.1389-.3601-.6518-.8904-1.1815-1.5906-1.5889-.6803-.4074-1.4906-.6111-2.431-.6111-.7203 0-1.4105.1426-2.0708.4278-.6403.2648-1.2305.6824-1.7707 1.2528-.3548.389-.6724.8538-.9527 1.3945-.2058.3968-.7123.5401-1.0638.2693-.244-.188-.3347-.5216-.2013-.802.3663-.7697.8154-1.4338 1.3475-1.9924.6402-.6722 1.3605-1.1815 2.1608-1.5278.8203-.3463 1.6907-.5194 2.611-.5194 1.2005 0 2.2609.2648 3.1813.7944.9404.5093 1.6706 1.2019 2.1909 2.0778.5202.8759.7803 1.8537.7803 2.9334 0 1.0388-.2401 2.0064-.7203 2.9027-.4602.876-1.1105 1.65-1.9508 2.3223-.4332.336-.9062.6314-1.4191.8862-.8979.4461-1.5879 1.2888-1.6416 2.3045l-.0873 1.6503c-.0186.3524-.3048.6284-.6514.6284Zm-1.1826 4.125c0-.4278.1101-.7741.3302-1.0389.2201-.2648.5202-.3972.9003-.3972.4002 0 .7003.1222.9004.3667.2201.2444.3301.6009.3301 1.0694 0 .387-.11.713-.3301.9778-.2201.2648-.5202.3972-.9004.3972-.4001 0-.7103-.1222-.9303-.3667-.2001-.2444-.3002-.5805-.3002-1.0083Z"/>
|
|
5
|
+
<g fill="#0B3EE3" clip-path="url(#b)">
|
|
6
|
+
<path d="M57.8921 36.9438c.0571.1885.4071.7038.5898.7809 2.0276 2.5853 9.2849 6.7823 22.9454 4.3214v-1.6532c-9.4293 2.1222-15.7294.5002-19.2706-1.5552-2.2284-1.2935-3.3109-3.7543-4.2552-6.1516-1.3778-3.4978-3.5629-7.8791-5.8681-8.0139-.5196-.0371-1.5274.1142-2.1613 1.459-1.1106 2.3441-.6024 7.4292.8109 10.2245-3.7688-.2599-14.2127-.8937-18.4212-.2713-2.581.3798-2.6324 1.8559-2.5867 2.2984.3112 3.0265 6.2584 4.6512 11.015 4.6826-.4796.9907-.9308 2.4925-.2455 3.903.9878 2.0301 3.9743 3.0751 8.8765 3.1036h.0342c1.3591 0 2.5754-.4483 3.4376-1.262 1.0535-.9993 1.1934-2.2356.3826-3.392-.8908-1.2705-2.4554-2.0014-4.1342-1.9615-1.3105.0314-2.6124.3398-3.8715.9108l.5567 1.2249c1.0907-.4968 2.2184-.7623 3.3462-.7909 1.2648-.0342 2.3669.4883 2.9979 1.3876.4282.6082.3654 1.0993-.2056 1.6418-.6082.5739-1.4989.8908-2.5097.8908h-.0285c-5.4076-.0314-7.1549-1.2905-7.6688-2.3413-.768-1.5732.7566-3.5889.7737-3.6089.1599-.2085.1827-.4911.06-.7252-.1228-.2313-.3712-.3712-.6339-.3569-6.8779.3911-10.718-2.2328-10.8436-3.4406-.0457-.4482.7166-.7223 1.4446-.8308 4.9194-.7252 19.3377.3683 19.4833.3797.294.0286.5367-.1285.6566-.3769.12-.2512.0771-.5482-.1113-.7509-1.6246-1.7588-2.4611-7.7176-1.399-9.9617.336-.7117.7084-.6971.8601-.6912l.005.0002c1.8672.1085 4.5967 6.4556 5.9386 10.9268Z"/>
|
|
7
|
+
<path d="M48.1249 55.006c-.7652 0-1.5875-.0343-2.4697-.0999-2.1556-.1656-3.5146-.8623-4.0457-2.0758-.8993-2.0614 1.0593-4.6197 1.2848-4.9052l1.0536.8366c-.474.5996-1.5989 2.4041-1.1078 3.5319.394.8965 1.8015 1.1849 2.9122 1.2705 3.98.3055 6.6381-.1028 7.9229-1.2049.5425-.4654.8337-1.0621.8908-1.8216l1.3419.0999c-.0828 1.1164-.5396 2.0387-1.3562 2.741-1.2677 1.0907-3.3833 1.6275-6.4325 1.6275h.0057Z"/>
|
|
8
|
+
<path d="M80.8936 54.09c-11.9529 4.5537-21.8188.2965-26.3249-1.6009l-.8894 1.0673c10.6723 5.5142 21.2853 4.1505 27.2143 2.1345V54.09Z"/>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
<defs>
|
|
12
|
+
<clipPath id="a">
|
|
13
|
+
<path fill="#fff" d="M0 0h80v80H0z"/>
|
|
14
|
+
</clipPath>
|
|
15
|
+
<clipPath id="b">
|
|
16
|
+
<path fill="#fff" d="M0 0h52v44.6667H0z" transform="translate(29.6666 24.6667)"/>
|
|
17
|
+
</clipPath>
|
|
18
|
+
</defs>
|
|
19
|
+
</svg>
|