@pagopa/io-app-design-system 2.0.0 → 2.0.2

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.
Files changed (170) hide show
  1. package/lib/commonjs/components/badge/Badge.js +2 -2
  2. package/lib/commonjs/components/contentWrapper/ContentWrapper.js +2 -0
  3. package/lib/commonjs/components/contentWrapper/ContentWrapper.js.map +1 -1
  4. package/lib/commonjs/components/icons/Icon.js +2 -0
  5. package/lib/commonjs/components/icons/Icon.js.map +1 -1
  6. package/lib/commonjs/components/icons/svg/IconCieLetter.js +28 -0
  7. package/lib/commonjs/components/icons/svg/IconCieLetter.js.map +1 -0
  8. package/lib/commonjs/components/icons/svg/originals/IconCieLetter.svg +1 -0
  9. package/lib/commonjs/components/layout/BlockButtons.js +1 -1
  10. package/lib/commonjs/components/layout/FooterActions.js +162 -0
  11. package/lib/commonjs/components/layout/FooterActions.js.map +1 -0
  12. package/lib/commonjs/components/layout/FooterActionsInline.js +113 -0
  13. package/lib/commonjs/components/layout/FooterActionsInline.js.map +1 -0
  14. package/lib/commonjs/components/layout/FooterWithButtons.js +3 -1
  15. package/lib/commonjs/components/layout/FooterWithButtons.js.map +1 -1
  16. package/lib/commonjs/components/layout/HeaderSecondLevel.js +9 -4
  17. package/lib/commonjs/components/layout/HeaderSecondLevel.js.map +1 -1
  18. package/lib/commonjs/components/layout/hooks/index.js +28 -0
  19. package/lib/commonjs/components/layout/hooks/index.js.map +1 -0
  20. package/lib/commonjs/components/layout/hooks/useBottomMargins.js +31 -0
  21. package/lib/commonjs/components/layout/hooks/useBottomMargins.js.map +1 -0
  22. package/lib/commonjs/components/layout/hooks/useFooterActionsInlineMeasurements.js +30 -0
  23. package/lib/commonjs/components/layout/hooks/useFooterActionsInlineMeasurements.js.map +1 -0
  24. package/lib/commonjs/components/layout/hooks/useFooterActionsMeasurements.js +31 -0
  25. package/lib/commonjs/components/layout/hooks/useFooterActionsMeasurements.js.map +1 -0
  26. package/lib/commonjs/components/layout/index.js +33 -0
  27. package/lib/commonjs/components/layout/index.js.map +1 -1
  28. package/lib/commonjs/components/pictograms/Pictogram.js +10 -2
  29. package/lib/commonjs/components/pictograms/Pictogram.js.map +1 -1
  30. package/lib/commonjs/components/pictograms/svg/PictogramFingerprint.js +49 -0
  31. package/lib/commonjs/components/pictograms/svg/PictogramFingerprint.js.map +1 -0
  32. package/lib/commonjs/components/pictograms/svg/PictogramSmile.js +32 -0
  33. package/lib/commonjs/components/pictograms/svg/PictogramSmile.js.map +1 -0
  34. package/lib/commonjs/components/pictograms/svg/PictogramWalletDoc.js +46 -0
  35. package/lib/commonjs/components/pictograms/svg/PictogramWalletDoc.js.map +1 -0
  36. package/lib/commonjs/components/pictograms/svg/originals/PictogramFingerprint.svg +1 -0
  37. package/lib/commonjs/components/pictograms/svg/originals/PictogramSmile.svg +1 -0
  38. package/lib/commonjs/components/pictograms/svg/originals/PictogramWalletDoc.svg +1 -0
  39. package/lib/commonjs/core/IOColors.js +8 -3
  40. package/lib/commonjs/core/IOColors.js.map +1 -1
  41. package/lib/commonjs/core/IOSpacing.js +10 -1
  42. package/lib/commonjs/core/IOSpacing.js.map +1 -1
  43. package/lib/commonjs/core/index.js +0 -11
  44. package/lib/commonjs/core/index.js.map +1 -1
  45. package/lib/module/components/badge/Badge.js +2 -2
  46. package/lib/module/components/contentWrapper/ContentWrapper.js +2 -0
  47. package/lib/module/components/contentWrapper/ContentWrapper.js.map +1 -1
  48. package/lib/module/components/icons/Icon.js +2 -0
  49. package/lib/module/components/icons/Icon.js.map +1 -1
  50. package/lib/module/components/icons/svg/IconCieLetter.js +20 -0
  51. package/lib/module/components/icons/svg/IconCieLetter.js.map +1 -0
  52. package/lib/module/components/icons/svg/originals/IconCieLetter.svg +1 -0
  53. package/lib/module/components/layout/BlockButtons.js +1 -1
  54. package/lib/module/components/layout/FooterActions.js +153 -0
  55. package/lib/module/components/layout/FooterActions.js.map +1 -0
  56. package/lib/module/components/layout/FooterActionsInline.js +104 -0
  57. package/lib/module/components/layout/FooterActionsInline.js.map +1 -0
  58. package/lib/module/components/layout/FooterWithButtons.js +3 -1
  59. package/lib/module/components/layout/FooterWithButtons.js.map +1 -1
  60. package/lib/module/components/layout/HeaderSecondLevel.js +10 -5
  61. package/lib/module/components/layout/HeaderSecondLevel.js.map +1 -1
  62. package/lib/module/components/layout/hooks/index.js +3 -0
  63. package/lib/module/components/layout/hooks/index.js.map +1 -0
  64. package/lib/module/components/layout/hooks/useBottomMargins.js +25 -0
  65. package/lib/module/components/layout/hooks/useBottomMargins.js.map +1 -0
  66. package/lib/module/components/layout/hooks/useFooterActionsInlineMeasurements.js +23 -0
  67. package/lib/module/components/layout/hooks/useFooterActionsInlineMeasurements.js.map +1 -0
  68. package/lib/module/components/layout/hooks/useFooterActionsMeasurements.js +24 -0
  69. package/lib/module/components/layout/hooks/useFooterActionsMeasurements.js.map +1 -0
  70. package/lib/module/components/layout/index.js +3 -0
  71. package/lib/module/components/layout/index.js.map +1 -1
  72. package/lib/module/components/pictograms/Pictogram.js +10 -2
  73. package/lib/module/components/pictograms/Pictogram.js.map +1 -1
  74. package/lib/module/components/pictograms/svg/PictogramFingerprint.js +41 -0
  75. package/lib/module/components/pictograms/svg/PictogramFingerprint.js.map +1 -0
  76. package/lib/module/components/pictograms/svg/PictogramSmile.js +24 -0
  77. package/lib/module/components/pictograms/svg/PictogramSmile.js.map +1 -0
  78. package/lib/module/components/pictograms/svg/PictogramWalletDoc.js +38 -0
  79. package/lib/module/components/pictograms/svg/PictogramWalletDoc.js.map +1 -0
  80. package/lib/module/components/pictograms/svg/originals/PictogramFingerprint.svg +1 -0
  81. package/lib/module/components/pictograms/svg/originals/PictogramSmile.svg +1 -0
  82. package/lib/module/components/pictograms/svg/originals/PictogramWalletDoc.svg +1 -0
  83. package/lib/module/core/IOColors.js +8 -3
  84. package/lib/module/core/IOColors.js.map +1 -1
  85. package/lib/module/core/IOSpacing.js +9 -0
  86. package/lib/module/core/IOSpacing.js.map +1 -1
  87. package/lib/module/core/index.js +0 -1
  88. package/lib/module/core/index.js.map +1 -1
  89. package/lib/typescript/components/buttons/ButtonLink.d.ts +1 -1
  90. package/lib/typescript/components/buttons/ButtonOutline.d.ts +1 -1
  91. package/lib/typescript/components/buttons/ButtonSolid.d.ts +1 -1
  92. package/lib/typescript/components/contentWrapper/ContentWrapper.d.ts +4 -3
  93. package/lib/typescript/components/contentWrapper/ContentWrapper.d.ts.map +1 -1
  94. package/lib/typescript/components/icons/Icon.d.ts +1 -0
  95. package/lib/typescript/components/icons/Icon.d.ts.map +1 -1
  96. package/lib/typescript/components/icons/svg/IconCieLetter.d.ts +5 -0
  97. package/lib/typescript/components/icons/svg/IconCieLetter.d.ts.map +1 -0
  98. package/lib/typescript/components/layout/BlockButtons.d.ts +1 -1
  99. package/lib/typescript/components/layout/FooterActions.d.ts +45 -0
  100. package/lib/typescript/components/layout/FooterActions.d.ts.map +1 -0
  101. package/lib/typescript/components/layout/FooterActionsInline.d.ts +17 -0
  102. package/lib/typescript/components/layout/FooterActionsInline.d.ts.map +1 -0
  103. package/lib/typescript/components/layout/FooterWithButtons.d.ts +3 -1
  104. package/lib/typescript/components/layout/FooterWithButtons.d.ts.map +1 -1
  105. package/lib/typescript/components/layout/HeaderFirstLevel.d.ts +7 -7
  106. package/lib/typescript/components/layout/HeaderFirstLevel.d.ts.map +1 -1
  107. package/lib/typescript/components/layout/HeaderSecondLevel.d.ts +7 -7
  108. package/lib/typescript/components/layout/HeaderSecondLevel.d.ts.map +1 -1
  109. package/lib/typescript/components/layout/common.d.ts +1 -1
  110. package/lib/typescript/components/layout/common.d.ts.map +1 -1
  111. package/lib/typescript/components/layout/hooks/index.d.ts +3 -0
  112. package/lib/typescript/components/layout/hooks/index.d.ts.map +1 -0
  113. package/lib/typescript/components/layout/hooks/useBottomMargins.d.ts +5 -0
  114. package/lib/typescript/components/layout/hooks/useBottomMargins.d.ts.map +1 -0
  115. package/lib/typescript/components/layout/hooks/useFooterActionsInlineMeasurements.d.ts +17 -0
  116. package/lib/typescript/components/layout/hooks/useFooterActionsInlineMeasurements.d.ts.map +1 -0
  117. package/lib/typescript/components/layout/hooks/useFooterActionsMeasurements.d.ts +17 -0
  118. package/lib/typescript/components/layout/hooks/useFooterActionsMeasurements.d.ts.map +1 -0
  119. package/lib/typescript/components/layout/index.d.ts +3 -0
  120. package/lib/typescript/components/layout/index.d.ts.map +1 -1
  121. package/lib/typescript/components/pictograms/Pictogram.d.ts +3 -0
  122. package/lib/typescript/components/pictograms/Pictogram.d.ts.map +1 -1
  123. package/lib/typescript/components/pictograms/svg/PictogramFingerprint.d.ts +5 -0
  124. package/lib/typescript/components/pictograms/svg/PictogramFingerprint.d.ts.map +1 -0
  125. package/lib/typescript/components/pictograms/svg/PictogramSmile.d.ts +5 -0
  126. package/lib/typescript/components/pictograms/svg/PictogramSmile.d.ts.map +1 -0
  127. package/lib/typescript/components/pictograms/svg/PictogramWalletDoc.d.ts +5 -0
  128. package/lib/typescript/components/pictograms/svg/PictogramWalletDoc.d.ts.map +1 -0
  129. package/lib/typescript/core/IOColors.d.ts +1 -1
  130. package/lib/typescript/core/IOColors.d.ts.map +1 -1
  131. package/lib/typescript/core/IOSpacing.d.ts +8 -0
  132. package/lib/typescript/core/IOSpacing.d.ts.map +1 -1
  133. package/lib/typescript/core/index.d.ts +0 -1
  134. package/lib/typescript/core/index.d.ts.map +1 -1
  135. package/lib/typescript/utils/fonts.d.ts +2 -2
  136. package/package.json +1 -1
  137. package/src/components/badge/Badge.tsx +2 -2
  138. package/src/components/contentWrapper/ContentWrapper.tsx +5 -2
  139. package/src/components/icons/Icon.tsx +2 -0
  140. package/src/components/icons/svg/IconCieLetter.tsx +16 -0
  141. package/src/components/icons/svg/originals/IconCieLetter.svg +1 -0
  142. package/src/components/layout/BlockButtons.tsx +1 -1
  143. package/src/components/layout/FooterActions.tsx +260 -0
  144. package/src/components/layout/FooterActionsInline.tsx +137 -0
  145. package/src/components/layout/FooterWithButtons.tsx +3 -1
  146. package/src/components/layout/HeaderFirstLevel.tsx +7 -7
  147. package/src/components/layout/HeaderSecondLevel.tsx +20 -12
  148. package/src/components/layout/common.ts +1 -1
  149. package/src/components/layout/hooks/index.ts +2 -0
  150. package/src/components/layout/hooks/useBottomMargins.ts +30 -0
  151. package/src/components/layout/hooks/useFooterActionsInlineMeasurements.ts +38 -0
  152. package/src/components/layout/hooks/useFooterActionsMeasurements.ts +35 -0
  153. package/src/components/layout/index.tsx +3 -0
  154. package/src/components/pictograms/Pictogram.tsx +11 -2
  155. package/src/components/pictograms/svg/PictogramFingerprint.tsx +50 -0
  156. package/src/components/pictograms/svg/PictogramSmile.tsx +22 -0
  157. package/src/components/pictograms/svg/PictogramWalletDoc.tsx +44 -0
  158. package/src/components/pictograms/svg/originals/PictogramFingerprint.svg +1 -0
  159. package/src/components/pictograms/svg/originals/PictogramSmile.svg +1 -0
  160. package/src/components/pictograms/svg/originals/PictogramWalletDoc.svg +1 -0
  161. package/src/core/IOColors.ts +10 -2
  162. package/src/core/IOSpacing.ts +14 -0
  163. package/src/core/index.ts +0 -1
  164. package/lib/commonjs/core/IOStyleVariables.js +0 -14
  165. package/lib/commonjs/core/IOStyleVariables.js.map +0 -1
  166. package/lib/module/core/IOStyleVariables.js +0 -7
  167. package/lib/module/core/IOStyleVariables.js.map +0 -1
  168. package/lib/typescript/core/IOStyleVariables.d.ts +0 -7
  169. package/lib/typescript/core/IOStyleVariables.d.ts.map +0 -1
  170. package/src/core/IOStyleVariables.ts +0 -6
