@pagopa/io-app-design-system 4.5.6 → 4.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/lib/commonjs/components/accordion/AccordionItem.js +20 -56
  2. package/lib/commonjs/components/accordion/AccordionItem.js.map +1 -1
  3. package/lib/commonjs/components/claimsSelector/ClaimsSelector.js +119 -0
  4. package/lib/commonjs/components/claimsSelector/ClaimsSelector.js.map +1 -0
  5. package/lib/commonjs/components/claimsSelector/__test__/ClaimsSelector.test.js +46 -0
  6. package/lib/commonjs/components/claimsSelector/__test__/ClaimsSelector.test.js.map +1 -0
  7. package/lib/commonjs/components/claimsSelector/__test__/__snapshots__/ClaimsSelector.test.tsx.snap +1270 -0
  8. package/lib/commonjs/components/claimsSelector/index.js +17 -0
  9. package/lib/commonjs/components/claimsSelector/index.js.map +1 -0
  10. package/lib/commonjs/components/index.js +11 -0
  11. package/lib/commonjs/components/index.js.map +1 -1
  12. package/lib/commonjs/components/listitems/ListItemInfo.js +6 -2
  13. package/lib/commonjs/components/listitems/ListItemInfo.js.map +1 -1
  14. package/lib/commonjs/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +10 -0
  15. package/lib/commonjs/components/textInput/TextInputValidation.js +19 -7
  16. package/lib/commonjs/components/textInput/TextInputValidation.js.map +1 -1
  17. package/lib/commonjs/components/typography/markdown/MdH1.js +1 -2
  18. package/lib/commonjs/components/typography/markdown/MdH1.js.map +1 -1
  19. package/lib/commonjs/components/typography/markdown/MdH2.js +2 -2
  20. package/lib/commonjs/components/typography/markdown/MdH2.js.map +1 -1
  21. package/lib/commonjs/components/typography/markdown/MdH3.js +2 -2
  22. package/lib/commonjs/components/typography/markdown/MdH3.js.map +1 -1
  23. package/lib/commonjs/core/IOColors.js +1 -1
  24. package/lib/commonjs/hooks/useAccordionAnimation.js +83 -0
  25. package/lib/commonjs/hooks/useAccordionAnimation.js.map +1 -0
  26. package/lib/commonjs/index.js +11 -0
  27. package/lib/commonjs/index.js.map +1 -1
  28. package/lib/module/components/accordion/AccordionItem.js +19 -52
  29. package/lib/module/components/accordion/AccordionItem.js.map +1 -1
  30. package/lib/module/components/claimsSelector/ClaimsSelector.js +109 -0
  31. package/lib/module/components/claimsSelector/ClaimsSelector.js.map +1 -0
  32. package/lib/module/components/claimsSelector/__test__/ClaimsSelector.test.js +41 -0
  33. package/lib/module/components/claimsSelector/__test__/ClaimsSelector.test.js.map +1 -0
  34. package/lib/module/components/claimsSelector/__test__/__snapshots__/ClaimsSelector.test.tsx.snap +1270 -0
  35. package/lib/module/components/claimsSelector/index.js +2 -0
  36. package/lib/module/components/claimsSelector/index.js.map +1 -0
  37. package/lib/module/components/index.js +1 -0
  38. package/lib/module/components/index.js.map +1 -1
  39. package/lib/module/components/listitems/ListItemInfo.js +6 -2
  40. package/lib/module/components/listitems/ListItemInfo.js.map +1 -1
  41. package/lib/module/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +10 -0
  42. package/lib/module/components/textInput/TextInputValidation.js +20 -8
  43. package/lib/module/components/textInput/TextInputValidation.js.map +1 -1
  44. package/lib/module/components/typography/markdown/MdH1.js +1 -2
  45. package/lib/module/components/typography/markdown/MdH1.js.map +1 -1
  46. package/lib/module/components/typography/markdown/MdH2.js +2 -2
  47. package/lib/module/components/typography/markdown/MdH2.js.map +1 -1
  48. package/lib/module/components/typography/markdown/MdH3.js +2 -2
  49. package/lib/module/components/typography/markdown/MdH3.js.map +1 -1
  50. package/lib/module/core/IOColors.js +1 -1
  51. package/lib/module/hooks/useAccordionAnimation.js +76 -0
  52. package/lib/module/hooks/useAccordionAnimation.js.map +1 -0
  53. package/lib/module/index.js +1 -0
  54. package/lib/module/index.js.map +1 -1
  55. package/lib/typescript/components/accordion/AccordionItem.d.ts +0 -6
  56. package/lib/typescript/components/accordion/AccordionItem.d.ts.map +1 -1
  57. package/lib/typescript/components/claimsSelector/ClaimsSelector.d.ts +42 -0
  58. package/lib/typescript/components/claimsSelector/ClaimsSelector.d.ts.map +1 -0
  59. package/lib/typescript/components/claimsSelector/__test__/ClaimsSelector.test.d.ts +2 -0
  60. package/lib/typescript/components/claimsSelector/__test__/ClaimsSelector.test.d.ts.map +1 -0
  61. package/lib/typescript/components/claimsSelector/index.d.ts +2 -0
  62. package/lib/typescript/components/claimsSelector/index.d.ts.map +1 -0
  63. package/lib/typescript/components/index.d.ts +1 -0
  64. package/lib/typescript/components/index.d.ts.map +1 -1
  65. package/lib/typescript/components/listitems/ListItemInfo.d.ts +2 -1
  66. package/lib/typescript/components/listitems/ListItemInfo.d.ts.map +1 -1
  67. package/lib/typescript/components/textInput/TextInputValidation.d.ts +31 -4
  68. package/lib/typescript/components/textInput/TextInputValidation.d.ts.map +1 -1
  69. package/lib/typescript/components/typography/markdown/MdH1.d.ts.map +1 -1
  70. package/lib/typescript/hooks/useAccordionAnimation.d.ts +41 -0
  71. package/lib/typescript/hooks/useAccordionAnimation.d.ts.map +1 -0
  72. package/lib/typescript/index.d.ts +1 -0
  73. package/lib/typescript/index.d.ts.map +1 -1
  74. package/package.json +1 -1
  75. package/src/components/accordion/AccordionItem.tsx +21 -82
  76. package/src/components/claimsSelector/ClaimsSelector.tsx +185 -0
  77. package/src/components/claimsSelector/__test__/ClaimsSelector.test.tsx +55 -0
  78. package/src/components/claimsSelector/__test__/__snapshots__/ClaimsSelector.test.tsx.snap +1270 -0
  79. package/src/components/claimsSelector/index.tsx +1 -0
  80. package/src/components/index.tsx +1 -0
  81. package/src/components/listitems/ListItemInfo.tsx +7 -2
  82. package/src/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +10 -0
  83. package/src/components/textInput/TextInputValidation.tsx +140 -97
  84. package/src/components/typography/markdown/MdH1.tsx +1 -2
  85. package/src/components/typography/markdown/MdH2.tsx +2 -2
  86. package/src/components/typography/markdown/MdH3.tsx +2 -2
  87. package/src/core/IOColors.ts +1 -1
  88. package/src/hooks/useAccordionAnimation.tsx +106 -0
  89. package/src/index.tsx +1 -0
