@pagopa/io-app-design-system 4.4.7 → 4.5.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.
Files changed (66) hide show
  1. package/lib/commonjs/components/alert/Alert.js.map +1 -1
  2. package/lib/commonjs/components/layout/HeaderFirstLevel.js +35 -15
  3. package/lib/commonjs/components/layout/HeaderFirstLevel.js.map +1 -1
  4. package/lib/commonjs/components/listitems/ListItemInfo.js +47 -13
  5. package/lib/commonjs/components/listitems/ListItemInfo.js.map +1 -1
  6. package/lib/commonjs/components/listitems/PressableListItemBase.js.map +1 -1
  7. package/lib/commonjs/components/modules/PressableModuleBase.js +10 -2
  8. package/lib/commonjs/components/modules/PressableModuleBase.js.map +1 -1
  9. package/lib/commonjs/components/otpInput/OTPInput.js +2 -1
  10. package/lib/commonjs/components/otpInput/OTPInput.js.map +1 -1
  11. package/lib/commonjs/components/textInput/TextInputBase.js +18 -15
  12. package/lib/commonjs/components/textInput/TextInputBase.js.map +1 -1
  13. package/lib/commonjs/components/textInput/TextInputValidation.js +8 -6
  14. package/lib/commonjs/components/textInput/TextInputValidation.js.map +1 -1
  15. package/lib/commonjs/core/IOColors.js +15 -2
  16. package/lib/commonjs/core/IOColors.js.map +1 -1
  17. package/lib/commonjs/core/IOThemeContextProvider.js +12 -7
  18. package/lib/commonjs/core/IOThemeContextProvider.js.map +1 -1
  19. package/lib/module/components/alert/Alert.js.map +1 -1
  20. package/lib/module/components/layout/HeaderFirstLevel.js +37 -17
  21. package/lib/module/components/layout/HeaderFirstLevel.js.map +1 -1
  22. package/lib/module/components/listitems/ListItemInfo.js +48 -15
  23. package/lib/module/components/listitems/ListItemInfo.js.map +1 -1
  24. package/lib/module/components/listitems/PressableListItemBase.js.map +1 -1
  25. package/lib/module/components/modules/PressableModuleBase.js +10 -2
  26. package/lib/module/components/modules/PressableModuleBase.js.map +1 -1
  27. package/lib/module/components/otpInput/OTPInput.js +2 -1
  28. package/lib/module/components/otpInput/OTPInput.js.map +1 -1
  29. package/lib/module/components/textInput/TextInputBase.js +19 -16
  30. package/lib/module/components/textInput/TextInputBase.js.map +1 -1
  31. package/lib/module/components/textInput/TextInputValidation.js +8 -6
  32. package/lib/module/components/textInput/TextInputValidation.js.map +1 -1
  33. package/lib/module/core/IOColors.js +15 -2
  34. package/lib/module/core/IOColors.js.map +1 -1
  35. package/lib/module/core/IOThemeContextProvider.js +14 -8
  36. package/lib/module/core/IOThemeContextProvider.js.map +1 -1
  37. package/lib/typescript/components/alert/Alert.d.ts.map +1 -1
  38. package/lib/typescript/components/layout/HeaderFirstLevel.d.ts +8 -28
  39. package/lib/typescript/components/layout/HeaderFirstLevel.d.ts.map +1 -1
  40. package/lib/typescript/components/listitems/ListItemInfo.d.ts +13 -11
  41. package/lib/typescript/components/listitems/ListItemInfo.d.ts.map +1 -1
  42. package/lib/typescript/components/listitems/PressableListItemBase.d.ts +2 -2
  43. package/lib/typescript/components/listitems/PressableListItemBase.d.ts.map +1 -1
  44. package/lib/typescript/components/modules/PressableModuleBase.d.ts.map +1 -1
  45. package/lib/typescript/components/otpInput/OTPInput.d.ts.map +1 -1
  46. package/lib/typescript/components/textInput/TextInputBase.d.ts +2 -2
  47. package/lib/typescript/components/textInput/TextInputBase.d.ts.map +1 -1
  48. package/lib/typescript/components/textInput/TextInputValidation.d.ts.map +1 -1
  49. package/lib/typescript/components/tooltip/styles.d.ts +2 -2
  50. package/lib/typescript/core/IOColors.d.ts +1 -1
  51. package/lib/typescript/core/IOColors.d.ts.map +1 -1
  52. package/lib/typescript/core/IOStyles.d.ts +2 -2
  53. package/lib/typescript/core/IOThemeContextProvider.d.ts +6 -6
  54. package/lib/typescript/core/IOThemeContextProvider.d.ts.map +1 -1
  55. package/lib/typescript/utils/fonts.d.ts +1 -1
  56. package/package.json +3 -3
  57. package/src/components/alert/Alert.tsx +3 -2
  58. package/src/components/layout/HeaderFirstLevel.tsx +50 -68
  59. package/src/components/listitems/ListItemInfo.tsx +107 -53
  60. package/src/components/listitems/PressableListItemBase.tsx +3 -2
  61. package/src/components/modules/PressableModuleBase.tsx +15 -4
  62. package/src/components/otpInput/OTPInput.tsx +1 -0
  63. package/src/components/textInput/TextInputBase.tsx +28 -16
  64. package/src/components/textInput/TextInputValidation.tsx +18 -10
  65. package/src/core/IOColors.ts +18 -0
  66. package/src/core/IOThemeContextProvider.tsx +27 -15