@@ -44,7 +44,9 @@ const verticalSpacing: IOSpacingScale = 16;
44
44
  /**
45
45
  * Implements a component that show buttons as sticky footer
46
46
  * It can include 1, 2 or 3 buttons. If they are 2, they can have the inlineHalf or the inlineOneThird style
47
- * @deprecated This component is deprecated. Use `FooterActions` in the main `io-app` repo instead.
47
+ * @deprecated This component is deprecated. Use `FooterActions` or `FooterActionsInline` instead.
48
+ * `FooterActionsInline` is the official replacement for `FooterWithButtons`, but use it only
49
+ * if explicitly required.
48
50
  */
49
51
  export const FooterWithButtons = ({
50
52
  sticky = false,
@@ -23,7 +23,7 @@ import { WithTestID } from "../../utils/types";
23
23
  import { IconButton } from "../buttons";
24
24
  import { HSpacer } from "../spacer";
25
25
  import { H3 } from "../typography";
26
- import { ActionProp } from "./common";
26
+ import { HeaderActionProps } from "./common";
27
27
 
28
28
  type CommonProps = WithTestID<{
29
29
  title: string;
@@ -41,23 +41,23 @@ interface Base extends CommonProps {
41
41
 
42
42
  interface OneAction extends CommonProps {
43
43
  type: "singleAction";
44
- firstAction: ActionProp;
44
+ firstAction: HeaderActionProps;
45
45
  secondAction?: never;
46
46
  thirdAction?: never;
47
47
  }
48
48
 
49
49
  interface TwoActions extends CommonProps {
50
50
  type: "twoActions";
51
- firstAction: ActionProp;
52
- secondAction: ActionProp;
51
+ firstAction: HeaderActionProps;
52
+ secondAction: HeaderActionProps;
53
53
  thirdAction?: never;
54
54
  }
55
55
 
56
56
  interface ThreeActions extends CommonProps {
57
57
  type: "threeActions";
58
- firstAction: ActionProp;
59
- secondAction: ActionProp;
60
- thirdAction: ActionProp;
58
+ firstAction: HeaderActionProps;
59
+ secondAction: HeaderActionProps;
60
+ thirdAction: HeaderActionProps;
61
61
  }
62
62
 
63
63
  export type HeaderFirstLevel = Base | OneAction | TwoActions | ThreeActions;
@@ -30,14 +30,15 @@ import {
30
30
  hexToRgba,
31
31
  iconBtnSizeSmall,
32
32
  useIOExperimentalDesign,
33
- useIOTheme
33
+ useIOTheme,
34
+ useIOThemeContext
34
35
  } from "../../core";
35
36
  import type { IOSpacer, IOSpacingScale } from "../../core/IOSpacing";
36
37
  import { WithTestID } from "../../utils/types";
37
38
  import IconButton from "../buttons/IconButton";
38
39
  import { HSpacer } from "../spacer";
39
40
  import { IOText } from "../typography";
40
- import { ActionProp } from "./common";
41
+ import { HeaderActionProps } from "./common";
41
42
 
42
43
  type ScrollValues = {
43
44
  contentOffsetY: SharedValue<number>;
@@ -85,23 +86,23 @@ interface Base extends CommonProps {
85
86
 
86
87
  interface OneAction extends CommonProps {
87
88
  type: "singleAction";
88
- firstAction: ActionProp;
89
+ firstAction: HeaderActionProps;
89
90
  secondAction?: never;
90
91
  thirdAction?: never;
91
92
  }
92
93
 
93
94
  interface TwoActions extends CommonProps {
94
95
  type: "twoActions";
95
- firstAction: ActionProp;
96
- secondAction: ActionProp;
96
+ firstAction: HeaderActionProps;
97
+ secondAction: HeaderActionProps;
97
98
  thirdAction?: never;
98
99
  }
99
100
 
100
101
  interface ThreeActions extends CommonProps {
101
102
  type: "threeActions";
102
- firstAction: ActionProp;
103
- secondAction: ActionProp;
104
- thirdAction: ActionProp;
103
+ firstAction: HeaderActionProps;
104
+ secondAction: HeaderActionProps;
105
+ thirdAction: HeaderActionProps;
105
106
  }
106
107
 
107
108
  export type HeaderSecondLevel = BackProps &
@@ -156,21 +157,26 @@ export const HeaderSecondLevel = ({
156
157
 
157
158
  const { isExperimental } = useIOExperimentalDesign();
158
159
  const theme = useIOTheme();
160
+ const { themeType } = useIOThemeContext();
159
161
  const insets = useSafeAreaInsets();
160
162
  const isTitleAccessible = React.useMemo(() => !!title.trim(), [title]);
161
163
  const paddingTop = useSharedValue(ignoreSafeAreaMargin ? 0 : insets.top);
162
164
 
163
165
  const AnimatedIOText = Animated.createAnimatedComponent(IOText);
164
166
 
167
+ const iconButtonColorDefault: ComponentProps<typeof IconButton>["color"] =
168
+ themeType === "dark" ? "contrast" : "neutral";
169
+
165
170
  const iconButtonColor: ComponentProps<typeof IconButton>["color"] =
166
- variant === "neutral" ? "neutral" : "contrast";
171
+ variant === "contrast" ? "contrast" : iconButtonColorDefault;
172
+
167
173
  const titleColor: ColorValue =
168
174
  variant === "neutral"
169
175
  ? IOColors[theme["textHeading-default"]]
170
176
  : IOColors.white;
171
177
 
172
178
  /* Visual attributes when there are transitions between states */
173
- const HEADER_DEFAULT_BG_COLOR: IOColors = "white";
179
+ const HEADER_DEFAULT_BG_COLOR: IOColors = theme["appBackground-primary"];
174
180
 
175
181
  const headerBgColorTransparentState = backgroundColor
176
182
  ? hexToRgba(backgroundColor, 0)
@@ -181,10 +187,12 @@ export const HeaderSecondLevel = ({
181
187
  const headerBgColorSolidState =
182
188
  backgroundColor ?? IOColors[HEADER_DEFAULT_BG_COLOR];
183
189
 
190
+ const borderColorDefault = IOColors[theme["divider-default"]];
191
+
184
192
  const borderColorTransparentState = backgroundColor
185
193
  ? hexToRgba(backgroundColor, 0)
186
- : hexToRgba(IOColors["grey-100"], 0);
187
- const borderColorSolidState = backgroundColor ?? IOColors["grey-100"];
194
+ : hexToRgba(borderColorDefault, 0);
195
+ const borderColorSolidState = backgroundColor ?? borderColorDefault;
188
196
 
189
197
  useLayoutEffect(() => {
190
198
  if (isTitleAccessible) {
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
2
  import { IconButton } from "../buttons";
3
3
 
4
- export type ActionProp = Pick<
4
+ export type HeaderActionProps = Pick<
5
5
  React.ComponentProps<typeof IconButton>,
6
6
  "icon" | "onPress" | "accessibilityLabel" | "accessibilityHint" | "testID"
7
7
  >;
@@ -0,0 +1,2 @@
1
+ export * from "./useFooterActionsMeasurements";
2
+ export * from "./useFooterActionsInlineMeasurements";
@@ -0,0 +1,30 @@
1
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
2
+ import { IOSpacingScale, IOVisualCostants } from "../../../core";
3
+
4
+ /* Extra bottom margin for iPhone bottom handle because
5
+ ButtonLink doesn't have a fixed height */
6
+ const extraSafeAreaMargin: IOSpacingScale = 8;
7
+
8
+ export const useBottomMargins = (
9
+ withSecondaryAction: boolean = false,
10
+ excludeSafeAreaMargins: boolean = false
11
+ ) => {
12
+ const insets = useSafeAreaInsets();
13
+ const needSafeAreaMargin = insets.bottom !== 0;
14
+
15
+ /* Check if the iPhone bottom handle is present.
16
+ If not, or if you don't need safe area insets,
17
+ add a default margin to prevent the button
18
+ from sticking to the bottom. */
19
+ const bottomMargin =
20
+ !needSafeAreaMargin || excludeSafeAreaMargins
21
+ ? IOVisualCostants.appMarginDefault
22
+ : insets.bottom;
23
+
24
+ /* When the secondary action is visible, add extra margin
25
+ to avoid little space from iPhone bottom handle */
26
+ const extraBottomMargin =
27
+ withSecondaryAction && needSafeAreaMargin ? extraSafeAreaMargin : 0;
28
+
29
+ return { bottomMargin, extraBottomMargin };
30
+ };
@@ -0,0 +1,38 @@
1
+ import { useState } from "react";
2
+ import { FooterActionsInlineMeasurements } from "../FooterActionsInline";
3
+
4
+ type UseFooterActionsInlineMeasurementsProps = {
5
+ footerActionsInlineMeasurements: FooterActionsInlineMeasurements;
6
+ handleFooterActionsInlineMeasurements: (
7
+ values: FooterActionsInlineMeasurements
8
+ ) => void;
9
+ };
10
+ /**
11
+ * Custom hook to handle the `FooterActions` measurements
12
+ * @returns
13
+ * - `footerActionsInlineMeasurements`
14
+ * Object containing the `FooterActionsInline` measurements
15
+ * - `handleFooterActionsInlineMeasurements`
16
+ * Function to update the footer actions measurements
17
+ * (to be applied to `onMeasure` prop of `FooterActionsInline`)
18
+ */
19
+ export const useFooterActionsInlineMeasurements =
20
+ (): UseFooterActionsInlineMeasurementsProps => {
21
+ const [
22
+ footerActionsInlineMeasurements,
23
+ setFooterActionsInlineMeasurements
24
+ ] = useState<FooterActionsInlineMeasurements>({
25
+ safeBottomAreaHeight: 0
26
+ });
27
+
28
+ const handleFooterActionsInlineMeasurements = (
29
+ values: FooterActionsInlineMeasurements
30
+ ) => {
31
+ setFooterActionsInlineMeasurements(values);
32
+ };
33
+
34
+ return {
35
+ footerActionsInlineMeasurements,
36
+ handleFooterActionsInlineMeasurements
37
+ };
38
+ };
@@ -0,0 +1,35 @@
1
+ import { useState } from "react";
2
+ import { FooterActionsMeasurements } from "../FooterActions";
3
+
4
+ type UseFooterActionsMeasurementsProps = {
5
+ footerActionsMeasurements: FooterActionsMeasurements;
6
+ handleFooterActionsMeasurements: (values: FooterActionsMeasurements) => void;
7
+ };
8
+ /**
9
+ * Custom hook to handle the `FooterActions` measurements
10
+ * @returns
11
+ * - `footerActionsMeasurements`
12
+ * Object containing the `FooterActions` measurements
13
+ * - `handleFooterActionsMeasurements`
14
+ * Function to update the footer actions measurements
15
+ * (to be applied to `onMeasure` prop of `FooterActions`)
16
+ */
17
+ export const useFooterActionsMeasurements =
18
+ (): UseFooterActionsMeasurementsProps => {
19
+ const [footerActionsMeasurements, setFooterActionsMeasurements] =
20
+ useState<FooterActionsMeasurements>({
21
+ actionBlockHeight: 0,
22
+ safeBottomAreaHeight: 0
23
+ });
24
+
25
+ const handleFooterActionsMeasurements = (
26
+ values: FooterActionsMeasurements
27
+ ) => {
28
+ setFooterActionsMeasurements(values);
29
+ };
30
+
31
+ return {
32
+ footerActionsMeasurements,
33
+ handleFooterActionsMeasurements
34
+ };
35
+ };
@@ -1,4 +1,6 @@
1
1
  export * from "./BlockButtons";
2
+ export * from "./FooterActions";
3
+ export * from "./FooterActionsInline";
2
4
  export * from "./FooterWithButtons";
3
5
  export * from "./ForceScrollDownView";
4
6
  export * from "./GradientBottomActions";
@@ -7,3 +9,4 @@ export * from "./HeaderFirstLevel";
7
9
  export * from "./HeaderSecondLevel";
8
10
  export * from "./ModalBSHeader";
9
11
  export * from "./common";
12
+ export * from "./hooks";
@@ -95,6 +95,7 @@ import PictogramEmailDotCheck from "./svg/PictogramEmailDotCheck";
95
95
  import PictogramEmailDotNotif from "./svg/PictogramEmailDotNotif";
96
96
  import PictogramEnded from "./svg/PictogramEnded";
97
97
  import PictogramEventClose from "./svg/PictogramEventClose";
98
+ import PictogramFingerprint from "./svg/PictogramFingerprint";
98
99
  import PictogramIdea from "./svg/PictogramIdea";
99
100
  import PictogramLostConnection from "./svg/PictogramLostConnection";
100
101
  import PictogramMessage from "./svg/PictogramMessage";
@@ -106,8 +107,10 @@ import PictogramQrCode from "./svg/PictogramQrCode";
106
107
  import PictogramReactivate from "./svg/PictogramReactivate";
107
108
  import PictogramSearchLens from "./svg/PictogramSearchLens";
108
109
  import PictogramSettings from "./svg/PictogramSettings";
110
+ import PictogramSmile from "./svg/PictogramSmile";
109
111
  import PictogramStar from "./svg/PictogramStar";
110
112
  import PictogramTiming from "./svg/PictogramTiming";
113
+ import PictogramWalletDoc from "./svg/PictogramWalletDoc";
111
114
  import { IOPictogramSizeScale, SVGPictogramProps } from "./types";
112
115
 
113
116
  export const IOPictograms = {
@@ -169,6 +172,9 @@ export const IOPictograms = {
169
172
  comunicationProblem: PictogramComunicationProblem,
170
173
  payments: PictogramPayments,
171
174
  workInProgress: PictogramWorkInProgress,
175
+ smile: PictogramSmile,
176
+ fingerprint: PictogramFingerprint,
177
+ walletDoc: PictogramWalletDoc,
172
178
  // Start Objects Pictogram
173
179
  ibanCard: PictogramObjIbanCard,
174
180
  followMessage: PictogramObjFollowMessage,
@@ -196,6 +202,7 @@ type PictogramPalette = {
196
202
  hands: ColorValue;
197
203
  main: ColorValue;
198
204
  secondary: ColorValue;
205
+ tertiary: ColorValue;
199
206
  };
200
207
 
201
208
  export const Pictogram = ({
@@ -223,7 +230,8 @@ export const Pictogram = ({
223
230
  () => ({
224
231
  hands: IOColors[themeObj["pictogram-hands"]],
225
232
  main: IOColors[themeObj["pictogram-tint-main"]],
226
- secondary: IOColors[themeObj["pictogram-tint-secondary"]]
233
+ secondary: IOColors[themeObj["pictogram-tint-secondary"]],
234
+ tertiary: IOColors[themeObj["pictogram-tint-tertiary"]]
227
235
  }),
228
236
  [themeObj]
229
237
  );
@@ -365,7 +373,8 @@ export const PictogramBleed = ({
365
373
  () => ({
366
374
  hands: IOColors[themeObj["pictogram-hands"]],
367
375
  main: IOColors[themeObj["pictogram-tint-main"]],
368
- secondary: IOColors[themeObj["pictogram-tint-secondary"]]
376
+ secondary: IOColors[themeObj["pictogram-tint-secondary"]],
377
+ tertiary: IOColors[themeObj["pictogram-tint-tertiary"]]
369
378
  }),
370
379
  [themeObj]
371
380
  );
@@ -0,0 +1,50 @@
1
+ import React from "react";
2
+ import { Svg, Path } from "react-native-svg";
3
+ import { SVGPictogramProps } from "../types";
4
+
5
+ const PictogramFingerprint = ({
6
+ size,
7
+ colorValues,
8
+ ...props
9
+ }: SVGPictogramProps) => (
10
+ <Svg width={size} height={size} viewBox="0 0 240 240" {...props}>
11
+ <Path
12
+ d="M78.365 84.373a1.251 1.251 0 0 1 -2.233 -0.675L73.183 44.48a1.251 1.251 0 0 1 2.492 -0.191l2.949 39.22a1.2 1.2 0 0 1 -0.267 0.867z"
13
+ fill={colorValues.main}
14
+ />
15
+ <Path
16
+ d="M92.667 89.816a1.245 1.245 0 0 1 -1.6 0.307 1.253 1.253 0 0 1 -0.467 -1.707l20.696 -36.137a1.253 1.253 0 0 1 2.176 1.24L92.773 89.659a1.333 1.333 0 0 1 -0.1 0.149z"
17
+ fill={colorValues.main}
18
+ />
19
+ <Path
20
+ d="m118.32 142.176 23.688 2.641 -25.564 45.852c-2.8 5.024 -9.291 6.591 -14.073 3.4L4.392 128.785A9.853 9.853 0 0 1 2.04 114.579l29.613 -38.553c3.241 -4.216 9.249 -5.107 13.565 -2l50.269 36.129 -5.416 3.632 -9.891 5.992 -6.541 4.14 -4.833 3.925v4.516l1.667 2.025 4.467 1.091 7.849 -3.116 11.248 -4.833 2.367 4.833 1.416 4.7 2.184 0.816 1.091 6.865 4.249 5.125 7.475 3.816s4.291 -0.433 4.949 -0.875c0.659 -0.443 2.724 -2.184 2.724 -2.184l0.984 -3.049 -1.417 -3.816z"
21
+ fill={colorValues.tertiary}
22
+ />
23
+ <Path
24
+ d="M107.304 190.344a5.16 5.16 0 0 1 -2.916 -0.908L8.941 123.244A5.067 5.067 0 0 1 6.8 119.82a5.067 5.067 0 0 1 1.008 -3.908L35.973 79.541a5.115 5.115 0 0 1 6.965 -1.067l47.844 33.237a1.253 1.253 0 0 1 0.316 1.741 1.253 1.253 0 0 1 -1.741 0.317L41.512 80.533a2.62 2.62 0 0 0 -3.565 0.549L9.783 117.437a2.613 2.613 0 0 0 -0.516 2c0.108 0.716 0.5 1.34 1.091 1.749l95.447 66.191a2.587 2.587 0 0 0 2.075 0.4 2.587 2.587 0 0 0 1.692 -1.265l24.372 -43.095a1.247 1.247 0 1 1 2.175 1.224l-24.372 43.095a5.12 5.12 0 0 1 -4.457 2.592z"
25
+ fill={colorValues.main}
26
+ />
27
+ <Path
28
+ d="M73.235 137.051a6.72 6.72 0 0 1 -6.116 -3.875c-1.241 -2.616 -0.708 -5.649 1.341 -7.715 11.907 -11.983 40.504 -19.864 41.712 -20.189q0.136 -0.037 0.275 -0.051c38.72 -4.765 87.581 -21.713 88.072 -21.88l1.292 3.707c-0.492 0.176 -49.619 17.207 -88.739 22.056 -2.125 0.592 -29.055 8.291 -39.829 19.132 -1.057 1.067 -0.991 2.391 -0.573 3.267 0.2 0.424 1.04 1.773 2.857 1.607 8.157 -0.767 20.321 -4.573 31.947 -18.364l3.007 2.533C96 132.085 82.784 136.184 73.893 137.017a5.333 5.333 0 0 1 -0.667 0.033z"
29
+ fill={colorValues.hands}
30
+ />
31
+ <Path
32
+ d="M99.231 139.567c-2.508 -0.832 -4.3 -2.408 -5.175 -4.54 -1.775 -4.3 0.641 -9.324 0.925 -9.883l3.507 1.767 -1.757 -0.884 1.759 0.876c-0.543 1.083 -1.733 4.391 -0.8 6.632 0.44 1.075 1.357 1.825 2.783 2.3l-1.241 3.724z"
33
+ fill={colorValues.hands}
34
+ />
35
+ <Path
36
+ d="M114.813 155.84c-4.167 0 -9.04 -2.324 -13.115 -7.832 -2.859 -3.849 -3.741 -7.624 -2.625 -11.215 2.259 -7.257 12.067 -10.691 12.481 -10.832l1.276 3.716c-0.084 0.025 -8.349 2.933 -10.008 8.291 -0.724 2.349 -0.057 4.875 2.033 7.699 4.567 6.157 10.207 7.341 13.207 5.324 2.467 -1.667 2.567 -5.041 0.267 -8.815l3.359 -2.051c3.933 6.449 2.116 11.74 -1.425 14.124 -1.525 1.024 -3.392 1.583 -5.44 1.591z"
37
+ fill={colorValues.hands}
38
+ />
39
+ <Path
40
+ d="M161.681 145.341c-24.88 0 -47.244 -2.808 -48.993 -3.032l0.5 -3.9c0.8 0.1 81.04 10.157 107.136 -7.565 12.224 -8.307 18.073 -24.005 14.899 -39.987 -3.283 -16.532 -15.132 -28.464 -31.696 -31.905l0.8 -3.849c18.164 3.775 31.153 16.856 34.745 34.987 3.483 17.54 -3.008 34.813 -16.54 44.004 -13.073 8.881 -38.02 11.248 -60.851 11.248"
41
+ fill={colorValues.hands}
42
+ />
43
+ <Path
44
+ d="M96.281 112.72c-0.533 -0.483 -5.157 -4.873 -4.324 -9.299 0.291 -1.557 1.391 -3.699 4.941 -5.073 8.832 -3.408 34.045 2.424 36.887 3.099l-0.908 3.825c-7.4 -1.759 -28.055 -5.783 -34.563 -3.259 -1.5 0.575 -2.333 1.292 -2.492 2.133 -0.341 1.8 1.951 4.608 3.116 5.683l-2.657 2.9z"
45
+ fill={colorValues.hands}
46
+ />
47
+ </Svg>
48
+ );
49
+
50
+ export default PictogramFingerprint;
@@ -0,0 +1,22 @@
1
+ import React from "react";
2
+ import { Svg, Path } from "react-native-svg";
3
+ import { SVGPictogramProps } from "../types";
4
+
5
+ const PictogramSmile = ({ size, colorValues, ...props }: SVGPictogramProps) => (
6
+ <Svg width={size} height={size} viewBox="0 0 240 240" {...props}>
7
+ <Path
8
+ fillRule="evenodd"
9
+ clipRule="evenodd"
10
+ d="M118.373 48.416c-1.925 -0.96 -4.276 -0.203 -5.251 1.693l-3.5 6.799 -0.053 0.121c-8.031 18.679 -12.457 33.252 -14.88 43.209 -1.211 4.979 -1.92 8.801 -2.331 11.405 -0.204 1.303 -0.333 2.3 -0.413 2.984a40 40 0 0 0 -0.103 1.007l-0.005 0.064 -0.001 0.021v0.007l-0.001 0.004s0 0.003 3.896 0.287l-3.896 -0.284 -0.005 0.065 -0.003 0.067c-0.268 6.657 3.584 11.48 7.889 14.44 4.229 2.908 9.444 4.441 13.387 4.441 2.157 0 3.907 -1.723 3.907 -3.848s-1.749 -3.848 -3.907 -3.848c-2.232 0 -5.901 -0.984 -8.913 -3.053 -2.915 -2.004 -4.656 -4.597 -4.557 -7.753a24 24 0 0 1 0.077 -0.747c0.067 -0.581 0.183 -1.476 0.372 -2.676 0.376 -2.4 1.045 -6.016 2.207 -10.789 2.317 -9.523 6.595 -23.652 14.425 -41.88l3.379 -6.564a3.82 3.82 0 0 0 -1.72 -5.172"
11
+ fill={colorValues.hands}
12
+ />
13
+ <Path
14
+ fillRule="evenodd"
15
+ clipRule="evenodd"
16
+ d="M151.184 153.164a3.813 3.813 0 0 1 0.888 5.371l-3.171 -2.248a330.667 330.667 0 0 1 3.168 2.252l-0.012 0.016 -0.024 0.032 -0.077 0.104 -0.273 0.355a45.333 45.333 0 0 1 -1.004 1.223 54.667 54.667 0 0 1 -3.749 3.956c-3.217 3.076 -7.952 6.873 -13.881 9.5 -5.969 2.644 -13.221 4.129 -21.285 2.413 -8.056 -1.715 -16.504 -6.535 -25.04 -15.765a3.807 3.807 0 0 1 0.259 -5.435 3.947 3.947 0 0 1 5.52 0.253c7.715 8.344 14.803 12.124 20.912 13.425 6.099 1.297 11.639 0.212 16.429 -1.909 4.829 -2.14 8.824 -5.308 11.644 -8.004a46.667 46.667 0 0 0 3.208 -3.384c0.363 -0.425 0.633 -0.761 0.808 -0.984q0.132 -0.167 0.189 -0.244l0.039 -0.051 0.003 -0.004m5.451 -0.872c-1.751 -1.24 -4.189 -0.851 -5.451 0.872z"
17
+ fill={colorValues.hands}
18
+ />
19
+ </Svg>
20
+ );
21
+
22
+ export default PictogramSmile;
@@ -0,0 +1,44 @@
1
+ import React from "react";
2
+ import { Svg, Path } from "react-native-svg";
3
+ import { SVGPictogramProps } from "../types";
4
+
5
+ const PictogramWalletDoc = ({
6
+ size,
7
+ colorValues,
8
+ ...props
9
+ }: SVGPictogramProps) => (
10
+ <Svg width={size} height={size} viewBox="0 0 240 240" fill="none" {...props}>
11
+ <Path
12
+ d="M84.112 141.587H75.08a5.821 5.821 0 0 1 -5.821 -5.821V28.785a5.821 5.821 0 0 1 5.821 -5.821h157.832a5.82 5.82 0 0 1 5.82 5.821v105.511a5.82 5.82 0 0 1 -5.82 5.821H131.904l-3.093 -5.619 -7.291 -6.521 -8.288 -2.096 -8.067 0.22 -10.384 5.415 -10.661 10.053z"
13
+ fill={colorValues.tertiary}
14
+ />
15
+ <Path
16
+ d="m56.485 164.693 -3.625 3.48a0.48 0.48 0 0 0 -0.152 0.355 0.533 0.533 0 0 0 0.144 0.364l2.763 2.881a0.533 0.533 0 0 0 0.363 0.152c0.127 0 0.253 -0.051 0.356 -0.144l42.115 -40.392c1.333 -0.641 10.501 -4.807 19.017 -1.841 5.28 1.833 9.469 6.083 12.453 12.631 -0.06 1.267 -0.449 4.891 -2.957 6.235 -3.347 1.791 -10.207 -0.659 -18.807 -6.708a0.493 0.493 0 0 0 -0.38 -0.084 0.52 0.52 0 0 0 -0.329 0.211l-2.289 3.261a0.507 0.507 0 0 0 -0.085 0.38c0.027 0.135 0.101 0.253 0.212 0.329 10.831 7.62 18.704 9.919 24.069 7.012 5.761 -3.117 5.584 -10.899 5.576 -11.228a2.533 2.533 0 0 0 -0.212 -0.912c-3.573 -8.161 -8.837 -13.493 -15.637 -15.84 -11.38 -3.937 -22.785 2.053 -23.267 2.307a2.667 2.667 0 0 0 -0.549 0.396l-35.145 33.7 -18.324 -16.804a0.507 0.507 0 0 0 -0.719 0.035l-2.695 2.94a0.511 0.511 0 0 0 0.025 0.717l18.088 16.584z"
17
+ fill={colorValues.hands}
18
+ />
19
+ <Path
20
+ d="M172.657 139.923a0.507 0.507 0 0 0 -0.464 -0.304l-4.191 0.041a0.507 0.507 0 0 0 -0.423 0.229 0.52 0.52 0 0 0 -0.041 0.481c0.971 2.239 1.985 6.048 1.165 7.527 -0.727 1.319 -2.383 1.767 -2.821 1.859h-0.304c-0.863 0 -1.699 0.025 -2.544 0.051 1.783 -3.835 0.929 -7.755 -0.515 -9.917a0.573 0.573 0 0 0 -0.44 -0.229l-4.131 0.119a0.493 0.493 0 0 0 -0.448 0.339 0.547 0.547 0 0 0 0.144 0.557c0.271 0.253 1.267 2.297 1.14 4.713 -0.101 1.969 -0.904 3.616 -2.373 4.9 -30.127 3.532 -50.184 24.019 -66.591 40.781 -9.267 9.469 -17.267 17.648 -25.049 20.697 -11.168 4.368 -26.891 -7.197 -38.127 -17.665 -12.621 -11.768 -22.447 -24.804 -22.54 -24.939a0.493 0.493 0 0 0 -0.339 -0.195 0.533 0.533 0 0 0 -0.38 0.093l-3.185 2.391a0.507 0.507 0 0 0 -0.101 0.709c1.395 1.859 34.411 45.528 59.503 45.528 2.475 0 4.824 -0.431 6.987 -1.276 8.777 -3.439 17.124 -11.971 26.807 -21.864 17.352 -17.733 38.947 -39.808 72.173 -39.808h0.491c0.16 0 0.244 0 0.363 -0.025 0.187 -0.025 4.512 -0.643 6.607 -4.368 1.555 -2.763 1.42 -6.277 -0.397 -10.443z"
21
+ fill={colorValues.hands}
22
+ />
23
+ <Path
24
+ d="M210.591 65.864a4.093 4.093 0 0 1 -3.184 -1.512l-14.929 -18.248c-2.069 -2.535 -2.331 -6.083 -0.649 -8.829a10.76 10.76 0 0 1 9.225 -5.169 10.8 10.8 0 0 1 9.537 5.736c1.825 -3.413 5.416 -5.736 9.539 -5.736a10.76 10.76 0 0 1 9.225 5.169c1.681 2.747 1.42 6.295 -0.651 8.829l-14.928 18.248a4.107 4.107 0 0 1 -3.185 1.512M201.053 34.64a8.213 8.213 0 0 0 -7.063 3.961c-1.124 1.825 -0.939 4.2 0.447 5.897l14.929 18.248c0.599 0.735 1.849 0.744 2.449 0l14.928 -18.248c1.395 -1.699 1.572 -4.072 0.448 -5.897a8.24 8.24 0 0 0 -7.063 -3.961 8.28 8.28 0 0 0 -8.271 8.271h-2.535a8.28 8.28 0 0 0 -8.271 -8.271"
25
+ fill={colorValues.main}
26
+ />
27
+ <Path
28
+ d="M238.732 109.619H69.251a1.267 1.267 0 0 1 -1.267 -1.267 1.267 1.267 0 0 1 1.267 -1.268h169.481a1.267 1.267 0 1 1 0 2.533"
29
+ fill={colorValues.main}
30
+ />
31
+ <Path
32
+ d="M85.023 61.876h55.573a3.364 3.364 0 0 1 3.364 3.364v2.204a3.364 3.364 0 0 1 -3.364 3.364h-55.573a3.364 3.364 0 0 1 -3.364 -3.364V65.24a3.364 3.364 0 0 1 3.364 -3.364Z"
33
+ stroke={colorValues.main}
34
+ strokeWidth={2.6666666666666665}
35
+ />
36
+ <Path
37
+ d="M85.023 80.436h92.104a3.364 3.364 0 0 1 3.364 3.364v2.205a3.364 3.364 0 0 1 -3.364 3.364H85.023a3.364 3.364 0 0 1 -3.364 -3.364V83.8a3.364 3.364 0 0 1 3.364 -3.364Z"
38
+ stroke={colorValues.main}
39
+ strokeWidth={2.6666666666666665}
40
+ />
41
+ </Svg>
42
+ );
43
+
44
+ export default PictogramWalletDoc;
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 240 240" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M78.365 84.373a1.251 1.251 0 0 1 -2.233 -0.675L73.183 44.48a1.251 1.251 0 0 1 2.492 -0.191l2.949 39.22a1.2 1.2 0 0 1 -0.267 0.867z" fill="#AAEEEF"/><path d="M92.667 89.816a1.245 1.245 0 0 1 -1.6 0.307 1.253 1.253 0 0 1 -0.467 -1.707l20.696 -36.137a1.253 1.253 0 0 1 2.176 1.24L92.773 89.659a1.333 1.333 0 0 1 -0.1 0.149z" fill="#AAEEEF"/><path d="m118.32 142.176 23.688 2.641 -25.564 45.852c-2.8 5.024 -9.291 6.591 -14.073 3.4L4.392 128.785A9.853 9.853 0 0 1 2.04 114.579l29.613 -38.553c3.241 -4.216 9.249 -5.107 13.565 -2l50.269 36.129 -5.416 3.632 -9.891 5.992 -6.541 4.14 -4.833 3.925v4.516l1.667 2.025 4.467 1.091 7.849 -3.116 11.248 -4.833 2.367 4.833 1.416 4.7 2.184 0.816 1.091 6.865 4.249 5.125 7.475 3.816s4.291 -0.433 4.949 -0.875c0.659 -0.443 2.724 -2.184 2.724 -2.184l0.984 -3.049 -1.417 -3.816z" fill="#3C65E9"/><path d="M107.304 190.344a5.16 5.16 0 0 1 -2.916 -0.908L8.941 123.244A5.067 5.067 0 0 1 6.8 119.82a5.067 5.067 0 0 1 1.008 -3.908L35.973 79.541a5.115 5.115 0 0 1 6.965 -1.067l47.844 33.237a1.253 1.253 0 0 1 0.316 1.741 1.253 1.253 0 0 1 -1.741 0.317L41.512 80.533a2.62 2.62 0 0 0 -3.565 0.549L9.783 117.437a2.613 2.613 0 0 0 -0.516 2c0.108 0.716 0.5 1.34 1.091 1.749l95.447 66.191a2.587 2.587 0 0 0 2.075 0.4 2.587 2.587 0 0 0 1.692 -1.265l24.372 -43.095a1.247 1.247 0 1 1 2.175 1.224l-24.372 43.095a5.12 5.12 0 0 1 -4.457 2.592z" fill="#AAEEEF"/><path d="M73.235 137.051a6.72 6.72 0 0 1 -6.116 -3.875c-1.241 -2.616 -0.708 -5.649 1.341 -7.715 11.907 -11.983 40.504 -19.864 41.712 -20.189q0.136 -0.037 0.275 -0.051c38.72 -4.765 87.581 -21.713 88.072 -21.88l1.292 3.707c-0.492 0.176 -49.619 17.207 -88.739 22.056 -2.125 0.592 -29.055 8.291 -39.829 19.132 -1.057 1.067 -0.991 2.391 -0.573 3.267 0.2 0.424 1.04 1.773 2.857 1.607 8.157 -0.767 20.321 -4.573 31.947 -18.364l3.007 2.533C96 132.085 82.784 136.184 73.893 137.017a5.333 5.333 0 0 1 -0.667 0.033z" fill="white"/><path d="M99.231 139.567c-2.508 -0.832 -4.3 -2.408 -5.175 -4.54 -1.775 -4.3 0.641 -9.324 0.925 -9.883l3.507 1.767 -1.757 -0.884 1.759 0.876c-0.543 1.083 -1.733 4.391 -0.8 6.632 0.44 1.075 1.357 1.825 2.783 2.3l-1.241 3.724z" fill="white"/><path d="M114.813 155.84c-4.167 0 -9.04 -2.324 -13.115 -7.832 -2.859 -3.849 -3.741 -7.624 -2.625 -11.215 2.259 -7.257 12.067 -10.691 12.481 -10.832l1.276 3.716c-0.084 0.025 -8.349 2.933 -10.008 8.291 -0.724 2.349 -0.057 4.875 2.033 7.699 4.567 6.157 10.207 7.341 13.207 5.324 2.467 -1.667 2.567 -5.041 0.267 -8.815l3.359 -2.051c3.933 6.449 2.116 11.74 -1.425 14.124 -1.525 1.024 -3.392 1.583 -5.44 1.591z" fill="white"/><path d="M161.681 145.341c-24.88 0 -47.244 -2.808 -48.993 -3.032l0.5 -3.9c0.8 0.1 81.04 10.157 107.136 -7.565 12.224 -8.307 18.073 -24.005 14.899 -39.987 -3.283 -16.532 -15.132 -28.464 -31.696 -31.905l0.8 -3.849c18.164 3.775 31.153 16.856 34.745 34.987 3.483 17.54 -3.008 34.813 -16.54 44.004 -13.073 8.881 -38.02 11.248 -60.851 11.248" fill="white"/><path d="M96.281 112.72c-0.533 -0.483 -5.157 -4.873 -4.324 -9.299 0.291 -1.557 1.391 -3.699 4.941 -5.073 8.832 -3.408 34.045 2.424 36.887 3.099l-0.908 3.825c-7.4 -1.759 -28.055 -5.783 -34.563 -3.259 -1.5 0.575 -2.333 1.292 -2.492 2.133 -0.341 1.8 1.951 4.608 3.116 5.683l-2.657 2.9z" fill="white"/></svg>
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 240 240" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M118.373 48.416c-1.925 -0.96 -4.276 -0.203 -5.251 1.693l-3.5 6.799 -0.053 0.121c-8.031 18.679 -12.457 33.252 -14.88 43.209 -1.211 4.979 -1.92 8.801 -2.331 11.405 -0.204 1.303 -0.333 2.3 -0.413 2.984a40 40 0 0 0 -0.103 1.007l-0.005 0.064 -0.001 0.021v0.007l-0.001 0.004s0 0.003 3.896 0.287l-3.896 -0.284 -0.005 0.065 -0.003 0.067c-0.268 6.657 3.584 11.48 7.889 14.44 4.229 2.908 9.444 4.441 13.387 4.441 2.157 0 3.907 -1.723 3.907 -3.848s-1.749 -3.848 -3.907 -3.848c-2.232 0 -5.901 -0.984 -8.913 -3.053 -2.915 -2.004 -4.656 -4.597 -4.557 -7.753a24 24 0 0 1 0.077 -0.747c0.067 -0.581 0.183 -1.476 0.372 -2.676 0.376 -2.4 1.045 -6.016 2.207 -10.789 2.317 -9.523 6.595 -23.652 14.425 -41.88l3.379 -6.564a3.82 3.82 0 0 0 -1.72 -5.172" fill="white"/><path fill-rule="evenodd" clip-rule="evenodd" d="M151.184 153.164a3.813 3.813 0 0 1 0.888 5.371l-3.171 -2.248a330.667 330.667 0 0 1 3.168 2.252l-0.012 0.016 -0.024 0.032 -0.077 0.104 -0.273 0.355a45.333 45.333 0 0 1 -1.004 1.223 54.667 54.667 0 0 1 -3.749 3.956c-3.217 3.076 -7.952 6.873 -13.881 9.5 -5.969 2.644 -13.221 4.129 -21.285 2.413 -8.056 -1.715 -16.504 -6.535 -25.04 -15.765a3.807 3.807 0 0 1 0.259 -5.435 3.947 3.947 0 0 1 5.52 0.253c7.715 8.344 14.803 12.124 20.912 13.425 6.099 1.297 11.639 0.212 16.429 -1.909 4.829 -2.14 8.824 -5.308 11.644 -8.004a46.667 46.667 0 0 0 3.208 -3.384c0.363 -0.425 0.633 -0.761 0.808 -0.984q0.132 -0.167 0.189 -0.244l0.039 -0.051 0.003 -0.004m5.451 -0.872c-1.751 -1.24 -4.189 -0.851 -5.451 0.872z" fill="white"/></svg>
@@ -0,0 +1 @@
1
+ <svg viewBox="0 0 240 240" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M84.112 141.587H75.08a5.821 5.821 0 0 1 -5.821 -5.821V28.785a5.821 5.821 0 0 1 5.821 -5.821h157.832a5.82 5.82 0 0 1 5.82 5.821v105.511a5.82 5.82 0 0 1 -5.82 5.821H131.904l-3.093 -5.619 -7.291 -6.521 -8.288 -2.096 -8.067 0.22 -10.384 5.415 -10.661 10.053z" fill="#3C65E9"/><path d="m56.485 164.693 -3.625 3.48a0.48 0.48 0 0 0 -0.152 0.355 0.533 0.533 0 0 0 0.144 0.364l2.763 2.881a0.533 0.533 0 0 0 0.363 0.152c0.127 0 0.253 -0.051 0.356 -0.144l42.115 -40.392c1.333 -0.641 10.501 -4.807 19.017 -1.841 5.28 1.833 9.469 6.083 12.453 12.631 -0.06 1.267 -0.449 4.891 -2.957 6.235 -3.347 1.791 -10.207 -0.659 -18.807 -6.708a0.493 0.493 0 0 0 -0.38 -0.084 0.52 0.52 0 0 0 -0.329 0.211l-2.289 3.261a0.507 0.507 0 0 0 -0.085 0.38c0.027 0.135 0.101 0.253 0.212 0.329 10.831 7.62 18.704 9.919 24.069 7.012 5.761 -3.117 5.584 -10.899 5.576 -11.228a2.533 2.533 0 0 0 -0.212 -0.912c-3.573 -8.161 -8.837 -13.493 -15.637 -15.84 -11.38 -3.937 -22.785 2.053 -23.267 2.307a2.667 2.667 0 0 0 -0.549 0.396l-35.145 33.7 -18.324 -16.804a0.507 0.507 0 0 0 -0.719 0.035l-2.695 2.94a0.511 0.511 0 0 0 0.025 0.717l18.088 16.584z" fill="white"/><path d="M172.657 139.923a0.507 0.507 0 0 0 -0.464 -0.304l-4.191 0.041a0.507 0.507 0 0 0 -0.423 0.229 0.52 0.52 0 0 0 -0.041 0.481c0.971 2.239 1.985 6.048 1.165 7.527 -0.727 1.319 -2.383 1.767 -2.821 1.859h-0.304c-0.863 0 -1.699 0.025 -2.544 0.051 1.783 -3.835 0.929 -7.755 -0.515 -9.917a0.573 0.573 0 0 0 -0.44 -0.229l-4.131 0.119a0.493 0.493 0 0 0 -0.448 0.339 0.547 0.547 0 0 0 0.144 0.557c0.271 0.253 1.267 2.297 1.14 4.713 -0.101 1.969 -0.904 3.616 -2.373 4.9 -30.127 3.532 -50.184 24.019 -66.591 40.781 -9.267 9.469 -17.267 17.648 -25.049 20.697 -11.168 4.368 -26.891 -7.197 -38.127 -17.665 -12.621 -11.768 -22.447 -24.804 -22.54 -24.939a0.493 0.493 0 0 0 -0.339 -0.195 0.533 0.533 0 0 0 -0.38 0.093l-3.185 2.391a0.507 0.507 0 0 0 -0.101 0.709c1.395 1.859 34.411 45.528 59.503 45.528 2.475 0 4.824 -0.431 6.987 -1.276 8.777 -3.439 17.124 -11.971 26.807 -21.864 17.352 -17.733 38.947 -39.808 72.173 -39.808h0.491c0.16 0 0.244 0 0.363 -0.025 0.187 -0.025 4.512 -0.643 6.607 -4.368 1.555 -2.763 1.42 -6.277 -0.397 -10.443z" fill="white"/><path d="M210.591 65.864a4.093 4.093 0 0 1 -3.184 -1.512l-14.929 -18.248c-2.069 -2.535 -2.331 -6.083 -0.649 -8.829a10.76 10.76 0 0 1 9.225 -5.169 10.8 10.8 0 0 1 9.537 5.736c1.825 -3.413 5.416 -5.736 9.539 -5.736a10.76 10.76 0 0 1 9.225 5.169c1.681 2.747 1.42 6.295 -0.651 8.829l-14.928 18.248a4.107 4.107 0 0 1 -3.185 1.512M201.053 34.64a8.213 8.213 0 0 0 -7.063 3.961c-1.124 1.825 -0.939 4.2 0.447 5.897l14.929 18.248c0.599 0.735 1.849 0.744 2.449 0l14.928 -18.248c1.395 -1.699 1.572 -4.072 0.448 -5.897a8.24 8.24 0 0 0 -7.063 -3.961 8.28 8.28 0 0 0 -8.271 8.271h-2.535a8.28 8.28 0 0 0 -8.271 -8.271" fill="#AAEEEF"/><path d="M238.732 109.619H69.251a1.267 1.267 0 0 1 -1.267 -1.267 1.267 1.267 0 0 1 1.267 -1.268h169.481a1.267 1.267 0 1 1 0 2.533" fill="#AAEEEF"/><path d="M85.023 61.876h55.573a3.364 3.364 0 0 1 3.364 3.364v2.204a3.364 3.364 0 0 1 -3.364 3.364h-55.573a3.364 3.364 0 0 1 -3.364 -3.364V65.24a3.364 3.364 0 0 1 3.364 -3.364Z" stroke="#AAEEEF" stroke-width="2.6666666666666665"/><path d="M85.023 80.436h92.104a3.364 3.364 0 0 1 3.364 3.364v2.205a3.364 3.364 0 0 1 -3.364 3.364H85.023a3.364 3.364 0 0 1 -3.364 -3.364V83.8a3.364 3.364 0 0 1 3.364 -3.364Z" stroke="#AAEEEF" stroke-width="2.6666666666666665"/></svg>
@@ -277,14 +277,17 @@ const themeKeys = [
277
277
  "icon-default",
278
278
  "icon-decorative",
279
279
  // Layout
280
+ "divider-header",
280
281
  "divider-default",
282
+ "divider-bottomBar",
281
283
  // Status
282
284
  "errorIcon",
283
285
  "errorText",
284
286
  // Pictograms
285
287
  "pictogram-hands",
286
288
  "pictogram-tint-main",
287
- "pictogram-tint-secondary"
289
+ "pictogram-tint-secondary",
290
+ "pictogram-tint-tertiary"
288
291
  ] as const;
289
292
 
290
293
  export type IOTheme = {
@@ -312,14 +315,17 @@ export const IOThemeLight: IOTheme = {
312
315
  "icon-default": "grey-650",
313
316
  "icon-decorative": "grey-300",
314
317
  // Layout
318
+ "divider-header": "grey-100",
315
319
  "divider-default": "grey-200",
320
+ "divider-bottomBar": "grey-200",
316
321
  // Status
317
322
  errorIcon: "error-600",
318
323
  errorText: "error-600",
319
324
  // Pictograms
320
325
  "pictogram-hands": "blueIO-500",
321
326
  "pictogram-tint-main": "turquoise-150",
322
- "pictogram-tint-secondary": "turquoise-500"
327
+ "pictogram-tint-secondary": "turquoise-500",
328
+ "pictogram-tint-tertiary": "blueIO-400"
323
329
  };
324
330
 
325
331
  export const IOThemeLightLegacy: IOTheme = {
@@ -349,7 +355,9 @@ export const IOThemeDark: IOTheme = {
349
355
  "cardBorder-default": "grey-850",
350
356
  "icon-default": "grey-450",
351
357
  // Layout
358
+ "divider-header": "grey-850",
352
359
  "divider-default": "grey-850",
360
+ "divider-bottomBar": "grey-850",
353
361
  // Status
354
362
  errorIcon: "error-400",
355
363
  errorText: "error-400",
@@ -49,3 +49,17 @@ export const IOModuleIDPHSpacing: IOModuleIDPSpacing = 16;
49
49
  export const IOModuleIDPVSpacing: IOModuleIDPSpacing = 16;
50
50
  export const IOModuleIDPSavedVSpacing: IOModuleIDPSpacing = 24;
51
51
  export const IOListItemLogoMargin: IOModuleIDPSpacing = 8;
52
+
53
+ /*
54
+ ░░░ SPACING CONSTANTS ░░░
55
+ */
56
+
57
+ const spacingConstantKeys = ["screenEndMargin"] as const;
58
+
59
+ export type IOSpacingConstants = {
60
+ [K in (typeof spacingConstantKeys)[number]]: IOSpacingScale;
61
+ };
62
+
63
+ export const IOSpacing = {
64
+ screenEndMargin: 32
65
+ } as const satisfies IOSpacingConstants;
package/src/core/index.ts CHANGED
@@ -4,6 +4,5 @@ export * from "./IOTransitions";
4
4
  export * from "./IOStyles";
5
5
  export * from "./IOShapes";
6
6
  export * from "./IOSpacing";
7
- export * from "./IOStyleVariables";
8
7
  export * from "./IODSExperimentalContextProvider";
9
8
  export * from "./IOThemeContextProvider";
@@ -1,14 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.IOStyleVariables = void 0;
7
- /**
8
- * A collection of default style variables used within IO App.
9
- */
10
- const IOStyleVariables = {
11
- switchWidth: 51
12
- };
13
- exports.IOStyleVariables = IOStyleVariables;
14
- //# sourceMappingURL=IOStyleVariables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["IOStyleVariables","switchWidth","exports"],"sourceRoot":"../../../src","sources":["core/IOStyleVariables.ts"],"mappings":";;;;;;AAAA;AACA;AACA;AACO,MAAMA,gBAAgB,GAAG;EAC9BC,WAAW,EAAE;AACf,CAAC;AAACC,OAAA,CAAAF,gBAAA,GAAAA,gBAAA"}
@@ -1,7 +0,0 @@
1
- /**
2
- * A collection of default style variables used within IO App.
3
- */
4
- export const IOStyleVariables = {
5
- switchWidth: 51
6
- };
7
- //# sourceMappingURL=IOStyleVariables.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["IOStyleVariables","switchWidth"],"sourceRoot":"../../../src","sources":["core/IOStyleVariables.ts"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,MAAMA,gBAAgB,GAAG;EAC9BC,WAAW,EAAE;AACf,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * A collection of default style variables used within IO App.
3
- */
4
- export declare const IOStyleVariables: {
5
- switchWidth: number;
6
- };
7
- //# sourceMappingURL=IOStyleVariables.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"IOStyleVariables.d.ts","sourceRoot":"","sources":["../../../src/core/IOStyleVariables.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,gBAAgB;;CAE5B,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * A collection of default style variables used within IO App.
3
- */
4
- export const IOStyleVariables = {
5
- switchWidth: 51
6
- };