@@ -1,10 +1,10 @@
1
- import React, { useState } from "react";
1
+ import React from "react";
2
2
  import { StyleSheet, TouchableWithoutFeedback, View } from "react-native";
3
3
  import LinearGradient from "react-native-linear-gradient";
4
- import Animated, { useAnimatedStyle, withSpring } from "react-native-reanimated";
4
+ import Animated from "react-native-reanimated";
5
5
  import { IOAccordionRadius, IOStyles, useIOTheme } from "../../core";
6
- import { IOSpringValues } from "../../core/IOAnimations";
7
6
  import { IOColors, hexToRgba } from "../../core/IOColors";
7
+ import { useAccordionAnimation } from "../../hooks/useAccordionAnimation";
8
8
  import { Icon } from "../icons/Icon";
9
9
  import { Body, H6 } from "../typography";
10
10
  const accordionBodySpacing = 16;
@@ -13,33 +13,6 @@ const accordionChevronMargin = 8;
13
13
 
14
14
  // Icon size
15
15
  const iconSize = 24;
16
-
17
- /* The code below is a re-adaptation of Dima Portenko's code:
18
- https://github.com/dimaportenko/reanimated-collapsable-card-tutorial
19
- */
20
- export const AccordionBody = ({
21
- children,
22
- expanded
23
- }) => {
24
- const [height, setHeight] = useState(0);
25
- const onLayout = event => {
26
- const {
27
- height: onLayoutHeight
28
- } = event.nativeEvent.layout;
29
- if (onLayoutHeight > 0 && height !== onLayoutHeight) {
30
- setHeight(onLayoutHeight);
31
- }
32
- };
33
- const animatedHeightStyle = useAnimatedStyle(() => ({
34
- height: expanded ? withSpring(height, IOSpringValues.accordion) : withSpring(0, IOSpringValues.accordion)
35
- }), [expanded]);
36
- return /*#__PURE__*/React.createElement(Animated.View, {
37
- style: [animatedHeightStyle, styles.accordionCollapsableContainer]
38
- }, /*#__PURE__*/React.createElement(View, {
39
- style: styles.accordionBodyContainer,
40
- onLayout: onLayout
41
- }, children));
42
- };
43
16
  export const AccordionItem = ({
44
17
  title,
45
18
  accessibilityLabel,
@@ -47,20 +20,19 @@ export const AccordionItem = ({
47
20
  icon
48
21
  }) => {
49
22
  const theme = useIOTheme();
50
- const [expanded, setExpanded] = useState(false);
23
+ const {
24
+ expanded,
25
+ toggleAccordion,
26
+ onBodyLayout,
27
+ iconAnimatedStyle,
28
+ bodyAnimatedStyle,
29
+ bodyInnerStyle
30
+ } = useAccordionAnimation();
51
31
 
52
32
  // Visual attributes
53
33
  const accordionBackground = theme["appBackground-primary"];
54
34
  const accordionBorder = theme["cardBorder-default"];
55
35
  const accordionIconColor = theme["icon-decorative"];
56
- const onItemPress = () => {
57
- setExpanded(!expanded);
58
- };
59
- const animatedChevron = useAnimatedStyle(() => ({
60
- transform: [{
61
- rotate: expanded ? withSpring(`180deg`, IOSpringValues.accordion) : withSpring(`0deg`, IOSpringValues.accordion)
62
- }]
63
- }), [expanded]);
64
36
  return /*#__PURE__*/React.createElement(View, {
65
37
  style: [styles.accordionWrapper, {
66
38
  backgroundColor: IOColors[accordionBackground],
@@ -73,7 +45,7 @@ export const AccordionItem = ({
73
45
  expanded
74
46
  },
75
47
  accessibilityLabel: accessibilityLabel ?? title,
76
- onPress: onItemPress
48
+ onPress: toggleAccordion
77
49
  }, /*#__PURE__*/React.createElement(View, {
78
50
  style: styles.textContainer
79
51
  }, /*#__PURE__*/React.createElement(View, {
@@ -98,13 +70,16 @@ export const AccordionItem = ({
98
70
  }, /*#__PURE__*/React.createElement(H6, {
99
71
  color: theme["textBody-default"]
100
72
  }, title))), /*#__PURE__*/React.createElement(Animated.View, {
101
- style: animatedChevron
73
+ style: iconAnimatedStyle
102
74
  }, /*#__PURE__*/React.createElement(Icon, {
103
75
  name: "chevronBottom",
104
76
  color: theme["interactiveElem-default"]
105
- })))), /*#__PURE__*/React.createElement(AccordionBody, {
106
- expanded: expanded
107
- }, typeof body === "string" ? /*#__PURE__*/React.createElement(Body, null, body) : body), /*#__PURE__*/React.createElement(LinearGradient, {
77
+ })))), /*#__PURE__*/React.createElement(Animated.View, {
78
+ style: bodyAnimatedStyle
79
+ }, /*#__PURE__*/React.createElement(View, {
80
+ style: bodyInnerStyle,
81
+ onLayout: onBodyLayout
82
+ }, typeof body === "string" ? /*#__PURE__*/React.createElement(Body, null, body) : body)), /*#__PURE__*/React.createElement(LinearGradient, {
108
83
  style: {
109
84
  height: accordionBodySpacing,
110
85
  position: "absolute",
@@ -123,14 +98,6 @@ const styles = StyleSheet.create({
123
98
  borderRadius: IOAccordionRadius,
124
99
  borderCurve: "continuous"
125
100
  },
126
- accordionCollapsableContainer: {
127
- overflow: "hidden"
128
- },
129
- accordionBodyContainer: {
130
- position: "absolute",
131
- padding: accordionBodySpacing,
132
- paddingTop: 0
133
- },
134
101
  textContainer: {
135
102
  padding: accordionBodySpacing,
136
103
  flexDirection: "row",
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","StyleSheet","TouchableWithoutFeedback","View","LinearGradient","Animated","useAnimatedStyle","withSpring","IOAccordionRadius","IOStyles","useIOTheme","IOSpringValues","IOColors","hexToRgba","Icon","Body","H6","accordionBodySpacing","accordionIconMargin","accordionChevronMargin","iconSize","AccordionBody","children","expanded","height","setHeight","onLayout","event","onLayoutHeight","nativeEvent","layout","animatedHeightStyle","accordion","createElement","style","styles","accordionCollapsableContainer","accordionBodyContainer","AccordionItem","title","accessibilityLabel","body","icon","theme","setExpanded","accordionBackground","accordionBorder","accordionIconColor","onItemPress","animatedChevron","transform","rotate","accordionWrapper","backgroundColor","borderColor","accessible","accessibilityRole","accessibilityState","onPress","textContainer","row","alignCenter","flexShrink","marginRight","name","size","color","accessibilityElementsHidden","importantForAccessibility","position","bottom","left","right","colors","create","borderWidth","borderRadius","borderCurve","overflow","padding","paddingTop","flexDirection","alignItems","justifyContent"],"sourceRoot":"../../../../src","sources":["components/accordion/AccordionItem.tsx"],"mappings":"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"}
1
+ {"version":3,"names":["React","StyleSheet","TouchableWithoutFeedback","View","LinearGradient","Animated","IOAccordionRadius","IOStyles","useIOTheme","IOColors","hexToRgba","useAccordionAnimation","Icon","Body","H6","accordionBodySpacing","accordionIconMargin","accordionChevronMargin","iconSize","AccordionItem","title","accessibilityLabel","body","icon","theme","expanded","toggleAccordion","onBodyLayout","iconAnimatedStyle","bodyAnimatedStyle","bodyInnerStyle","accordionBackground","accordionBorder","accordionIconColor","createElement","style","styles","accordionWrapper","backgroundColor","borderColor","accessible","accessibilityRole","accessibilityState","onPress","textContainer","row","alignCenter","flexShrink","marginRight","name","size","color","accessibilityElementsHidden","importantForAccessibility","onLayout","height","position","bottom","left","right","colors","create","borderWidth","borderRadius","borderCurve","padding","flexDirection","alignItems","justifyContent"],"sourceRoot":"../../../../src","sources":["components/accordion/AccordionItem.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,wBAAwB,EAAEC,IAAI,QAAQ,cAAc;AACzE,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SACEC,iBAAiB,EACjBC,QAAQ,EACRC,UAAU,QAEL,YAAY;AACnB,SAASC,QAAQ,EAAEC,SAAS,QAAQ,qBAAqB;AACzD,SAASC,qBAAqB,QAAQ,mCAAmC;AACzE,SAAmCC,IAAI,QAAQ,eAAe;AAC9D,SAASC,IAAI,EAAEC,EAAE,QAAQ,eAAe;AASxC,MAAMC,oBAAoC,GAAG,EAAE;AAC/C,MAAMC,mBAAmC,GAAG,EAAE;AAC9C,MAAMC,sBAAsC,GAAG,CAAC;;AAEhD;AACA,MAAMC,QAAyB,GAAG,EAAE;AAEpC,OAAO,MAAMC,aAAa,GAAGA,CAAC;EAC5BC,KAAK;EACLC,kBAAkB;EAClBC,IAAI;EACJC;AACa,CAAC,KAAK;EACnB,MAAMC,KAAK,GAAGhB,UAAU,CAAC,CAAC;EAE1B,MAAM;IACJiB,QAAQ;IACRC,eAAe;IACfC,YAAY;IACZC,iBAAiB;IACjBC,iBAAiB;IACjBC;EACF,CAAC,GAAGnB,qBAAqB,CAAC,CAAC;;EAE3B;EACA,MAAMoB,mBAA6B,GAAGP,KAAK,CAAC,uBAAuB,CAAC;EACpE,MAAMQ,eAAyB,GAAGR,KAAK,CAAC,oBAAoB,CAAC;EAC7D,MAAMS,kBAA4B,GAAGT,KAAK,CAAC,iBAAiB,CAAC;EAE7D,oBACExB,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IACHgC,KAAK,EAAE,CACLC,MAAM,CAACC,gBAAgB,EACvB;MACEC,eAAe,EAAE7B,QAAQ,CAACsB,mBAAmB,CAAC;MAC9CQ,WAAW,EAAE9B,QAAQ,CAACuB,eAAe;IACvC,CAAC;EACD,gBAEFhC,KAAA,CAAAkC,aAAA,CAAChC,wBAAwB;IACvBsC,UAAU,EAAE,IAAK;IACjBC,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE;MAAEjB;IAAS,CAAE;IACjCJ,kBAAkB,EAAEA,kBAAkB,IAAID,KAAM;IAChDuB,OAAO,EAAEjB;EAAgB,gBAEzB1B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEC,MAAM,CAACQ;EAAc,gBAChC5C,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IACHgC,KAAK,EAAE,CACL5B,QAAQ,CAACsC,GAAG,EACZtC,QAAQ,CAACuC,WAAW,EACpB;MACEC,UAAU,EAAE,CAAC;MACbC,WAAW,EAAE/B;IACf,CAAC;EACD,GAEDM,IAAI,iBACHvB,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAE;MAAEa,WAAW,EAAEhC;IAAoB;EAAE,gBAChDhB,KAAA,CAAAkC,aAAA,CAACtB,IAAI;IAACqC,IAAI,EAAE1B,IAAK;IAAC2B,IAAI,EAAEhC,QAAS;IAACiC,KAAK,EAAElB;EAAmB,CAAE,CAC1D,CACP,eACDjC,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IACHgC,KAAK,EAAE;MAAEY,UAAU,EAAE;IAAE,CAAE;IACzBK,2BAA2B;IAC3BC,yBAAyB,EAAC;EAAqB,gBAE/CrD,KAAA,CAAAkC,aAAA,CAACpB,EAAE;IAACqC,KAAK,EAAE3B,KAAK,CAAC,kBAAkB;EAAE,GAAEJ,KAAU,CAC7C,CACF,CAAC,eACPpB,KAAA,CAAAkC,aAAA,CAAC7B,QAAQ,CAACF,IAAI;IAACgC,KAAK,EAAEP;EAAkB,gBACtC5B,KAAA,CAAAkC,aAAA,CAACtB,IAAI;IACHqC,IAAI,EAAC,eAAe;IACpBE,KAAK,EAAE3B,KAAK,CAAC,yBAAyB;EAAE,CACzC,CACY,CACX,CACkB,CAAC,eAE3BxB,KAAA,CAAAkC,aAAA,CAAC7B,QAAQ,CAACF,IAAI;IAACgC,KAAK,EAAEN;EAAkB,gBACtC7B,KAAA,CAAAkC,aAAA,CAAC/B,IAAI;IAACgC,KAAK,EAAEL,cAAe;IAACwB,QAAQ,EAAE3B;EAAa,GACjD,OAAOL,IAAI,KAAK,QAAQ,gBAAGtB,KAAA,CAAAkC,aAAA,CAACrB,IAAI,QAAES,IAAW,CAAC,GAAGA,IAC9C,CACO,CAAC,eAIhBtB,KAAA,CAAAkC,aAAA,CAAC9B,cAAc;IACb+B,KAAK,EAAE;MACLoB,MAAM,EAAExC,oBAAoB;MAC5ByC,QAAQ,EAAE,UAAU;MACpB;MACAC,MAAM,EAAE,CAAC;MACT;MACAC,IAAI,EAAE3C,oBAAoB;MAC1B4C,KAAK,EAAE5C;IACT,CAAE;IACF6C,MAAM,EAAE,CACNlD,SAAS,CAACD,QAAQ,CAACsB,mBAAmB,CAAC,EAAE,CAAC,CAAC,EAC3CtB,QAAQ,CAACsB,mBAAmB,CAAC;EAC7B,CACH,CACG,CAAC;AAEX,CAAC;AAED,MAAMK,MAAM,GAAGnC,UAAU,CAAC4D,MAAM,CAAC;EAC/BxB,gBAAgB,EAAE;IAChByB,WAAW,EAAE,CAAC;IACdC,YAAY,EAAEzD,iBAAiB;IAC/B0D,WAAW,EAAE;EACf,CAAC;EACDpB,aAAa,EAAE;IACbqB,OAAO,EAAElD,oBAAoB;IAC7BmD,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB;AACF,CAAC,CAAC"}
@@ -0,0 +1,109 @@
1
+ import React, { Fragment } from "react";
2
+ import { StyleSheet, View } from "react-native";
3
+ import Animated from "react-native-reanimated";
4
+ import { TouchableWithoutFeedback } from "react-native-gesture-handler";
5
+ import LinearGradient from "react-native-linear-gradient";
6
+ import { hexToRgba, IOAccordionRadius, IOColors, useIOTheme } from "../../core";
7
+ import { useAccordionAnimation } from "../../hooks/useAccordionAnimation";
8
+ import { Divider } from "../divider";
9
+ import { H6 } from "../typography";
10
+ import { Icon } from "../icons";
11
+ import { ListItemCheckbox, ListItemInfo } from "../listitems";
12
+ const accordionBodySpacing = 16;
13
+ export const ClaimsSelector = ({
14
+ title,
15
+ items,
16
+ defaultExpanded,
17
+ onItemSelected,
18
+ onToggle,
19
+ accessibilityLabel,
20
+ selectedItemIds,
21
+ selectionEnabled = true
22
+ }) => {
23
+ const theme = useIOTheme();
24
+ const {
25
+ expanded,
26
+ toggleAccordion,
27
+ onBodyLayout,
28
+ iconAnimatedStyle,
29
+ bodyAnimatedStyle,
30
+ bodyInnerStyle
31
+ } = useAccordionAnimation({
32
+ defaultExpanded
33
+ });
34
+ const accordionBackground = theme["appBackground-secondary"];
35
+ const accordionBorder = theme["cardBorder-default"];
36
+ const onItemPress = () => {
37
+ toggleAccordion();
38
+ onToggle === null || onToggle === void 0 || onToggle(!expanded);
39
+ };
40
+ const body = items.map((item, index) => /*#__PURE__*/React.createElement(Fragment, {
41
+ key: item.id
42
+ }, index !== 0 && /*#__PURE__*/React.createElement(Divider, null), selectionEnabled ? /*#__PURE__*/React.createElement(ListItemCheckbox, {
43
+ value: item.title,
44
+ description: item.description,
45
+ selected: selectedItemIds === null || selectedItemIds === void 0 ? void 0 : selectedItemIds.includes(item.id),
46
+ onValueChange: onItemSelected ? selected => onItemSelected(item, selected) : undefined
47
+ }) : /*#__PURE__*/React.createElement(ListItemInfo, {
48
+ reversed: true,
49
+ value: item.title,
50
+ label: item.description
51
+ })));
52
+ return /*#__PURE__*/React.createElement(View, {
53
+ style: [styles.accordionWrapper, {
54
+ backgroundColor: IOColors[accordionBackground],
55
+ borderColor: IOColors[accordionBorder]
56
+ }]
57
+ }, /*#__PURE__*/React.createElement(TouchableWithoutFeedback, {
58
+ accessible: true,
59
+ accessibilityRole: "button",
60
+ accessibilityState: {
61
+ expanded
62
+ },
63
+ accessibilityLabel: accessibilityLabel ?? title,
64
+ onPress: onItemPress
65
+ }, /*#__PURE__*/React.createElement(View, {
66
+ style: styles.textContainer
67
+ }, /*#__PURE__*/React.createElement(H6, {
68
+ color: theme["textBody-default"]
69
+ }, title), /*#__PURE__*/React.createElement(Animated.View, {
70
+ style: iconAnimatedStyle
71
+ }, /*#__PURE__*/React.createElement(Icon, {
72
+ name: "chevronBottom",
73
+ color: theme["interactiveElem-default"]
74
+ })))), /*#__PURE__*/React.createElement(Animated.View, {
75
+ style: bodyAnimatedStyle
76
+ }, /*#__PURE__*/React.createElement(View, {
77
+ style: [bodyInnerStyle, styles.bodyInnerContainer],
78
+ onLayout: onBodyLayout
79
+ }, body)), /*#__PURE__*/React.createElement(LinearGradient, {
80
+ style: styles.linearGradient,
81
+ colors: [hexToRgba(IOColors[accordionBackground], 0), IOColors[accordionBackground]]
82
+ }));
83
+ };
84
+ const styles = StyleSheet.create({
85
+ accordionWrapper: {
86
+ borderWidth: 1,
87
+ borderRadius: IOAccordionRadius,
88
+ borderCurve: "continuous"
89
+ },
90
+ textContainer: {
91
+ padding: accordionBodySpacing,
92
+ flexDirection: "row",
93
+ alignItems: "center",
94
+ justifyContent: "space-between"
95
+ },
96
+ bodyInnerContainer: {
97
+ width: "100%"
98
+ },
99
+ linearGradient: {
100
+ height: accordionBodySpacing,
101
+ position: "absolute",
102
+ // Place at the bottom
103
+ bottom: 0,
104
+ // Avoid gradient overlaps with border radius
105
+ left: accordionBodySpacing,
106
+ right: accordionBodySpacing
107
+ }
108
+ });
109
+ //# sourceMappingURL=ClaimsSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Fragment","StyleSheet","View","Animated","TouchableWithoutFeedback","LinearGradient","hexToRgba","IOAccordionRadius","IOColors","useIOTheme","useAccordionAnimation","Divider","H6","Icon","ListItemCheckbox","ListItemInfo","accordionBodySpacing","ClaimsSelector","title","items","defaultExpanded","onItemSelected","onToggle","accessibilityLabel","selectedItemIds","selectionEnabled","theme","expanded","toggleAccordion","onBodyLayout","iconAnimatedStyle","bodyAnimatedStyle","bodyInnerStyle","accordionBackground","accordionBorder","onItemPress","body","map","item","index","createElement","key","id","value","description","selected","includes","onValueChange","undefined","reversed","label","style","styles","accordionWrapper","backgroundColor","borderColor","accessible","accessibilityRole","accessibilityState","onPress","textContainer","color","name","bodyInnerContainer","onLayout","linearGradient","colors","create","borderWidth","borderRadius","borderCurve","padding","flexDirection","alignItems","justifyContent","width","height","position","bottom","left","right"],"sourceRoot":"../../../../src","sources":["components/claimsSelector/ClaimsSelector.tsx"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import React from "react";
2
+ import * as TestRenderer from "react-test-renderer";
3
+ import { ClaimsSelector } from "../ClaimsSelector";
4
+ describe("ClaimsSelector", () => {
5
+ it("ClaimsSelector Snapshot (controlled)", () => {
6
+ const claimsSelector = TestRenderer.create( /*#__PURE__*/React.createElement(ClaimsSelector, {
7
+ title: "Patente di guida",
8
+ selectedItemIds: ["name"],
9
+ items: [{
10
+ id: "name",
11
+ title: "Mario Rossi",
12
+ description: "Nome e cognome"
13
+ }]
14
+ }));
15
+ expect(claimsSelector).toMatchSnapshot();
16
+ });
17
+ it("ClaimsSelector Snapshot (uncontrolled)", () => {
18
+ const claimsSelector = TestRenderer.create( /*#__PURE__*/React.createElement(ClaimsSelector, {
19
+ title: "Patente di guida",
20
+ items: [{
21
+ id: "name",
22
+ title: "Mario Rossi",
23
+ description: "Nome e cognome"
24
+ }]
25
+ }));
26
+ expect(claimsSelector).toMatchSnapshot();
27
+ });
28
+ it("ClaimsSelector Snapshot (unselectable items)", () => {
29
+ const claimsSelector = TestRenderer.create( /*#__PURE__*/React.createElement(ClaimsSelector, {
30
+ title: "Patente di guida",
31
+ selectionEnabled: false,
32
+ items: [{
33
+ id: "name",
34
+ title: "Mario Rossi",
35
+ description: "Nome e cognome"
36
+ }]
37
+ }));
38
+ expect(claimsSelector).toMatchSnapshot();
39
+ });
40
+ });
41
+ //# sourceMappingURL=ClaimsSelector.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TestRenderer","ClaimsSelector","describe","it","claimsSelector","create","createElement","title","selectedItemIds","items","id","description","expect","toMatchSnapshot","selectionEnabled"],"sourceRoot":"../../../../../src","sources":["components/claimsSelector/__test__/ClaimsSelector.test.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,OAAO,KAAKC,YAAY,MAAM,qBAAqB;AACnD,SAASC,cAAc,QAAQ,mBAAmB;AAElDC,QAAQ,CAAC,gBAAgB,EAAE,MAAM;EAC/BC,EAAE,CAAC,sCAAsC,EAAE,MAAM;IAC/C,MAAMC,cAAc,GAAGJ,YAAY,CAACK,MAAM,eACxCN,KAAA,CAAAO,aAAA,CAACL,cAAc;MACbM,KAAK,EAAC,kBAAkB;MACxBC,eAAe,EAAE,CAAC,MAAM,CAAE;MAC1BC,KAAK,EAAE,CACL;QACEC,EAAE,EAAE,MAAM;QACVH,KAAK,EAAE,aAAa;QACpBI,WAAW,EAAE;MACf,CAAC;IACD,CACH,CACH,CAAC;IACDC,MAAM,CAACR,cAAc,CAAC,CAACS,eAAe,CAAC,CAAC;EAC1C,CAAC,CAAC;EAEFV,EAAE,CAAC,wCAAwC,EAAE,MAAM;IACjD,MAAMC,cAAc,GAAGJ,YAAY,CAACK,MAAM,eACxCN,KAAA,CAAAO,aAAA,CAACL,cAAc;MACbM,KAAK,EAAC,kBAAkB;MACxBE,KAAK,EAAE,CACL;QACEC,EAAE,EAAE,MAAM;QACVH,KAAK,EAAE,aAAa;QACpBI,WAAW,EAAE;MACf,CAAC;IACD,CACH,CACH,CAAC;IACDC,MAAM,CAACR,cAAc,CAAC,CAACS,eAAe,CAAC,CAAC;EAC1C,CAAC,CAAC;EAEFV,EAAE,CAAC,8CAA8C,EAAE,MAAM;IACvD,MAAMC,cAAc,GAAGJ,YAAY,CAACK,MAAM,eACxCN,KAAA,CAAAO,aAAA,CAACL,cAAc;MACbM,KAAK,EAAC,kBAAkB;MACxBO,gBAAgB,EAAE,KAAM;MACxBL,KAAK,EAAE,CACL;QACEC,EAAE,EAAE,MAAM;QACVH,KAAK,EAAE,aAAa;QACpBI,WAAW,EAAE;MACf,CAAC;IACD,CACH,CACH,CAAC;IACDC,MAAM,CAACR,cAAc,CAAC,CAACS,eAAe,CAAC,CAAC;EAC1C,CAAC,CAAC;AACJ,CAAC,CAAC"}