@@ -1,5 +1,5 @@
1
- import React, { ComponentProps } from "react";
2
- import { AccessibilityRole } from "react-native";
1
+ import React, { ComponentProps, ReactNode } from "react";
2
+ import { AccessibilityRole, Pressable } from "react-native";
3
3
  import { WithTestID } from "../../utils/types";
4
4
  import { Badge } from "../badge";
5
5
  import { ButtonLink, IconButton } from "../buttons";
@@ -18,20 +18,22 @@ type BadgeProps = {
18
18
  componentProps: ComponentProps<typeof Badge>;
19
19
  };
20
20
  type EndElementProps = ButtonLinkActionProps | IconButtonActionProps | BadgeProps;
21
+ type GraphicProps = {
22
+ paymentLogoIcon?: IOLogoPaymentType;
23
+ icon?: never;
24
+ } | {
25
+ paymentLogoIcon?: never;
26
+ icon?: IOIcons;
27
+ };
28
+ type InteractiveProps = Pick<ComponentProps<typeof Pressable>, "onLongPress" | "accessibilityActions" | "onAccessibilityAction">;
21
29
  export type ListItemInfo = WithTestID<{
22
30
  label: string;
23
- value: string | React.ReactNode;
31
+ value: string | ReactNode;
24
32
  numberOfLines?: number;
25
33
  endElement?: EndElementProps;
26
34
  accessibilityLabel?: string;
27
35
  accessibilityRole?: AccessibilityRole;
28
- }> & ({
29
- paymentLogoIcon?: IOLogoPaymentType;
30
- icon?: never;
31
- } | {
32
- icon?: IOIcons;
33
- paymentLogoIcon?: never;
34
- });
35
- export declare const ListItemInfo: ({ label, value, numberOfLines, icon, paymentLogoIcon, endElement, accessibilityLabel, accessibilityRole, testID }: ListItemInfo) => React.JSX.Element;
36
+ }> & GraphicProps & InteractiveProps;
37
+ export declare const ListItemInfo: ({ label, value, numberOfLines, icon, paymentLogoIcon, endElement, accessibilityLabel, accessibilityRole, accessibilityActions, onAccessibilityAction, onLongPress, testID }: ListItemInfo) => React.JSX.Element;
36
38
  export default ListItemInfo;
37
39
  //# sourceMappingURL=ListItemInfo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListItemInfo.d.ts","sourceRoot":"","sources":["../../../../src/components/listitems/ListItemInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAwB,MAAM,OAAO,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAkB,MAAM,cAAc,CAAC;AAQjE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAmB,OAAO,EAAQ,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;CACnD,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;CACnD,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;CAC9C,CAAC;AAEF,KAAK,eAAe,GAChB,qBAAqB,GACrB,qBAAqB,GACrB,UAAU,CAAC;AAEf,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC;IAE7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC,GACA,CACI;IACE,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,GACD;IACE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,eAAe,CAAC,EAAE,KAAK,CAAC;CACzB,CACJ,CAAC;AAIJ,eAAO,MAAM,YAAY,sHAUtB,YAAY,sBA2Gd,CAAC;AAEF,eAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"ListItemInfo.d.ts","sourceRoot":"","sources":["../../../../src/components/listitems/ListItemInfo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,cAAc,EAAE,SAAS,EAAwB,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,iBAAiB,EAAY,SAAS,EAAQ,MAAM,cAAc,CAAC;AAU5E,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAmB,OAAO,EAAQ,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAG7C,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;CACnD,CAAC;AAEF,KAAK,qBAAqB,GAAG;IAC3B,IAAI,EAAE,YAAY,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC,OAAO,UAAU,CAAC,CAAC;CACnD,CAAC;AAEF,KAAK,UAAU,GAAG;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,cAAc,CAAC,OAAO,KAAK,CAAC,CAAC;CAC9C,CAAC;AAEF,KAAK,eAAe,GAChB,qBAAqB,GACrB,qBAAqB,GACrB,UAAU,CAAC;AAEf,KAAK,YAAY,GACb;IACE,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,GACD;IACE,eAAe,CAAC,EAAE,KAAK,CAAC;IACxB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEN,KAAK,gBAAgB,GAAG,IAAI,CAC1B,cAAc,CAAC,OAAO,SAAS,CAAC,EAChC,aAAa,GAAG,sBAAsB,GAAG,uBAAuB,CACjE,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,eAAe,CAAC;IAE7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC,CAAC,GACA,YAAY,GACZ,gBAAgB,CAAC;AAInB,eAAO,MAAM,YAAY,gLAatB,YAAY,sBAqJd,CAAC;AAEF,eAAe,YAAY,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import * as React from "react";
