@pagopa/io-app-design-system 1.33.0 → 1.34.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 (252) hide show
  1. package/lib/commonjs/components/banner/__test__/__snapshots__/banner.test.tsx.snap +2 -0
  2. package/lib/commonjs/components/buttons/ButtonLink.js +4 -1
  3. package/lib/commonjs/components/buttons/ButtonLink.js.map +1 -1
  4. package/lib/commonjs/components/buttons/ButtonOutline.js +4 -1
  5. package/lib/commonjs/components/buttons/ButtonOutline.js.map +1 -1
  6. package/lib/commonjs/components/buttons/ButtonSolid.js +6 -3
  7. package/lib/commonjs/components/buttons/ButtonSolid.js.map +1 -1
  8. package/lib/commonjs/components/buttons/IconButton.js +4 -1
  9. package/lib/commonjs/components/buttons/IconButton.js.map +1 -1
  10. package/lib/commonjs/components/buttons/IconButtonContained.js +3 -0
  11. package/lib/commonjs/components/buttons/IconButtonContained.js.map +1 -1
  12. package/lib/commonjs/components/buttons/IconButtonSolid.js +3 -0
  13. package/lib/commonjs/components/buttons/IconButtonSolid.js.map +1 -1
  14. package/lib/commonjs/components/buttons/__test__/__snapshots__/button.test.tsx.snap +2 -0
  15. package/lib/commonjs/components/icons/svg/IconCategCulture.js +1 -7
  16. package/lib/commonjs/components/icons/svg/IconCategCulture.js.map +1 -1
  17. package/lib/commonjs/components/icons/svg/IconCategFinance.js +3 -4
  18. package/lib/commonjs/components/icons/svg/IconCategFinance.js.map +1 -1
  19. package/lib/commonjs/components/icons/svg/IconCategHome.js +3 -4
  20. package/lib/commonjs/components/icons/svg/IconCategHome.js.map +1 -1
  21. package/lib/commonjs/components/icons/svg/IconCategJobOffers.js +3 -1
  22. package/lib/commonjs/components/icons/svg/IconCategJobOffers.js.map +1 -1
  23. package/lib/commonjs/components/icons/svg/IconCategLearning.js +3 -1
  24. package/lib/commonjs/components/icons/svg/IconCategLearning.js.map +1 -1
  25. package/lib/commonjs/components/icons/svg/IconCategMobility.js +3 -1
  26. package/lib/commonjs/components/icons/svg/IconCategMobility.js.map +1 -1
  27. package/lib/commonjs/components/icons/svg/IconCategSport.js +1 -1
  28. package/lib/commonjs/components/icons/svg/IconCategSport.js.map +1 -1
  29. package/lib/commonjs/components/icons/svg/IconCategTelco.js +3 -9
  30. package/lib/commonjs/components/icons/svg/IconCategTelco.js.map +1 -1
  31. package/lib/commonjs/components/icons/svg/IconCategTravel.js +1 -6
  32. package/lib/commonjs/components/icons/svg/IconCategTravel.js.map +1 -1
  33. package/lib/commonjs/components/icons/svg/IconCategWellness.js +3 -4
  34. package/lib/commonjs/components/icons/svg/IconCategWellness.js.map +1 -1
  35. package/lib/commonjs/components/icons/svg/originals/IconCategCulture.svg +1 -14
  36. package/lib/commonjs/components/icons/svg/originals/IconCategFinance.svg +1 -10
  37. package/lib/commonjs/components/icons/svg/originals/IconCategHome.svg +1 -10
  38. package/lib/commonjs/components/icons/svg/originals/IconCategJobOffers.svg +1 -6
  39. package/lib/commonjs/components/icons/svg/originals/IconCategLearning.svg +1 -6
  40. package/lib/commonjs/components/icons/svg/originals/IconCategMobility.svg +1 -6
  41. package/lib/commonjs/components/icons/svg/originals/IconCategSport.svg +1 -8
  42. package/lib/commonjs/components/icons/svg/originals/IconCategTelco.svg +1 -13
  43. package/lib/commonjs/components/icons/svg/originals/IconCategTravel.svg +1 -12
  44. package/lib/commonjs/components/icons/svg/originals/IconCategWellness.svg +1 -10
  45. package/lib/commonjs/components/index.js +42 -31
  46. package/lib/commonjs/components/index.js.map +1 -1
  47. package/lib/commonjs/components/listitems/ListItemCheckbox.js +7 -4
  48. package/lib/commonjs/components/listitems/ListItemCheckbox.js.map +1 -1
  49. package/lib/commonjs/components/listitems/ListItemNav.js +5 -0
  50. package/lib/commonjs/components/listitems/ListItemNav.js.map +1 -1
  51. package/lib/commonjs/components/listitems/ListItemRadio.js +4 -3
  52. package/lib/commonjs/components/listitems/ListItemRadio.js.map +1 -1
  53. package/lib/commonjs/components/listitems/ListItemRadioWithAmount.js +23 -9
  54. package/lib/commonjs/components/listitems/ListItemRadioWithAmount.js.map +1 -1
  55. package/lib/commonjs/components/listitems/ListItemSwitch.js +5 -1
  56. package/lib/commonjs/components/listitems/ListItemSwitch.js.map +1 -1
  57. package/lib/commonjs/components/listitems/PressableListItemsBase.js +7 -6
  58. package/lib/commonjs/components/listitems/PressableListItemsBase.js.map +1 -1
  59. package/lib/commonjs/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +8 -8
  60. package/lib/commonjs/components/modules/ModuleAttachment.js +6 -3
  61. package/lib/commonjs/components/modules/ModuleAttachment.js.map +1 -1
  62. package/lib/commonjs/components/modules/ModuleCheckout.js +3 -3
  63. package/lib/commonjs/components/modules/ModuleCheckout.js.map +1 -1
  64. package/lib/commonjs/components/modules/ModuleCredential.js.map +1 -1
  65. package/lib/commonjs/components/modules/PressableModuleBase.js +5 -3
  66. package/lib/commonjs/components/modules/PressableModuleBase.js.map +1 -1
  67. package/lib/commonjs/components/radio/RadioButtonLabel.js +10 -9
  68. package/lib/commonjs/components/radio/RadioButtonLabel.js.map +1 -1
  69. package/lib/commonjs/components/radio/RadioGroup.js +7 -2
  70. package/lib/commonjs/components/radio/RadioGroup.js.map +1 -1
  71. package/lib/commonjs/components/spacer/Spacer.js.map +1 -1
  72. package/lib/commonjs/components/stack/Stack.js +47 -0
  73. package/lib/commonjs/components/stack/Stack.js.map +1 -0
  74. package/lib/commonjs/components/stack/index.js +17 -0
  75. package/lib/commonjs/components/stack/index.js.map +1 -0
  76. package/lib/commonjs/components/tabs/TabItem.js +59 -7
  77. package/lib/commonjs/components/tabs/TabItem.js.map +1 -1
  78. package/lib/commonjs/components/tabs/TabNavigation.js +2 -7
  79. package/lib/commonjs/components/tabs/TabNavigation.js.map +1 -1
  80. package/lib/module/components/banner/__test__/__snapshots__/banner.test.tsx.snap +2 -0
  81. package/lib/module/components/buttons/ButtonLink.js +4 -1
  82. package/lib/module/components/buttons/ButtonLink.js.map +1 -1
  83. package/lib/module/components/buttons/ButtonOutline.js +4 -1
  84. package/lib/module/components/buttons/ButtonOutline.js.map +1 -1
  85. package/lib/module/components/buttons/ButtonSolid.js +6 -3
  86. package/lib/module/components/buttons/ButtonSolid.js.map +1 -1
  87. package/lib/module/components/buttons/IconButton.js +4 -1
  88. package/lib/module/components/buttons/IconButton.js.map +1 -1
  89. package/lib/module/components/buttons/IconButtonContained.js +3 -0
  90. package/lib/module/components/buttons/IconButtonContained.js.map +1 -1
  91. package/lib/module/components/buttons/IconButtonSolid.js +3 -0
  92. package/lib/module/components/buttons/IconButtonSolid.js.map +1 -1
  93. package/lib/module/components/buttons/__test__/__snapshots__/button.test.tsx.snap +2 -0
  94. package/lib/module/components/icons/svg/IconCategCulture.js +1 -7
  95. package/lib/module/components/icons/svg/IconCategCulture.js.map +1 -1
  96. package/lib/module/components/icons/svg/IconCategFinance.js +3 -4
  97. package/lib/module/components/icons/svg/IconCategFinance.js.map +1 -1
  98. package/lib/module/components/icons/svg/IconCategHome.js +3 -4
  99. package/lib/module/components/icons/svg/IconCategHome.js.map +1 -1
  100. package/lib/module/components/icons/svg/IconCategJobOffers.js +3 -1
  101. package/lib/module/components/icons/svg/IconCategJobOffers.js.map +1 -1
  102. package/lib/module/components/icons/svg/IconCategLearning.js +3 -1
  103. package/lib/module/components/icons/svg/IconCategLearning.js.map +1 -1
  104. package/lib/module/components/icons/svg/IconCategMobility.js +3 -1
  105. package/lib/module/components/icons/svg/IconCategMobility.js.map +1 -1
  106. package/lib/module/components/icons/svg/IconCategSport.js +1 -1
  107. package/lib/module/components/icons/svg/IconCategSport.js.map +1 -1
  108. package/lib/module/components/icons/svg/IconCategTelco.js +3 -9
  109. package/lib/module/components/icons/svg/IconCategTelco.js.map +1 -1
  110. package/lib/module/components/icons/svg/IconCategTravel.js +1 -6
  111. package/lib/module/components/icons/svg/IconCategTravel.js.map +1 -1
  112. package/lib/module/components/icons/svg/IconCategWellness.js +3 -4
  113. package/lib/module/components/icons/svg/IconCategWellness.js.map +1 -1
  114. package/lib/module/components/icons/svg/originals/IconCategCulture.svg +1 -14
  115. package/lib/module/components/icons/svg/originals/IconCategFinance.svg +1 -10
  116. package/lib/module/components/icons/svg/originals/IconCategHome.svg +1 -10
  117. package/lib/module/components/icons/svg/originals/IconCategJobOffers.svg +1 -6
  118. package/lib/module/components/icons/svg/originals/IconCategLearning.svg +1 -6
  119. package/lib/module/components/icons/svg/originals/IconCategMobility.svg +1 -6
  120. package/lib/module/components/icons/svg/originals/IconCategSport.svg +1 -8
  121. package/lib/module/components/icons/svg/originals/IconCategTelco.svg +1 -13
  122. package/lib/module/components/icons/svg/originals/IconCategTravel.svg +1 -12
  123. package/lib/module/components/icons/svg/originals/IconCategWellness.svg +1 -10
  124. package/lib/module/components/index.js +5 -4
  125. package/lib/module/components/index.js.map +1 -1
  126. package/lib/module/components/listitems/ListItemCheckbox.js +7 -4
  127. package/lib/module/components/listitems/ListItemCheckbox.js.map +1 -1
  128. package/lib/module/components/listitems/ListItemNav.js +5 -0
  129. package/lib/module/components/listitems/ListItemNav.js.map +1 -1
  130. package/lib/module/components/listitems/ListItemRadio.js +4 -3
  131. package/lib/module/components/listitems/ListItemRadio.js.map +1 -1
  132. package/lib/module/components/listitems/ListItemRadioWithAmount.js +23 -9
  133. package/lib/module/components/listitems/ListItemRadioWithAmount.js.map +1 -1
  134. package/lib/module/components/listitems/ListItemSwitch.js +5 -1
  135. package/lib/module/components/listitems/ListItemSwitch.js.map +1 -1
  136. package/lib/module/components/listitems/PressableListItemsBase.js +7 -6
  137. package/lib/module/components/listitems/PressableListItemsBase.js.map +1 -1
  138. package/lib/module/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +8 -8
  139. package/lib/module/components/modules/ModuleAttachment.js +6 -3
  140. package/lib/module/components/modules/ModuleAttachment.js.map +1 -1
  141. package/lib/module/components/modules/ModuleCheckout.js +3 -3
  142. package/lib/module/components/modules/ModuleCheckout.js.map +1 -1
  143. package/lib/module/components/modules/ModuleCredential.js.map +1 -1
  144. package/lib/module/components/modules/PressableModuleBase.js +5 -3
  145. package/lib/module/components/modules/PressableModuleBase.js.map +1 -1
  146. package/lib/module/components/radio/RadioButtonLabel.js +10 -9
  147. package/lib/module/components/radio/RadioButtonLabel.js.map +1 -1
  148. package/lib/module/components/radio/RadioGroup.js +7 -2
  149. package/lib/module/components/radio/RadioGroup.js.map +1 -1
  150. package/lib/module/components/spacer/Spacer.js.map +1 -1
  151. package/lib/module/components/stack/Stack.js +39 -0
  152. package/lib/module/components/stack/Stack.js.map +1 -0
  153. package/lib/module/components/stack/index.js +2 -0
  154. package/lib/module/components/stack/index.js.map +1 -0
  155. package/lib/module/components/tabs/TabItem.js +60 -7
  156. package/lib/module/components/tabs/TabItem.js.map +1 -1
  157. package/lib/module/components/tabs/TabNavigation.js +2 -7
  158. package/lib/module/components/tabs/TabNavigation.js.map +1 -1
  159. package/lib/typescript/components/buttons/ButtonLink.d.ts.map +1 -1
  160. package/lib/typescript/components/buttons/ButtonOutline.d.ts +4 -10
  161. package/lib/typescript/components/buttons/ButtonOutline.d.ts.map +1 -1
  162. package/lib/typescript/components/buttons/ButtonSolid.d.ts +4 -16
  163. package/lib/typescript/components/buttons/ButtonSolid.d.ts.map +1 -1
  164. package/lib/typescript/components/buttons/IconButton.d.ts.map +1 -1
  165. package/lib/typescript/components/buttons/IconButtonContained.d.ts +1 -1
  166. package/lib/typescript/components/buttons/IconButtonContained.d.ts.map +1 -1
  167. package/lib/typescript/components/buttons/IconButtonSolid.d.ts.map +1 -1
  168. package/lib/typescript/components/icons/svg/IconCategCulture.d.ts.map +1 -1
  169. package/lib/typescript/components/icons/svg/IconCategFinance.d.ts.map +1 -1
  170. package/lib/typescript/components/icons/svg/IconCategHome.d.ts.map +1 -1
  171. package/lib/typescript/components/icons/svg/IconCategJobOffers.d.ts.map +1 -1
  172. package/lib/typescript/components/icons/svg/IconCategLearning.d.ts.map +1 -1
  173. package/lib/typescript/components/icons/svg/IconCategMobility.d.ts.map +1 -1
  174. package/lib/typescript/components/icons/svg/IconCategTelco.d.ts +2 -2
  175. package/lib/typescript/components/icons/svg/IconCategTelco.d.ts.map +1 -1
  176. package/lib/typescript/components/icons/svg/IconCategTravel.d.ts.map +1 -1
  177. package/lib/typescript/components/icons/svg/IconCategWellness.d.ts.map +1 -1
  178. package/lib/typescript/components/index.d.ts +5 -4
  179. package/lib/typescript/components/index.d.ts.map +1 -1
  180. package/lib/typescript/components/listitems/ListItemCheckbox.d.ts +2 -2
  181. package/lib/typescript/components/listitems/ListItemCheckbox.d.ts.map +1 -1
  182. package/lib/typescript/components/listitems/ListItemNav.d.ts +4 -5
  183. package/lib/typescript/components/listitems/ListItemNav.d.ts.map +1 -1
  184. package/lib/typescript/components/listitems/ListItemRadio.d.ts +2 -2
  185. package/lib/typescript/components/listitems/ListItemRadio.d.ts.map +1 -1
  186. package/lib/typescript/components/listitems/ListItemRadioWithAmount.d.ts +4 -2
  187. package/lib/typescript/components/listitems/ListItemRadioWithAmount.d.ts.map +1 -1
  188. package/lib/typescript/components/listitems/ListItemSwitch.d.ts.map +1 -1
  189. package/lib/typescript/components/listitems/PressableListItemsBase.d.ts +3 -5
  190. package/lib/typescript/components/listitems/PressableListItemsBase.d.ts.map +1 -1
  191. package/lib/typescript/components/modules/ModuleCredential.d.ts +1 -1
  192. package/lib/typescript/components/modules/ModuleCredential.d.ts.map +1 -1
  193. package/lib/typescript/components/modules/PressableModuleBase.d.ts +4 -5
  194. package/lib/typescript/components/modules/PressableModuleBase.d.ts.map +1 -1
  195. package/lib/typescript/components/radio/RadioButtonLabel.d.ts +2 -2
  196. package/lib/typescript/components/radio/RadioButtonLabel.d.ts.map +1 -1
  197. package/lib/typescript/components/radio/RadioGroup.d.ts.map +1 -1
  198. package/lib/typescript/components/stack/Stack.d.ts +18 -0
  199. package/lib/typescript/components/stack/Stack.d.ts.map +1 -0
  200. package/lib/typescript/components/stack/index.d.ts +2 -0
  201. package/lib/typescript/components/stack/index.d.ts.map +1 -0
  202. package/lib/typescript/components/tabs/TabItem.d.ts.map +1 -1
  203. package/lib/typescript/components/tabs/TabNavigation.d.ts +1 -1
  204. package/lib/typescript/components/tabs/TabNavigation.d.ts.map +1 -1
  205. package/package.json +1 -1
  206. package/src/components/banner/__test__/__snapshots__/banner.test.tsx.snap +2 -0
  207. package/src/components/buttons/ButtonLink.tsx +2 -1
  208. package/src/components/buttons/ButtonOutline.tsx +18 -15
  209. package/src/components/buttons/ButtonSolid.tsx +33 -30
  210. package/src/components/buttons/IconButton.tsx +1 -0
  211. package/src/components/buttons/IconButtonContained.tsx +2 -1
  212. package/src/components/buttons/IconButtonSolid.tsx +1 -0
  213. package/src/components/buttons/__test__/__snapshots__/button.test.tsx.snap +2 -0
  214. package/src/components/icons/svg/IconCategCulture.tsx +1 -9
  215. package/src/components/icons/svg/IconCategFinance.tsx +3 -5
  216. package/src/components/icons/svg/IconCategHome.tsx +3 -5
  217. package/src/components/icons/svg/IconCategJobOffers.tsx +3 -1
  218. package/src/components/icons/svg/IconCategLearning.tsx +3 -1
  219. package/src/components/icons/svg/IconCategMobility.tsx +3 -1
  220. package/src/components/icons/svg/IconCategSport.tsx +1 -1
  221. package/src/components/icons/svg/IconCategTelco.tsx +3 -8
  222. package/src/components/icons/svg/IconCategTravel.tsx +1 -7
  223. package/src/components/icons/svg/IconCategWellness.tsx +3 -5
  224. package/src/components/icons/svg/originals/IconCategCulture.svg +1 -14
  225. package/src/components/icons/svg/originals/IconCategFinance.svg +1 -10
  226. package/src/components/icons/svg/originals/IconCategHome.svg +1 -10
  227. package/src/components/icons/svg/originals/IconCategJobOffers.svg +1 -6
  228. package/src/components/icons/svg/originals/IconCategLearning.svg +1 -6
  229. package/src/components/icons/svg/originals/IconCategMobility.svg +1 -6
  230. package/src/components/icons/svg/originals/IconCategSport.svg +1 -8
  231. package/src/components/icons/svg/originals/IconCategTelco.svg +1 -13
  232. package/src/components/icons/svg/originals/IconCategTravel.svg +1 -12
  233. package/src/components/icons/svg/originals/IconCategWellness.svg +1 -10
  234. package/src/components/index.tsx +5 -4
  235. package/src/components/listitems/ListItemCheckbox.tsx +12 -6
  236. package/src/components/listitems/ListItemNav.tsx +17 -11
  237. package/src/components/listitems/ListItemRadio.tsx +7 -5
  238. package/src/components/listitems/ListItemRadioWithAmount.tsx +28 -13
  239. package/src/components/listitems/ListItemSwitch.tsx +1 -0
  240. package/src/components/listitems/PressableListItemsBase.tsx +16 -8
  241. package/src/components/listitems/__test__/__snapshots__/listitem.test.tsx.snap +8 -8
  242. package/src/components/modules/ModuleAttachment.tsx +4 -3
  243. package/src/components/modules/ModuleCheckout.tsx +5 -5
  244. package/src/components/modules/ModuleCredential.tsx +1 -1
  245. package/src/components/modules/PressableModuleBase.tsx +16 -10
  246. package/src/components/radio/RadioButtonLabel.tsx +16 -11
  247. package/src/components/radio/RadioGroup.tsx +18 -8
  248. package/src/components/spacer/Spacer.tsx +1 -1
  249. package/src/components/stack/Stack.tsx +41 -0
  250. package/src/components/stack/index.tsx +1 -0
  251. package/src/components/tabs/TabItem.tsx +93 -10
  252. package/src/components/tabs/TabNavigation.tsx +2 -10
