@pagopa/io-app-design-system 1.18.0 → 1.20.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/Advice/__test__/__snapshots__/advice.test.tsx.snap +110 -0
- package/lib/commonjs/components/Advice/__test__/advice.test.js +9 -0
- package/lib/commonjs/components/Advice/__test__/advice.test.js.map +1 -1
- package/lib/commonjs/components/accordion/AccordionItem.js +25 -9
- package/lib/commonjs/components/accordion/AccordionItem.js.map +1 -1
- package/lib/commonjs/components/avatar/__test__/__snapshots__/avatar.test.tsx.snap +37 -0
- package/lib/commonjs/components/avatar/__test__/avatar.test.js +13 -0
- package/lib/commonjs/components/avatar/__test__/avatar.test.js.map +1 -1
- package/lib/commonjs/components/badge/__test__/__snapshots__/badge.test.tsx.snap +46 -0
- package/lib/commonjs/components/badge/__test__/badge.test.js +10 -0
- package/lib/commonjs/components/badge/__test__/badge.test.js.map +1 -1
- package/lib/commonjs/components/banner/__test__/__snapshots__/banner.test.tsx.snap +315 -0
- package/lib/commonjs/components/banner/__test__/banner.test.js +15 -0
- package/lib/commonjs/components/banner/__test__/banner.test.js.map +1 -1
- package/lib/commonjs/components/buttons/__test__/__snapshots__/button.test.tsx.snap +862 -0
- package/lib/commonjs/components/buttons/__test__/button.test.js +57 -0
- package/lib/commonjs/components/buttons/__test__/button.test.js.map +1 -1
- package/lib/commonjs/components/endOfPage/EndOfPage.js +36 -0
- package/lib/commonjs/components/endOfPage/EndOfPage.js.map +1 -0
- package/lib/commonjs/components/endOfPage/index.js +17 -0
- package/lib/commonjs/components/endOfPage/index.js.map +1 -0
- package/lib/commonjs/components/icons/Icon.js +15 -13
- package/lib/commonjs/components/icons/Icon.js.map +1 -1
- package/lib/commonjs/components/icons/svg/IconSystemLocationiOS.js +34 -0
- package/lib/commonjs/components/icons/svg/IconSystemLocationiOS.js.map +1 -0
- package/lib/commonjs/components/icons/svg/IconSystemNotificationsInstructions.js +1 -0
- package/lib/commonjs/components/icons/svg/IconSystemNotificationsInstructions.js.map +1 -1
- package/lib/commonjs/components/icons/svg/IconSystemPhotosiOS.js +105 -0
- package/lib/commonjs/components/icons/svg/IconSystemPhotosiOS.js.map +1 -0
- package/lib/commonjs/components/icons/svg/IconSystemPrivacyiOS.js +34 -0
- package/lib/commonjs/components/icons/svg/IconSystemPrivacyiOS.js.map +1 -0
- package/lib/commonjs/components/icons/svg/originals/IconSystemLocationiOS.svg +7 -0
- package/lib/commonjs/components/icons/svg/originals/IconSystemNotificationsInstructions.svg +22 -0
- package/lib/commonjs/components/icons/svg/originals/IconSystemPhotosiOS.svg +99 -0
- package/lib/commonjs/components/icons/svg/originals/IconSystemPrivacyiOS.svg +14 -0
- package/lib/commonjs/components/image/Image.js +47 -0
- package/lib/commonjs/components/image/Image.js.map +1 -0
- package/lib/commonjs/components/image/index.js +17 -0
- package/lib/commonjs/components/image/index.js.map +1 -0
- package/lib/commonjs/components/index.js +22 -0
- package/lib/commonjs/components/index.js.map +1 -1
- package/lib/commonjs/components/layout/HeaderSecondLevel.js +9 -3
- package/lib/commonjs/components/layout/HeaderSecondLevel.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemHeader.js +4 -3
- package/lib/commonjs/components/listitems/ListItemHeader.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemNav.js +18 -4
- package/lib/commonjs/components/listitems/ListItemNav.js.map +1 -1
- package/lib/commonjs/components/listitems/ListItemRadioWithAmount.js +7 -2
- package/lib/commonjs/components/listitems/ListItemRadioWithAmount.js.map +1 -1
- package/lib/commonjs/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +1733 -4
- package/lib/commonjs/components/listitems/__test__/listitem.test.js +83 -3
- package/lib/commonjs/components/listitems/__test__/listitem.test.js.map +1 -1
- package/lib/commonjs/components/radio/RadioGroup.js +25 -21
- package/lib/commonjs/components/radio/RadioGroup.js.map +1 -1
- package/lib/commonjs/components/tabs/TabItem.js +13 -6
- package/lib/commonjs/components/tabs/TabItem.js.map +1 -1
- package/lib/commonjs/components/typography/LabelHeader.js +6 -4
- package/lib/commonjs/components/typography/LabelHeader.js.map +1 -1
- package/lib/commonjs/core/IODSExperimentalContextProvider.js +9 -9
- package/lib/commonjs/core/IODSExperimentalContextProvider.js.map +1 -1
- package/lib/commonjs/utils/testing.js +15 -0
- package/lib/commonjs/utils/testing.js.map +1 -0
- package/lib/module/components/Advice/__test__/__snapshots__/advice.test.tsx.snap +110 -0
- package/lib/module/components/Advice/__test__/advice.test.js +9 -0
- package/lib/module/components/Advice/__test__/advice.test.js.map +1 -1
- package/lib/module/components/accordion/AccordionItem.js +27 -11
- package/lib/module/components/accordion/AccordionItem.js.map +1 -1
- package/lib/module/components/avatar/__test__/__snapshots__/avatar.test.tsx.snap +37 -0
- package/lib/module/components/avatar/__test__/avatar.test.js +13 -0
- package/lib/module/components/avatar/__test__/avatar.test.js.map +1 -1
- package/lib/module/components/badge/__test__/__snapshots__/badge.test.tsx.snap +46 -0
- package/lib/module/components/badge/__test__/badge.test.js +10 -0
- package/lib/module/components/badge/__test__/badge.test.js.map +1 -1
- package/lib/module/components/banner/__test__/__snapshots__/banner.test.tsx.snap +315 -0
- package/lib/module/components/banner/__test__/banner.test.js +15 -0
- package/lib/module/components/banner/__test__/banner.test.js.map +1 -1
- package/lib/module/components/buttons/__test__/__snapshots__/button.test.tsx.snap +862 -0
- package/lib/module/components/buttons/__test__/button.test.js +57 -0
- package/lib/module/components/buttons/__test__/button.test.js.map +1 -1
- package/lib/module/components/endOfPage/EndOfPage.js +28 -0
- package/lib/module/components/endOfPage/EndOfPage.js.map +1 -0
- package/lib/module/components/endOfPage/index.js +2 -0
- package/lib/module/components/endOfPage/index.js.map +1 -0
- package/lib/module/components/icons/Icon.js +15 -13
- package/lib/module/components/icons/Icon.js.map +1 -1
- package/lib/module/components/icons/svg/IconSystemLocationiOS.js +26 -0
- package/lib/module/components/icons/svg/IconSystemLocationiOS.js.map +1 -0
- package/lib/module/components/icons/svg/IconSystemNotificationsInstructions.js +2 -1
- package/lib/module/components/icons/svg/IconSystemNotificationsInstructions.js.map +1 -1
- package/lib/module/components/icons/svg/IconSystemPhotosiOS.js +97 -0
- package/lib/module/components/icons/svg/IconSystemPhotosiOS.js.map +1 -0
- package/lib/module/components/icons/svg/IconSystemPrivacyiOS.js +26 -0
- package/lib/module/components/icons/svg/IconSystemPrivacyiOS.js.map +1 -0
- package/lib/module/components/icons/svg/originals/IconSystemLocationiOS.svg +7 -0
- package/lib/module/components/icons/svg/originals/IconSystemNotificationsInstructions.svg +22 -0
- package/lib/module/components/icons/svg/originals/IconSystemPhotosiOS.svg +99 -0
- package/lib/module/components/icons/svg/originals/IconSystemPrivacyiOS.svg +14 -0
- package/lib/module/components/image/Image.js +39 -0
- package/lib/module/components/image/Image.js.map +1 -0
- package/lib/module/components/image/index.js +2 -0
- package/lib/module/components/image/index.js.map +1 -0
- package/lib/module/components/index.js +2 -0
- package/lib/module/components/index.js.map +1 -1
- package/lib/module/components/layout/HeaderSecondLevel.js +9 -3
- package/lib/module/components/layout/HeaderSecondLevel.js.map +1 -1
- package/lib/module/components/listitems/ListItemHeader.js +4 -3
- package/lib/module/components/listitems/ListItemHeader.js.map +1 -1
- package/lib/module/components/listitems/ListItemNav.js +20 -6
- package/lib/module/components/listitems/ListItemNav.js.map +1 -1
- package/lib/module/components/listitems/ListItemRadioWithAmount.js +7 -2
- package/lib/module/components/listitems/ListItemRadioWithAmount.js.map +1 -1
- package/lib/module/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +1733 -4
- package/lib/module/components/listitems/__test__/listitem.test.js +83 -3
- package/lib/module/components/listitems/__test__/listitem.test.js.map +1 -1
- package/lib/module/components/radio/RadioGroup.js +25 -21
- package/lib/module/components/radio/RadioGroup.js.map +1 -1
- package/lib/module/components/tabs/TabItem.js +13 -6
- package/lib/module/components/tabs/TabItem.js.map +1 -1
- package/lib/module/components/typography/LabelHeader.js +6 -4
- package/lib/module/components/typography/LabelHeader.js.map +1 -1
- package/lib/module/core/IODSExperimentalContextProvider.js +3 -3
- package/lib/module/core/IODSExperimentalContextProvider.js.map +1 -1
- package/lib/module/utils/testing.js +7 -0
- package/lib/module/utils/testing.js.map +1 -0
- package/lib/typescript/components/accordion/AccordionItem.d.ts +3 -1
- package/lib/typescript/components/accordion/AccordionItem.d.ts.map +1 -1
- package/lib/typescript/components/endOfPage/EndOfPage.d.ts +23 -0
- package/lib/typescript/components/endOfPage/EndOfPage.d.ts.map +1 -0
- package/lib/typescript/components/endOfPage/index.d.ts +2 -0
- package/lib/typescript/components/endOfPage/index.d.ts.map +1 -0
- package/lib/typescript/components/icons/Icon.d.ts +6 -5
- package/lib/typescript/components/icons/Icon.d.ts.map +1 -1
- package/lib/typescript/components/icons/svg/IconSystemLocationiOS.d.ts +5 -0
- package/lib/typescript/components/icons/svg/IconSystemLocationiOS.d.ts.map +1 -0
- package/lib/typescript/components/icons/svg/IconSystemNotificationsInstructions.d.ts.map +1 -1
- package/lib/typescript/components/icons/svg/IconSystemPhotosiOS.d.ts +5 -0
- package/lib/typescript/components/icons/svg/IconSystemPhotosiOS.d.ts.map +1 -0
- package/lib/typescript/components/icons/svg/IconSystemPrivacyiOS.d.ts +5 -0
- package/lib/typescript/components/icons/svg/IconSystemPrivacyiOS.d.ts.map +1 -0
- package/lib/typescript/components/image/Image.d.ts +17 -0
- package/lib/typescript/components/image/Image.d.ts.map +1 -0
- package/lib/typescript/components/image/index.d.ts +2 -0
- package/lib/typescript/components/image/index.d.ts.map +1 -0
- package/lib/typescript/components/index.d.ts +2 -0
- package/lib/typescript/components/index.d.ts.map +1 -1
- package/lib/typescript/components/layout/HeaderSecondLevel.d.ts +10 -4
- package/lib/typescript/components/layout/HeaderSecondLevel.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemHeader.d.ts +2 -2
- package/lib/typescript/components/listitems/ListItemHeader.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemNav.d.ts +9 -2
- package/lib/typescript/components/listitems/ListItemNav.d.ts.map +1 -1
- package/lib/typescript/components/listitems/ListItemRadioWithAmount.d.ts +1 -0
- package/lib/typescript/components/listitems/ListItemRadioWithAmount.d.ts.map +1 -1
- package/lib/typescript/components/radio/RadioGroup.d.ts +22 -9
- package/lib/typescript/components/radio/RadioGroup.d.ts.map +1 -1
- package/lib/typescript/components/tabs/TabItem.d.ts +2 -1
- package/lib/typescript/components/tabs/TabItem.d.ts.map +1 -1
- package/lib/typescript/components/typography/LabelHeader.d.ts +1 -1
- package/lib/typescript/components/typography/LabelHeader.d.ts.map +1 -1
- package/lib/typescript/core/IODSExperimentalContextProvider.d.ts +5 -1
- package/lib/typescript/core/IODSExperimentalContextProvider.d.ts.map +1 -1
- package/lib/typescript/utils/testing.d.ts +4 -0
- package/lib/typescript/utils/testing.d.ts.map +1 -0
- package/package.json +1 -5
- package/src/components/Advice/__test__/__snapshots__/advice.test.tsx.snap +110 -0
- package/src/components/Advice/__test__/advice.test.tsx +10 -0
- package/src/components/accordion/AccordionItem.tsx +33 -13
- package/src/components/avatar/__test__/__snapshots__/avatar.test.tsx.snap +37 -0
- package/src/components/avatar/__test__/avatar.test.tsx +10 -0
- package/src/components/badge/__test__/__snapshots__/badge.test.tsx.snap +46 -0
- package/src/components/badge/__test__/badge.test.tsx +10 -0
- package/src/components/banner/__test__/__snapshots__/banner.test.tsx.snap +315 -0
- package/src/components/banner/__test__/banner.test.tsx +18 -0
- package/src/components/buttons/__test__/__snapshots__/button.test.tsx.snap +862 -0
- package/src/components/buttons/__test__/button.test.tsx +77 -1
- package/src/components/endOfPage/EndOfPage.tsx +55 -0
- package/src/components/endOfPage/index.tsx +1 -0
- package/src/components/icons/Icon.tsx +15 -13
- package/src/components/icons/svg/IconSystemLocationiOS.tsx +15 -0
- package/src/components/icons/svg/IconSystemNotificationsInstructions.tsx +2 -1
- package/src/components/icons/svg/IconSystemPhotosiOS.tsx +114 -0
- package/src/components/icons/svg/IconSystemPrivacyiOS.tsx +15 -0
- package/src/components/icons/svg/originals/IconSystemLocationiOS.svg +7 -0
- package/src/components/icons/svg/originals/IconSystemNotificationsInstructions.svg +22 -0
- package/src/components/icons/svg/originals/IconSystemPhotosiOS.svg +99 -0
- package/src/components/icons/svg/originals/IconSystemPrivacyiOS.svg +14 -0
- package/src/components/image/Image.tsx +49 -0
- package/src/components/image/index.tsx +1 -0
- package/src/components/index.tsx +2 -0
- package/src/components/layout/HeaderSecondLevel.tsx +28 -10
- package/src/components/listitems/ListItemHeader.tsx +6 -3
- package/src/components/listitems/ListItemNav.tsx +35 -9
- package/src/components/listitems/ListItemRadioWithAmount.tsx +6 -2
- package/src/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +1733 -4
- package/src/components/listitems/__test__/listitem.test.tsx +104 -3
- package/src/components/radio/RadioGroup.tsx +61 -11
- package/src/components/tabs/TabItem.tsx +22 -6
- package/src/components/typography/LabelHeader.tsx +11 -6
- package/src/core/IODSExperimentalContextProvider.tsx +3 -3
- package/src/utils/testing.tsx +14 -0
- package/lib/commonjs/components/icons/svg/IconAgreement.js +0 -32
- package/lib/commonjs/components/icons/svg/IconAgreement.js.map +0 -1
- package/lib/commonjs/components/icons/svg/IconDocument.js +0 -34
- package/lib/commonjs/components/icons/svg/IconDocument.js.map +0 -1
- package/lib/commonjs/components/icons/svg/IconDocumentSign.js +0 -42
- package/lib/commonjs/components/icons/svg/IconDocumentSign.js.map +0 -1
- package/lib/commonjs/components/icons/svg/IconProfileAlt.js +0 -29
- package/lib/commonjs/components/icons/svg/IconProfileAlt.js.map +0 -1
- package/lib/commonjs/components/icons/svg/IconProfileFilled.js +0 -31
- package/lib/commonjs/components/icons/svg/IconProfileFilled.js.map +0 -1
- package/lib/commonjs/components/icons/svg/originals/IconAgreement.svg +0 -10
- package/lib/commonjs/components/icons/svg/originals/IconDocument.svg +0 -12
- package/lib/commonjs/components/icons/svg/originals/IconDocumentSign.svg +0 -22
- package/lib/commonjs/components/icons/svg/originals/IconProfileAlt.svg +0 -6
- package/lib/commonjs/components/icons/svg/originals/IconProfileFilled.svg +0 -8
- package/lib/module/components/icons/svg/IconAgreement.js +0 -24
- package/lib/module/components/icons/svg/IconAgreement.js.map +0 -1
- package/lib/module/components/icons/svg/IconDocument.js +0 -26
- package/lib/module/components/icons/svg/IconDocument.js.map +0 -1
- package/lib/module/components/icons/svg/IconDocumentSign.js +0 -34
- package/lib/module/components/icons/svg/IconDocumentSign.js.map +0 -1
- package/lib/module/components/icons/svg/IconProfileAlt.js +0 -21
- package/lib/module/components/icons/svg/IconProfileAlt.js.map +0 -1
- package/lib/module/components/icons/svg/IconProfileFilled.js +0 -23
- package/lib/module/components/icons/svg/IconProfileFilled.js.map +0 -1
- package/lib/module/components/icons/svg/originals/IconAgreement.svg +0 -10
- package/lib/module/components/icons/svg/originals/IconDocument.svg +0 -12
- package/lib/module/components/icons/svg/originals/IconDocumentSign.svg +0 -22
- package/lib/module/components/icons/svg/originals/IconProfileAlt.svg +0 -6
- package/lib/module/components/icons/svg/originals/IconProfileFilled.svg +0 -8
- package/lib/typescript/components/icons/svg/IconAgreement.d.ts +0 -5
- package/lib/typescript/components/icons/svg/IconAgreement.d.ts.map +0 -1
- package/lib/typescript/components/icons/svg/IconDocument.d.ts +0 -5
- package/lib/typescript/components/icons/svg/IconDocument.d.ts.map +0 -1
- package/lib/typescript/components/icons/svg/IconDocumentSign.d.ts +0 -5
- package/lib/typescript/components/icons/svg/IconDocumentSign.d.ts.map +0 -1
- package/lib/typescript/components/icons/svg/IconProfileAlt.d.ts +0 -5
- package/lib/typescript/components/icons/svg/IconProfileAlt.d.ts.map +0 -1
- package/lib/typescript/components/icons/svg/IconProfileFilled.d.ts +0 -5
- package/lib/typescript/components/icons/svg/IconProfileFilled.d.ts.map +0 -1
- package/src/components/icons/svg/IconAgreement.tsx +0 -18
- package/src/components/icons/svg/IconDocument.tsx +0 -20
- package/src/components/icons/svg/IconDocumentSign.tsx +0 -30
- package/src/components/icons/svg/IconProfileAlt.tsx +0 -14
- package/src/components/icons/svg/IconProfileFilled.tsx +0 -16
- package/src/components/icons/svg/originals/IconAgreement.svg +0 -10
- package/src/components/icons/svg/originals/IconDocument.svg +0 -12
- package/src/components/icons/svg/originals/IconDocumentSign.svg +0 -22
- package/src/components/icons/svg/originals/IconProfileAlt.svg +0 -6
- package/src/components/icons/svg/originals/IconProfileFilled.svg +0 -8
|
@@ -26,13 +26,22 @@ type ScrollValues = {
|
|
|
26
26
|
triggerOffset: number;
|
|
27
27
|
};
|
|
28
28
|
|
|
29
|
+
type BackProps =
|
|
30
|
+
| {
|
|
31
|
+
goBack: () => void;
|
|
32
|
+
backAccessibilityLabel: string;
|
|
33
|
+
}
|
|
34
|
+
| {
|
|
35
|
+
goBack?: never;
|
|
36
|
+
backAccessibilityLabel?: never;
|
|
37
|
+
};
|
|
38
|
+
|
|
29
39
|
type CommonProps = WithTestID<{
|
|
30
40
|
scrollValues?: ScrollValues;
|
|
31
41
|
title: string;
|
|
32
|
-
goBack: () => void;
|
|
33
|
-
backAccessibilityLabel: string;
|
|
34
42
|
// Visual attributes
|
|
35
43
|
transparent?: boolean;
|
|
44
|
+
isModal?: boolean;
|
|
36
45
|
}>;
|
|
37
46
|
|
|
38
47
|
interface Base extends CommonProps {
|
|
@@ -63,7 +72,8 @@ interface ThreeActions extends CommonProps {
|
|
|
63
72
|
thirdAction: ActionProp;
|
|
64
73
|
}
|
|
65
74
|
|
|
66
|
-
export type HeaderSecondLevel =
|
|
75
|
+
export type HeaderSecondLevel = BackProps &
|
|
76
|
+
(Base | OneAction | TwoActions | ThreeActions);
|
|
67
77
|
|
|
68
78
|
const HEADER_BG_COLOR: IOColors = "white";
|
|
69
79
|
const borderColorDisabled = hexToRgba(IOColors["grey-100"], 0);
|
|
@@ -106,6 +116,7 @@ export const HeaderSecondLevel = ({
|
|
|
106
116
|
title,
|
|
107
117
|
type,
|
|
108
118
|
transparent = false,
|
|
119
|
+
isModal = false,
|
|
109
120
|
testID,
|
|
110
121
|
firstAction,
|
|
111
122
|
secondAction,
|
|
@@ -155,14 +166,21 @@ export const HeaderSecondLevel = ({
|
|
|
155
166
|
>
|
|
156
167
|
<Animated.View
|
|
157
168
|
testID={testID}
|
|
158
|
-
style={[{ marginTop: insets.top }, styles.headerInner]}
|
|
169
|
+
style={[isModal ? {} : { marginTop: insets.top }, styles.headerInner]}
|
|
159
170
|
>
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
171
|
+
{goBack ? (
|
|
172
|
+
<IconButton
|
|
173
|
+
icon={Platform.select({
|
|
174
|
+
android: "backAndroid",
|
|
175
|
+
default: "backiOS"
|
|
176
|
+
})}
|
|
177
|
+
color="neutral"
|
|
178
|
+
onPress={goBack}
|
|
179
|
+
accessibilityLabel={backAccessibilityLabel}
|
|
180
|
+
/>
|
|
181
|
+
) : (
|
|
182
|
+
<HSpacer size={32} />
|
|
183
|
+
)}
|
|
166
184
|
<Animated.Text
|
|
167
185
|
numberOfLines={1}
|
|
168
186
|
style={[
|
|
@@ -3,14 +3,15 @@ import { View } from "react-native";
|
|
|
3
3
|
import {
|
|
4
4
|
IOListItemStyles,
|
|
5
5
|
IOListItemVisualParams,
|
|
6
|
+
IOSpacingScale,
|
|
6
7
|
IOStyles,
|
|
7
8
|
useIOTheme
|
|
8
9
|
} from "../../core";
|
|
9
10
|
import { WithTestID } from "../../utils/types";
|
|
11
|
+
import { Badge } from "../badge";
|
|
12
|
+
import { ButtonLink, IconButton } from "../buttons";
|
|
10
13
|
import { IOIcons, Icon } from "../icons";
|
|
11
14
|
import { H6 } from "../typography";
|
|
12
|
-
import { ButtonLink, IconButton } from "../buttons";
|
|
13
|
-
import { Badge } from "../badge";
|
|
14
15
|
|
|
15
16
|
type ButtonLinkActionProps = {
|
|
16
17
|
type: "buttonLink";
|
|
@@ -48,6 +49,8 @@ export type ListItemHeader = WithTestID<{
|
|
|
48
49
|
}> &
|
|
49
50
|
IconProps;
|
|
50
51
|
|
|
52
|
+
const iconMargin: IOSpacingScale = 8;
|
|
53
|
+
|
|
51
54
|
export const ListItemHeader = ({
|
|
52
55
|
label,
|
|
53
56
|
iconName,
|
|
@@ -124,7 +127,7 @@ export const ListItemHeader = ({
|
|
|
124
127
|
>
|
|
125
128
|
<View style={IOListItemStyles.listItemInner}>
|
|
126
129
|
{iconName && (
|
|
127
|
-
<View style={{ marginRight:
|
|
130
|
+
<View style={{ marginRight: iconMargin }}>
|
|
128
131
|
<Icon
|
|
129
132
|
name={iconName}
|
|
130
133
|
color={iconColor ?? theme["icon-decorative"]}
|
|
@@ -24,8 +24,18 @@ import { WithTestID } from "../../utils/types";
|
|
|
24
24
|
import { Badge } from "../badge";
|
|
25
25
|
import { IOIcons, Icon } from "../icons";
|
|
26
26
|
import { IOLogoPaymentType, LogoPayment } from "../logos";
|
|
27
|
-
import { VSpacer } from "../spacer";
|
|
28
|
-
import { H6, LabelSmall } from "../typography";
|
|
27
|
+
import { HSpacer, VSpacer } from "../spacer";
|
|
28
|
+
import { Caption, H6, LabelSmall } from "../typography";
|
|
29
|
+
|
|
30
|
+
type ListItemTopElementProps =
|
|
31
|
+
| {
|
|
32
|
+
badgeProps: React.ComponentProps<typeof Badge>;
|
|
33
|
+
dateValue?: never;
|
|
34
|
+
}
|
|
35
|
+
| {
|
|
36
|
+
badgeProps?: never;
|
|
37
|
+
dateValue: string;
|
|
38
|
+
};
|
|
29
39
|
|
|
30
40
|
type ListItemNavPartialProps = WithTestID<{
|
|
31
41
|
value: string | React.ReactNode;
|
|
@@ -34,7 +44,7 @@ type ListItemNavPartialProps = WithTestID<{
|
|
|
34
44
|
// Accessibility
|
|
35
45
|
accessibilityLabel: string;
|
|
36
46
|
hideChevron?: boolean;
|
|
37
|
-
|
|
47
|
+
topElement?: ListItemTopElementProps;
|
|
38
48
|
}>;
|
|
39
49
|
|
|
40
50
|
export type ListItemNavGraphicProps =
|
|
@@ -54,7 +64,7 @@ export const ListItemNav = ({
|
|
|
54
64
|
accessibilityLabel,
|
|
55
65
|
testID,
|
|
56
66
|
hideChevron = false,
|
|
57
|
-
|
|
67
|
+
topElement
|
|
58
68
|
}: ListItemNav) => {
|
|
59
69
|
const isPressed = useSharedValue(0);
|
|
60
70
|
const { isExperimental } = useIOExperimentalDesign();
|
|
@@ -62,12 +72,28 @@ export const ListItemNav = ({
|
|
|
62
72
|
|
|
63
73
|
const listItemNavContent = (
|
|
64
74
|
<>
|
|
65
|
-
{
|
|
75
|
+
{topElement && (
|
|
66
76
|
<>
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
77
|
+
{topElement.badgeProps && (
|
|
78
|
+
<>
|
|
79
|
+
<View style={{ alignSelf: "flex-start" }}>
|
|
80
|
+
<Badge {...topElement.badgeProps} />
|
|
81
|
+
</View>
|
|
82
|
+
<VSpacer size={8} />
|
|
83
|
+
</>
|
|
84
|
+
)}
|
|
85
|
+
{topElement.dateValue && (
|
|
86
|
+
<>
|
|
87
|
+
<View style={{ alignSelf: "flex-start", flexDirection: "row" }}>
|
|
88
|
+
<Icon name="calendar" size={16} />
|
|
89
|
+
<HSpacer size={4} />
|
|
90
|
+
<Caption color={theme["textBody-tertiary"]}>
|
|
91
|
+
{topElement.dateValue}
|
|
92
|
+
</Caption>
|
|
93
|
+
</View>
|
|
94
|
+
<VSpacer size={4} />
|
|
95
|
+
</>
|
|
96
|
+
)}
|
|
71
97
|
</>
|
|
72
98
|
)}
|
|
73
99
|
{/* Let developer using a custom component (e.g: skeleton) */}
|
|
@@ -10,6 +10,7 @@ import { LabelSmall } from "../typography/LabelSmall";
|
|
|
10
10
|
import { PressableListItemBase } from "./PressableListItemsBase";
|
|
11
11
|
|
|
12
12
|
export type ListItemRadioWithAmountProps = {
|
|
13
|
+
onValueChange?: (newValue: boolean) => void;
|
|
13
14
|
selected?: boolean;
|
|
14
15
|
label: string;
|
|
15
16
|
formattedAmountString: string;
|
|
@@ -29,8 +30,11 @@ export const ListItemRadioWithAmount = (
|
|
|
29
30
|
const pressHandler = () => {
|
|
30
31
|
RNReactNativeHapticFeedback.trigger("impactLight");
|
|
31
32
|
setToggleValue(val => !val);
|
|
33
|
+
if (props.onValueChange !== undefined) {
|
|
34
|
+
props.onValueChange(!toggleValue);
|
|
35
|
+
}
|
|
32
36
|
};
|
|
33
|
-
const isExperimental = useIOExperimentalDesign();
|
|
37
|
+
const { isExperimental } = useIOExperimentalDesign();
|
|
34
38
|
|
|
35
39
|
const interactiveColor: IOColors = isExperimental ? "blueIO-500" : "blue";
|
|
36
40
|
const suggestColor: IOColors = "hanPurple-500";
|
|
@@ -55,7 +59,7 @@ export const ListItemRadioWithAmount = (
|
|
|
55
59
|
<View pointerEvents="none" style={{ flexDirection: "row" }}>
|
|
56
60
|
<H6 color={interactiveColor}>{props.formattedAmountString}</H6>
|
|
57
61
|
<HSpacer size={8} />
|
|
58
|
-
<AnimatedRadio checked={toggleValue} />
|
|
62
|
+
<AnimatedRadio checked={props.selected ?? toggleValue} />
|
|
59
63
|
</View>
|
|
60
64
|
</PressableListItemBase>
|
|
61
65
|
);
|