2
- import { PropsWithChildren } from "react";
2
+ import { ComponentProps, PropsWithChildren } from "react";
3
3
  import { Pressable } from "react-native";
4
4
  import { WithTestID } from "../../utils/types";
5
- export type PressableBaseProps = WithTestID<Pick<React.ComponentProps<typeof Pressable>, "onPress" | "accessibilityLabel" | "accessibilityHint" | "accessibilityState" | "accessibilityRole">>;
5
+ export type PressableBaseProps = WithTestID<Pick<ComponentProps<typeof Pressable>, "onPress" | "accessibilityLabel" | "accessibilityHint" | "accessibilityState" | "accessibilityRole">>;
6
6
  export declare const PressableListItemBase: ({ onPress, testID, children, accessibilityRole, ...props }: PropsWithChildren<PressableBaseProps>) => React.JSX.Element;
7
7
  //# sourceMappingURL=PressableListItemBase.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PressableListItemBase.d.ts","sourceRoot":"","sources":["../../../../src/components/listitems/PressableListItemBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,IAAI,CACF,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EACpC,SAAS,GACT,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,CACtB,CACF,CAAC;AAEF,eAAO,MAAM,qBAAqB,+DAM/B,kBAAkB,kBAAkB,CAAC,sBA6BvC,CAAC"}