@@ -1,8 +1 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
- <path
3
- fill-rule="evenodd"
4
- clip-rule="evenodd"
5
- d="M5.066 14.204c-.908 1.836-1.275 3.846-1.02 5.773a.747.747 0 0 0 .287.496c3.22 2.474 8.112 2.78 12.275.376 4.164-2.404 6.345-6.792 5.813-10.819a.753.753 0 0 0-.287-.497c-1.954-1.5-4.522-2.203-7.17-1.987A6.754 6.754 0 0 0 8.25 1.501a6.753 6.753 0 0 0-6.75 6.75 6.753 6.753 0 0 0 3.566 5.953Zm11.652-5.166 3.424 5.931c-.855 1.816-2.322 3.449-4.284 4.58-1.96 1.133-4.108 1.588-6.109 1.42l-3.424-5.931c.855-1.816 2.323-3.449 4.283-4.581 1.961-1.132 4.11-1.587 6.11-1.42ZM5.676 16.913l2.125 3.68a8.195 8.195 0 0 1-2.302-1.123 8.193 8.193 0 0 1 .177-2.556Zm9.131-3.684-1.3.75-.374-.65a.75.75 0 0 0-1.3.75l.376.65-1.3.75-.374-.65a.75.75 0 0 0-1.3.75l.376.65a.75.75 0 0 0 .75 1.299l.375.65a.75.75 0 0 0 1.299-.75l-.375-.65 1.299-.75.375.65a.75.75 0 0 0 1.299-.75l-.375-.65 1.3-.75.374.65a.75.75 0 0 0 1.3-.75l-.375-.65a.75.75 0 0 0-.75-1.3l-.375-.649a.75.75 0 0 0-1.3.75l.375.65Zm3.86-3.816c.829.257 1.606.633 2.301 1.125.077.848.015 1.709-.177 2.556l-2.125-3.68Zm-7.382-5.445A5.22 5.22 0 0 0 8.25 3a5.22 5.22 0 0 0-3.034.967A6.72 6.72 0 0 1 6.75 8.25a6.72 6.72 0 0 1-1.534 4.283c.192.137.393.261.604.37a12.189 12.189 0 0 1 3.994-3.72 6.72 6.72 0 0 1 1.47-5.216Zm-7.16 1.037A5.226 5.226 0 0 0 3 8.251c0 1.225.421 2.353 1.125 3.246A5.227 5.227 0 0 0 5.25 8.251c0-1.225-.42-2.353-1.125-3.246Zm8.25 0a5.227 5.227 0 0 0-1.12 3.457 12.176 12.176 0 0 1 2.223-.699 5.22 5.22 0 0 0-1.103-2.758Z"
6
- fill="#000"
7
- />
8
- </svg>
1
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M21.9662 11.1717C19.5678 11.5812 17.4122 12.7023 15.7244 14.3102L13.4142 12L19.7071 5.70711C19.7192 5.69506 19.7308 5.68278 19.7421 5.67028C20.9894 7.19409 21.7957 9.09285 21.9662 11.1717ZM23.959 11.0006C23.4511 4.84079 18.2909 0 12 0C5.37258 0 0 5.37258 0 12V12.0001C0 12.3368 0.0138699 12.6703 0.0410685 13H0.0410724C0.549215 19.1595 5.70933 24 12 24C12.0137 24 12.0274 24 12.0411 23.9999C12.0411 24 12.0411 24 12.0411 24C12.7201 23.9977 13.3858 23.9391 14.0338 23.8284C14.0338 23.8284 14.0338 23.8284 14.0338 23.8284C19.3714 22.9171 23.5067 18.4808 23.9589 13.0002C23.984 12.6957 23.9978 12.3881 23.9998 12.0776C23.9999 12.0518 24 12.0259 24 12.0001C24 12 24 12 24 12C24 11.6635 23.9861 11.3301 23.959 11.0006ZM21.9269 13.2152C20.0965 13.6011 18.4506 14.4876 17.1391 15.7249L19.7071 18.2929C19.7192 18.3049 19.7308 18.3172 19.7421 18.3297C20.9116 16.901 21.6934 15.1426 21.9269 13.2152ZM14.3934 15.8076L12 13.4142L5.70711 19.7071C5.69506 19.7192 5.68278 19.7308 5.67028 19.7421C7.3943 21.1533 9.59827 22 12 22C12.0137 22 12.0274 22 12.0411 21.9999C12.2319 19.6879 13.078 17.5617 14.3934 15.8076ZM14.0731 21.7848C14.2765 20.106 14.8958 18.5555 15.8251 17.2393L18.2929 19.7071C18.3049 19.7192 18.3172 19.7308 18.3297 19.7421C17.1159 20.7357 15.6642 21.4494 14.0731 21.7848ZM10.5858 12L4.29289 18.2929C4.28084 18.3049 4.26917 18.3172 4.25786 18.3297C3.01059 16.8059 2.20429 14.9072 2.03382 12.8284C4.43222 12.419 6.58787 11.2978 8.27569 9.6899L10.5858 12ZM6.86097 8.27519C5.5495 9.51245 3.90355 10.399 2.07308 10.7849C2.30655 8.85746 3.08836 7.09905 4.25786 5.67028C4.26917 5.68278 4.28084 5.69506 4.29289 5.70711L6.86097 8.27519ZM12 10.5858L9.60662 8.1924C10.922 6.4383 11.7682 4.31212 11.9589 2.00008L12 2C14.4017 2 16.6057 2.84669 18.3297 4.25786C18.3172 4.26917 18.3049 4.28084 18.2929 4.29289L12 10.5858ZM8.175 6.76078C9.1042 5.44456 9.72356 3.89397 9.92692 2.21516C8.33579 2.55059 6.88408 3.26432 5.67028 4.25786C5.68278 4.26917 5.69506 4.28084 5.70711 4.29289L8.175 6.76078Z" fill="#BBC2D6"/></svg>
@@ -1,13 +1 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
- <path
3
- d="M9.123 20.033c0 .646-.526 1.172-1.172 1.172a1.174 1.174 0 0 1-1.171-1.172c0-.645.526-1.172 1.171-1.172.646 0 1.172.527 1.172 1.172ZM23.291 12a6.998 6.998 0 0 1-8.097 6.902v2.716A2.385 2.385 0 0 1 12.81 24h-9.72A2.385 2.385 0 0 1 .71 21.618V2.382A2.385 2.385 0 0 1 3.092 0h9.72a2.385 2.385 0 0 1 2.382 2.382v2.716A6.998 6.998 0 0 1 23.29 12ZM5.276 1.5l.224.69h4.903l.224-.69H5.276Zm8.418 16.986A7.001 7.001 0 0 1 9.31 12a7.001 7.001 0 0 1 4.384-6.486V2.382a.883.883 0 0 0-.883-.882h-.607l-.543 1.672a.75.75 0 0 1-.713.519H4.955a.75.75 0 0 1-.713-.519L3.698 1.5h-.606a.883.883 0 0 0-.883.882v19.236c0 .486.396.882.883.882h9.72a.883.883 0 0 0 .882-.882v-3.132ZM21.79 12a5.496 5.496 0 0 0-5.49-5.49A5.496 5.496 0 0 0 10.81 12a5.496 5.496 0 0 0 5.49 5.49A5.496 5.496 0 0 0 21.79 12Z"
4
- fill="#000"
5
- />
6
- <path d="M10.595 11.25h11.41v1.5h-11.41v-1.5Z" fill="#000" />
7
- <path
8
- fill-rule="evenodd"
9
- clip-rule="evenodd"
10
- d="m17.635 7.12.007-.004a7.037 7.037 0 0 0-1.241-1.013A6.995 6.995 0 0 0 13.174 12a6.995 6.995 0 0 0 3.227 5.897c.452-.29.868-.63 1.241-1.013a.155.155 0 0 1-.007-.004A6.977 6.977 0 0 0 19.616 12c0-1.898-.755-3.62-1.981-4.88Zm-1.24.884A5.485 5.485 0 0 0 14.675 12c0 1.574.66 2.994 1.72 3.996A5.485 5.485 0 0 0 18.116 12a5.485 5.485 0 0 0-1.72-3.996Z"
11
- fill="#000"
12
- />
13
- </svg>
1
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M9 0C6.23858 0 4 2.23858 4 5V19C4 21.7614 6.23858 24 9 24H15C17.7614 24 20 21.7614 20 19V5C20 2.23858 17.7614 0 15 0H9ZM6 5C6 3.34315 7.34315 2 9 2H15C16.6569 2 18 3.34315 18 5V19C18 20.6569 16.6569 22 15 22H9C7.34315 22 6 20.6569 6 19V5ZM12 20C12.5523 20 13 19.5523 13 19C13 18.4477 12.5523 18 12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20Z" fill="#BBC2D6"/></svg>
@@ -1,12 +1 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
- <path
3
- d="M7.712 11.941a.704.704 0 1 1 0-1.408.704.704 0 0 1 0 1.408ZM9.824 11.237a.704.704 0 1 0 1.408 0 .704.704 0 0 0-1.408 0ZM13.344 11.941a.704.704 0 1 1 0-1.408.704.704 0 0 1 0 1.408ZM15.46 11.234a.704.704 0 1 0 1.409.015.704.704 0 0 0-1.408-.015Z"
4
- fill="#000"
5
- />
6
- <path
7
- fill-rule="evenodd"
8
- clip-rule="evenodd"
9
- d="m.457 12.253 1.512-2.135a5.697 5.697 0 0 1 4.644-2.401h1.198l4.523-4.045a.703.703 0 0 1 .468-.18h4.063c.541-.017.9.645.589 1.09l-2.043 3.135h1.632c.751 0 1.426-.447 1.72-1.14l.722-1.708a2.25 2.25 0 0 1 2.077-1.376h1.735a.703.703 0 0 1 .687.852l-1.753 8.14a4.675 4.675 0 0 1-1.63 2.646 4.684 4.684 0 0 1-2.932 1.035h-1.784l2.046 3.263c.299.446-.06 1.095-.596 1.079h-4.627a.703.703 0 0 1-.493-.202l-3.803-3.739a1.888 1.888 0 0 1-.311-.401H2.484a2.473 2.473 0 0 1-2.207-1.344 2.47 2.47 0 0 1 .18-2.57ZM15.567 4.9H13.07L9.922 7.717h3.81L15.567 4.9Zm-6.17 10.661 3.598 3.537h3.069l-2.722-4.341H9.73c-.442.021-.632.48-.333.804Zm-7.87-1.386c.188.364.546.582.957.582H7.91a1.872 1.872 0 0 1 1.82-1.408h4c.243 0 .467.124.596.33l.676 1.078h2.667a3.263 3.263 0 0 0 3.187-2.569l1.57-7.288h-.864a.847.847 0 0 0-.782.517l-.723 1.709a3.268 3.268 0 0 1-3.014 1.998H6.613c-1.22 0-2.377.522-3.183 1.416l1.49.008a.704.704 0 0 1-.004 1.409h-.004L2.4 11.943l-.795 1.124a1.052 1.052 0 0 0-.078 1.109Z"
10
- fill="#000"
11
- />
12
- </svg>
1
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.348971 12.0644L2.91373 14.1928C3.85392 14.973 4.99406 15.4429 6.21094 15.5517C6.39135 15.5679 6.57148 15.5759 6.75096 15.5759C7.78213 15.5759 8.79093 15.3112 9.6969 14.7992L22.5598 7.53064C23.2199 7.15603 23.6945 6.54682 23.8964 5.81518C24.0983 5.08363 24.0031 4.31716 23.6286 3.65709C22.8639 2.30958 21.1386 1.82313 19.7862 2.57095L15.5589 4.8839L10.0863 3.70223C7.93995 3.22966 5.68432 3.53532 3.73467 4.56268C3.42287 4.72697 3.22956 5.05232 3.23435 5.40476C3.23913 5.75724 3.4412 6.0772 3.75736 6.23296L8.77781 8.70665L6.07824 10.1735L5.53235 9.98628C3.83676 9.40454 1.98733 9.6075 0.458279 10.5434C0.200242 10.7012 0.0342643 10.974 0.012562 11.2758C-0.0090934 11.5775 0.116152 11.8712 0.348971 12.0644ZM4.92399 11.7598L5.85962 12.0808C6.108 12.1659 6.38071 12.1432 6.61142 12.0177L11.2638 9.48966C11.5716 9.32242 11.7605 8.99749 11.7535 8.64721C11.7465 8.29697 11.5448 7.97988 11.2306 7.82501L6.55316 5.5203C7.58015 5.30445 8.649 5.30557 9.68687 5.53408L15.5047 6.79024C15.7249 6.83777 15.9549 6.80449 16.1525 6.6963L20.6898 4.21366C21.1511 3.95872 21.7378 4.12414 21.9979 4.58242C22.1253 4.80684 22.1577 5.0676 22.089 5.3164C22.0203 5.56521 21.8589 5.77243 21.6359 5.89904L8.77448 13.1669C7.29389 14.0035 5.41986 13.836 4.11106 12.7499L2.75108 11.6213C3.46548 11.4728 4.21432 11.5163 4.92399 11.7598ZM23.9991 21.0608C23.9991 21.5786 23.5794 21.9983 23.0616 21.9983H0.937464C0.419703 21.9983 0 21.5786 0 21.0608C0 20.5431 0.419703 20.1234 0.937464 20.1234H23.0616C23.5794 20.1234 23.9991 20.5431 23.9991 21.0608Z" fill="#BBC2D6"/></svg>
@@ -1,10 +1 @@
1
- <svg fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
2
- <path
3
- d="M23.91 17.966c-.845-1.514-2.309-2.736-4.082-3.43.747-1.323 1.208-3.112 1.442-4.22a19.5 19.5 0 0 0 .39-2.702c.08-1.295-.115-1.679-.337-1.9-.237-.238-.605-.344-1.233-.355-.422-.008-.968.028-1.578.104l-.08.01c-.828-2.202-1.342-2.358-1.57-2.428-.387-.117-.866.025-1.656.49-.409.24-.882.56-1.371.926-1.532-1.937-2.122-1.936-3.654 0-.49-.365-.962-.685-1.372-.926-1.626-.908-2.11-.9-3.225 1.939l-.08-.01a11.687 11.687 0 0 0-1.578-.105c-.628.011-.997.117-1.234.354-.705.665-.197 3.313.054 4.603.233 1.107.694 2.892 1.439 4.214-1.78.694-3.244 1.912-4.096 3.436a.703.703 0 0 0 .175.892c3.254 2.636 8.787 1.936 11.497-1.182.158.008.32.008.479 0 2.71 3.119 8.243 3.818 11.496 1.182a.703.703 0 0 0 .175-.892ZM20.267 6.773c.165 1.593-.986 6.768-2.203 7.824-.535.536-1.21.9-1.933 1.065 2.088-2.696 1.259-5.4-.335-8.226a21.4 21.4 0 0 1 2.627-.543c.971-.136 1.556-.14 1.844-.12Zm-3.84-2.294c.127.201.333.588.588 1.227-.67.133-1.34.296-1.964.48a23.934 23.934 0 0 0-.388-.59c.845-.631 1.453-.98 1.763-1.117Zm-8.836 0c.31.138.92.486 1.763 1.118-.13.191-.26.389-.388.59a22.222 22.222 0 0 0-1.963-.48c.256-.64.461-1.027.588-1.228ZM3.75 6.773c.288-.02.873-.016 1.843.12.865.12 1.785.312 2.628.543-1.596 2.829-2.423 5.535-.334 8.228a3.973 3.973 0 0 1-1.935-1.067c-1.219-1.06-2.367-6.236-2.202-7.824ZM6.714 18.94c-1.825.358-3.669.052-5.06-.817.786-1.093 1.993-1.948 3.42-2.419a5.38 5.38 0 0 0 4.552 1.395c.16.083.324.158.492.225-.926.797-2.108 1.362-3.404 1.616Zm1.317-6.902c0-.982.665-2.68 1.78-4.543.372-.623 1.961-2.76 2.197-2.977.236.217 1.825 2.354 2.198 2.977 1.114 1.863 1.779 3.562 1.779 4.543-.222 5.625-7.733 5.625-7.954 0Zm9.255 6.902c-1.294-.254-2.474-.817-3.4-1.612.173-.068.341-.145.505-.23a5.4 5.4 0 0 0 4.546-1.39c1.42.471 2.626 1.329 3.41 2.415-1.393.87-3.236 1.175-5.061.817Z"
4
- fill="#000"
5
- />
6
- <path
7
- d="M13.806 17.93A4.807 4.807 0 0 1 12 21.12a4.806 4.806 0 0 1-1.81-3.23c-.387.314-.823.57-1.294.754a6.22 6.22 0 0 0 2.816 3.98.642.642 0 0 0 .576 0 6.22 6.22 0 0 0 2.812-3.961 4.821 4.821 0 0 1-1.294-.733Z"
8
- fill="#000"
9
- />
10
- </svg>
1
+ <svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M14.4199 11.1224C14.4199 13.5996 13.4741 15.8525 11.9199 17.5451C10.3657 15.8525 9.41992 13.5996 9.41992 11.1224C9.41992 8.64518 10.3657 6.39231 11.9199 4.69967C13.4741 6.39231 14.4199 8.64517 14.4199 11.1224ZM13.9948 18.187C15.8775 17.8718 17.6809 16.9882 19.1334 15.5356C20.8851 13.784 21.8093 11.5222 21.9072 9.22632C19.9557 9.30952 18.0289 9.98975 16.419 11.2677C16.3868 13.8748 15.4869 16.2731 13.9948 18.187ZM16.2178 8.9643C15.781 6.66414 14.6593 4.60655 13.0727 3.0118C12.4337 2.36944 11.4062 2.36944 10.7671 3.0118C9.20085 4.58617 8.08756 6.61162 7.63917 8.87622C5.82375 7.77581 3.76961 7.22296 1.7143 7.21766C0.808199 7.21532 0.081653 7.94187 0.08399 8.84797C0.0915549 11.7811 1.2143 14.7119 3.45222 16.9499C4.29172 17.7893 5.22871 18.4719 6.22675 18.9976H1C0.447715 18.9976 0 19.4453 0 19.9976C0 20.5498 0.447716 20.9976 1 20.9976H23C23.5523 20.9976 24 20.5498 24 19.9976C24 19.4453 23.5523 18.9976 23 18.9976H17.7731C18.7711 18.4719 19.7081 17.7893 20.5476 16.9499C22.7856 14.7119 23.9083 11.7811 23.9159 8.84797C23.9182 7.94187 23.1917 7.21532 22.2856 7.21766C20.1761 7.2231 18.0679 7.80531 16.2178 8.9643ZM7.41994 11.1427C7.42451 13.7832 8.31897 16.2149 9.81944 18.154C8.00404 17.813 6.2712 16.9404 4.86644 15.5356C3.11478 13.784 2.19054 11.5222 2.09265 9.22632C3.97952 9.30677 5.84337 9.94537 7.41994 11.1427Z" fill="#BBC2D6"/></svg>
@@ -5,8 +5,8 @@ export * from "./badge";
5
5
  export * from "./banner";
