@pagopa/io-app-design-system 1.9.2 → 1.10.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 (444) hide show
  1. package/lib/commonjs/components/banner/Banner.js +1 -0
  2. package/lib/commonjs/components/banner/Banner.js.map +1 -1
  3. package/lib/commonjs/components/banner/__test__/__snapshots__/banner.test.tsx.snap +1 -9
  4. package/lib/commonjs/components/buttons/ButtonLink.js +3 -3
  5. package/lib/commonjs/components/buttons/ButtonLink.js.map +1 -1
  6. package/lib/commonjs/components/buttons/ButtonOutline.js +7 -2
  7. package/lib/commonjs/components/buttons/ButtonOutline.js.map +1 -1
  8. package/lib/commonjs/components/buttons/ButtonSolid.js +4 -5
  9. package/lib/commonjs/components/buttons/ButtonSolid.js.map +1 -1
  10. package/lib/commonjs/components/layout/BlockButtons.js +6 -1
  11. package/lib/commonjs/components/layout/BlockButtons.js.map +1 -1
  12. package/lib/commonjs/components/layout/HeaderSecondLevel.js +49 -29
  13. package/lib/commonjs/components/layout/HeaderSecondLevel.js.map +1 -1
  14. package/lib/commonjs/components/layout/index.js +11 -0
  15. package/lib/commonjs/components/layout/index.js.map +1 -1
  16. package/lib/commonjs/components/listitems/ListItemSwitch.js +25 -15
  17. package/lib/commonjs/components/listitems/ListItemSwitch.js.map +1 -1
  18. package/lib/commonjs/components/modules/ModulePaymentNotice.js +197 -0
  19. package/lib/commonjs/components/modules/ModulePaymentNotice.js.map +1 -0
  20. package/lib/commonjs/components/modules/index.js +11 -0
  21. package/lib/commonjs/components/modules/index.js.map +1 -1
  22. package/lib/commonjs/components/pictograms/Pictogram.js +48 -4
  23. package/lib/commonjs/components/pictograms/Pictogram.js.map +1 -1
  24. package/lib/commonjs/components/pictograms/svg/PictogramAccessDenied.js +9 -10
  25. package/lib/commonjs/components/pictograms/svg/PictogramAccessDenied.js.map +1 -1
  26. package/lib/commonjs/components/pictograms/svg/PictogramAttention.js +6 -6
  27. package/lib/commonjs/components/pictograms/svg/PictogramAttention.js.map +1 -1
  28. package/lib/commonjs/components/pictograms/svg/PictogramBleedCameraDenied.js +46 -0
  29. package/lib/commonjs/components/pictograms/svg/PictogramBleedCameraDenied.js.map +1 -0
  30. package/lib/commonjs/components/pictograms/svg/PictogramBleedCameraRequest.js +46 -0
  31. package/lib/commonjs/components/pictograms/svg/PictogramBleedCameraRequest.js.map +1 -0
  32. package/lib/commonjs/components/pictograms/svg/PictogramBleedCharity.js +7 -7
  33. package/lib/commonjs/components/pictograms/svg/PictogramBleedCharity.js.map +1 -1
  34. package/lib/commonjs/components/pictograms/svg/PictogramBleedCie.js +8 -9
  35. package/lib/commonjs/components/pictograms/svg/PictogramBleedCie.js.map +1 -1
  36. package/lib/commonjs/components/pictograms/svg/PictogramBleedFeature.js +9 -10
  37. package/lib/commonjs/components/pictograms/svg/PictogramBleedFeature.js.map +1 -1
  38. package/lib/commonjs/components/pictograms/svg/PictogramBleedFeedback.js +6 -6
  39. package/lib/commonjs/components/pictograms/svg/PictogramBleedFeedback.js.map +1 -1
  40. package/lib/commonjs/components/pictograms/svg/PictogramBleedHelp.js +7 -7
  41. package/lib/commonjs/components/pictograms/svg/PictogramBleedHelp.js.map +1 -1
  42. package/lib/commonjs/components/pictograms/svg/PictogramBleedITWallet.js +11 -11
  43. package/lib/commonjs/components/pictograms/svg/PictogramBleedITWallet.js.map +1 -1
  44. package/lib/commonjs/components/pictograms/svg/PictogramBleedSecurity.js +7 -8
  45. package/lib/commonjs/components/pictograms/svg/PictogramBleedSecurity.js.map +1 -1
  46. package/lib/commonjs/components/pictograms/svg/PictogramCameraDenied.js +49 -0
  47. package/lib/commonjs/components/pictograms/svg/PictogramCameraDenied.js.map +1 -0
  48. package/lib/commonjs/components/pictograms/svg/PictogramCameraRequest.js +18 -34
  49. package/lib/commonjs/components/pictograms/svg/PictogramCameraRequest.js.map +1 -1
  50. package/lib/commonjs/components/pictograms/svg/PictogramCharity.js +7 -8
  51. package/lib/commonjs/components/pictograms/svg/PictogramCharity.js.map +1 -1
  52. package/lib/commonjs/components/pictograms/svg/PictogramCie.js +8 -9
  53. package/lib/commonjs/components/pictograms/svg/PictogramCie.js.map +1 -1
  54. package/lib/commonjs/components/pictograms/svg/PictogramDonation.js +4 -4
  55. package/lib/commonjs/components/pictograms/svg/PictogramDonation.js.map +1 -1
  56. package/lib/commonjs/components/pictograms/svg/PictogramEmpty.js +7 -7
  57. package/lib/commonjs/components/pictograms/svg/PictogramEmpty.js.map +1 -1
  58. package/lib/commonjs/components/pictograms/svg/PictogramEmptyArchive.js +5 -5
  59. package/lib/commonjs/components/pictograms/svg/PictogramEmptyArchive.js.map +1 -1
  60. package/lib/commonjs/components/pictograms/svg/PictogramFatalError.js +7 -8
  61. package/lib/commonjs/components/pictograms/svg/PictogramFatalError.js.map +1 -1
  62. package/lib/commonjs/components/pictograms/svg/PictogramFeature.js +9 -10
  63. package/lib/commonjs/components/pictograms/svg/PictogramFeature.js.map +1 -1
  64. package/lib/commonjs/components/pictograms/svg/PictogramFeedback.js +6 -6
  65. package/lib/commonjs/components/pictograms/svg/PictogramFeedback.js.map +1 -1
  66. package/lib/commonjs/components/pictograms/svg/PictogramHelp.js +7 -7
  67. package/lib/commonjs/components/pictograms/svg/PictogramHelp.js.map +1 -1
  68. package/lib/commonjs/components/pictograms/svg/PictogramITWallet.js +11 -12
  69. package/lib/commonjs/components/pictograms/svg/PictogramITWallet.js.map +1 -1
  70. package/lib/commonjs/components/pictograms/svg/PictogramIdentity.js +9 -10
  71. package/lib/commonjs/components/pictograms/svg/PictogramIdentity.js.map +1 -1
  72. package/lib/commonjs/components/pictograms/svg/PictogramIdentityAdd.js +9 -10
  73. package/lib/commonjs/components/pictograms/svg/PictogramIdentityAdd.js.map +1 -1
  74. package/lib/commonjs/components/pictograms/svg/PictogramIdentityCheck.js +12 -13
  75. package/lib/commonjs/components/pictograms/svg/PictogramIdentityCheck.js.map +1 -1
  76. package/lib/commonjs/components/pictograms/svg/PictogramIdentityRefresh.js +9 -10
  77. package/lib/commonjs/components/pictograms/svg/PictogramIdentityRefresh.js.map +1 -1
  78. package/lib/commonjs/components/pictograms/svg/PictogramObjClock.js +3 -4
  79. package/lib/commonjs/components/pictograms/svg/PictogramObjClock.js.map +1 -1
  80. package/lib/commonjs/components/pictograms/svg/PictogramObjFlyingMessage.js +3 -4
  81. package/lib/commonjs/components/pictograms/svg/PictogramObjFlyingMessage.js.map +1 -1
  82. package/lib/commonjs/components/pictograms/svg/PictogramObjFollowMessage.js +3 -4
  83. package/lib/commonjs/components/pictograms/svg/PictogramObjFollowMessage.js.map +1 -1
  84. package/lib/commonjs/components/pictograms/svg/PictogramObjIbanCard.js +10 -11
  85. package/lib/commonjs/components/pictograms/svg/PictogramObjIbanCard.js.map +1 -1
  86. package/lib/commonjs/components/pictograms/svg/PictogramObjKey.js +3 -4
  87. package/lib/commonjs/components/pictograms/svg/PictogramObjKey.js.map +1 -1
  88. package/lib/commonjs/components/pictograms/svg/PictogramObjManual.js +3 -4
  89. package/lib/commonjs/components/pictograms/svg/PictogramObjManual.js.map +1 -1
  90. package/lib/commonjs/components/pictograms/svg/PictogramObjTrash.js +4 -5
  91. package/lib/commonjs/components/pictograms/svg/PictogramObjTrash.js.map +1 -1
  92. package/lib/commonjs/components/pictograms/svg/PictogramPasscode.js +9 -10
  93. package/lib/commonjs/components/pictograms/svg/PictogramPasscode.js.map +1 -1
  94. package/lib/commonjs/components/pictograms/svg/PictogramSecurity.js +8 -9
  95. package/lib/commonjs/components/pictograms/svg/PictogramSecurity.js.map +1 -1
  96. package/lib/commonjs/components/pictograms/svg/PictogramSetup.js +6 -6
  97. package/lib/commonjs/components/pictograms/svg/PictogramSetup.js.map +1 -1
  98. package/lib/commonjs/components/pictograms/svg/PictogramStopSecurity.js +11 -12
  99. package/lib/commonjs/components/pictograms/svg/PictogramStopSecurity.js.map +1 -1
  100. package/lib/commonjs/components/pictograms/svg/PictogramSuccess.js +7 -7
  101. package/lib/commonjs/components/pictograms/svg/PictogramSuccess.js.map +1 -1
  102. package/lib/commonjs/components/pictograms/svg/PictogramTime.js +9 -10
  103. package/lib/commonjs/components/pictograms/svg/PictogramTime.js.map +1 -1
  104. package/lib/commonjs/components/pictograms/svg/PictogramUmbrellaNew.js +10 -10
  105. package/lib/commonjs/components/pictograms/svg/PictogramUmbrellaNew.js.map +1 -1
  106. package/lib/commonjs/components/pictograms/svg/PictogramUpdateOS.js +7 -8
  107. package/lib/commonjs/components/pictograms/svg/PictogramUpdateOS.js.map +1 -1
  108. package/lib/commonjs/components/pictograms/svg/originals/PIctogramBleedCameraDenied.svg +30 -0
  109. package/lib/commonjs/components/pictograms/svg/originals/PictogramBleedCameraRequest.svg +30 -0
  110. package/lib/commonjs/components/pictograms/svg/originals/PictogramCameraDenied.svg +34 -0
  111. package/lib/commonjs/components/pictograms/svg/originals/PictogramCameraRequest.svg +29 -16
  112. package/lib/commonjs/components/textInput/TextInputBase.js +2 -1
  113. package/lib/commonjs/components/textInput/TextInputBase.js.map +1 -1
  114. package/lib/commonjs/components/typography/ButtonText.js.map +1 -1
  115. package/lib/commonjs/components/typography/LabelLink.js +21 -13
  116. package/lib/commonjs/components/typography/LabelLink.js.map +1 -1
  117. package/lib/commonjs/components/typography/LabelSmall.js +16 -10
  118. package/lib/commonjs/components/typography/LabelSmall.js.map +1 -1
  119. package/lib/commonjs/components/typography/__test__/__snapshots__/typography.test.tsx.snap +3 -3
  120. package/lib/commonjs/components/typography/common.js +4 -0
  121. package/lib/commonjs/components/typography/common.js.map +1 -1
  122. package/lib/commonjs/core/IOColors.js +10 -2
  123. package/lib/commonjs/core/IOColors.js.map +1 -1
  124. package/lib/commonjs/core/IOSpacing.js +2 -4
  125. package/lib/commonjs/core/IOSpacing.js.map +1 -1
  126. package/lib/commonjs/utils/fonts.js +2 -3
  127. package/lib/commonjs/utils/fonts.js.map +1 -1
  128. package/lib/module/components/banner/Banner.js +1 -0
  129. package/lib/module/components/banner/Banner.js.map +1 -1
  130. package/lib/module/components/banner/__test__/__snapshots__/banner.test.tsx.snap +1 -9
  131. package/lib/module/components/buttons/ButtonLink.js +1 -1
  132. package/lib/module/components/buttons/ButtonLink.js.map +1 -1
  133. package/lib/module/components/buttons/ButtonOutline.js +7 -2
  134. package/lib/module/components/buttons/ButtonOutline.js.map +1 -1
  135. package/lib/module/components/buttons/ButtonSolid.js +4 -5
  136. package/lib/module/components/buttons/ButtonSolid.js.map +1 -1
  137. package/lib/module/components/layout/BlockButtons.js +6 -1
  138. package/lib/module/components/layout/BlockButtons.js.map +1 -1
  139. package/lib/module/components/layout/HeaderSecondLevel.js +43 -23
  140. package/lib/module/components/layout/HeaderSecondLevel.js.map +1 -1
  141. package/lib/module/components/layout/index.js +1 -0
  142. package/lib/module/components/layout/index.js.map +1 -1
  143. package/lib/module/components/listitems/ListItemSwitch.js +26 -16
  144. package/lib/module/components/listitems/ListItemSwitch.js.map +1 -1
  145. package/lib/module/components/modules/ModulePaymentNotice.js +188 -0
  146. package/lib/module/components/modules/ModulePaymentNotice.js.map +1 -0
  147. package/lib/module/components/modules/index.js +1 -0
  148. package/lib/module/components/modules/index.js.map +1 -1
  149. package/lib/module/components/pictograms/Pictogram.js +47 -5
  150. package/lib/module/components/pictograms/Pictogram.js.map +1 -1
  151. package/lib/module/components/pictograms/svg/PictogramAccessDenied.js +9 -10
  152. package/lib/module/components/pictograms/svg/PictogramAccessDenied.js.map +1 -1
  153. package/lib/module/components/pictograms/svg/PictogramAttention.js +6 -6
  154. package/lib/module/components/pictograms/svg/PictogramAttention.js.map +1 -1
  155. package/lib/module/components/pictograms/svg/PictogramBleedCameraDenied.js +38 -0
  156. package/lib/module/components/pictograms/svg/PictogramBleedCameraDenied.js.map +1 -0
  157. package/lib/module/components/pictograms/svg/PictogramBleedCameraRequest.js +38 -0
  158. package/lib/module/components/pictograms/svg/PictogramBleedCameraRequest.js.map +1 -0
  159. package/lib/module/components/pictograms/svg/PictogramBleedCharity.js +7 -7
  160. package/lib/module/components/pictograms/svg/PictogramBleedCharity.js.map +1 -1
  161. package/lib/module/components/pictograms/svg/PictogramBleedCie.js +8 -9
  162. package/lib/module/components/pictograms/svg/PictogramBleedCie.js.map +1 -1
  163. package/lib/module/components/pictograms/svg/PictogramBleedFeature.js +9 -10
  164. package/lib/module/components/pictograms/svg/PictogramBleedFeature.js.map +1 -1
  165. package/lib/module/components/pictograms/svg/PictogramBleedFeedback.js +6 -6
  166. package/lib/module/components/pictograms/svg/PictogramBleedFeedback.js.map +1 -1
  167. package/lib/module/components/pictograms/svg/PictogramBleedHelp.js +7 -7
  168. package/lib/module/components/pictograms/svg/PictogramBleedHelp.js.map +1 -1
  169. package/lib/module/components/pictograms/svg/PictogramBleedITWallet.js +11 -11
  170. package/lib/module/components/pictograms/svg/PictogramBleedITWallet.js.map +1 -1
  171. package/lib/module/components/pictograms/svg/PictogramBleedSecurity.js +7 -8
  172. package/lib/module/components/pictograms/svg/PictogramBleedSecurity.js.map +1 -1
  173. package/lib/module/components/pictograms/svg/PictogramCameraDenied.js +41 -0
  174. package/lib/module/components/pictograms/svg/PictogramCameraDenied.js.map +1 -0
  175. package/lib/module/components/pictograms/svg/PictogramCameraRequest.js +19 -35
  176. package/lib/module/components/pictograms/svg/PictogramCameraRequest.js.map +1 -1
  177. package/lib/module/components/pictograms/svg/PictogramCharity.js +7 -8
  178. package/lib/module/components/pictograms/svg/PictogramCharity.js.map +1 -1
  179. package/lib/module/components/pictograms/svg/PictogramCie.js +8 -9
  180. package/lib/module/components/pictograms/svg/PictogramCie.js.map +1 -1
  181. package/lib/module/components/pictograms/svg/PictogramDonation.js +4 -4
  182. package/lib/module/components/pictograms/svg/PictogramDonation.js.map +1 -1
  183. package/lib/module/components/pictograms/svg/PictogramEmpty.js +7 -7
  184. package/lib/module/components/pictograms/svg/PictogramEmpty.js.map +1 -1
  185. package/lib/module/components/pictograms/svg/PictogramEmptyArchive.js +5 -5
  186. package/lib/module/components/pictograms/svg/PictogramEmptyArchive.js.map +1 -1
  187. package/lib/module/components/pictograms/svg/PictogramFatalError.js +7 -8
  188. package/lib/module/components/pictograms/svg/PictogramFatalError.js.map +1 -1
  189. package/lib/module/components/pictograms/svg/PictogramFeature.js +9 -10
  190. package/lib/module/components/pictograms/svg/PictogramFeature.js.map +1 -1
  191. package/lib/module/components/pictograms/svg/PictogramFeedback.js +6 -6
  192. package/lib/module/components/pictograms/svg/PictogramFeedback.js.map +1 -1
  193. package/lib/module/components/pictograms/svg/PictogramHelp.js +7 -7
  194. package/lib/module/components/pictograms/svg/PictogramHelp.js.map +1 -1
  195. package/lib/module/components/pictograms/svg/PictogramITWallet.js +11 -12
  196. package/lib/module/components/pictograms/svg/PictogramITWallet.js.map +1 -1
  197. package/lib/module/components/pictograms/svg/PictogramIdentity.js +9 -10
  198. package/lib/module/components/pictograms/svg/PictogramIdentity.js.map +1 -1
  199. package/lib/module/components/pictograms/svg/PictogramIdentityAdd.js +9 -10
  200. package/lib/module/components/pictograms/svg/PictogramIdentityAdd.js.map +1 -1
  201. package/lib/module/components/pictograms/svg/PictogramIdentityCheck.js +12 -13
  202. package/lib/module/components/pictograms/svg/PictogramIdentityCheck.js.map +1 -1
  203. package/lib/module/components/pictograms/svg/PictogramIdentityRefresh.js +9 -10
  204. package/lib/module/components/pictograms/svg/PictogramIdentityRefresh.js.map +1 -1
  205. package/lib/module/components/pictograms/svg/PictogramObjClock.js +3 -4
  206. package/lib/module/components/pictograms/svg/PictogramObjClock.js.map +1 -1
  207. package/lib/module/components/pictograms/svg/PictogramObjFlyingMessage.js +3 -4
  208. package/lib/module/components/pictograms/svg/PictogramObjFlyingMessage.js.map +1 -1
  209. package/lib/module/components/pictograms/svg/PictogramObjFollowMessage.js +3 -4
  210. package/lib/module/components/pictograms/svg/PictogramObjFollowMessage.js.map +1 -1
  211. package/lib/module/components/pictograms/svg/PictogramObjIbanCard.js +10 -11
  212. package/lib/module/components/pictograms/svg/PictogramObjIbanCard.js.map +1 -1
  213. package/lib/module/components/pictograms/svg/PictogramObjKey.js +3 -4
  214. package/lib/module/components/pictograms/svg/PictogramObjKey.js.map +1 -1
  215. package/lib/module/components/pictograms/svg/PictogramObjManual.js +3 -4
  216. package/lib/module/components/pictograms/svg/PictogramObjManual.js.map +1 -1
  217. package/lib/module/components/pictograms/svg/PictogramObjTrash.js +4 -5
  218. package/lib/module/components/pictograms/svg/PictogramObjTrash.js.map +1 -1
  219. package/lib/module/components/pictograms/svg/PictogramPasscode.js +9 -10
  220. package/lib/module/components/pictograms/svg/PictogramPasscode.js.map +1 -1
  221. package/lib/module/components/pictograms/svg/PictogramSecurity.js +8 -9
  222. package/lib/module/components/pictograms/svg/PictogramSecurity.js.map +1 -1
  223. package/lib/module/components/pictograms/svg/PictogramSetup.js +6 -6
  224. package/lib/module/components/pictograms/svg/PictogramSetup.js.map +1 -1
  225. package/lib/module/components/pictograms/svg/PictogramStopSecurity.js +11 -12
  226. package/lib/module/components/pictograms/svg/PictogramStopSecurity.js.map +1 -1
  227. package/lib/module/components/pictograms/svg/PictogramSuccess.js +7 -7
  228. package/lib/module/components/pictograms/svg/PictogramSuccess.js.map +1 -1
  229. package/lib/module/components/pictograms/svg/PictogramTime.js +9 -10
  230. package/lib/module/components/pictograms/svg/PictogramTime.js.map +1 -1
  231. package/lib/module/components/pictograms/svg/PictogramUmbrellaNew.js +10 -10
  232. package/lib/module/components/pictograms/svg/PictogramUmbrellaNew.js.map +1 -1
  233. package/lib/module/components/pictograms/svg/PictogramUpdateOS.js +7 -8
  234. package/lib/module/components/pictograms/svg/PictogramUpdateOS.js.map +1 -1
  235. package/lib/module/components/pictograms/svg/originals/PIctogramBleedCameraDenied.svg +30 -0
  236. package/lib/module/components/pictograms/svg/originals/PictogramBleedCameraRequest.svg +30 -0
  237. package/lib/module/components/pictograms/svg/originals/PictogramCameraDenied.svg +34 -0
  238. package/lib/module/components/pictograms/svg/originals/PictogramCameraRequest.svg +29 -16
  239. package/lib/module/components/textInput/TextInputBase.js +3 -2
  240. package/lib/module/components/textInput/TextInputBase.js.map +1 -1
  241. package/lib/module/components/typography/ButtonText.js.map +1 -1
  242. package/lib/module/components/typography/LabelLink.js +19 -12
  243. package/lib/module/components/typography/LabelLink.js.map +1 -1
  244. package/lib/module/components/typography/LabelSmall.js +16 -10
  245. package/lib/module/components/typography/LabelSmall.js.map +1 -1
  246. package/lib/module/components/typography/__test__/__snapshots__/typography.test.tsx.snap +3 -3
  247. package/lib/module/components/typography/common.js +4 -0
  248. package/lib/module/components/typography/common.js.map +1 -1
  249. package/lib/module/core/IOColors.js +10 -2
  250. package/lib/module/core/IOColors.js.map +1 -1
  251. package/lib/module/core/IOSpacing.js +0 -2
  252. package/lib/module/core/IOSpacing.js.map +1 -1
  253. package/lib/module/utils/fonts.js +3 -3
  254. package/lib/module/utils/fonts.js.map +1 -1
  255. package/lib/typescript/components/banner/Banner.d.ts.map +1 -1
  256. package/lib/typescript/components/buttons/ButtonLink.d.ts +1 -1
  257. package/lib/typescript/components/buttons/ButtonLink.d.ts.map +1 -1
  258. package/lib/typescript/components/buttons/ButtonOutline.d.ts.map +1 -1
  259. package/lib/typescript/components/buttons/ButtonSolid.d.ts +1 -6
  260. package/lib/typescript/components/buttons/ButtonSolid.d.ts.map +1 -1
  261. package/lib/typescript/components/layout/BlockButtons.d.ts +1 -1
  262. package/lib/typescript/components/layout/BlockButtons.d.ts.map +1 -1
  263. package/lib/typescript/components/layout/HeaderSecondLevel.d.ts +33 -10
  264. package/lib/typescript/components/layout/HeaderSecondLevel.d.ts.map +1 -1
  265. package/lib/typescript/components/layout/index.d.ts +1 -0
  266. package/lib/typescript/components/layout/index.d.ts.map +1 -1
  267. package/lib/typescript/components/listitems/ListItemSwitch.d.ts +4 -1
  268. package/lib/typescript/components/listitems/ListItemSwitch.d.ts.map +1 -1
  269. package/lib/typescript/components/modules/ModulePaymentNotice.d.ts +34 -0
  270. package/lib/typescript/components/modules/ModulePaymentNotice.d.ts.map +1 -0
  271. package/lib/typescript/components/modules/index.d.ts +1 -0
  272. package/lib/typescript/components/modules/index.d.ts.map +1 -1
  273. package/lib/typescript/components/pictograms/Pictogram.d.ts +44 -41
  274. package/lib/typescript/components/pictograms/Pictogram.d.ts.map +1 -1
  275. package/lib/typescript/components/pictograms/svg/PictogramAccessDenied.d.ts +1 -1
  276. package/lib/typescript/components/pictograms/svg/PictogramAccessDenied.d.ts.map +1 -1
  277. package/lib/typescript/components/pictograms/svg/PictogramAttention.d.ts +1 -1
  278. package/lib/typescript/components/pictograms/svg/PictogramAttention.d.ts.map +1 -1
  279. package/lib/typescript/components/pictograms/svg/PictogramBleedCameraDenied.d.ts +5 -0
  280. package/lib/typescript/components/pictograms/svg/PictogramBleedCameraDenied.d.ts.map +1 -0
  281. package/lib/typescript/components/pictograms/svg/PictogramBleedCameraRequest.d.ts +5 -0
  282. package/lib/typescript/components/pictograms/svg/PictogramBleedCameraRequest.d.ts.map +1 -0
  283. package/lib/typescript/components/pictograms/svg/PictogramBleedCharity.d.ts +1 -1
  284. package/lib/typescript/components/pictograms/svg/PictogramBleedCharity.d.ts.map +1 -1
  285. package/lib/typescript/components/pictograms/svg/PictogramBleedCie.d.ts +1 -1
  286. package/lib/typescript/components/pictograms/svg/PictogramBleedCie.d.ts.map +1 -1
  287. package/lib/typescript/components/pictograms/svg/PictogramBleedFeature.d.ts +1 -1
  288. package/lib/typescript/components/pictograms/svg/PictogramBleedFeature.d.ts.map +1 -1
  289. package/lib/typescript/components/pictograms/svg/PictogramBleedFeedback.d.ts +1 -1
  290. package/lib/typescript/components/pictograms/svg/PictogramBleedFeedback.d.ts.map +1 -1
  291. package/lib/typescript/components/pictograms/svg/PictogramBleedHelp.d.ts +1 -1
  292. package/lib/typescript/components/pictograms/svg/PictogramBleedHelp.d.ts.map +1 -1
  293. package/lib/typescript/components/pictograms/svg/PictogramBleedITWallet.d.ts +1 -1
  294. package/lib/typescript/components/pictograms/svg/PictogramBleedITWallet.d.ts.map +1 -1
  295. package/lib/typescript/components/pictograms/svg/PictogramBleedSecurity.d.ts +1 -1
  296. package/lib/typescript/components/pictograms/svg/PictogramBleedSecurity.d.ts.map +1 -1
  297. package/lib/typescript/components/pictograms/svg/PictogramCameraDenied.d.ts +5 -0
  298. package/lib/typescript/components/pictograms/svg/PictogramCameraDenied.d.ts.map +1 -0
  299. package/lib/typescript/components/pictograms/svg/PictogramCameraRequest.d.ts +1 -1
  300. package/lib/typescript/components/pictograms/svg/PictogramCameraRequest.d.ts.map +1 -1
  301. package/lib/typescript/components/pictograms/svg/PictogramCharity.d.ts +1 -1
  302. package/lib/typescript/components/pictograms/svg/PictogramCharity.d.ts.map +1 -1
  303. package/lib/typescript/components/pictograms/svg/PictogramCie.d.ts +1 -1
  304. package/lib/typescript/components/pictograms/svg/PictogramCie.d.ts.map +1 -1
  305. package/lib/typescript/components/pictograms/svg/PictogramDonation.d.ts +1 -1
  306. package/lib/typescript/components/pictograms/svg/PictogramDonation.d.ts.map +1 -1
  307. package/lib/typescript/components/pictograms/svg/PictogramEmpty.d.ts +1 -1
  308. package/lib/typescript/components/pictograms/svg/PictogramEmpty.d.ts.map +1 -1
  309. package/lib/typescript/components/pictograms/svg/PictogramEmptyArchive.d.ts +1 -1
  310. package/lib/typescript/components/pictograms/svg/PictogramEmptyArchive.d.ts.map +1 -1
  311. package/lib/typescript/components/pictograms/svg/PictogramFatalError.d.ts +1 -1
  312. package/lib/typescript/components/pictograms/svg/PictogramFatalError.d.ts.map +1 -1
  313. package/lib/typescript/components/pictograms/svg/PictogramFeature.d.ts +1 -1
  314. package/lib/typescript/components/pictograms/svg/PictogramFeature.d.ts.map +1 -1
  315. package/lib/typescript/components/pictograms/svg/PictogramFeedback.d.ts +1 -1
  316. package/lib/typescript/components/pictograms/svg/PictogramFeedback.d.ts.map +1 -1
  317. package/lib/typescript/components/pictograms/svg/PictogramHelp.d.ts +1 -1
  318. package/lib/typescript/components/pictograms/svg/PictogramHelp.d.ts.map +1 -1
  319. package/lib/typescript/components/pictograms/svg/PictogramITWallet.d.ts +1 -1
  320. package/lib/typescript/components/pictograms/svg/PictogramITWallet.d.ts.map +1 -1
  321. package/lib/typescript/components/pictograms/svg/PictogramIdentity.d.ts +1 -1
  322. package/lib/typescript/components/pictograms/svg/PictogramIdentity.d.ts.map +1 -1
  323. package/lib/typescript/components/pictograms/svg/PictogramIdentityAdd.d.ts +1 -1
  324. package/lib/typescript/components/pictograms/svg/PictogramIdentityAdd.d.ts.map +1 -1
  325. package/lib/typescript/components/pictograms/svg/PictogramIdentityCheck.d.ts +1 -1
  326. package/lib/typescript/components/pictograms/svg/PictogramIdentityCheck.d.ts.map +1 -1
  327. package/lib/typescript/components/pictograms/svg/PictogramIdentityRefresh.d.ts +1 -1
  328. package/lib/typescript/components/pictograms/svg/PictogramIdentityRefresh.d.ts.map +1 -1
  329. package/lib/typescript/components/pictograms/svg/PictogramObjClock.d.ts +1 -1
  330. package/lib/typescript/components/pictograms/svg/PictogramObjClock.d.ts.map +1 -1
  331. package/lib/typescript/components/pictograms/svg/PictogramObjFlyingMessage.d.ts +1 -1
  332. package/lib/typescript/components/pictograms/svg/PictogramObjFlyingMessage.d.ts.map +1 -1
  333. package/lib/typescript/components/pictograms/svg/PictogramObjFollowMessage.d.ts +1 -1
  334. package/lib/typescript/components/pictograms/svg/PictogramObjFollowMessage.d.ts.map +1 -1
  335. package/lib/typescript/components/pictograms/svg/PictogramObjIbanCard.d.ts +1 -1
  336. package/lib/typescript/components/pictograms/svg/PictogramObjIbanCard.d.ts.map +1 -1
  337. package/lib/typescript/components/pictograms/svg/PictogramObjKey.d.ts +1 -1
  338. package/lib/typescript/components/pictograms/svg/PictogramObjKey.d.ts.map +1 -1
  339. package/lib/typescript/components/pictograms/svg/PictogramObjManual.d.ts +1 -1
  340. package/lib/typescript/components/pictograms/svg/PictogramObjManual.d.ts.map +1 -1
  341. package/lib/typescript/components/pictograms/svg/PictogramObjTrash.d.ts +1 -1
  342. package/lib/typescript/components/pictograms/svg/PictogramObjTrash.d.ts.map +1 -1
  343. package/lib/typescript/components/pictograms/svg/PictogramPasscode.d.ts +1 -1
  344. package/lib/typescript/components/pictograms/svg/PictogramPasscode.d.ts.map +1 -1
  345. package/lib/typescript/components/pictograms/svg/PictogramSecurity.d.ts +1 -1
  346. package/lib/typescript/components/pictograms/svg/PictogramSecurity.d.ts.map +1 -1
  347. package/lib/typescript/components/pictograms/svg/PictogramSetup.d.ts +1 -1
  348. package/lib/typescript/components/pictograms/svg/PictogramSetup.d.ts.map +1 -1
  349. package/lib/typescript/components/pictograms/svg/PictogramStopSecurity.d.ts +1 -1
  350. package/lib/typescript/components/pictograms/svg/PictogramStopSecurity.d.ts.map +1 -1
  351. package/lib/typescript/components/pictograms/svg/PictogramSuccess.d.ts +1 -1
  352. package/lib/typescript/components/pictograms/svg/PictogramSuccess.d.ts.map +1 -1
  353. package/lib/typescript/components/pictograms/svg/PictogramTime.d.ts +1 -1
  354. package/lib/typescript/components/pictograms/svg/PictogramTime.d.ts.map +1 -1
  355. package/lib/typescript/components/pictograms/svg/PictogramUmbrellaNew.d.ts +1 -1
  356. package/lib/typescript/components/pictograms/svg/PictogramUmbrellaNew.d.ts.map +1 -1
  357. package/lib/typescript/components/pictograms/svg/PictogramUpdateOS.d.ts +1 -1
  358. package/lib/typescript/components/pictograms/svg/PictogramUpdateOS.d.ts.map +1 -1
  359. package/lib/typescript/components/textInput/TextInputBase.d.ts.map +1 -1
  360. package/lib/typescript/components/typography/ButtonText.d.ts +1 -1
  361. package/lib/typescript/components/typography/ButtonText.d.ts.map +1 -1
  362. package/lib/typescript/components/typography/LabelLink.d.ts +2 -1
  363. package/lib/typescript/components/typography/LabelLink.d.ts.map +1 -1
  364. package/lib/typescript/components/typography/LabelSmall.d.ts +2 -2
  365. package/lib/typescript/components/typography/LabelSmall.d.ts.map +1 -1
  366. package/lib/typescript/components/typography/common.d.ts +7 -1
  367. package/lib/typescript/components/typography/common.d.ts.map +1 -1
  368. package/lib/typescript/core/IOColors.d.ts +3 -0
  369. package/lib/typescript/core/IOColors.d.ts.map +1 -1
  370. package/lib/typescript/core/IOSpacing.d.ts +1 -2
  371. package/lib/typescript/core/IOSpacing.d.ts.map +1 -1
  372. package/lib/typescript/core/IOStyles.d.ts +2 -2
  373. package/lib/typescript/stories/ButtonDS.stories.d.ts +1 -1
  374. package/lib/typescript/stories/LabelSmall.stories.d.ts +1 -1
  375. package/lib/typescript/utils/fonts.d.ts +5 -5
  376. package/lib/typescript/utils/fonts.d.ts.map +1 -1
  377. package/package.json +1 -1
  378. package/src/components/banner/Banner.tsx +1 -0
  379. package/src/components/banner/__test__/__snapshots__/banner.test.tsx.snap +1 -9
  380. package/src/components/buttons/ButtonLink.tsx +7 -2
  381. package/src/components/buttons/ButtonOutline.tsx +11 -1
  382. package/src/components/buttons/ButtonSolid.tsx +8 -14
  383. package/src/components/layout/BlockButtons.tsx +3 -3
  384. package/src/components/layout/HeaderSecondLevel.tsx +130 -79
  385. package/src/components/layout/index.tsx +1 -0
  386. package/src/components/listitems/ListItemSwitch.tsx +40 -10
  387. package/src/components/modules/ModulePaymentNotice.tsx +229 -0
  388. package/src/components/modules/index.tsx +1 -0
  389. package/src/components/pictograms/Pictogram.tsx +98 -7
  390. package/src/components/pictograms/svg/PictogramAccessDenied.tsx +10 -10
  391. package/src/components/pictograms/svg/PictogramAttention.tsx +10 -6
  392. package/src/components/pictograms/svg/PictogramBleedCameraDenied.tsx +42 -0
  393. package/src/components/pictograms/svg/PictogramBleedCameraRequest.tsx +42 -0
  394. package/src/components/pictograms/svg/PictogramBleedCharity.tsx +12 -8
  395. package/src/components/pictograms/svg/PictogramBleedCie.tsx +13 -9
  396. package/src/components/pictograms/svg/PictogramBleedFeature.tsx +10 -10
  397. package/src/components/pictograms/svg/PictogramBleedFeedback.tsx +11 -7
  398. package/src/components/pictograms/svg/PictogramBleedHelp.tsx +12 -8
  399. package/src/components/pictograms/svg/PictogramBleedITWallet.tsx +16 -12
  400. package/src/components/pictograms/svg/PictogramBleedSecurity.tsx +8 -8
  401. package/src/components/pictograms/svg/PictogramCameraDenied.tsx +46 -0
  402. package/src/components/pictograms/svg/PictogramCameraRequest.tsx +31 -46
  403. package/src/components/pictograms/svg/PictogramCharity.tsx +12 -8
  404. package/src/components/pictograms/svg/PictogramCie.tsx +9 -9
  405. package/src/components/pictograms/svg/PictogramDonation.tsx +8 -4
  406. package/src/components/pictograms/svg/PictogramEmpty.tsx +8 -8
  407. package/src/components/pictograms/svg/PictogramEmptyArchive.tsx +5 -5
  408. package/src/components/pictograms/svg/PictogramFatalError.tsx +12 -8
  409. package/src/components/pictograms/svg/PictogramFeature.tsx +14 -10
  410. package/src/components/pictograms/svg/PictogramFeedback.tsx +10 -6
  411. package/src/components/pictograms/svg/PictogramHelp.tsx +7 -7
  412. package/src/components/pictograms/svg/PictogramITWallet.tsx +16 -12
  413. package/src/components/pictograms/svg/PictogramIdentity.tsx +14 -10
  414. package/src/components/pictograms/svg/PictogramIdentityAdd.tsx +14 -10
  415. package/src/components/pictograms/svg/PictogramIdentityCheck.tsx +13 -13
  416. package/src/components/pictograms/svg/PictogramIdentityRefresh.tsx +10 -10
  417. package/src/components/pictograms/svg/PictogramObjClock.tsx +8 -4
  418. package/src/components/pictograms/svg/PictogramObjFlyingMessage.tsx +4 -4
  419. package/src/components/pictograms/svg/PictogramObjFollowMessage.tsx +4 -4
  420. package/src/components/pictograms/svg/PictogramObjIbanCard.tsx +18 -11
  421. package/src/components/pictograms/svg/PictogramObjKey.tsx +8 -4
  422. package/src/components/pictograms/svg/PictogramObjManual.tsx +8 -4
  423. package/src/components/pictograms/svg/PictogramObjTrash.tsx +9 -5
  424. package/src/components/pictograms/svg/PictogramPasscode.tsx +14 -10
  425. package/src/components/pictograms/svg/PictogramSecurity.tsx +13 -9
  426. package/src/components/pictograms/svg/PictogramSetup.tsx +6 -6
  427. package/src/components/pictograms/svg/PictogramStopSecurity.tsx +12 -12
  428. package/src/components/pictograms/svg/PictogramSuccess.tsx +11 -7
  429. package/src/components/pictograms/svg/PictogramTime.tsx +10 -10
  430. package/src/components/pictograms/svg/PictogramUmbrellaNew.tsx +14 -10
  431. package/src/components/pictograms/svg/PictogramUpdateOS.tsx +12 -8
  432. package/src/components/pictograms/svg/originals/PIctogramBleedCameraDenied.svg +30 -0
  433. package/src/components/pictograms/svg/originals/PictogramBleedCameraRequest.svg +30 -0
  434. package/src/components/pictograms/svg/originals/PictogramCameraDenied.svg +34 -0
  435. package/src/components/pictograms/svg/originals/PictogramCameraRequest.svg +29 -16
  436. package/src/components/textInput/TextInputBase.tsx +3 -1
  437. package/src/components/typography/ButtonText.tsx +1 -4
  438. package/src/components/typography/LabelLink.tsx +9 -4
  439. package/src/components/typography/LabelSmall.tsx +13 -6
  440. package/src/components/typography/__test__/__snapshots__/typography.test.tsx.snap +3 -3
  441. package/src/components/typography/common.tsx +8 -1
  442. package/src/core/IOColors.ts +14 -2
  443. package/src/core/IOSpacing.ts +16 -5
  444. package/src/utils/fonts.ts +8 -8
