@pagopa/io-app-design-system 4.2.1 → 4.3.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/commonjs/components/alert/Alert.js +10 -31
- package/lib/commonjs/components/alert/Alert.js.map +1 -1
- package/lib/commonjs/components/alert/AlertEdgeToEdge.js +9 -29
- package/lib/commonjs/components/alert/AlertEdgeToEdge.js.map +1 -1
- package/lib/commonjs/components/banner/Banner.js +10 -34
- package/lib/commonjs/components/banner/Banner.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonLink.js +20 -53
- package/lib/commonjs/components/buttons/ButtonLink.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonOutline.js +24 -44
- package/lib/commonjs/components/buttons/ButtonOutline.js.map +1 -1
- package/lib/commonjs/components/buttons/ButtonSolid.js +14 -39
- package/lib/commonjs/components/buttons/ButtonSolid.js.map +1 -1
- package/lib/commonjs/components/buttons/IconButton.js +13 -32
- package/lib/commonjs/components/buttons/IconButton.js.map +1 -1
- package/lib/commonjs/components/buttons/IconButtonContained.js +19 -42
- package/lib/commonjs/components/buttons/IconButtonContained.js.map +1 -1
- package/lib/commonjs/components/buttons/IconButtonSolid.js +15 -31
- package/lib/commonjs/components/buttons/IconButtonSolid.js.map +1 -1
- package/lib/commonjs/components/buttons/__test__/__snapshots__/button.test.tsx.snap +34 -10
- package/lib/commonjs/components/layout/index.js +0 -11
- package/lib/commonjs/components/layout/index.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemAction.js +14 -40
- package/lib/commonjs/components/listitems/ListItemAction.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemCheckbox.js +13 -41
- package/lib/commonjs/components/listitems/ListItemCheckbox.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemHeader.js +2 -2
- package/lib/commonjs/components/listitems/ListItemHeader.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemInfoCopy.js +15 -43
- package/lib/commonjs/components/listitems/ListItemInfoCopy.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemNav.js +17 -48
- package/lib/commonjs/components/listitems/ListItemNav.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemNavAlert.js +19 -50
- package/lib/commonjs/components/listitems/ListItemNavAlert.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemRadio.js +20 -50
- package/lib/commonjs/components/listitems/ListItemRadio.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemRadioWithAmount.js +2 -2
- package/lib/commonjs/components/listitems/ListItemRadioWithAmount.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemTransaction.js +2 -2
- package/lib/commonjs/components/listitems/ListItemTransaction.js.map +1 -1
- package/lib/commonjs/components/listitems/{PressableListItemsBase.js → PressableListItemBase.js} +7 -7
- package/lib/commonjs/components/listitems/PressableListItemBase.js.map +1 -0
- package/lib/commonjs/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +13 -7
- package/lib/commonjs/components/listitems/__test__/listitem.test.js +3 -3
- package/lib/commonjs/components/listitems/__test__/listitem.test.js.map +1 -1
- package/lib/commonjs/components/listitems/index.js +11 -11
- package/lib/commonjs/components/listitems/index.js.map +1 -1
- package/lib/commonjs/components/modules/PressableModuleBase.js +17 -11
- package/lib/commonjs/components/modules/PressableModuleBase.js.map +1 -1
- package/lib/commonjs/components/modules/index.js +8 -8
- package/lib/commonjs/components/modules/index.js.map +1 -1
- package/lib/commonjs/components/numberpad/NumberButton.js +12 -28
- package/lib/commonjs/components/numberpad/NumberButton.js.map +1 -1
- package/lib/commonjs/components/numberpad/__test__/__snapshots__/NumberPad.test.tsx.snap +20 -0
- package/lib/commonjs/components/tabs/TabItem.js +15 -21
- package/lib/commonjs/components/tabs/TabItem.js.map +1 -1
- package/lib/commonjs/core/IOAnimations.js +6 -12
- package/lib/commonjs/core/IOAnimations.js.map +1 -1
- package/lib/commonjs/hooks/index.js +28 -0
- package/lib/commonjs/hooks/index.js.map +1 -0
- package/lib/commonjs/hooks/useListItemAnimation.js +40 -0
- package/lib/commonjs/hooks/useListItemAnimation.js.map +1 -0
- package/lib/commonjs/hooks/useScaleAnimation.js +36 -0
- package/lib/commonjs/hooks/useScaleAnimation.js.map +1 -0
- package/lib/commonjs/index.js +11 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/utils/hooks/index.js +28 -0
- package/lib/commonjs/utils/hooks/index.js.map +1 -0
- package/lib/commonjs/utils/hooks/useSpringPressProgressValue.js +5 -7
- package/lib/commonjs/utils/hooks/useSpringPressProgressValue.js.map +1 -1
- package/lib/module/components/alert/Alert.js +10 -32
- package/lib/module/components/alert/Alert.js.map +1 -1
- package/lib/module/components/alert/AlertEdgeToEdge.js +10 -31
- package/lib/module/components/alert/AlertEdgeToEdge.js.map +1 -1
- package/lib/module/components/banner/Banner.js +10 -33
- package/lib/module/components/banner/Banner.js.map +1 -1
- package/lib/module/components/buttons/ButtonLink.js +23 -56
- package/lib/module/components/buttons/ButtonLink.js.map +1 -1
- package/lib/module/components/buttons/ButtonOutline.js +27 -47
- package/lib/module/components/buttons/ButtonOutline.js.map +1 -1
- package/lib/module/components/buttons/ButtonSolid.js +17 -42
- package/lib/module/components/buttons/ButtonSolid.js.map +1 -1
- package/lib/module/components/buttons/IconButton.js +16 -35
- package/lib/module/components/buttons/IconButton.js.map +1 -1
- package/lib/module/components/buttons/IconButtonContained.js +21 -45
- package/lib/module/components/buttons/IconButtonContained.js.map +1 -1
- package/lib/module/components/buttons/IconButtonSolid.js +17 -34
- package/lib/module/components/buttons/IconButtonSolid.js.map +1 -1
- package/lib/module/components/buttons/__test__/__snapshots__/button.test.tsx.snap +34 -10
- package/lib/module/components/layout/index.js +0 -1
- package/lib/module/components/layout/index.js.map +1 -1
- package/lib/module/components/listitems/ListItemAction.js +15 -42
- package/lib/module/components/listitems/ListItemAction.js.map +1 -1
- package/lib/module/components/listitems/ListItemCheckbox.js +15 -43
- package/lib/module/components/listitems/ListItemCheckbox.js.map +1 -1
- package/lib/module/components/listitems/ListItemHeader.js +2 -2
- package/lib/module/components/listitems/ListItemHeader.js.map +1 -1
- package/lib/module/components/listitems/ListItemInfoCopy.js +16 -45
- package/lib/module/components/listitems/ListItemInfoCopy.js.map +1 -1
- package/lib/module/components/listitems/ListItemNav.js +17 -47
- package/lib/module/components/listitems/ListItemNav.js.map +1 -1
- package/lib/module/components/listitems/ListItemNavAlert.js +19 -49
- package/lib/module/components/listitems/ListItemNavAlert.js.map +1 -1
- package/lib/module/components/listitems/ListItemRadio.js +22 -52
- package/lib/module/components/listitems/ListItemRadio.js.map +1 -1
- package/lib/module/components/listitems/ListItemRadioWithAmount.js +1 -1
- package/lib/module/components/listitems/ListItemRadioWithAmount.js.map +1 -1
- package/lib/module/components/listitems/ListItemTransaction.js +1 -1
- package/lib/module/components/listitems/ListItemTransaction.js.map +1 -1
- package/lib/module/components/listitems/{PressableListItemsBase.js → PressableListItemBase.js} +7 -7
- package/lib/module/components/listitems/PressableListItemBase.js.map +1 -0
- package/lib/module/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +13 -7
- package/lib/module/components/listitems/__test__/listitem.test.js +1 -1
- package/lib/module/components/listitems/__test__/listitem.test.js.map +1 -1
- package/lib/module/components/listitems/index.js +1 -1
- package/lib/module/components/listitems/index.js.map +1 -1
- package/lib/module/components/modules/PressableModuleBase.js +17 -10
- package/lib/module/components/modules/PressableModuleBase.js.map +1 -1
- package/lib/module/components/modules/index.js +1 -1
- package/lib/module/components/modules/index.js.map +1 -1
- package/lib/module/components/numberpad/NumberButton.js +14 -30
- package/lib/module/components/numberpad/NumberButton.js.map +1 -1
- package/lib/module/components/numberpad/__test__/__snapshots__/NumberPad.test.tsx.snap +20 -0
- package/lib/module/components/tabs/TabItem.js +18 -24
- package/lib/module/components/tabs/TabItem.js.map +1 -1
- package/lib/module/core/IOAnimations.js +4 -10
- package/lib/module/core/IOAnimations.js.map +1 -1
- package/lib/module/hooks/index.js +3 -0
- package/lib/module/hooks/index.js.map +1 -0
- package/lib/module/hooks/useListItemAnimation.js +33 -0
- package/lib/module/hooks/useListItemAnimation.js.map +1 -0
- package/lib/module/hooks/useScaleAnimation.js +29 -0
- package/lib/module/hooks/useScaleAnimation.js.map +1 -0
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/hooks/index.js +3 -0
- package/lib/module/utils/hooks/index.js.map +1 -0
- package/lib/module/utils/hooks/useSpringPressProgressValue.js +5 -5
- package/lib/module/utils/hooks/useSpringPressProgressValue.js.map +1 -1
- package/lib/typescript/components/alert/Alert.d.ts.map +1 -1
- package/lib/typescript/components/alert/AlertEdgeToEdge.d.ts.map +1 -1
- package/lib/typescript/components/banner/Banner.d.ts.map +1 -1
- package/lib/typescript/components/buttons/ButtonLink.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/IconButton.d.ts.map +1 -1
- package/lib/typescript/components/buttons/IconButtonContained.d.ts.map +1 -1
- package/lib/typescript/components/buttons/IconButtonSolid.d.ts.map +1 -1
- package/lib/typescript/components/layout/index.d.ts +0 -1
- package/lib/typescript/components/layout/index.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemAction.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemCheckbox.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemInfoCopy.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemNav.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemNavAlert.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemRadio.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemRadioWithAmount.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemTransaction.d.ts +1 -1
- package/lib/typescript/components/listitems/ListItemTransaction.d.ts.map +1 -1
- package/lib/typescript/components/listitems/{PressableListItemsBase.d.ts → PressableListItemBase.d.ts} +3 -2
- package/lib/typescript/components/listitems/PressableListItemBase.d.ts.map +1 -0
- package/lib/typescript/components/listitems/index.d.ts +1 -1
- package/lib/typescript/components/listitems/index.d.ts.map +1 -1
- package/lib/typescript/components/modules/PressableModuleBase.d.ts.map +1 -1
- package/lib/typescript/components/modules/index.d.ts +1 -1
- package/lib/typescript/components/modules/index.d.ts.map +1 -1
- package/lib/typescript/components/numberpad/NumberButton.d.ts.map +1 -1
- package/lib/typescript/components/tabs/TabItem.d.ts.map +1 -1
- package/lib/typescript/core/IOAnimations.d.ts +6 -10
- package/lib/typescript/core/IOAnimations.d.ts.map +1 -1
- package/lib/typescript/hooks/index.d.ts +3 -0
- package/lib/typescript/hooks/index.d.ts.map +1 -0
- package/lib/typescript/hooks/useListItemAnimation.d.ts +10 -0
- package/lib/typescript/hooks/useListItemAnimation.d.ts.map +1 -0
- package/lib/typescript/hooks/useScaleAnimation.d.ts +10 -0
- package/lib/typescript/hooks/useScaleAnimation.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +1 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/utils/hooks/index.d.ts +3 -0
- package/lib/typescript/utils/hooks/index.d.ts.map +1 -0
- package/lib/typescript/utils/hooks/useSpringPressProgressValue.d.ts +7 -8
- package/lib/typescript/utils/hooks/useSpringPressProgressValue.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/alert/Alert.tsx +7 -46
- package/src/components/alert/AlertEdgeToEdge.tsx +6 -46
- package/src/components/banner/Banner.tsx +6 -52
- package/src/components/buttons/ButtonLink.tsx +32 -89
- package/src/components/buttons/ButtonOutline.tsx +26 -60
- package/src/components/buttons/ButtonSolid.tsx +11 -58
- package/src/components/buttons/IconButton.tsx +10 -47
- package/src/components/buttons/IconButtonContained.tsx +21 -57
- package/src/components/buttons/IconButtonSolid.tsx +15 -46
- package/src/components/buttons/__test__/__snapshots__/button.test.tsx.snap +34 -10
- package/src/components/layout/index.tsx +0 -1
- package/src/components/listitems/ListItemAction.tsx +10 -66
- package/src/components/listitems/ListItemCheckbox.tsx +10 -68
- package/src/components/listitems/ListItemHeader.tsx +2 -2
- package/src/components/listitems/ListItemInfoCopy.tsx +11 -71
- package/src/components/listitems/ListItemNav.tsx +13 -74
- package/src/components/listitems/ListItemNavAlert.tsx +18 -92
- package/src/components/listitems/ListItemRadio.tsx +14 -75
- package/src/components/listitems/ListItemRadioWithAmount.tsx +2 -1
- package/src/components/listitems/ListItemTransaction.tsx +1 -1
- package/src/components/listitems/{PressableListItemsBase.tsx → PressableListItemBase.tsx} +7 -6
- package/src/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +13 -7
- package/src/components/listitems/__test__/listitem.test.tsx +1 -1
- package/src/components/listitems/index.tsx +1 -1
- package/src/components/modules/PressableModuleBase.tsx +15 -8
- package/src/components/modules/index.tsx +1 -1
- package/src/components/numberpad/NumberButton.tsx +12 -43
- package/src/components/numberpad/__test__/__snapshots__/NumberPad.test.tsx.snap +20 -0
- package/src/components/tabs/TabItem.tsx +15 -29
- package/src/core/IOAnimations.ts +8 -10
- package/src/hooks/index.tsx +2 -0
- package/src/hooks/useListItemAnimation.tsx +59 -0
- package/src/hooks/useScaleAnimation.tsx +41 -0
- package/src/index.tsx +1 -0
- package/src/utils/hooks/index.tsx +2 -0
- package/src/utils/hooks/useSpringPressProgressValue.ts +14 -8
- package/lib/commonjs/components/layout/FooterWithButtons.js +0 -84
- package/lib/commonjs/components/layout/FooterWithButtons.js.map +0 -1
- package/lib/commonjs/components/listitems/PressableListItemsBase.js.map +0 -1
- package/lib/commonjs/components/listitems/hooks/useListItemSpringAnimation.js +0 -56
- package/lib/commonjs/components/listitems/hooks/useListItemSpringAnimation.js.map +0 -1
- package/lib/commonjs/components/modules/hooks/useModuleSpringAnimation.js +0 -41
- package/lib/commonjs/components/modules/hooks/useModuleSpringAnimation.js.map +0 -1
- package/lib/module/components/layout/FooterWithButtons.js +0 -75
- package/lib/module/components/layout/FooterWithButtons.js.map +0 -1
- package/lib/module/components/listitems/PressableListItemsBase.js.map +0 -1
- package/lib/module/components/listitems/hooks/useListItemSpringAnimation.js +0 -47
- package/lib/module/components/listitems/hooks/useListItemSpringAnimation.js.map +0 -1
- package/lib/module/components/modules/hooks/useModuleSpringAnimation.js +0 -34
- package/lib/module/components/modules/hooks/useModuleSpringAnimation.js.map +0 -1
- package/lib/typescript/components/layout/FooterWithButtons.d.ts +0 -16
- package/lib/typescript/components/layout/FooterWithButtons.d.ts.map +0 -1
- package/lib/typescript/components/listitems/PressableListItemsBase.d.ts.map +0 -1
- package/lib/typescript/components/listitems/hooks/useListItemSpringAnimation.d.ts +0 -13
- package/lib/typescript/components/listitems/hooks/useListItemSpringAnimation.d.ts.map +0 -1
- package/lib/typescript/components/modules/hooks/useModuleSpringAnimation.d.ts +0 -10
- package/lib/typescript/components/modules/hooks/useModuleSpringAnimation.d.ts.map +0 -1
- package/src/components/layout/FooterWithButtons.tsx +0 -90
- package/src/components/listitems/hooks/useListItemSpringAnimation.ts +0 -72
- package/src/components/modules/hooks/useModuleSpringAnimation.ts +0 -49
|
@@ -1,33 +1,23 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import {
|
|
2
|
+
import { useState } from "react";
|
|
3
3
|
import { Image, Pressable, StyleSheet, View } from "react-native";
|
|
4
4
|
import ReactNativeHapticFeedback from "react-native-haptic-feedback";
|
|
5
|
-
import Animated
|
|
6
|
-
Extrapolate,
|
|
7
|
-
interpolate,
|
|
8
|
-
interpolateColor,
|
|
9
|
-
useAnimatedStyle,
|
|
10
|
-
useDerivedValue,
|
|
11
|
-
useSharedValue,
|
|
12
|
-
withSpring
|
|
13
|
-
} from "react-native-reanimated";
|
|
5
|
+
import Animated from "react-native-reanimated";
|
|
14
6
|
import Placeholder from "rn-placeholder";
|
|
15
7
|
import {
|
|
16
|
-
IOColors,
|
|
17
|
-
IOScaleValues,
|
|
18
8
|
IOSelectionListItemStyles,
|
|
19
9
|
IOSelectionListItemVisualParams,
|
|
20
|
-
IOSpringValues,
|
|
21
10
|
IOStyles,
|
|
22
|
-
hexToRgba,
|
|
23
11
|
useIOTheme
|
|
24
12
|
} from "../../core";
|
|
13
|
+
import { useListItemAnimation } from "../../hooks";
|
|
25
14
|
import { WithTestID } from "../../utils/types";
|
|
26
15
|
import { IOIcons, Icon } from "../icons";
|
|
27
16
|
import { IOLogoPaymentType, LogoPayment } from "../logos";
|
|
28
17
|
import { AnimatedRadio } from "../radio/AnimatedRadio";
|
|
29
18
|
import { HSpacer, VSpacer } from "../spacer";
|
|
30
19
|
import { H6, BodySmall } from "../typography";
|
|
20
|
+
import { VStack } from "../stack";
|
|
31
21
|
|
|
32
22
|
type ListItemRadioGraphicProps =
|
|
33
23
|
| { icon?: never; paymentLogo: IOLogoPaymentType; uri?: never }
|
|
@@ -91,58 +81,10 @@ export const ListItemRadio = ({
|
|
|
91
81
|
testID
|
|
92
82
|
}: ListItemRadioProps) => {
|
|
93
83
|
const [toggleValue, setToggleValue] = useState(selected ?? false);
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
// Scaling transformation applied when the button is pressed
|
|
97
|
-
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
98
|
-
|
|
99
|
-
const progressPressed = useDerivedValue(() =>
|
|
100
|
-
withSpring(isPressed.value, IOSpringValues.button)
|
|
101
|
-
);
|
|
102
|
-
|
|
103
|
-
// Theme
|
|
84
|
+
const { onPressIn, onPressOut, scaleAnimatedStyle, backgroundAnimatedStyle } =
|
|
85
|
+
useListItemAnimation();
|
|
104
86
|
const theme = useIOTheme();
|
|
105
87
|
|
|
106
|
-
const mapBackgroundStates: Record<string, string> = {
|
|
107
|
-
default: hexToRgba(IOColors[theme["listItem-pressed"]], 0),
|
|
108
|
-
pressed: IOColors[theme["listItem-pressed"]]
|
|
109
|
-
};
|
|
110
|
-
|
|
111
|
-
// Interpolate animation values from `isPressed` values
|
|
112
|
-
const animatedScaleStyle = useAnimatedStyle(() => {
|
|
113
|
-
const scale = interpolate(
|
|
114
|
-
progressPressed.value,
|
|
115
|
-
[0, 1],
|
|
116
|
-
[1, animationScaleValue],
|
|
117
|
-
Extrapolate.CLAMP
|
|
118
|
-
);
|
|
119
|
-
|
|
120
|
-
return {
|
|
121
|
-
transform: [{ scale }]
|
|
122
|
-
};
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
const handlePressIn = useCallback(() => {
|
|
126
|
-
// eslint-disable-next-line functional/immutable-data
|
|
127
|
-
isPressed.value = 1;
|
|
128
|
-
}, [isPressed]);
|
|
129
|
-
const handlePressOut = useCallback(() => {
|
|
130
|
-
// eslint-disable-next-line functional/immutable-data
|
|
131
|
-
isPressed.value = 0;
|
|
132
|
-
}, [isPressed]);
|
|
133
|
-
|
|
134
|
-
const animatedBackgroundStyle = useAnimatedStyle(() => {
|
|
135
|
-
const backgroundColor = interpolateColor(
|
|
136
|
-
progressPressed.value,
|
|
137
|
-
[0, 1],
|
|
138
|
-
[mapBackgroundStates.default, mapBackgroundStates.pressed]
|
|
139
|
-
);
|
|
140
|
-
|
|
141
|
-
return {
|
|
142
|
-
backgroundColor
|
|
143
|
-
};
|
|
144
|
-
});
|
|
145
|
-
|
|
146
88
|
const toggleRadioItem = () => {
|
|
147
89
|
ReactNativeHapticFeedback.trigger("impactLight");
|
|
148
90
|
setToggleValue(!toggleValue);
|
|
@@ -154,14 +96,11 @@ export const ListItemRadio = ({
|
|
|
154
96
|
const disabledStyle = { opacity: disabled ? DISABLED_OPACITY : 1 };
|
|
155
97
|
|
|
156
98
|
const SkeletonDescriptionLines = () => (
|
|
157
|
-
|
|
158
|
-
<VSpacer size={8} />
|
|
99
|
+
<VStack space={8}>
|
|
159
100
|
<Placeholder.Box animate="fade" radius={8} width={"100%"} height={8} />
|
|
160
|
-
<VSpacer size={8} />
|
|
161
101
|
<Placeholder.Box animate="fade" radius={8} width={"100%"} height={8} />
|
|
162
|
-
<VSpacer size={8} />
|
|
163
102
|
<Placeholder.Box animate="fade" radius={8} width={"100%"} height={8} />
|
|
164
|
-
|
|
103
|
+
</VStack>
|
|
165
104
|
);
|
|
166
105
|
|
|
167
106
|
const SkeletonIcon = () => (
|
|
@@ -180,7 +119,7 @@ export const ListItemRadio = ({
|
|
|
180
119
|
);
|
|
181
120
|
|
|
182
121
|
const SkeletonComponent = () => (
|
|
183
|
-
<View style={IOSelectionListItemStyles.listItem}>
|
|
122
|
+
<View style={[IOSelectionListItemStyles.listItem, { rowGap: 8 }]}>
|
|
184
123
|
<View style={IOSelectionListItemStyles.listItemInner}>
|
|
185
124
|
<View
|
|
186
125
|
style={[
|
|
@@ -220,23 +159,23 @@ export const ListItemRadio = ({
|
|
|
220
159
|
accessibilityLabel={accessibilityLabel}
|
|
221
160
|
accessibilityHint={accessibilityHint}
|
|
222
161
|
onPress={toggleRadioItem}
|
|
223
|
-
onPressIn={
|
|
224
|
-
onPressOut={
|
|
225
|
-
onTouchEnd={
|
|
162
|
+
onPressIn={onPressIn}
|
|
163
|
+
onPressOut={onPressOut}
|
|
164
|
+
onTouchEnd={onPressOut}
|
|
226
165
|
testID={testID}
|
|
227
166
|
disabled={disabled}
|
|
228
167
|
>
|
|
229
168
|
<Animated.View
|
|
230
169
|
style={[
|
|
231
170
|
IOSelectionListItemStyles.listItem,
|
|
232
|
-
|
|
171
|
+
backgroundAnimatedStyle,
|
|
233
172
|
disabledStyle
|
|
234
173
|
]}
|
|
235
174
|
// This is required to avoid opacity
|
|
236
175
|
// inheritance on Android
|
|
237
176
|
needsOffscreenAlphaCompositing={true}
|
|
238
177
|
>
|
|
239
|
-
<Animated.View style={
|
|
178
|
+
<Animated.View style={scaleAnimatedStyle}>
|
|
240
179
|
<View style={IOSelectionListItemStyles.listItemInner}>
|
|
241
180
|
<View style={[IOStyles.row, { flexShrink: 1 }]}>
|
|
242
181
|
{startImage && (
|
|
@@ -6,7 +6,7 @@ import { Icon } from "../icons";
|
|
|
6
6
|
import { AnimatedRadio } from "../radio/AnimatedRadio";
|
|
7
7
|
import { HStack } from "../stack";
|
|
8
8
|
import { BodySmall, H6 } from "../typography";
|
|
9
|
-
import { PressableListItemBase } from "./
|
|
9
|
+
import { PressableListItemBase } from "./PressableListItemBase";
|
|
10
10
|
|
|
11
11
|
export type ListItemRadioWithAmountProps = {
|
|
12
12
|
onValueChange?: (newValue: boolean) => void;
|
|
@@ -34,6 +34,7 @@ export const ListItemRadioWithAmount = ({
|
|
|
34
34
|
formattedAmountString
|
|
35
35
|
}: ListItemRadioWithAmountProps) => {
|
|
36
36
|
const [toggleValue, setToggleValue] = React.useState(selected ?? false);
|
|
37
|
+
|
|
37
38
|
const pressHandler = () => {
|
|
38
39
|
RNReactNativeHapticFeedback.trigger("impactLight");
|
|
39
40
|
setToggleValue(val => !val);
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
+
import { PropsWithChildren } from "react";
|
|
2
3
|
import { Pressable } from "react-native";
|
|
3
4
|
import Animated from "react-native-reanimated";
|
|
4
5
|
import { IOListItemStyles, IOListItemVisualParams } from "../../core";
|
|
5
6
|
import { WithTestID } from "../../utils/types";
|
|
6
|
-
import {
|
|
7
|
+
import { useListItemAnimation } from "../../hooks";
|
|
7
8
|
|
|
8
9
|
export type PressableBaseProps = WithTestID<
|
|
9
10
|
Pick<
|
|
@@ -22,9 +23,9 @@ export const PressableListItemBase = ({
|
|
|
22
23
|
children,
|
|
23
24
|
accessibilityRole,
|
|
24
25
|
...props
|
|
25
|
-
}:
|
|
26
|
-
const { onPressIn, onPressOut,
|
|
27
|
-
|
|
26
|
+
}: PropsWithChildren<PressableBaseProps>) => {
|
|
27
|
+
const { onPressIn, onPressOut, scaleAnimatedStyle, backgroundAnimatedStyle } =
|
|
28
|
+
useListItemAnimation();
|
|
28
29
|
return (
|
|
29
30
|
<Pressable
|
|
30
31
|
onPress={onPress}
|
|
@@ -37,13 +38,13 @@ export const PressableListItemBase = ({
|
|
|
37
38
|
{...props}
|
|
38
39
|
>
|
|
39
40
|
<Animated.View
|
|
40
|
-
style={[IOListItemStyles.listItem,
|
|
41
|
+
style={[IOListItemStyles.listItem, backgroundAnimatedStyle]}
|
|
41
42
|
>
|
|
42
43
|
<Animated.View
|
|
43
44
|
style={[
|
|
44
45
|
IOListItemStyles.listItemInner,
|
|
45
46
|
{ columnGap: IOListItemVisualParams.iconMargin },
|
|
46
|
-
|
|
47
|
+
scaleAnimatedStyle
|
|
47
48
|
]}
|
|
48
49
|
>
|
|
49
50
|
{children}
|
|
@@ -312,6 +312,7 @@ exports[`Test List Item Components - Experimental Enabled ListItemInfoCopy Snap
|
|
|
312
312
|
onResponderTerminate={[Function]}
|
|
313
313
|
onResponderTerminationRequest={[Function]}
|
|
314
314
|
onStartShouldSetResponder={[Function]}
|
|
315
|
+
onTouchEnd={[Function]}
|
|
315
316
|
>
|
|
316
317
|
<View
|
|
317
318
|
accessibilityElementsHidden={true}
|
|
@@ -502,6 +503,7 @@ exports[`Test List Item Components - Experimental Enabled ListItemNav Snapshot
|
|
|
502
503
|
onResponderTerminate={[Function]}
|
|
503
504
|
onResponderTerminationRequest={[Function]}
|
|
504
505
|
onStartShouldSetResponder={[Function]}
|
|
506
|
+
onTouchEnd={[Function]}
|
|
505
507
|
>
|
|
506
508
|
<View
|
|
507
509
|
style={
|
|
@@ -661,6 +663,7 @@ exports[`Test List Item Components - Experimental Enabled ListItemNavAlert Snap
|
|
|
661
663
|
onResponderTerminate={[Function]}
|
|
662
664
|
onResponderTerminationRequest={[Function]}
|
|
663
665
|
onStartShouldSetResponder={[Function]}
|
|
666
|
+
onTouchEnd={[Function]}
|
|
664
667
|
>
|
|
665
668
|
<View
|
|
666
669
|
accessibilityElementsHidden={true}
|
|
@@ -1978,6 +1981,7 @@ exports[`Test List Item Components ListItemInfoCopy Snapshot 1`] = `
|
|
|
1978
1981
|
onResponderTerminate={[Function]}
|
|
1979
1982
|
onResponderTerminationRequest={[Function]}
|
|
1980
1983
|
onStartShouldSetResponder={[Function]}
|
|
1984
|
+
onTouchEnd={[Function]}
|
|
1981
1985
|
>
|
|
1982
1986
|
<View
|
|
1983
1987
|
accessibilityElementsHidden={true}
|
|
@@ -2049,7 +2053,7 @@ exports[`Test List Item Components ListItemInfoCopy Snapshot 1`] = `
|
|
|
2049
2053
|
[
|
|
2050
2054
|
{},
|
|
2051
2055
|
{
|
|
2052
|
-
"color": "#
|
|
2056
|
+
"color": "#0B3EE3",
|
|
2053
2057
|
"fontFamily": "Titillium Sans Pro",
|
|
2054
2058
|
"fontSize": 17,
|
|
2055
2059
|
"fontStyle": "normal",
|
|
@@ -2089,7 +2093,7 @@ exports[`Test List Item Components ListItemInfoCopy Snapshot 1`] = `
|
|
|
2089
2093
|
"borderWidth": 0,
|
|
2090
2094
|
},
|
|
2091
2095
|
{
|
|
2092
|
-
"color": "#
|
|
2096
|
+
"color": "#0B3EE3",
|
|
2093
2097
|
},
|
|
2094
2098
|
{
|
|
2095
2099
|
"flex": 0,
|
|
@@ -2098,7 +2102,7 @@ exports[`Test List Item Components ListItemInfoCopy Snapshot 1`] = `
|
|
|
2098
2102
|
},
|
|
2099
2103
|
]
|
|
2100
2104
|
}
|
|
2101
|
-
tintColor="#
|
|
2105
|
+
tintColor="#0B3EE3"
|
|
2102
2106
|
vbHeight={24}
|
|
2103
2107
|
vbWidth={24}
|
|
2104
2108
|
width={24}
|
|
@@ -2168,6 +2172,7 @@ exports[`Test List Item Components ListItemNav Snapshot 1`] = `
|
|
|
2168
2172
|
onResponderTerminate={[Function]}
|
|
2169
2173
|
onResponderTerminationRequest={[Function]}
|
|
2170
2174
|
onStartShouldSetResponder={[Function]}
|
|
2175
|
+
onTouchEnd={[Function]}
|
|
2171
2176
|
>
|
|
2172
2177
|
<View
|
|
2173
2178
|
style={
|
|
@@ -2249,7 +2254,7 @@ exports[`Test List Item Components ListItemNav Snapshot 1`] = `
|
|
|
2249
2254
|
"borderWidth": 0,
|
|
2250
2255
|
},
|
|
2251
2256
|
{
|
|
2252
|
-
"color": "#
|
|
2257
|
+
"color": "#0B3EE3",
|
|
2253
2258
|
},
|
|
2254
2259
|
{
|
|
2255
2260
|
"flex": 0,
|
|
@@ -2258,7 +2263,7 @@ exports[`Test List Item Components ListItemNav Snapshot 1`] = `
|
|
|
2258
2263
|
},
|
|
2259
2264
|
]
|
|
2260
2265
|
}
|
|
2261
|
-
tintColor="#
|
|
2266
|
+
tintColor="#0B3EE3"
|
|
2262
2267
|
vbHeight={24}
|
|
2263
2268
|
vbWidth={24}
|
|
2264
2269
|
width={24}
|
|
@@ -2327,6 +2332,7 @@ exports[`Test List Item Components ListItemNavAlert Snapshot 1`] = `
|
|
|
2327
2332
|
onResponderTerminate={[Function]}
|
|
2328
2333
|
onResponderTerminationRequest={[Function]}
|
|
2329
2334
|
onStartShouldSetResponder={[Function]}
|
|
2335
|
+
onTouchEnd={[Function]}
|
|
2330
2336
|
>
|
|
2331
2337
|
<View
|
|
2332
2338
|
accessibilityElementsHidden={true}
|
|
@@ -2485,7 +2491,7 @@ exports[`Test List Item Components ListItemNavAlert Snapshot 1`] = `
|
|
|
2485
2491
|
"borderWidth": 0,
|
|
2486
2492
|
},
|
|
2487
2493
|
{
|
|
2488
|
-
"color": "#
|
|
2494
|
+
"color": "#0B3EE3",
|
|
2489
2495
|
},
|
|
2490
2496
|
{
|
|
2491
2497
|
"flex": 0,
|
|
@@ -2494,7 +2500,7 @@ exports[`Test List Item Components ListItemNavAlert Snapshot 1`] = `
|
|
|
2494
2500
|
},
|
|
2495
2501
|
]
|
|
2496
2502
|
}
|
|
2497
|
-
tintColor="#
|
|
2503
|
+
tintColor="#0B3EE3"
|
|
2498
2504
|
vbHeight={24}
|
|
2499
2505
|
vbWidth={24}
|
|
2500
2506
|
width={24}
|
|
@@ -10,7 +10,7 @@ import ListItemNav from "../ListItemNav";
|
|
|
10
10
|
import ListItemNavAlert from "../ListItemNavAlert";
|
|
11
11
|
import { ListItemRadioWithAmount } from "../ListItemRadioWithAmount";
|
|
12
12
|
import { ListItemTransaction } from "../ListItemTransaction";
|
|
13
|
-
import { PressableListItemBase } from "../
|
|
13
|
+
import { PressableListItemBase } from "../PressableListItemBase";
|
|
14
14
|
|
|
15
15
|
const onButtonPress = () => {
|
|
16
16
|
Alert.alert("Alert", "Action triggered");
|
|
@@ -5,9 +5,9 @@ export * from "./ListItemInfoCopy";
|
|
|
5
5
|
export * from "./ListItemNav";
|
|
6
6
|
export * from "./ListItemNavAlert";
|
|
7
7
|
export * from "./ListItemTransaction";
|
|
8
|
-
export * from "./PressableListItemsBase";
|
|
9
8
|
export * from "./ListItemSwitch";
|
|
10
9
|
export * from "./ListItemCheckbox";
|
|
11
10
|
export * from "./ListItemRadio";
|
|
12
11
|
export * from "./ListItemRadioWithAmount";
|
|
13
12
|
export * from "./ListItemAmount";
|
|
13
|
+
export * from "./PressableListItemBase";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { PropsWithChildren } from "react";
|
|
3
3
|
import { Pressable } from "react-native";
|
|
4
|
-
import Animated from "react-native-reanimated";
|
|
4
|
+
import Animated, { useReducedMotion } from "react-native-reanimated";
|
|
5
|
+
import { useScaleAnimation } from "../../hooks";
|
|
5
6
|
import {
|
|
6
7
|
IOColors,
|
|
7
8
|
IOModuleIDPSavedVSpacing,
|
|
@@ -9,7 +10,6 @@ import {
|
|
|
9
10
|
useIOTheme
|
|
10
11
|
} from "../../core";
|
|
11
12
|
import { WithTestID } from "../../utils/types";
|
|
12
|
-
import { useModuleSpringAnimation } from "./hooks/useModuleSpringAnimation";
|
|
13
13
|
|
|
14
14
|
export type PressableModuleBaseProps = WithTestID<
|
|
15
15
|
{
|
|
@@ -29,17 +29,24 @@ export const PressableModuleBase = ({
|
|
|
29
29
|
children
|
|
30
30
|
}: PropsWithChildren<PressableModuleBaseProps>) => {
|
|
31
31
|
const theme = useIOTheme();
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const reducedMotion = useReducedMotion();
|
|
33
|
+
const { onPressIn, onPressOut, scaleAnimatedStyle } = useScaleAnimation(
|
|
34
|
+
reducedMotion ? "slight" : "medium"
|
|
35
|
+
);
|
|
36
|
+
/* We use a slight scaleEffect if `reducedMotion` is enabled.
|
|
37
|
+
We don't disable it completely because that's the only
|
|
38
|
+
difference between the two states "default" and "pressed".
|
|
39
|
+
If we remove it, they they won't be able to understand
|
|
40
|
+
if there's an ongoing interaction. */
|
|
34
41
|
|
|
35
42
|
return (
|
|
36
43
|
<Pressable
|
|
37
44
|
onPress={onPress}
|
|
38
45
|
testID={testID}
|
|
39
46
|
accessible={true}
|
|
40
|
-
onPressIn={
|
|
41
|
-
onPressOut={
|
|
42
|
-
onTouchEnd={
|
|
47
|
+
onPressIn={onPressIn}
|
|
48
|
+
onPressOut={onPressOut}
|
|
49
|
+
onTouchEnd={onPressOut}
|
|
43
50
|
accessibilityLabel={accessibilityLabel}
|
|
44
51
|
accessibilityHint={accessibilityHint}
|
|
45
52
|
accessibilityRole="button"
|
|
@@ -49,7 +56,7 @@ export const PressableModuleBase = ({
|
|
|
49
56
|
IOModuleStyles.button,
|
|
50
57
|
{ borderColor: IOColors[theme["cardBorder-default"]] },
|
|
51
58
|
withLooseSpacing && { paddingVertical: IOModuleIDPSavedVSpacing },
|
|
52
|
-
|
|
59
|
+
scaleAnimatedStyle
|
|
53
60
|
]}
|
|
54
61
|
>
|
|
55
62
|
{children}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import React, { memo, useCallback, useMemo } from "react";
|
|
2
2
|
import { Pressable } from "react-native";
|
|
3
3
|
import Animated, {
|
|
4
|
-
Extrapolate,
|
|
5
|
-
interpolate,
|
|
6
4
|
interpolateColor,
|
|
7
5
|
useAnimatedStyle,
|
|
8
|
-
|
|
9
|
-
useSharedValue,
|
|
10
|
-
withSpring
|
|
6
|
+
useReducedMotion
|
|
11
7
|
} from "react-native-reanimated";
|
|
12
8
|
import {
|
|
13
9
|
IOColors,
|
|
14
10
|
IONumberPadButtonStyles,
|
|
15
|
-
IOScaleValues,
|
|
16
|
-
IOSpringValues,
|
|
17
11
|
hexToRgba,
|
|
18
12
|
useIOExperimentalDesign
|
|
19
13
|
} from "../../core";
|
|
14
|
+
import { useScaleAnimation } from "../../hooks";
|
|
20
15
|
import { H3 } from "../typography";
|
|
21
16
|
|
|
22
17
|
type NumberButtonVariantType = "light" | "dark";
|
|
@@ -76,51 +71,24 @@ const legacyColorMap: Record<NumberButtonVariantType, ColorMapVariant> = {
|
|
|
76
71
|
*/
|
|
77
72
|
export const NumberButton = memo(
|
|
78
73
|
({ number, variant, onPress }: NumberButtonProps) => {
|
|
74
|
+
const { progress, onPressIn, onPressOut, scaleAnimatedStyle } =
|
|
75
|
+
useScaleAnimation("slight");
|
|
76
|
+
const reducedMotion = useReducedMotion();
|
|
79
77
|
const { isExperimental } = useIOExperimentalDesign();
|
|
80
78
|
|
|
81
79
|
const colors = useMemo(
|
|
82
80
|
() => (isExperimental ? colorMap[variant] : legacyColorMap[variant]),
|
|
83
81
|
[variant, isExperimental]
|
|
84
82
|
);
|
|
85
|
-
const isPressed = useSharedValue(0);
|
|
86
|
-
// Scaling transformation applied when the button is pressed
|
|
87
|
-
const animationScaleValue = IOScaleValues?.basicButton?.pressedState;
|
|
88
|
-
// Using a spring-based animation for our interpolations
|
|
89
|
-
const progressPressed = useDerivedValue(() =>
|
|
90
|
-
withSpring(isPressed.value, IOSpringValues.button)
|
|
91
|
-
);
|
|
92
83
|
|
|
93
84
|
// Interpolate animation values from `isPressed` values
|
|
94
|
-
const pressedAnimationStyle = useAnimatedStyle(() => {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
progressPressed.value,
|
|
85
|
+
const pressedAnimationStyle = useAnimatedStyle(() => ({
|
|
86
|
+
backgroundColor: interpolateColor(
|
|
87
|
+
progress.value,
|
|
98
88
|
[0, 1],
|
|
99
89
|
[colors.background, colors.pressed]
|
|
100
|
-
)
|
|
101
|
-
|
|
102
|
-
// Scale down button slightly when pressed
|
|
103
|
-
const scale = interpolate(
|
|
104
|
-
progressPressed.value,
|
|
105
|
-
[0, 1],
|
|
106
|
-
[1, animationScaleValue],
|
|
107
|
-
Extrapolate.CLAMP
|
|
108
|
-
);
|
|
109
|
-
|
|
110
|
-
return {
|
|
111
|
-
backgroundColor: bgColor,
|
|
112
|
-
transform: [{ scale }]
|
|
113
|
-
};
|
|
114
|
-
});
|
|
115
|
-
|
|
116
|
-
const onPressIn = useCallback(() => {
|
|
117
|
-
// eslint-disable-next-line functional/immutable-data
|
|
118
|
-
isPressed.value = 1;
|
|
119
|
-
}, [isPressed]);
|
|
120
|
-
const onPressOut = useCallback(() => {
|
|
121
|
-
// eslint-disable-next-line functional/immutable-data
|
|
122
|
-
isPressed.value = 0;
|
|
123
|
-
}, [isPressed]);
|
|
90
|
+
)
|
|
91
|
+
}));
|
|
124
92
|
|
|
125
93
|
const handleOnPress = useCallback(() => {
|
|
126
94
|
onPress(number);
|
|
@@ -139,7 +107,8 @@ export const NumberButton = memo(
|
|
|
139
107
|
IONumberPadButtonStyles.button,
|
|
140
108
|
IONumberPadButtonStyles.circularShape,
|
|
141
109
|
IONumberPadButtonStyles.buttonSize,
|
|
142
|
-
pressedAnimationStyle
|
|
110
|
+
pressedAnimationStyle,
|
|
111
|
+
!reducedMotion && scaleAnimatedStyle
|
|
143
112
|
]}
|
|
144
113
|
>
|
|
145
114
|
<H3 color={colors.foreground}>{number}</H3>
|
|
@@ -80,6 +80,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
80
80
|
},
|
|
81
81
|
{
|
|
82
82
|
"backgroundColor": undefined,
|
|
83
|
+
},
|
|
84
|
+
{
|
|
83
85
|
"transform": [
|
|
84
86
|
{
|
|
85
87
|
"scale": undefined,
|
|
@@ -159,6 +161,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
159
161
|
},
|
|
160
162
|
{
|
|
161
163
|
"backgroundColor": undefined,
|
|
164
|
+
},
|
|
165
|
+
{
|
|
162
166
|
"transform": [
|
|
163
167
|
{
|
|
164
168
|
"scale": undefined,
|
|
@@ -238,6 +242,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
238
242
|
},
|
|
239
243
|
{
|
|
240
244
|
"backgroundColor": undefined,
|
|
245
|
+
},
|
|
246
|
+
{
|
|
241
247
|
"transform": [
|
|
242
248
|
{
|
|
243
249
|
"scale": undefined,
|
|
@@ -333,6 +339,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
333
339
|
},
|
|
334
340
|
{
|
|
335
341
|
"backgroundColor": undefined,
|
|
342
|
+
},
|
|
343
|
+
{
|
|
336
344
|
"transform": [
|
|
337
345
|
{
|
|
338
346
|
"scale": undefined,
|
|
@@ -412,6 +420,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
412
420
|
},
|
|
413
421
|
{
|
|
414
422
|
"backgroundColor": undefined,
|
|
423
|
+
},
|
|
424
|
+
{
|
|
415
425
|
"transform": [
|
|
416
426
|
{
|
|
417
427
|
"scale": undefined,
|
|
@@ -491,6 +501,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
491
501
|
},
|
|
492
502
|
{
|
|
493
503
|
"backgroundColor": undefined,
|
|
504
|
+
},
|
|
505
|
+
{
|
|
494
506
|
"transform": [
|
|
495
507
|
{
|
|
496
508
|
"scale": undefined,
|
|
@@ -586,6 +598,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
586
598
|
},
|
|
587
599
|
{
|
|
588
600
|
"backgroundColor": undefined,
|
|
601
|
+
},
|
|
602
|
+
{
|
|
589
603
|
"transform": [
|
|
590
604
|
{
|
|
591
605
|
"scale": undefined,
|
|
@@ -665,6 +679,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
665
679
|
},
|
|
666
680
|
{
|
|
667
681
|
"backgroundColor": undefined,
|
|
682
|
+
},
|
|
683
|
+
{
|
|
668
684
|
"transform": [
|
|
669
685
|
{
|
|
670
686
|
"scale": undefined,
|
|
@@ -744,6 +760,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
744
760
|
},
|
|
745
761
|
{
|
|
746
762
|
"backgroundColor": undefined,
|
|
763
|
+
},
|
|
764
|
+
{
|
|
747
765
|
"transform": [
|
|
748
766
|
{
|
|
749
767
|
"scale": undefined,
|
|
@@ -980,6 +998,8 @@ exports[`NumberPad Should match the snapshot 1`] = `
|
|
|
980
998
|
},
|
|
981
999
|
{
|
|
982
1000
|
"backgroundColor": undefined,
|
|
1001
|
+
},
|
|
1002
|
+
{
|
|
983
1003
|
"transform": [
|
|
984
1004
|
{
|
|
985
1005
|
"scale": undefined,
|