1
+ {"version":3,"file":"PressableListItemBase.d.ts","sourceRoot":"","sources":["../../../../src/components/listitems/PressableListItemBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,MAAM,MAAM,kBAAkB,GAAG,UAAU,CACzC,IAAI,CACF,cAAc,CAAC,OAAO,SAAS,CAAC,EAC9B,SAAS,GACT,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,mBAAmB,CACtB,CACF,CAAC;AAEF,eAAO,MAAM,qBAAqB,+DAM/B,kBAAkB,kBAAkB,CAAC,sBA8BvC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PressableModuleBase.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/PressableModuleBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C;IACE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,IAAI,CACN,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EACtC,SAAS,GAAG,oBAAoB,GAAG,mBAAmB,CACvD,CACF,CAAC;AAEF,eAAO,MAAM,mBAAmB,2FAO7B,kBAAkB,wBAAwB,CAAC,sBAoC7C,CAAC"}
1
+ {"version":3,"file":"PressableModuleBase.d.ts","sourceRoot":"","sources":["../../../../src/components/modules/PressableModuleBase.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,iBAAiB,EAAe,MAAM,OAAO,CAAC;AACvD,OAAO,EAAyB,SAAS,EAAE,MAAM,cAAc,CAAC;AAUhE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG,UAAU,CAC/C;IACE,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,GAAG,IAAI,CACN,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,EACtC,SAAS,GAAG,oBAAoB,GAAG,mBAAmB,CACvD,CACF,CAAC;AAEF,eAAO,MAAM,mBAAmB,2FAO7B,kBAAkB,wBAAwB,CAAC,sBA8C7C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OTPInput.d.ts","sourceRoot":"","sources":["../../../../src/components/otpInput/OTPInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAML,IAAI,EACL,MAAM,cAAc,CAAC;AAStB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,oEAuIpB,CAAC"}
1
+ {"version":3,"file":"OTPInput.d.ts","sourceRoot":"","sources":["../../../../src/components/otpInput/OTPInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAML,IAAI,EACL,MAAM,cAAc,CAAC;AAStB,KAAK,KAAK,GAAG;IACX,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,oEAwIpB,CAAC"}
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React, { ReactNode } from "react";
2
2
  import { IOColors } from "../../core";
3
3
  import { RNTextInputProps } from "../../utils/textInput";
4
4
  import { InputType, WithTestID } from "../../utils/types";
@@ -14,7 +14,7 @@ type InputTextProps = WithTestID<{
14
14
  inputType?: InputType;
15
15
  status?: InputStatus;
16
16
  icon?: IOIcons;
17
- rightElement?: React.ReactNode;
17
+ rightElement?: ReactNode;
18
18
  counterLimit?: number;
19
19
  bottomMessage?: string;
20
20
  bottomMessageColor?: IOColors;
@@ -1 +1 @@
1
- {"version":3,"file":"TextInputBase.d.ts","sourceRoot":"","sources":["../../../../src/components/textInput/TextInputBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAoBvE,OAAO,EACL,QAAQ,EAKT,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAmB,OAAO,EAAQ,MAAM,UAAU,CAAC;AAI1D,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhE,KAAK,cAAc,GAAG,UAAU,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAoJH,eAAO,MAAM,aAAa,kPAoBvB,cAAc,sBA8RhB,CAAC"}
1
+ {"version":3,"file":"TextInputBase.d.ts","sourceRoot":"","sources":["../../../../src/components/textInput/TextInputBase.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EACZ,SAAS,EAMV,MAAM,OAAO,CAAC;AAoBf,OAAO,EACL,QAAQ,EAKT,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAuB,MAAM,uBAAuB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAmB,OAAO,EAAQ,MAAM,UAAU,CAAC;AAI1D,KAAK,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAEhE,KAAK,cAAc,GAAG,UAAU,CAAC;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,gBAAgB,CAAC;IAClC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB,CAAC,EAAE,QAAQ,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAmJH,eAAO,MAAM,aAAa,kPAoBvB,cAAc,sBAoShB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextInputValidation.d.ts","sourceRoot":"","sources":["../../../../src/components/textInput/TextInputValidation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAW/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,KAAK,wBAAwB,GAAG,IAAI,CAClC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,EAC1C,cAAc,GAAG,QAAQ,GAAG,oBAAoB,GAAG,YAAY,CAChE,GAAG;IACF;;;;OAIG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,qBAAqB,CAAC;IAC/D;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAQF,eAAO,MAAM,mBAAmB,kFAQ7B,wBAAwB,sBA4F1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"TextInputValidation.d.ts","sourceRoot":"","sources":["../../../../src/components/textInput/TextInputValidation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAY/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,MAAM,qBAAqB,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAAC;AAE/E,KAAK,wBAAwB,GAAG,IAAI,CAClC,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,EAC1C,cAAc,GAAG,QAAQ,GAAG,oBAAoB,GAAG,YAAY,CAChE,GAAG;IACF;;;;OAIG;IACH,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,qBAAqB,CAAC;IAC/D;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAcF,eAAO,MAAM,mBAAmB,kFAQ7B,wBAAwB,sBA6F1B,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
@@ -2,8 +2,8 @@ import { ChildrenCoords } from './utils/types';
2
2
  export declare const tooltipStyles: {
3
3
  overlay: {
4
4
  position: "absolute";
5
- width: string;
6
- height: string;
5
+ width: "100%";
6
+ height: "100%";
7
7
  backgroundColor: string;
8
8
  opacity: number;
9
9
  zIndex: number;
@@ -181,7 +181,7 @@ export declare const IOColorsExtra: {
181
181
  "blue-50": string;
182
182
  };
183
183
  export type IOColorsExtra = keyof typeof IOColorsExtra;
184
- declare const themeKeys: readonly ["appBackground-primary", "appBackground-secondary", "appBackground-tertiary", "appBackground-accent", "interactiveElem-default", "interactiveElem-pressed", "listItem-pressed", "textHeading-default", "textHeading-secondary", "textHeading-tertiary", "textBody-default", "textBody-secondary", "textBody-tertiary", "cardBorder-default", "icon-default", "icon-decorative", "divider-header", "divider-default", "divider-bottomBar", "errorIcon", "errorText", "successIcon", "successText", "warningIcon", "infoIcon", "pictogram-hands", "pictogram-tint-main", "pictogram-tint-secondary", "pictogram-tint-tertiary"];
184
+ declare const themeKeys: readonly ["appBackground-primary", "appBackground-secondary", "appBackground-tertiary", "appBackground-accent", "interactiveElem-default", "interactiveElem-pressed", "listItem-pressed", "textHeading-default", "textHeading-secondary", "textHeading-tertiary", "textBody-default", "textBody-secondary", "textBody-tertiary", "cardBorder-default", "textInputBorder-default", "icon-default", "icon-decorative", "textInputBorder-default", "textInputLabel-default", "textInputValue-default", "textInputValue-disabled", "divider-header", "divider-default", "divider-bottomBar", "pdfViewer-background", "errorIcon", "errorText", "successIcon", "successText", "warningIcon", "infoIcon", "pictogram-hands", "pictogram-tint-main", "pictogram-tint-secondary", "pictogram-tint-tertiary"];
185
185
  export type IOTheme = {
186
186
  [K in (typeof themeKeys)[number]]: IOColors;
187
187
  };
@@ -1 +1 @@
1
- {"version":3,"file":"IOColors.d.ts","sourceRoot":"","sources":["../../../src/core/IOColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAyB/D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,QAAQ,CAAC;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;CAgB3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE7D,eAAO,MAAM,sBAAsB,eACrB,gBAAgB,KAC3B,eAAe,qBAAqB,CAAC,CAAC,QAAQ,CAGhD,CAAC;AA0BF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,cAAc,CAAC;AAExD,eAAO,MAAM,eAAe;;;;;;;;;;;CAW1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC;AAE3D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAexB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AAEvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAqBzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAC;AAEzD,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,cAAc,EACd,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CACzD,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,cAAc,EACd,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CACzD,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;CAQzB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AAMvD,QAAA,MAAM,SAAS,ymBAoCL,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG;KACnB,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ;CAC5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OAoC1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAKhC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAmCzB,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;CAiBrC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GACpC,MAAM,OAAO,0BAA0B,CAAC;AAE1C,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,WAAW,CAAC,0BAA0B,CAAC,EACvC,cAAc,CAkBf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAM/E;;;;GAIG;AAEH,eAAO,MAAM,SAAS,YAAa,UAAU,YAAW,MAAM,WAQ7D,CAAC"}
1
+ {"version":3,"file":"IOColors.d.ts","sourceRoot":"","sources":["../../../src/core/IOColors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,cAAc,MAAM,8BAA8B,CAAC;AAyB/D,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4EnB,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,QAAQ,CAAC;AAE7C,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;CAgB3B,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAE7D,eAAO,MAAM,sBAAsB,eACrB,gBAAgB,KAC3B,eAAe,qBAAqB,CAAC,CAAC,QAAQ,CAGhD,CAAC;AA0BF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,cAAc,CAAC;AAExD,eAAO,MAAM,eAAe;;;;;;;;;;;CAW1B,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,eAAe,CAAC;AAE3D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;CAexB,CAAC;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AAEvD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CAqBzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAC;AAEzD,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,cAAc,EACd,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CACzD,CAAC;AACF,MAAM,MAAM,wBAAwB,GAAG,OAAO,CAC5C,cAAc,EACd,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,aAAa,CACzD,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;;;CAQzB,CAAC;AACF,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,aAAa,CAAC;AAMvD,QAAA,MAAM,SAAS,swBA2CL,CAAC;AAEX,MAAM,MAAM,OAAO,GAAG;KACnB,CAAC,IAAI,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,QAAQ;CAC5C,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,OA0C1B,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,OAKhC,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,OAwCzB,CAAC;AAEF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;CAiBrC,CAAC;AAEH,MAAM,MAAM,0BAA0B,GACpC,MAAM,OAAO,0BAA0B,CAAC;AAE1C,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAC5C,WAAW,CAAC,0BAA0B,CAAC,EACvC,cAAc,CAkBf,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,MAAM,OAAO,yBAAyB,CAAC;AAM/E;;;;GAIG;AAEH,eAAO,MAAM,SAAS,YAAa,UAAU,YAAW,MAAM,WAQ7D,CAAC"}
@@ -100,7 +100,7 @@ export declare const IOButtonStyles: {
100
100
  justifyContent: "center";
101
101
  textAlignVertical: "center";
102
102
  borderRadius: number;
103
- borderCurve: string;
103
+ borderCurve: "continuous";
104
104
  paddingHorizontal: number;
105
105
  elevation: number;
106
106
  };
@@ -198,7 +198,7 @@ export declare const IOModuleStyles: {
198
198
  borderWidth: number;
199
199
  borderColor: string;
200
200
  borderRadius: 16 | 6 | 8 | 24;
201
- borderCurve: string;
201
+ borderCurve: "continuous";
202
202
  flexDirection: "row";
203
203
  justifyContent: "space-between";
204
204
  alignItems: "center";
@@ -1,4 +1,5 @@
1
- import React from "react";
1
+ import React, { PropsWithChildren } from "react";
2
+ import { ColorSchemeName } from "react-native";
2
3
  import { IOTheme } from "./IOColors";
3
4
  export declare const IOThemes: {
4
5
  light: IOTheme;
@@ -8,18 +9,17 @@ export declare const legacyIOThemes: {
8
9
  light: IOTheme;
9
10
  dark: IOTheme;
10
11
  };
11
- type IOThemeType = keyof typeof IOThemes;
12
12
  type IOThemeContextType = {
13
- themeType: IOThemeType;
13
+ themeType: ColorSchemeName;
14
14
  theme: IOTheme;
15
- setTheme: (theme: IOThemeType) => void;
15
+ setTheme: (theme: ColorSchemeName) => void;
16
16
  };
17
17
  export declare const IOThemeContext: React.Context<IOThemeContextType>;
18
18
  export declare const useIOThemeContext: () => IOThemeContextType;
19
19
  export declare const useIOTheme: () => IOTheme;
20
20
  type IOThemeContextProviderProps = {
21
- theme?: IOThemeType;
21
+ theme?: ColorSchemeName;
22
22
  };
23
- export declare const IOThemeContextProvider: ({ children, theme }: React.PropsWithChildren<IOThemeContextProviderProps>) => React.JSX.Element;
23
+ export declare const IOThemeContextProvider: ({ children, theme }: PropsWithChildren<IOThemeContextProviderProps>) => React.JSX.Element;
24
24
  export {};
25
25
  //# sourceMappingURL=IOThemeContextProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IOThemeContextProvider.d.ts","sourceRoot":"","sources":["../../../src/core/IOThemeContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkB,MAAM,OAAO,CAAC;AAEvC,OAAO,EACL,OAAO,EAIR,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,QAAQ;;;CAA6C,CAAC;AACnE,eAAO,MAAM,cAAc;;;CAAmD,CAAC;AAC/E,KAAK,WAAW,GAAG,MAAM,OAAO,QAAQ,CAAC;AAEzC,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,WAAW,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;CACxC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAMzD,CAAC;AAEL,eAAO,MAAM,iBAAiB,0BAAyC,CAAC;AAExE,eAAO,MAAM,UAAU,eAAkC,CAAC;AAE1D,KAAK,2BAA2B,GAAG;IACjC,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,sBAAsB,wBAGhC,MAAM,iBAAiB,CAAC,2BAA2B,CAAC,sBAsBtD,CAAC"}
1
+ {"version":3,"file":"IOThemeContextProvider.d.ts","sourceRoot":"","sources":["../../../src/core/IOThemeContextProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAEZ,iBAAiB,EAKlB,MAAM,OAAO,CAAC;AACf,OAAO,EAAc,eAAe,EAAE,MAAM,cAAc,CAAC;AAC3D,OAAO,EACL,OAAO,EAIR,MAAM,YAAY,CAAC;AAGpB,eAAO,MAAM,QAAQ;;;CAA6C,CAAC;AACnE,eAAO,MAAM,cAAc;;;CAAmD,CAAC;AAG/E,KAAK,kBAAkB,GAAG;IACxB,SAAS,EAAE,eAAe,CAAC;IAC3B,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAC5C,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAMzD,CAAC;AAEL,eAAO,MAAM,iBAAiB,0BAAmC,CAAC;AAElE,eAAO,MAAM,UAAU,eAAkC,CAAC;AAE1D,KAAK,2BAA2B,GAAG;IACjC,KAAK,CAAC,EAAE,eAAe,CAAC;CACzB,CAAC;AAEF,eAAO,MAAM,sBAAsB,wBAGhC,kBAAkB,2BAA2B,CAAC,sBA2BhD,CAAC"}
@@ -13,7 +13,7 @@ declare const fonts: {
13
13
  readonly DMMono: string;
14
14
  };
15
15
  export type IOFontFamily = keyof typeof fonts;
16
- declare const allFontSizes: (16 | 12 | 14 | 20 | 22 | 26 | 28 | 32 | 17 | 31 | 35)[];
16
+ declare const allFontSizes: (35 | 16 | 12 | 14 | 20 | 22 | 26 | 28 | 32 | 17 | 31)[];
17
17
  export type IOFontSize = (typeof allFontSizes)[number];
18
18
  declare const weights: readonly ["Thin", "Light", "Regular", "Medium", "Semibold", "Bold", "Black"];
19
19
  export type IOFontWeight = (typeof weights)[number];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pagopa/io-app-design-system",
3
- "version": "4.4.7",
3
+ "version": "4.5.0",
4
4
  "description": "The library defining the core components of the design system of @pagopa/io-app",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -79,7 +79,7 @@
79
79
  "@types/jest": "^28.1.2",
80
80
  "@types/lodash": "^4.14.157",
81
81
  "@types/react": "~17.0.38",
82
- "@types/react-native": "0.71.3",
82
+ "@types/react-native": "0.72.8",
83
83
  "babel-loader": "^9.1.3",
84
84
  "babel-plugin-react-native-web": "^0.19.8",
85
85
  "commitlint": "^17.0.2",
@@ -98,7 +98,7 @@
98
98
  "prettier": "^2.0.5",
99
99
  "react": "18.2.0",
100
100
  "react-dom": "^18.2.0",
101
- "react-native": "0.71.8",
101
+ "react-native": "0.72.8",
102
102
  "react-native-builder-bob": "^0.20.0",
103
103
  "react-native-web": "^0.18.12",
104
104
  "react-native-web-linear-gradient": "^1.1.2",
@@ -5,7 +5,8 @@ import {
5
5
  NativeSyntheticEvent,
6
6
  Pressable,
7
7
  TextLayoutEventData,
8
- View
8
+ View,
9
+ ViewStyle
9
10
  } from "react-native";
10
11
  import Animated from "react-native-reanimated";
11
12
  import { IOVisualCostants, useIOThemeContext } from "../../core";
@@ -136,7 +137,7 @@ export const Alert = forwardRef<View, AlertType>(
136
137
  []
137
138
  );
138
139
 
139
- const paddingDefaultVariant = {
140
+ const paddingDefaultVariant: ViewStyle = {
140
141
  padding,
141
142
  borderRadius: IOAlertRadius * dynamicFontScale * spacingScaleMultiplier,
142
143
  borderCurve: "continuous"
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import { useEffect, useLayoutEffect } from "react";
2
+ import { createRef, useEffect, useLayoutEffect } from "react";
3
3
  import {
4
4
  AccessibilityInfo,
5
5
  findNodeHandle,
@@ -7,7 +7,9 @@ import {
7
7
  View
8
8
  } from "react-native";
9
9
  import Animated, {
10
+ AnimatedRef,
10
11
  useAnimatedStyle,
12
+ useScrollViewOffset,
11
13
  useSharedValue,
12
14
  withTiming
13
15
  } from "react-native-reanimated";
@@ -24,44 +26,15 @@ import { HStack } from "../stack";
24
26
  import { H3 } from "../typography";
25
27
  import { HeaderActionProps } from "./common";
26
28
 
27
- type CommonProps = WithTestID<{
29
+ export type HeaderFirstLevel = WithTestID<{
28
30
  title: string;
29
- // This Prop will be removed once all the screens on the first level routing will be refactored
30
- backgroundColor?: "light" | "dark";
31
- ignoreSafeAreaMargin?: boolean;
32
- }>;
33
-
34
- interface Base extends CommonProps {
35
- type: "base";
36
- firstAction?: never;
37
- secondAction?: never;
38
- thirdAction?: never;
39
- }
40
-
41
- interface OneAction extends CommonProps {
42
- type: "singleAction";
43
- firstAction: HeaderActionProps;
44
- secondAction?: never;
45
- thirdAction?: never;
46
- }
47
-
48
- interface TwoActions extends CommonProps {
49
- type: "twoActions";
50
31
  firstAction: HeaderActionProps;
51
32
  secondAction: HeaderActionProps;
52
- thirdAction?: never;
53
- }
54
-
55
- interface ThreeActions extends CommonProps {
56
- type: "threeActions";
57
- firstAction: HeaderActionProps;
58
- secondAction: HeaderActionProps;
59
- thirdAction: HeaderActionProps;
60
- }
61
-
62
- export type HeaderFirstLevel = Base | OneAction | TwoActions | ThreeActions;
63
-
64
- const HEADER_BG_COLOR_DARK: IOColors = "bluegrey";
33
+ thirdAction?: HeaderActionProps;
34
+ animatedRef?: AnimatedRef<Animated.ScrollView>;
35
+ animatedFlatListRef?: AnimatedRef<Animated.FlatList<any>>;
36
+ ignoreSafeAreaMargin?: boolean;
37
+ }>;
65
38
 
66
39
  const styles = StyleSheet.create({
67
40
  headerInner: {
@@ -71,20 +44,28 @@ const styles = StyleSheet.create({
71
44
  flexDirection: "row",
72
45
  alignItems: "center",
73
46
  justifyContent: "space-between"
47
+ },
48
+ headerDivider: {
49
+ position: "absolute",
50
+ width: "100%",
51
+ height: StyleSheet.hairlineWidth,
52
+ left: 0,
53
+ right: 0,
54
+ bottom: 0
74
55
  }
75
56
  });
76
57
 
77
58
  export const HeaderFirstLevel = ({
78
59
  title,
79
- type,
80
60
  testID,
81
- backgroundColor = "light",
82
- ignoreSafeAreaMargin = false,
83
61
  firstAction,
84
62
  secondAction,
85
- thirdAction
63
+ thirdAction,
64
+ ignoreSafeAreaMargin = false,
65
+ animatedRef,
66
+ animatedFlatListRef
86
67
  }: HeaderFirstLevel) => {
87
- const titleRef = React.createRef<View>();
68
+ const titleRef = createRef<View>();
88
69
  const insets = useSafeAreaInsets();
89
70
  const theme = useIOTheme();
90
71
  const paddingTop = useSharedValue(ignoreSafeAreaMargin ? 0 : insets.top);
@@ -96,6 +77,12 @@ export const HeaderFirstLevel = ({
96
77
  }
97
78
  });
98
79
 
80
+ /* We show the divider only when the header is scrolled down */
81
+ const offset = useScrollViewOffset(
82
+ (animatedRef as AnimatedRef<Animated.ScrollView>) ||
83
+ (animatedFlatListRef as AnimatedRef<Animated.FlatList<any>>)
84
+ );
85
+
99
86
  useEffect(() => {
100
87
  // eslint-disable-next-line functional/immutable-data
101
88
  paddingTop.value = withTiming(
@@ -108,52 +95,47 @@ export const HeaderFirstLevel = ({
108
95
  paddingTop: paddingTop.value
109
96
  }));
110
97
 
98
+ const animatedDivider = useAnimatedStyle(() => ({
99
+ opacity: withTiming(offset.value > 0 ? 1 : 0, { duration: 200 })
100
+ }));
101
+
111
102
  return (
112
103
  <Animated.View
113
104
  style={[
114
- {
115
- backgroundColor:
116
- backgroundColor === "light"
117
- ? IOColors[theme["appBackground-primary"]]
118
- : IOColors[HEADER_BG_COLOR_DARK]
119
- },
105
+ { backgroundColor: IOColors[theme["appBackground-primary"]] },
120
106
  animatedStyle
121
107
  ]}
122
108
  accessibilityRole="header"
123
109
  testID={testID}
124
110
  >
111
+ {/* Divider */}
112
+ {(animatedRef || animatedFlatListRef) && (
113
+ <Animated.View
114
+ style={[
115
+ {
116
+ ...styles.headerDivider,
117
+ backgroundColor: IOColors[theme["divider-default"]]
118
+ },
119
+ animatedDivider
120
+ ]}
121
+ />
122
+ )}
123
+
125
124
  <View style={styles.headerInner}>
126
125
  <View ref={titleRef} accessible accessibilityRole="header">
127
126
  <H3
128
127
  weight="Bold"
129
128
  style={{ flexShrink: 1 }}
130
129
  numberOfLines={1}
131
- color={
132
- backgroundColor === "dark" ? "white" : theme["textBody-default"]
133
- }
130
+ color={theme["textHeading-default"]}
134
131
  >
135
132
  {title}
136
133
  </H3>
137
134
  </View>
138
135
  <HStack space={16} style={{ flexShrink: 0 }}>
139
- {type === "threeActions" && (
140
- <IconButton
141
- {...thirdAction}
142
- color={backgroundColor === "dark" ? "contrast" : "primary"}
143
- />
144
- )}
145
- {(type === "twoActions" || type === "threeActions") && (
146
- <IconButton
147
- {...secondAction}
148
- color={backgroundColor === "dark" ? "contrast" : "primary"}
149
- />
150
- )}
151
- {type !== "base" && (
152
- <IconButton
153
- {...firstAction}
154
- color={backgroundColor === "dark" ? "contrast" : "primary"}
155
- />
156
- )}
136
+ {thirdAction && <IconButton {...thirdAction} color={"primary"} />}
137
+ <IconButton {...secondAction} color={"primary"} />
138
+ <IconButton {...firstAction} color={"primary"} />
157
139
  </HStack>
158
140
  </View>
159
141
  </Animated.View>