@@ -6,37 +6,62 @@ import Animated, {
6
6
  interpolateColor,
7
7
  useAnimatedStyle
8
8
  } from "react-native-reanimated";
9
- import { IOColors, hexToRgba } from "../../core/IOColors";
10
-
11
9
  import {
12
10
  IOStyles,
13
11
  IOVisualCostants,
14
- iconBtnSizeSmall
15
- } from "../../core/IOStyles";
12
+ iconBtnSizeSmall,
13
+ IOColors,
14
+ hexToRgba,
15
+ useIOExperimentalDesign
16
+ } from "../../core";
16
17
  import { HSpacer } from "../spacer";
17
18
  import type { IOSpacer } from "../../core/IOSpacing";
18
19
  import { WithTestID } from "../../utils/types";
19
20
  import IconButton from "../buttons/IconButton";
20
21
  import { makeFontStyleObject } from "../../utils/fonts";
21
22
 
22
- export type HeaderSecondLevel = WithTestID<{
23
- scrollValues: ScrollValues;
23
+ type ActionProp = Pick<
24
+ React.ComponentProps<typeof IconButton>,
25
+ "icon" | "onPress" | "accessibilityLabel" | "accessibilityHint"
26
+ >;
27
+
28
+ type ScrollValues = {
29
+ contentOffsetY: Animated.SharedValue<number>;
30
+ triggerOffset: number;
31
+ };
32
+
33
+ type CommonProps = WithTestID<{
34
+ scrollValues?: ScrollValues;
24
35
  title: string;
25
36
  goBack: () => void;
26
37
  backAccessibilityLabel: string;
27
- // Accepted components: IconButton
28
- // Don't use any components other than this, please.
29
- firstAction?: React.ReactNode;
30
- secondAction?: React.ReactNode;
31
- thirdAction?: React.ReactNode;
32
38
  // Visual attributes
33
39
  transparent?: boolean;
34
40
  }>;
35
41
 
36
- type ScrollValues = {
37
- contentOffsetY: Animated.SharedValue<number>;
38
- triggerOffset: number;
39
- };
42
+ interface Base extends CommonProps {
43
+ type: "base";
44
+ }
45
+
46
+ interface OneAction extends CommonProps {
47
+ type: "singleAction";
48
+ firstAction: ActionProp;
49
+ }
50
+
51
+ interface TwoActions extends CommonProps {
52
+ type: "twoActions";
53
+ firstAction: ActionProp;
54
+ secondAction: ActionProp;
55
+ }
56
+
57
+ interface ThreeActions extends CommonProps {
58
+ type: "threeActions";
59
+ firstAction: ActionProp;
60
+ secondAction: ActionProp;
61
+ thirdAction: ActionProp;
62
+ }
63
+
64
+ export type HeaderSecondLevel = Base | OneAction | TwoActions | ThreeActions;
40
65
 
41
66
  const HEADER_BG_COLOR: IOColors = "white";
42
67
  const borderColorDisabled = hexToRgba(IOColors["grey-100"], 0);
@@ -54,98 +79,124 @@ const styles = StyleSheet.create({
54
79
  justifyContent: "space-between"
55
80
  },
56
81
  headerTitle: {
57
- ...makeFontStyleObject("Regular", false, "ReadexPro"),
58
82
  fontSize: 14,
59
83
  textAlign: "center",
60
84
  flexGrow: 1,
61
85
  flexShrink: 1,
62
86
  marginHorizontal: titleHorizontalMargin
87
+ },
88
+ headerTitleFont: {
89
+ ...makeFontStyleObject("Regular", false, "ReadexPro")
90
+ },
91
+ headerTitleLegacyFont: {
92
+ ...makeFontStyleObject("SemiBold", false, "TitilliumWeb")
63
93
  }
64
94
  });