6
6
  export * from "./buttons";
7
7
  export * from "./checkbox";
8
- export * from "./contentWrapper";
9
8
  export * from "./codeInput";
9
+ export * from "./contentWrapper";
10
10
  export * from "./divider";
11
11
  export * from "./endOfPage";
12
12
  export * from "./featureInfo";
@@ -14,8 +14,8 @@ export * from "./icons";
14
14
  export * from "./image";
15
15
  export * from "./layout";
16
16
  export * from "./listitems";
17
- export * from "./logos";
18
17
  export * from "./loadingSpinner";
18
+ export * from "./logos";
19
19
  export * from "./modules";
20
20
  export * from "./numberpad";
21
21
  export * from "./otpInput";
@@ -23,10 +23,11 @@ export * from "./pictograms";
23
23
  export * from "./progressLoader";
24
24
  export * from "./radio";
25
25
  export * from "./spacer";
26
+ export * from "./stack";
26
27
  export * from "./stepper";
27
28
  export * from "./switch";
28
- export * from "./tag";
29
29
  export * from "./tabs";
30
+ export * from "./tag";
31
+ export * from "./textInput";
30
32
  export * from "./toast";
31
33
  export * from "./typography";
32
- export * from "./textInput";
@@ -36,12 +36,10 @@ type Props = {
36
36
 
37
37
  const DISABLED_OPACITY = 0.5;
38
38
 
39
- // disabled: the component is no longer touchable
40
- // onPress:
41
- type OwnProps = Props &
39
+ type ListItemCheckboxProps = Props &
42
40
  Pick<
43
41
  React.ComponentProps<typeof Pressable>,
44
- "onPress" | "accessibilityLabel" | "disabled"
42
+ "onPress" | "accessibilityLabel" | "accessibilityHint" | "disabled"
45
43
  >;
46
44
 
47
45
  /**
@@ -57,9 +55,10 @@ export const ListItemCheckbox = ({
57
55
  icon,
58
56
  selected,
59
57
  accessibilityLabel,
58
+ accessibilityHint,
60
59
  disabled,
61
60
  onValueChange
62
- }: OwnProps) => {
61
+ }: ListItemCheckboxProps) => {
63
62
  const [toggleValue, setToggleValue] = useState(selected ?? false);
64
63
  // Animations
65
64
  const isPressed: Animated.SharedValue<number> = useSharedValue(0);
@@ -74,6 +73,12 @@ export const ListItemCheckbox = ({
74
73
  // Theme
75
74
  const theme = useIOTheme();
76
75
 
76
+ // Accessibility
77
+ // Comma = Small pause when announcing content
78
+ const fallbackAccessibilityLabel = description
79
+ ? `${value}, ${description}`
80
+ : value;
81
+
77
82
  const mapBackgroundStates: Record<string, string> = {
78
83
  default: hexToRgba(IOColors[theme["listItem-pressed"]], 0),
79
84
  pressed: IOColors[theme["listItem-pressed"]]
@@ -130,7 +135,8 @@ export const ListItemCheckbox = ({
130
135
  onTouchEnd={handlePressOut}
131
136
  testID="ListItemCheckbox"
132
137
  accessible={true}
133
- accessibilityLabel={accessibilityLabel}
138
+ accessibilityLabel={accessibilityLabel || fallbackAccessibilityLabel}
139
+ accessibilityHint={accessibilityHint}
134
140
  accessibilityRole="checkbox"
135
141
  accessibilityState={{
136
142
  checked: selected ?? toggleValue,
@@ -1,4 +1,4 @@
1
- import React, { useCallback } from "react";
1
+ import React, { ComponentProps, useCallback } from "react";
2
2
  import {
3
3
  GestureResponderEvent,
4
4
  Image,
@@ -44,16 +44,19 @@ type ListItemTopElementProps =
44
44
  dateValue: string;
45
45
  };
46
46
 
47
- type ListItemNavPartialProps = WithTestID<{
48
- value: string | React.ReactNode;
49
- description?: string | React.ReactNode;
50
- loading?: boolean;
51
- onPress: (event: GestureResponderEvent) => void;
52
- // Accessibility
53
- accessibilityLabel: string;
54
- hideChevron?: boolean;
55
- topElement?: ListItemTopElementProps;
56
- }>;
47
+ type ListItemNavPartialProps = WithTestID<
48
+ {
49
+ value: string | React.ReactNode;
50
+ description?: string | React.ReactNode;
51
+ loading?: boolean;
52
+ onPress: (event: GestureResponderEvent) => void;
53
+ hideChevron?: boolean;
54
+ topElement?: ListItemTopElementProps;
55
+ } & Pick<
56
+ ComponentProps<typeof Pressable>,
57
+ "accessibilityLabel" | "accessibilityHint"
58
+ >
59
+ >;
57
60
 
58
61
  export type ListItemNavGraphicProps =
59
62
  | { icon?: never; iconColor?: never; paymentLogoUri: string }
@@ -77,6 +80,7 @@ export const ListItemNav = ({
77
80
  iconColor = "grey-450",
78
81
  paymentLogoUri,
79
82
  accessibilityLabel,
83
+ accessibilityHint,
80
84
  testID,
81
85
  hideChevron = false,
82
86
  topElement,
@@ -197,7 +201,9 @@ export const ListItemNav = ({
197
201
  onPressIn={handlePressIn}
198
202
  onPressOut={handlePressOut}
199
203
  accessible={true}
204
+ accessibilityState={{ busy: loading }}
200
205
  accessibilityLabel={accessibilityLabel}
206
+ accessibilityHint={accessibilityHint}
201
207
  accessibilityRole="button"
202
208
  testID={testID}
203
209
  >
@@ -57,12 +57,10 @@ type Props = WithTestID<{
57
57
 
58
58
  const DISABLED_OPACITY = 0.5;
59
59
 
60
- // disabled: the component is no longer touchable
61
- // onPress:
62
- type OwnProps = Props &
60
+ type ListItemRadioProps = Props &
63
61
  Pick<
64
62
  React.ComponentProps<typeof Pressable>,
65
- "onPress" | "accessibilityLabel" | "disabled"
63
+ "onPress" | "accessibilityLabel" | "accessibilityHint" | "disabled"
66
64
  >;
67
65
 
68
66
  const styles = StyleSheet.create({
@@ -87,9 +85,11 @@ export const ListItemRadio = ({
87
85
  selected,
88
86
  disabled,
89
87
  onValueChange,
88
+ accessibilityLabel,
89
+ accessibilityHint,
90
90
  loadingProps,
91
91
  testID
92
- }: OwnProps) => {
92
+ }: ListItemRadioProps) => {
93
93
  const [toggleValue, setToggleValue] = useState(selected ?? false);
94
94
  // Animations
95
95
  const isPressed: Animated.SharedValue<number> = useSharedValue(0);
@@ -217,6 +217,8 @@ export const ListItemRadio = ({
217
217
  checked: selected ?? toggleValue,
218
218
  disabled: !!disabled
219
219
  }}
220
+ accessibilityLabel={accessibilityLabel}
221
+ accessibilityHint={accessibilityHint}
220
222
  onPress={toggleRadioItem}
221
223
  onPressIn={handlePressIn}
222
224
  onPressOut={handlePressOut}
@@ -14,24 +14,32 @@ export type ListItemRadioWithAmountProps = {
14
14
  selected?: boolean;
15
15
  label: string;
16
16
  formattedAmountString: string;
17
+ accessibilityLabel?: string;
17
18
  } & (
18
19
  | {
19
20
  isSuggested?: false;
21
+ suggestReason?: never;
20
22
  }
21
23
  | {
22
- isSuggested: true;
24
+ isSuggested?: true;
23
25
  suggestReason: string;
24
26
  }
25
27
  );
26
- export const ListItemRadioWithAmount = (
27
- props: ListItemRadioWithAmountProps
28
- ) => {
29
- const [toggleValue, setToggleValue] = React.useState(props.selected ?? false);
28
+ export const ListItemRadioWithAmount = ({
29
+ onValueChange,
30
+ selected,
31
+ label,
32
+ accessibilityLabel,
33
+ isSuggested = false,
34
+ suggestReason,
35
+ formattedAmountString
36
+ }: ListItemRadioWithAmountProps) => {
37
+ const [toggleValue, setToggleValue] = React.useState(selected ?? false);
30
38
  const pressHandler = () => {
31
39
  RNReactNativeHapticFeedback.trigger("impactLight");
32
40
  setToggleValue(val => !val);
33
- if (props.onValueChange !== undefined) {
34
- props.onValueChange(!toggleValue);
41
+ if (onValueChange !== undefined) {
42
+ onValueChange(!toggleValue);
35
43
  }
36
44
  };
37
45
  const theme = useIOTheme();
@@ -39,19 +47,26 @@ export const ListItemRadioWithAmount = (
39
47
  const suggestColor: IOColors = "hanPurple-500";
40
48
 
41
49
  return (
42
- <PressableListItemBase onPress={pressHandler}>
50
+ <PressableListItemBase
51
+ onPress={pressHandler}
52
+ accessibilityRole="radio"
53
+ accessibilityLabel={accessibilityLabel}
54
+ accessibilityState={{
55
+ checked: selected ?? toggleValue
56
+ }}
57
+ >
43
58
  <View style={{ flexShrink: 1 }}>
44
59
  <LabelSmallAlt numberOfLines={1} color={theme["textBody-default"]}>
45
- {props.label} con nome molto molto lungo
60
+ {label} con nome molto molto lungo
46
61
  </LabelSmallAlt>
47
- {props.isSuggested && (
62
+ {isSuggested && (
48
63
  <>
49
64
  <VSpacer size={4} />
50
65
  <View style={styles.rowCenter}>
51
66
  <Icon name="sparkles" size={16} color={suggestColor} />
52
67
  <HSpacer size={4} />
53
68
  <LabelSmall weight="Regular" color={suggestColor}>
54
- {props.suggestReason}
69
+ {suggestReason}
55
70
  </LabelSmall>
56
71
  </View>
57
72
  </>
@@ -60,10 +75,10 @@ export const ListItemRadioWithAmount = (
60
75
  <View pointerEvents="none" style={{ flexDirection: "row" }}>
61
76
  <HSpacer size={8} />
62
77
  <H6 color={theme["interactiveElem-default"]}>
63
- {props.formattedAmountString}
78
+ {formattedAmountString}
64
79
  </H6>
65
80
  <HSpacer size={8} />
66
- <AnimatedRadio checked={props.selected ?? toggleValue} />
81
+ <AnimatedRadio checked={selected ?? toggleValue} />
67
82
  </View>
68
83
  </PressableListItemBase>
69
84
  );
@@ -98,6 +98,7 @@ export const ListItemSwitch = React.memo(
98
98
  : "no-hide-descendants"
99
99
  }
100
100
  })}
101
+ accessibilityState={{ disabled }}
101
102
  >
102
103
  {icon && (
103
104
  <View
@@ -5,15 +5,23 @@ import { IOListItemStyles } from "../../core";
5
5
  import { WithTestID } from "../../utils/types";
6
6
  import { useListItemSpringAnimation } from "./hooks/useListItemSpringAnimation";
7
7
 
8
- export type PressableBaseProps = WithTestID<{
9
- accessibilityLabel?: string;
10
- onPress?: () => void;
11
- }>;
8
+ export type PressableBaseProps = WithTestID<
9
+ Pick<
10
+ React.ComponentProps<typeof Pressable>,
11
+ | "onPress"
12
+ | "accessibilityLabel"
13
+ | "accessibilityHint"
14
+ | "accessibilityState"
15
+ | "accessibilityRole"
16
+ >
17
+ >;
18
+
12
19
  export const PressableListItemBase = ({
13
20
  onPress,
14
21
  testID,
15
- accessibilityLabel,
16
- children
22
+ children,
23
+ accessibilityRole,
24
+ ...props
17
25
  }: React.PropsWithChildren<PressableBaseProps>) => {
18
26
  const { onPressIn, onPressOut, animatedScaleStyle, animatedBackgroundStyle } =
19
27
  useListItemSpringAnimation();
@@ -22,11 +30,11 @@ export const PressableListItemBase = ({
22
30
  onPress={onPress}
23
31
  testID={testID}
24
32
  accessible={true}
25
- accessibilityLabel={accessibilityLabel}
26
33
  onPressIn={onPressIn}
27
34
  onPressOut={onPressOut}
28
35
  onTouchEnd={onPressOut}
29
- accessibilityRole="button"
36
+ accessibilityRole={accessibilityRole || "button"}
37
+ {...props}
30
38
  >
31
39
  <Animated.View
32
40
  style={[IOListItemStyles.listItem, animatedBackgroundStyle]}
@@ -931,11 +931,11 @@ exports[`Test List Item Components - Experimental Enabled ListItemNavAlert Snap
931
931
 
932
932
  exports[`Test List Item Components - Experimental Enabled ListItemRadioWithAmount Snapshot 1`] = `
933
933
  <View
934
- accessibilityRole="button"
934
+ accessibilityRole="radio"
935
935
  accessibilityState={
936
936
  {
937
937
  "busy": undefined,
938
- "checked": undefined,
938
+ "checked": true,
939
939
  "disabled": undefined,
940
940
  "expanded": undefined,
941
941
  "selected": undefined,
@@ -1348,11 +1348,11 @@ exports[`Test List Item Components - Experimental Enabled ListItemRadioWithAmou
1348
1348
 
1349
1349
  exports[`Test List Item Components - Experimental Enabled ListItemRadioWithAmount Snapshot 2`] = `
1350
1350
  <View
1351
- accessibilityRole="button"
1351
+ accessibilityRole="radio"
1352
1352
  accessibilityState={
1353
1353
  {
1354
1354
  "busy": undefined,
1355
- "checked": undefined,
1355
+ "checked": false,
1356
1356
  "disabled": undefined,
1357
1357
  "expanded": undefined,
1358
1358
  "selected": undefined,
@@ -2736,11 +2736,11 @@ exports[`Test List Item Components ListItemNavAlert Snapshot 1`] = `
2736
2736
 
2737
2737
  exports[`Test List Item Components ListItemRadioWithAmount Snapshot 1`] = `
2738
2738
  <View
2739
- accessibilityRole="button"
2739
+ accessibilityRole="radio"
2740
2740
  accessibilityState={
2741
2741
  {
2742
2742
  "busy": undefined,
2743
- "checked": undefined,
2743
+ "checked": true,
2744
2744
  "disabled": undefined,
2745
2745
  "expanded": undefined,
2746
2746
  "selected": undefined,
@@ -3153,11 +3153,11 @@ exports[`Test List Item Components ListItemRadioWithAmount Snapshot 1`] = `
3153
3153
 
3154
3154
  exports[`Test List Item Components ListItemRadioWithAmount Snapshot 2`] = `
3155
3155
  <View
3156
- accessibilityRole="button"
3156
+ accessibilityRole="radio"
3157
3157
  accessibilityState={
3158
3158
  {
3159
3159
  "busy": undefined,
3160
- "checked": undefined,
3160
+ "checked": false,
3161
3161
  "disabled": undefined,
3162
3162
  "expanded": undefined,
3163
3163
  "selected": undefined,
@@ -23,11 +23,11 @@ import {
23
23
  useIOTheme
24
24
  } from "../../core";
25
25
  import { WithTestID } from "../../utils/types";
26
- import { Icon } from "../icons";
27
- import { LabelSmall } from "../typography";
28
- import { VSpacer } from "../spacer";
29
26
  import { Badge } from "../badge";
27
+ import { Icon } from "../icons";
30
28
  import { LoadingSpinner } from "../loadingSpinner";
29
+ import { VSpacer } from "../spacer";
30
+ import { LabelSmall } from "../typography";
31
31
 
32
32
  type PartialProps = WithTestID<{
33
33
  title: string;
@@ -243,6 +243,7 @@ const SkeletonComponent = ({
243
243
  <View
244
244
  style={styles.button}
245
245
  accessible={true}
246
+ accessibilityState={{ busy: true }}
246
247
  accessibilityLabel={loadingAccessibilityLabel}
247
248
  >
248
249
  <View style={styles.innerContent}>
@@ -35,7 +35,7 @@ export type ModuleCheckoutProps = ModuleCheckoutPartialProps & {
35
35
  ctaText?: string;
36
36
  };
37
37
 
38
- type CtaOnlyProps = { text?: string };
38
+ type ActionOnlyProps = { text?: string };
39
39
 
40
40
  // ---------------- component ----------------
41
41
 
@@ -75,7 +75,7 @@ export const ModuleCheckout = (props: ModuleCheckoutProps) => {
75
75
  return (
76
76
  <PressableModuleBase onPress={props.onPress}>
77
77
  <ModuleBaseContent />
78
- {props.ctaText && <CTA text={props.ctaText} />}
78
+ {props.ctaText && <ModuleAction text={props.ctaText} />}
79
79
  </PressableModuleBase>
80
80
  );
81
81
  }
@@ -89,7 +89,7 @@ export const ModuleCheckout = (props: ModuleCheckoutProps) => {
89
89
 
90
90
  // ---------------- sub-components----------------
91
91
 
92
- const CTA = ({ text }: CtaOnlyProps) => (
92
+ const ModuleAction = ({ text }: ActionOnlyProps) => (
93
93
  <View pointerEvents="none">
94
94
  <ButtonLink
95
95
  label={text ?? ""}
@@ -99,7 +99,7 @@ const CTA = ({ text }: CtaOnlyProps) => (
99
99
  </View>
100
100
  );
101
101
 
102
- const LoadingVersion = ({ text }: CtaOnlyProps) => (
102
+ const LoadingVersion = ({ text }: ActionOnlyProps) => (
103
103
  <View style={IOModuleStyles.button}>
104
104
  <View style={styles.rowCenter}>
105
105
  <Placeholder.Box animate="fade" radius={8} height={24} width={24} />
@@ -110,7 +110,7 @@ const LoadingVersion = ({ text }: CtaOnlyProps) => (
110
110
  <Placeholder.Box animate="fade" radius={8} height={16} width={116} />
111
111
  </View>
112
112
  </View>
113
- <CTA text={text} />
113
+ <ModuleAction text={text} />
114
114
  </View>
115
115
  );
116
116
 
@@ -7,7 +7,6 @@ import {
7
7
  View
8
8
  } from "react-native";
9
9
  import Placeholder from "rn-placeholder";
10
- import { WithTestID } from "src/utils/types";
11
10
  import {
12
11
  IOListItemVisualParams,
13
12
  IOModuleStyles,
@@ -15,6 +14,7 @@ import {
15
14
  IOStyles,
16
15
  useIOTheme
17
16
  } from "../../core";
17
+ import { WithTestID } from "../../utils/types";
18
18
  import { Badge } from "../badge";
19
19
  import { IOIcons, Icon } from "../icons";
20
20
  import { HSpacer } from "../spacer";
@@ -1,23 +1,28 @@
1
1
  import * as React from "react";
2
- import { GestureResponderEvent, Pressable } from "react-native";
2
+ import { PropsWithChildren } from "react";
3
+ import { Pressable } from "react-native";
3
4
  import Animated from "react-native-reanimated";
4
5
  import { IOModuleIDPSavedVSpacing, IOModuleStyles } from "../../core";
5
6
  import { WithTestID } from "../../utils/types";
6
7
  import { useModuleSpringAnimation } from "./hooks/useModuleSpringAnimation";
7
8
 
8
- export type PressableModuleBaseProps = WithTestID<{
9
- accessibilityLabel?: string;
10
- onPress?: (event: GestureResponderEvent) => void;
11
- withLooseSpacing?: boolean;
12
- }>;
9
+ export type PressableModuleBaseProps = WithTestID<
10
+ {
11
+ withLooseSpacing?: boolean;
12
+ } & Pick<
13
+ React.ComponentProps<typeof Pressable>,
14
+ "onPress" | "accessibilityLabel" | "accessibilityHint"
15
+ >
16
+ >;
13
17
 
14
18
  export const PressableModuleBase = ({
15
19
  onPress,
16
- testID,
17
- accessibilityLabel,
18
20
  withLooseSpacing = false,
21
+ accessibilityLabel,
22
+ accessibilityHint,
23
+ testID,
19
24
  children
20
- }: React.PropsWithChildren<PressableModuleBaseProps>) => {
25
+ }: PropsWithChildren<PressableModuleBaseProps>) => {
21
26
  const { handlePressIn, handlePressOut, animatedStyle } =
22
27
  useModuleSpringAnimation();
23
28
  return (
@@ -25,10 +30,11 @@ export const PressableModuleBase = ({
25
30
  onPress={onPress}
26
31
  testID={testID}
27
32
  accessible={true}
28
- accessibilityLabel={accessibilityLabel}
29
33
  onPressIn={handlePressIn}
30
34
  onPressOut={handlePressOut}
31
35
  onTouchEnd={handlePressOut}
36
+ accessibilityLabel={accessibilityLabel}
37
+ accessibilityHint={accessibilityHint}
32
38
  accessibilityRole="button"
33
39
  >
34
40
  <Animated.View
@@ -16,11 +16,12 @@ type Props = {
16
16
 
17
17
  const DISABLED_OPACITY = 0.5;
18
18
 
19
- // disabled: the component is no longer touchable
20
- // onPress:
21
- type OwnProps = Props &
19
+ type RadioButtonLabelProps = Props &
22
20
  Pick<React.ComponentProps<typeof AnimatedRadio>, "disabled" | "checked"> &
23
- Pick<React.ComponentProps<typeof Pressable>, "onPress">;
21
+ Pick<
22
+ React.ComponentProps<typeof Pressable>,
23
+ "onPress" | "accessibilityLabel" | "accessibilityHint"
24
+ >;
24
25
 
25
26
  /**
26
27
  * A radio button with the automatic state management that uses a {@link AnimatedRadio}
@@ -33,8 +34,10 @@ export const RadioButtonLabel = ({
33
34
  label,
34
35
  checked,
35
36
  disabled,
36
- onValueChange
37
- }: OwnProps) => {
37
+ onValueChange,
38
+ accessibilityLabel,
39
+ accessibilityHint
40
+ }: RadioButtonLabelProps) => {
38
41
  const theme = useIOTheme();
39
42
 
40
43
  const [toggleValue, setToggleValue] = useState(checked ?? false);
@@ -49,17 +52,19 @@ export const RadioButtonLabel = ({
49
52
 
50
53
  return (
51
54
  <Pressable
52
- accessibilityRole="radio"
53
- accessibilityState={{
54
- checked: checked ?? toggleValue,
55
- disabled: !!disabled
56
- }}
57
55
  onPress={toggleRadioButton}
58
56
  style={{
59
57
  alignSelf: "flex-start",
60
58
  opacity: disabled ? DISABLED_OPACITY : 1
61
59
  }}
62
60
  disabled={disabled}
61
+ accessibilityRole="radio"
62
+ accessibilityState={{
63
+ checked: checked ?? toggleValue,
64
+ disabled: !!disabled
65
+ }}
66
+ accessibilityLabel={accessibilityLabel}
67
+ accessibilityHint={accessibilityHint}
63
68
  testID="AnimatedRadioButton"
64
69
  >
65
70
  <View