65
95
 
66
- export const HeaderSecondLevel = ({
67
- scrollValues,
68
- goBack,
69
- backAccessibilityLabel,
70
- title,
71
- firstAction,
72
- secondAction,
73
- thirdAction,
74
- transparent = false,
75
- testID
76
- }: HeaderSecondLevel) => {
96
+ /**
97
+ * HeaderSecondLevel component is used to display the header on pages on the second level of navigation.
98
+ * @param {HeaderSecondLevel} props - The props of the component
99
+ * @returns React Element
100
+ */
101
+ export const HeaderSecondLevel = (props: HeaderSecondLevel) => {
102
+ const {
103
+ scrollValues = undefined,
104
+ goBack,
105
+ backAccessibilityLabel,
106
+ title,
107
+ type,
108
+ transparent = false,
109
+ testID
110
+ } = props;
111
+ const { isExperimental } = useIOExperimentalDesign();
77
112
  const insets = useSafeAreaInsets();
78
113
 
79
114
  const headerWrapperAnimatedStyle = useAnimatedStyle(() => ({
80
- backgroundColor: transparent
115
+ backgroundColor:
116
+ transparent && scrollValues
117
+ ? interpolateColor(
118
+ scrollValues.contentOffsetY.value,
119
+ [0, scrollValues.triggerOffset],
120
+ [headerTransparent, IOColors[HEADER_BG_COLOR]]
121
+ )
122
+ : IOColors[HEADER_BG_COLOR],
123
+ borderColor: scrollValues
81
124
  ? interpolateColor(
82
125
  scrollValues.contentOffsetY.value,
83
126
  [0, scrollValues.triggerOffset],
84
- [headerTransparent, IOColors[HEADER_BG_COLOR]]
127
+ [borderColorDisabled, IOColors["grey-100"]]
85
128
  )
86
- : undefined,
87
- borderColor: interpolateColor(
88
- scrollValues.contentOffsetY.value,
89
- [0, scrollValues.triggerOffset],
90
- [borderColorDisabled, IOColors["grey-100"]]
91
- )
129
+ : "transparent"
92
130
  }));
93
131
 
94
132
  const titleAnimatedStyle = useAnimatedStyle(() => ({
95
- opacity: interpolate(
96
- scrollValues.contentOffsetY.value,
97
- [0, scrollValues.triggerOffset],
98
- [0, 1]
99
- )
133
+ opacity: scrollValues
134
+ ? interpolate(
135
+ scrollValues.contentOffsetY.value,
136
+ [0, scrollValues.triggerOffset],
137
+ [0, 1]
138
+ )
139
+ : 1
100
140
  }));
101
141
 
102
142
  return (
103
143
  <Animated.View
104
144
  accessibilityRole="header"
105
- testID={testID}
106
- style={[
107
- { marginTop: insets.top },
108
- styles.headerInner,
145
+ style={
109
146
  transparent
110
147
  ? { borderBottomWidth: 0 }
111
- : { backgroundColor: IOColors[HEADER_BG_COLOR] },
112
- headerWrapperAnimatedStyle
113
- ]}
148
+ : { backgroundColor: IOColors[HEADER_BG_COLOR] }
149
+ }
114
150
  >
115
- <IconButton
116
- icon={Platform.OS === "ios" ? "backiOS" : "backAndroid"}
117
- color="neutral"
118
- onPress={goBack}
119
- accessibilityLabel={backAccessibilityLabel}
120
- />
121
- <Animated.Text
122
- numberOfLines={1}
123
- style={[styles.headerTitle, titleAnimatedStyle]}
151
+ <Animated.View
152
+ testID={testID}
153
+ style={[
154
+ { marginTop: insets.top },
155
+ styles.headerInner,
156
+ headerWrapperAnimatedStyle
157
+ ]}
124
158
  >
125
- {title}
126
- </Animated.Text>
127
- <View style={[IOStyles.row, { flexShrink: 0 }]}>
128
- {firstAction ? (
129
- firstAction
130
- ) : (
131
- <HSpacer size={iconBtnSizeSmall as IOSpacer} />
132
- )}
133
- {secondAction && (
134
- <>
135
- {/* Ideally, with the "gap" flex property,
159
+ <IconButton
160
+ icon={Platform.OS === "ios" ? "backiOS" : "backAndroid"}
161
+ color="neutral"
162
+ onPress={goBack}
163
+ accessibilityLabel={backAccessibilityLabel}
164
+ />
165
+ <Animated.Text
166
+ numberOfLines={1}
167
+ style={[
168
+ styles.headerTitle,
169
+ isExperimental
170
+ ? styles.headerTitleFont
171
+ : styles.headerTitleLegacyFont,
172
+ titleAnimatedStyle
173
+ ]}
174
+ >
175
+ {title}
176
+ </Animated.Text>
177
+ <View style={[IOStyles.row, { flexShrink: 0 }]}>
178
+ {type !== "base" ? (
179
+ <IconButton {...props.firstAction} color="neutral" />
180
+ ) : (
181
+ <HSpacer size={iconBtnSizeSmall as IOSpacer} />
182
+ )}
183
+ {(type === "twoActions" || type === "threeActions") && (
184
+ <>
185
+ {/* Ideally, with the "gap" flex property,
136
186
  we can get rid of these ugly constructs */}
137
- <HSpacer size={16} />
138
- {secondAction}
139
- </>
140
- )}
141
- {thirdAction && (
142
- <>
143
- {/* Same as above */}
144
- <HSpacer size={16} />
145
- {thirdAction}
146
- </>
147
- )}
148
- </View>
187
+ <HSpacer size={16} />
188
+ <IconButton {...props.secondAction} color="neutral" />
189
+ </>
190
+ )}
191
+ {type === "threeActions" && (
192
+ <>
193
+ {/* Same as above */}
194
+ <HSpacer size={16} />
195
+ <IconButton {...props.thirdAction} color="neutral" />
196
+ </>
197
+ )}
198
+ </View>
199
+ </Animated.View>
149
200
  </Animated.View>
150
201
  );
151
202
  };
@@ -3,3 +3,4 @@ export * from "./GradientBottomActions";
3
3
  export * from "./HeaderFirstLevel";
4
4
  export * from "./HeaderSecondLevel";
5
5
  export * from "./FooterWithButtons";
6
+ export * from "./BlockButtons";
@@ -1,5 +1,10 @@
1
1
  import React from "react";
2
- import { GestureResponderEvent, Switch, View } from "react-native";
2
+ import {
3
+ ActivityIndicator,
4
+ GestureResponderEvent,
5
+ Switch,
6
+ View
7
+ } from "react-native";
3
8
  import {
4
9
  IOSelectionListItemStyles,
5
10
  IOSelectionListItemVisualParams,
@@ -10,6 +15,7 @@ import { IOIcons, Icon } from "../icons";
10
15
  import { HSpacer, VSpacer } from "../spacer";
11
16
  import { H6, LabelSmall, LabelLink } from "../typography";
12
17
  import { NativeSwitch } from "../switch/NativeSwitch";
18
+ import { Badge } from "../badge";
13
19
 
14
20
  type Props = {
15
21
  label: string;
@@ -17,6 +23,8 @@ type Props = {
17
23
  description?: string;
18
24
  icon?: IOIcons;
19
25
  action?: SwitchAction;
26
+ isLoading?: boolean;
27
+ badge?: Badge;
20
28
  };
21
29
 
22
30
  export type SwitchAction = {
@@ -37,6 +45,8 @@ export const ListItemSwitch = React.memo(
37
45
  value,
38
46
  disabled,
39
47
  action,
48
+ isLoading,
49
+ badge,
40
50
  onSwitchValueChange
41
51
  }: OwnProps) => {
42
52
  const theme = useIOTheme();
@@ -59,7 +69,7 @@ export const ListItemSwitch = React.memo(
59
69
  { alignItems: "center" }
60
70
  ]}
61
71
  >
62
- <View style={{ flexShrink: 1 }}>
72
+ <View style={{ flex: 1 }}>
63
73
  <View style={[IOStyles.row, { flexShrink: 1 }]}>
64
74
  {icon && (
65
75
  <View
@@ -74,9 +84,34 @@ export const ListItemSwitch = React.memo(
74
84
  />
75
85
  </View>
76
86
  )}
77
- <H6 color={"black"} style={{ flexShrink: 1 }}>
78
- {label}
79
- </H6>
87
+ <View
88
+ style={{
89
+ flex: 1,
90
+ flexDirection: "row",
91
+ alignContent: "space-between"
92
+ }}
93
+ >
94
+ <H6 color={"black"} style={{ flex: 1 }}>
95
+ {label}
96
+ </H6>
97
+ <HSpacer size={8} />
98
+ <View>
99
+ {badge && (
100
+ <Badge
101
+ text={badge.text}
102
+ variant={badge.variant}
103
+ testID={badge.testID}
104
+ />
105
+ )}
106
+ {isLoading && <ActivityIndicator color={"black"} />}
107
+ {!isLoading && !badge && (
108
+ <NativeSwitch
109
+ value={value}
110
+ onValueChange={onSwitchValueChange}
111
+ />
112
+ )}
113
+ </View>
114
+ </View>
80
115
  </View>
81
116
  {description && (
82
117
  <>
@@ -97,11 +132,6 @@ export const ListItemSwitch = React.memo(
97
132
  </>
98
133
  )}
99
134
  </View>
100
-
101
- <HSpacer size={8} />
102
- <View style={{ flexShrink: 0, alignSelf: "flex-start" }}>
103
- <NativeSwitch value={value} onValueChange={onSwitchValueChange} />
104
- </View>
105
135
  </View>
106
136
  </View>
107
137
  );
@@ -0,0 +1,229 @@
1
+ import * as React from "react";
2
+ import { useCallback } from "react";
3
+ import {
4
+ GestureResponderEvent,
5
+ Pressable,
6
+ StyleSheet,
7
+ View
8
+ } from "react-native";
9
+ import Animated, {
10
+ Extrapolate,
11
+ interpolate,
12
+ useAnimatedStyle,
13
+ useDerivedValue,
14
+ useSharedValue,
15
+ withSpring
16
+ } from "react-native-reanimated";
17
+ import Placeholder from "rn-placeholder";
18
+ import { WithTestID } from "../../utils/types";
19
+ import { getAccessibleAmountText } from "../../utils/accessibility";
20
+ import { H6, LabelSmall } from "../typography";
21
+ import { Badge } from "../badge";
22
+ import { Icon } from "../icons";
23
+ import {
24
+ IOColors,
25
+ IOListItemVisualParams,
26
+ IOScaleValues,
27
+ IOSpringValues,
28
+ IOStyles,
29
+ useIOExperimentalDesign
30
+ } from "../../core";
31
+ import { VSpacer } from "../spacer";
32
+
33
+ export type PaymentNoticeStatus =
34
+ | "default"
35
+ | "payed"
36
+ | "error"
37
+ | "expired"
38
+ | "revoked"
39
+ | "canceled";
40
+
41
+ type Props = WithTestID<
42
+ {
43
+ isLoading?: boolean;
44
+ accessibilityLabel?: string;
45
+ title?: string;
46
+ subtitle: string;
47
+ onPress: (event: GestureResponderEvent) => void;
48
+ } & (
49
+ | {
50
+ paymentNoticeStatus: Extract<PaymentNoticeStatus, "default">;
51
+ paymentNoticeAmount: string;
52
+ badgeText?: never;
53
+ }
54
+ | {
55
+ paymentNoticeStatus: Exclude<PaymentNoticeStatus, "default">;
56
+ paymentNoticeAmount?: never;
57
+ badgeText: string;
58
+ }
59
+ )
60
+ >;
61
+
62
+ const styles = StyleSheet.create({
63
+ button: {
64
+ flex: 1,
65
+ flexDirection: "row",
66
+ alignItems: "center",
67
+ justifyContent: "space-between",
68
+ paddingHorizontal: 16,
69
+ paddingVertical: 16,
70
+ borderRadius: 8,
71
+ borderColor: IOColors.bluegreyLight,
72
+ backgroundColor: IOColors.white,
73
+ borderStyle: "solid",
74
+ borderWidth: 1
75
+ },
76
+ rightSection: {
77
+ marginLeft: IOListItemVisualParams.iconMargin,
78
+ flexDirection: "row",
79
+ alignItems: "center",
80
+ justifyContent: "flex-end"
81
+ }
82
+ });
83
+
84
+ const ModulePaymentNoticeContent = ({
85
+ title,
86
+ subtitle,
87
+ paymentNoticeStatus,
88
+ paymentNoticeAmount,
89
+ badgeText = ""
90
+ }: Omit<Props, "isLoading" | "onPress" | "testID">) => {
91
+ const { isExperimental } = useIOExperimentalDesign();
92
+
93
+ const AmountOrBadgeComponent = () => {
94
+ switch (paymentNoticeStatus) {
95
+ case "default":
96
+ return (
97
+ <H6
98
+ accessibilityLabel={getAccessibleAmountText(paymentNoticeAmount)}
99
+ color={isExperimental ? "blueIO-500" : "blue"}
100
+ >
101
+ {paymentNoticeAmount}
102
+ </H6>
103
+ );
104
+ case "payed":
105
+ return <Badge variant="success" text={badgeText} />;
106
+ case "error":
107
+ return <Badge variant="error" text={badgeText} />;
108
+ case "expired":
109
+ return <Badge variant="default" text={badgeText} />;
110
+ case "revoked":
111
+ return <Badge variant="default" text={badgeText} />;
112
+ case "canceled":
113
+ return <Badge variant="default" text={badgeText} />;
114
+ }
115
+ };
116
+
117
+ return (
118
+ <>
119
+ <View style={{ flexGrow: 1, flexShrink: 1 }}>
120
+ {title && (
121
+ <LabelSmall numberOfLines={1} weight="Regular" color="bluegrey">
122
+ {title}
123
+ </LabelSmall>
124
+ )}
125
+ <LabelSmall
126
+ weight="SemiBold"
127
+ font={isExperimental ? "ReadexPro" : "TitilliumWeb"}
128
+ color={isExperimental ? "blueIO-500" : "bluegrey"}
129
+ >
130
+ {subtitle}
131
+ </LabelSmall>
132
+ </View>
133
+ <View style={[styles.rightSection, { flexShrink: 1 }]}>
134
+ <AmountOrBadgeComponent />
135
+ <Icon
136
+ name="chevronRightListItem"
137
+ color={isExperimental ? "blueIO-500" : "blue"}
138
+ size={IOListItemVisualParams.chevronSize}
139
+ />
140
+ </View>
141
+ </>
142
+ );
143
+ };
144
+
145
+ /**
146
+ * The `ModulePaymentNotice` component is a custom button component with an extended outline style.
147
+ * It provides an animated scaling effect when pressed.
148
+ *
149
+ * @param {boolean} isLoading - If true, displays a skeleton loading component.
150
+ * @param {function} onPress - The function to be executed when the item is pressed.
151
+ * @param {string} title - The title text to display.
152
+ * @param {string} subtitle - The subtitle text to display.
153
+ * @param {string} testID - The test ID for testing purposes.
154
+ * @param {string} paymentNoticeAmount - The payment notice amount to display.
155
+ * @param {string} paymentNoticeStatus - The status of the payment notice.
156
+ */
157
+ export const ModulePaymentNotice = ({
158
+ isLoading = false,
159
+ testID,
160
+ accessibilityLabel,
161
+ onPress,
162
+ ...rest
163
+ }: Props) => {
164
+ const isPressed: Animated.SharedValue<number> = useSharedValue(0);
165
+
166
+ // Scaling transformation applied when the button is pressed
167
+ const animationScaleValue = IOScaleValues?.magnifiedButton?.pressedState;
168
+
169
+ const scaleTraversed = useDerivedValue(() =>
170
+ withSpring(isPressed.value, IOSpringValues.button)
171
+ );
172
+
173
+ // Interpolate animation values from `isPressed` values
174
+ const animatedStyle = useAnimatedStyle(() => {
175
+ const scale = interpolate(
176
+ scaleTraversed.value,
177
+ [0, 1],
178
+ [1, animationScaleValue],
179
+ Extrapolate.CLAMP
180
+ );
181
+
182
+ return {
183
+ transform: [{ scale }]
184
+ };
185
+ });
186
+
187
+ const onPressIn = useCallback(() => {
188
+ // eslint-disable-next-line functional/immutable-data
189
+ isPressed.value = 1;
190
+ }, [isPressed]);
191
+
192
+ const onPressOut = useCallback(() => {
193
+ // eslint-disable-next-line functional/immutable-data
194
+ isPressed.value = 0;
195
+ }, [isPressed]);
196
+
197
+ if (isLoading) {
198
+ return <SkeletonComponent />;
199
+ }
200
+
201
+ return (
202
+ <Pressable
203
+ testID={testID}
204
+ onPress={onPress}
205
+ onPressIn={onPressIn}
206
+ onPressOut={onPressOut}
207
+ accessible={true}
208
+ accessibilityRole={"button"}
209
+ accessibilityLabel={accessibilityLabel}
210
+ >
211
+ <Animated.View style={[styles.button, animatedStyle]}>
212
+ <ModulePaymentNoticeContent {...rest} />
213
+ </Animated.View>
214
+ </Pressable>
215
+ );
216
+ };
217
+
218
+ const SkeletonComponent = () => (
219
+ <View style={styles.button} accessible={false}>
220
+ <View style={IOStyles.flex}>
221
+ <Placeholder.Box animate="fade" radius={8} width={179} height={16} />
222
+ <VSpacer size={4} />
223
+ <Placeholder.Box animate="fade" radius={8} width={121} height={13} />
224
+ </View>
225
+ <View style={{ marginLeft: IOListItemVisualParams.iconMargin }}>
226
+ <Placeholder.Box animate="fade" radius={8} width={62} height={16} />
227
+ </View>
228
+ </View>
229
+ );
@@ -1 +1,2 @@
1
1
  export * from "./ModuleIDP";
2
+ export * from "./ModulePaymentNotice";