@pi-spi/app 2.0.0 → 2.2.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 (389) hide show
  1. package/lib/module/core/api.js +14 -5
  2. package/lib/module/core/api.js.map +1 -1
  3. package/lib/module/l10n/app_localizations.js.map +1 -1
  4. package/lib/module/l10n/app_localizations_en.js +40 -8
  5. package/lib/module/l10n/app_localizations_en.js.map +1 -1
  6. package/lib/module/l10n/app_localizations_fr.js +49 -14
  7. package/lib/module/l10n/app_localizations_fr.js.map +1 -1
  8. package/lib/module/l10n/app_localizations_pt.js +41 -7
  9. package/lib/module/l10n/app_localizations_pt.js.map +1 -1
  10. package/lib/module/modules/alias/domain/models/alias_revendication.js +4 -2
  11. package/lib/module/modules/alias/domain/models/alias_revendication.js.map +1 -1
  12. package/lib/module/modules/alias/infra/alias_output_local.js +11 -0
  13. package/lib/module/modules/alias/infra/alias_output_local.js.map +1 -1
  14. package/lib/module/modules/alias/infra/alias_output_repository.js +9 -8
  15. package/lib/module/modules/alias/infra/alias_output_repository.js.map +1 -1
  16. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js +14 -18
  17. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js.map +1 -1
  18. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js +113 -60
  19. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js.map +1 -1
  20. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js +151 -76
  21. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js.map +1 -1
  22. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js +38 -24
  23. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js.map +1 -1
  24. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js +28 -26
  25. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js.map +1 -1
  26. package/lib/module/modules/alias/presentation/pages/alias_page_otp.js +27 -110
  27. package/lib/module/modules/alias/presentation/pages/alias_page_otp.js.map +1 -1
  28. package/lib/module/modules/categorie/domain/services/categorie_service.js +2 -1
  29. package/lib/module/modules/categorie/domain/services/categorie_service.js.map +1 -1
  30. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js +58 -72
  31. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js.map +1 -1
  32. package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js +88 -80
  33. package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js.map +1 -1
  34. package/lib/module/modules/categorie/presentation/pages/categorie_icon.js +39 -0
  35. package/lib/module/modules/categorie/presentation/pages/categorie_icon.js.map +1 -1
  36. package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js +55 -27
  37. package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js.map +1 -1
  38. package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js +21 -81
  39. package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js.map +1 -1
  40. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js +53 -16
  41. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js.map +1 -1
  42. package/lib/module/modules/config/domain/models/config_keys.js +2 -0
  43. package/lib/module/modules/config/domain/models/config_keys.js.map +1 -1
  44. package/lib/module/modules/contacts/domain/contact_pi.js +3 -5
  45. package/lib/module/modules/contacts/domain/contact_pi.js.map +1 -1
  46. package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js +30 -14
  47. package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js.map +1 -1
  48. package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js +106 -0
  49. package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js.map +1 -0
  50. package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js +17 -7
  51. package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js.map +1 -1
  52. package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js +5 -4
  53. package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js.map +1 -1
  54. package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js +76 -67
  55. package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js.map +1 -1
  56. package/lib/module/modules/contacts/presentation/pages/contact_section.js +14 -4
  57. package/lib/module/modules/contacts/presentation/pages/contact_section.js.map +1 -1
  58. package/lib/module/modules/contacts/presentation/pages/contact_select_page.js +131 -110
  59. package/lib/module/modules/contacts/presentation/pages/contact_select_page.js.map +1 -1
  60. package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js +118 -59
  61. package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js.map +1 -1
  62. package/lib/module/modules/home/presentation/pages/home_page.js +3 -13
  63. package/lib/module/modules/home/presentation/pages/home_page.js.map +1 -1
  64. package/lib/module/modules/introduction/presentation/pages/introduction.js +17 -4
  65. package/lib/module/modules/introduction/presentation/pages/introduction.js.map +1 -1
  66. package/lib/module/modules/introduction/presentation/pages/introduction_footer.js +15 -53
  67. package/lib/module/modules/introduction/presentation/pages/introduction_footer.js.map +1 -1
  68. package/lib/module/modules/introduction/presentation/pages/introduction_page.js +22 -4
  69. package/lib/module/modules/introduction/presentation/pages/introduction_page.js.map +1 -1
  70. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +2 -2
  71. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
  72. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js +1 -1
  73. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js.map +1 -1
  74. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js +6 -28
  75. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js.map +1 -1
  76. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js +14 -53
  77. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js.map +1 -1
  78. package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js +131 -161
  79. package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js.map +1 -1
  80. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page.js +0 -1
  81. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page.js.map +1 -1
  82. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js +26 -38
  83. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js.map +1 -1
  84. package/lib/module/modules/search/domain/models/fonctionnalite.js +51 -0
  85. package/lib/module/modules/search/domain/models/fonctionnalite.js.map +1 -1
  86. package/lib/module/modules/search/presentation/pages/search_btn_widget.js +136 -0
  87. package/lib/module/modules/search/presentation/pages/search_btn_widget.js.map +1 -0
  88. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +21 -1
  89. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -1
  90. package/lib/module/modules/search/presentation/pages/search_page.js +266 -97
  91. package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -1
  92. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js +5 -3
  93. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js.map +1 -1
  94. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js +5 -6
  95. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js.map +1 -1
  96. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page.js +0 -1
  97. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page.js.map +1 -1
  98. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.js +0 -1
  99. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.js.map +1 -1
  100. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.js +38 -93
  101. package/lib/module/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.js.map +1 -1
  102. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_empty_widget.js +0 -1
  103. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_empty_widget.js.map +1 -1
  104. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_widget.js +0 -1
  105. package/lib/module/modules/subscription/presentation/pages/subscription_list/subscription_list_widget.js.map +1 -1
  106. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js +23 -42
  107. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js.map +1 -1
  108. package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js +1 -2
  109. package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js.map +1 -1
  110. package/lib/module/modules/transactions/infra/transaction_output_remote.js +2 -1
  111. package/lib/module/modules/transactions/infra/transaction_output_remote.js.map +1 -1
  112. package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js +17 -0
  113. package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js.map +1 -1
  114. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.js +0 -1
  115. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.js.map +1 -1
  116. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.js +34 -61
  117. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.js.map +1 -1
  118. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.js +49 -62
  119. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.js.map +1 -1
  120. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_ticket.js +68 -88
  121. package/lib/module/modules/transactions/presentation/pages/transaction_details/transaction_details_page_ticket.js.map +1 -1
  122. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js +30 -23
  123. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js.map +1 -1
  124. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js +77 -0
  125. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js.map +1 -0
  126. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js +49 -155
  127. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js.map +1 -1
  128. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js +16 -4
  129. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js.map +1 -1
  130. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js +11 -9
  131. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js.map +1 -1
  132. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js +17 -35
  133. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js.map +1 -1
  134. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js +8 -10
  135. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js.map +1 -1
  136. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js +127 -106
  137. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js.map +1 -1
  138. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.js +50 -42
  139. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.js.map +1 -1
  140. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_widget.js +0 -1
  141. package/lib/module/modules/transactions/presentation/pages/transaction_recents/transaction_recents_widget.js.map +1 -1
  142. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js +0 -1
  143. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.js.map +1 -1
  144. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.js +37 -67
  145. package/lib/module/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.js.map +1 -1
  146. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js +9 -15
  147. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js.map +1 -1
  148. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js +5 -11
  149. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js.map +1 -1
  150. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js +9 -9
  151. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js.map +1 -1
  152. package/lib/module/shared/widgets/alias_widget.js +33 -12
  153. package/lib/module/shared/widgets/alias_widget.js.map +1 -1
  154. package/lib/module/shared/widgets/auth_code_field.js +89 -0
  155. package/lib/module/shared/widgets/auth_code_field.js.map +1 -0
  156. package/lib/module/shared/widgets/calendar_date_picker.js +21 -16
  157. package/lib/module/shared/widgets/calendar_date_picker.js.map +1 -1
  158. package/lib/module/shared/widgets/confirm_action_sheet_widget.js +53 -67
  159. package/lib/module/shared/widgets/confirm_action_sheet_widget.js.map +1 -1
  160. package/lib/module/shared/widgets/emoji_select_widget.js +34 -39
  161. package/lib/module/shared/widgets/emoji_select_widget.js.map +1 -1
  162. package/lib/module/shared/widgets/frequence_input_widget.js +18 -29
  163. package/lib/module/shared/widgets/frequence_input_widget.js.map +1 -1
  164. package/lib/module/shared/widgets/frequence_select_widget.js +233 -140
  165. package/lib/module/shared/widgets/frequence_select_widget.js.map +1 -1
  166. package/lib/module/shared/widgets/image_select_widget.js +43 -107
  167. package/lib/module/shared/widgets/image_select_widget.js.map +1 -1
  168. package/lib/module/shared/widgets/input_text.js +1 -1
  169. package/lib/module/shared/widgets/input_text.js.map +1 -1
  170. package/lib/module/shared/widgets/notification_dialog.js +28 -37
  171. package/lib/module/shared/widgets/notification_dialog.js.map +1 -1
  172. package/lib/module/shared/widgets/pin_entete.js +114 -0
  173. package/lib/module/shared/widgets/pin_entete.js.map +1 -0
  174. package/lib/module/shared/widgets/select_date_widget.js +74 -59
  175. package/lib/module/shared/widgets/select_date_widget.js.map +1 -1
  176. package/lib/module/shared/widgets/selection.js +387 -6
  177. package/lib/module/shared/widgets/selection.js.map +1 -1
  178. package/lib/typescript/src/core/api.d.ts +6 -0
  179. package/lib/typescript/src/core/api.d.ts.map +1 -1
  180. package/lib/typescript/src/l10n/app_localizations.d.ts +75 -11
  181. package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
  182. package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
  183. package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
  184. package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
  185. package/lib/typescript/src/modules/alias/domain/models/alias_revendication.d.ts.map +1 -1
  186. package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts +5 -0
  187. package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts.map +1 -1
  188. package/lib/typescript/src/modules/alias/infra/alias_output_repository.d.ts.map +1 -1
  189. package/lib/typescript/src/modules/alias/presentation/pages/alias_delete_btn_widget.d.ts.map +1 -1
  190. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_claim.d.ts.map +1 -1
  191. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_form.d.ts.map +1 -1
  192. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts +1 -1
  193. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts.map +1 -1
  194. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts +4 -1
  195. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts.map +1 -1
  196. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts +9 -5
  197. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts.map +1 -1
  198. package/lib/typescript/src/modules/categorie/domain/services/categorie_service.d.ts.map +1 -1
  199. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts +3 -0
  200. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts.map +1 -1
  201. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_form_pages.d.ts.map +1 -1
  202. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts +9 -0
  203. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts.map +1 -1
  204. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts +7 -2
  205. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts.map +1 -1
  206. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_page.d.ts.map +1 -1
  207. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts +10 -2
  208. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts.map +1 -1
  209. package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts +3 -1
  210. package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts.map +1 -1
  211. package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts +0 -2
  212. package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts.map +1 -1
  213. package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts +7 -0
  214. package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts.map +1 -1
  215. package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts +14 -0
  216. package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts.map +1 -0
  217. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts +4 -2
  218. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts.map +1 -1
  219. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_phone_widget.d.ts.map +1 -1
  220. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts +6 -4
  221. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts.map +1 -1
  222. package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts +3 -1
  223. package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts.map +1 -1
  224. package/lib/typescript/src/modules/contacts/presentation/pages/contact_select_page.d.ts.map +1 -1
  225. package/lib/typescript/src/modules/contacts/presentation/pages/create/contact_create_page.d.ts.map +1 -1
  226. package/lib/typescript/src/modules/home/presentation/pages/home_page.d.ts.map +1 -1
  227. package/lib/typescript/src/modules/introduction/presentation/pages/introduction.d.ts.map +1 -1
  228. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts +5 -1
  229. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts.map +1 -1
  230. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_page.d.ts.map +1 -1
  231. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_avatar.d.ts.map +1 -1
  232. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts.d.ts.map +1 -1
  233. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts_actions.d.ts.map +1 -1
  234. package/lib/typescript/src/modules/qrcode/presentation/pages/qrcode_alias_page.d.ts.map +1 -1
  235. package/lib/typescript/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.d.ts.map +1 -1
  236. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts +20 -0
  237. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts.map +1 -1
  238. package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts +11 -0
  239. package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts.map +1 -0
  240. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -1
  241. package/lib/typescript/src/modules/search/presentation/pages/search_page.d.ts.map +1 -1
  242. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.d.ts.map +1 -1
  243. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page.d.ts.map +1 -1
  244. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.d.ts.map +1 -1
  245. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.d.ts +2 -2
  246. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.d.ts.map +1 -1
  247. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_menu_widget.d.ts.map +1 -1
  248. package/lib/typescript/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.d.ts.map +1 -1
  249. package/lib/typescript/src/modules/transactions/infra/transaction_output_remote.d.ts.map +1 -1
  250. package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.d.ts.map +1 -1
  251. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.d.ts.map +1 -1
  252. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.d.ts.map +1 -1
  253. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.d.ts.map +1 -1
  254. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts +4 -1
  255. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts.map +1 -1
  256. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.d.ts +17 -0
  257. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.d.ts.map +1 -0
  258. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.d.ts +6 -2
  259. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.d.ts.map +1 -1
  260. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts +4 -0
  261. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts.map +1 -1
  262. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.d.ts.map +1 -1
  263. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.d.ts.map +1 -1
  264. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.d.ts.map +1 -1
  265. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.d.ts.map +1 -1
  266. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.d.ts.map +1 -1
  267. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.d.ts.map +1 -1
  268. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.d.ts.map +1 -1
  269. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.d.ts.map +1 -1
  270. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.d.ts.map +1 -1
  271. package/lib/typescript/src/shared/widgets/alias_widget.d.ts +2 -2
  272. package/lib/typescript/src/shared/widgets/alias_widget.d.ts.map +1 -1
  273. package/lib/typescript/src/shared/widgets/auth_code_field.d.ts +17 -0
  274. package/lib/typescript/src/shared/widgets/auth_code_field.d.ts.map +1 -0
  275. package/lib/typescript/src/shared/widgets/calendar_date_picker.d.ts.map +1 -1
  276. package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts +16 -2
  277. package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts.map +1 -1
  278. package/lib/typescript/src/shared/widgets/emoji_select_widget.d.ts.map +1 -1
  279. package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts +6 -3
  280. package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts.map +1 -1
  281. package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts +23 -5
  282. package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts.map +1 -1
  283. package/lib/typescript/src/shared/widgets/image_select_widget.d.ts +6 -4
  284. package/lib/typescript/src/shared/widgets/image_select_widget.d.ts.map +1 -1
  285. package/lib/typescript/src/shared/widgets/input_text.d.ts +2 -0
  286. package/lib/typescript/src/shared/widgets/input_text.d.ts.map +1 -1
  287. package/lib/typescript/src/shared/widgets/notification_dialog.d.ts +5 -3
  288. package/lib/typescript/src/shared/widgets/notification_dialog.d.ts.map +1 -1
  289. package/lib/typescript/src/shared/widgets/pin_entete.d.ts +15 -0
  290. package/lib/typescript/src/shared/widgets/pin_entete.d.ts.map +1 -0
  291. package/lib/typescript/src/shared/widgets/select_date_widget.d.ts +4 -0
  292. package/lib/typescript/src/shared/widgets/select_date_widget.d.ts.map +1 -1
  293. package/lib/typescript/src/shared/widgets/selection.d.ts +74 -3
  294. package/lib/typescript/src/shared/widgets/selection.d.ts.map +1 -1
  295. package/package.json +1 -1
  296. package/src/core/api.ts +11 -2
  297. package/src/l10n/app_localizations.ts +75 -11
  298. package/src/l10n/app_localizations_en.ts +40 -8
  299. package/src/l10n/app_localizations_fr.ts +46 -14
  300. package/src/l10n/app_localizations_pt.ts +39 -7
  301. package/src/modules/alias/domain/models/alias_revendication.ts +4 -2
  302. package/src/modules/alias/infra/alias_output_local.ts +11 -0
  303. package/src/modules/alias/infra/alias_output_repository.ts +9 -8
  304. package/src/modules/alias/presentation/pages/alias_delete_btn_widget.tsx +17 -24
  305. package/src/modules/alias/presentation/pages/alias_page_claim.tsx +76 -48
  306. package/src/modules/alias/presentation/pages/alias_page_create_mbno_form.tsx +113 -65
  307. package/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.tsx +34 -25
  308. package/src/modules/alias/presentation/pages/alias_page_create_options.tsx +29 -36
  309. package/src/modules/alias/presentation/pages/alias_page_otp.tsx +24 -88
  310. package/src/modules/categorie/domain/services/categorie_service.ts +2 -1
  311. package/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.tsx +58 -50
  312. package/src/modules/categorie/presentation/pages/categorie_form_pages.tsx +71 -41
  313. package/src/modules/categorie/presentation/pages/categorie_icon.tsx +26 -0
  314. package/src/modules/categorie/presentation/pages/categorie_liste_widget.tsx +45 -24
  315. package/src/modules/categorie/presentation/pages/categorie_select_page.tsx +10 -46
  316. package/src/modules/categorie/presentation/pages/categorie_select_widget.tsx +54 -13
  317. package/src/modules/config/domain/models/config_keys.ts +3 -0
  318. package/src/modules/contacts/domain/contact_pi.ts +3 -6
  319. package/src/modules/contacts/presentation/bloc/contact_bloc.ts +37 -20
  320. package/src/modules/contacts/presentation/pages/contact_actions_sheet.tsx +69 -0
  321. package/src/modules/contacts/presentation/pages/contact_list_alias_widget.tsx +26 -4
  322. package/src/modules/contacts/presentation/pages/contact_list_phone_widget.tsx +3 -0
  323. package/src/modules/contacts/presentation/pages/contact_list_widget_item.tsx +54 -65
  324. package/src/modules/contacts/presentation/pages/contact_section.tsx +13 -3
  325. package/src/modules/contacts/presentation/pages/contact_select_page.tsx +106 -74
  326. package/src/modules/contacts/presentation/pages/create/contact_create_page.tsx +86 -47
  327. package/src/modules/home/presentation/pages/home_page.tsx +2 -9
  328. package/src/modules/introduction/presentation/pages/introduction.tsx +8 -0
  329. package/src/modules/introduction/presentation/pages/introduction_footer.tsx +16 -36
  330. package/src/modules/introduction/presentation/pages/introduction_page.tsx +17 -5
  331. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +2 -2
  332. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx +1 -1
  333. package/src/modules/profile/presentation/pages/profile_page_avatar.tsx +6 -12
  334. package/src/modules/profile/presentation/pages/profile_page_contacts.tsx +12 -20
  335. package/src/modules/profile/presentation/pages/profile_page_contacts_actions.tsx +120 -117
  336. package/src/modules/qrcode/presentation/pages/qrcode_alias_page.tsx +0 -1
  337. package/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.tsx +32 -40
  338. package/src/modules/search/domain/models/fonctionnalite.ts +56 -0
  339. package/src/modules/search/presentation/pages/search_btn_widget.tsx +91 -0
  340. package/src/modules/search/presentation/pages/search_fonctionnalites.ts +21 -1
  341. package/src/modules/search/presentation/pages/search_page.tsx +166 -57
  342. package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.tsx +4 -2
  343. package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.tsx +5 -5
  344. package/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page.tsx +0 -1
  345. package/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_actions.tsx +0 -1
  346. package/src/modules/subscription/presentation/pages/subscription_details/subscription_details_page_note_sheet.tsx +20 -59
  347. package/src/modules/subscription/presentation/pages/subscription_list/subscription_list_empty_widget.tsx +1 -1
  348. package/src/modules/subscription/presentation/pages/subscription_list/subscription_list_widget.tsx +1 -1
  349. package/src/modules/subscription/presentation/pages/subscription_menu_widget.tsx +25 -39
  350. package/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.ts +1 -2
  351. package/src/modules/transactions/infra/transaction_output_remote.ts +6 -1
  352. package/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.ts +17 -0
  353. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions.tsx +0 -1
  354. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_cancel.tsx +39 -41
  355. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_actions_return.tsx +41 -46
  356. package/src/modules/transactions/presentation/pages/transaction_details/transaction_details_page_ticket.tsx +46 -40
  357. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.tsx +26 -17
  358. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.tsx +92 -0
  359. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.tsx +48 -94
  360. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page.tsx +20 -2
  361. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.tsx +6 -8
  362. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.tsx +9 -22
  363. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.tsx +5 -7
  364. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.tsx +112 -104
  365. package/src/modules/transactions/presentation/pages/transaction_recents/transaction_recents_nombre_widget.tsx +49 -42
  366. package/src/modules/transactions/presentation/pages/transaction_recents/transaction_recents_widget.tsx +1 -1
  367. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions.tsx +0 -1
  368. package/src/modules/transactions/presentation/pages/transaction_rtp/transaction_rtp_page_actions_reject.tsx +47 -48
  369. package/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.tsx +6 -10
  370. package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.tsx +3 -6
  371. package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.tsx +5 -5
  372. package/src/shared/widgets/alias_widget.tsx +45 -18
  373. package/src/shared/widgets/auth_code_field.tsx +89 -0
  374. package/src/shared/widgets/calendar_date_picker.tsx +12 -11
  375. package/src/shared/widgets/confirm_action_sheet_widget.tsx +49 -35
  376. package/src/shared/widgets/emoji_select_widget.tsx +31 -29
  377. package/src/shared/widgets/frequence_input_widget.tsx +18 -24
  378. package/src/shared/widgets/frequence_select_widget.tsx +237 -117
  379. package/src/shared/widgets/image_select_widget.tsx +46 -61
  380. package/src/shared/widgets/input_text.tsx +3 -0
  381. package/src/shared/widgets/notification_dialog.tsx +70 -71
  382. package/src/shared/widgets/pin_entete.tsx +74 -0
  383. package/src/shared/widgets/select_date_widget.tsx +66 -34
  384. package/src/shared/widgets/selection.tsx +304 -5
  385. package/lib/module/modules/transactions/presentation/pages/transaction_details/sheet_box.js +0 -47
  386. package/lib/module/modules/transactions/presentation/pages/transaction_details/sheet_box.js.map +0 -1
  387. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/sheet_box.d.ts +0 -10
  388. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_details/sheet_box.d.ts.map +0 -1
  389. package/src/modules/transactions/presentation/pages/transaction_details/sheet_box.tsx +0 -30
@@ -1,11 +1,105 @@
1
1
  import { MaterialIcons } from '@expo/vector-icons';
2
- import type { ReactNode } from 'react';
3
- import { Pressable, StyleSheet, Text, useWindowDimensions, View } from 'react-native';
2
+ import { Image } from 'expo-image';
3
+ import type { ComponentProps, ReactNode } from 'react';
4
+ import {
5
+ ActivityIndicator,
6
+ Keyboard,
7
+ Platform,
8
+ Pressable,
9
+ ScrollView,
10
+ StyleSheet,
11
+ Text,
12
+ TextInput,
13
+ useWindowDimensions,
14
+ View,
15
+ } from 'react-native';
4
16
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
17
 
6
18
  import { Themer, useTheme } from '../../core/theme';
19
+ import { Card } from '../material/card';
7
20
  import { withAlpha } from '../utils/color';
8
21
 
22
+ type IconName = ComponentProps<typeof MaterialIcons>['name'];
23
+
24
+ /**
25
+ * Champ de formulaire qui ouvre une feuille de sélection ([onPress]) :
26
+ * [libelle] seul tant que rien n'est choisi, sinon [pastille], [libelle]
27
+ * en petit, [valeur] et éventuellement [detail] (code BIC…). Sans
28
+ * [onPress], le champ affiche une information en lecture seule (pas de
29
+ * flèche), avec [suffixe] facultatif à droite (ex. bouton d'action).
30
+ */
31
+ export function SelectionChamp({
32
+ libelle,
33
+ valeur,
34
+ detail,
35
+ pastille,
36
+ onPress,
37
+ chargement = false,
38
+ actif = true,
39
+ suffixe,
40
+ }: {
41
+ libelle: string;
42
+ valeur?: string | null;
43
+ detail?: string | null;
44
+ pastille?: ReactNode;
45
+ /** Absent : le champ ne réagit pas au toucher. */
46
+ onPress?: () => void;
47
+ /** Liste en cours de chargement : indicateur à la place de la flèche. */
48
+ chargement?: boolean;
49
+ /** `false` : champ grisé (ex. institution tant que le pays n'est pas choisi). */
50
+ actif?: boolean;
51
+ /** À droite, à la place de la flèche (champ sans [onPress]). */
52
+ suffixe?: ReactNode;
53
+ }) {
54
+ const theme = useTheme();
55
+ const desactive = onPress == null || chargement || !actif;
56
+ return (
57
+ <Card style={[styles.champCarte, !actif ? styles.inactif : null]}>
58
+ <Pressable
59
+ accessibilityRole="button"
60
+ disabled={desactive}
61
+ onPress={() => {
62
+ Keyboard.dismiss();
63
+ onPress?.();
64
+ }}
65
+ style={({ pressed }) => [styles.champ, pressed ? { backgroundColor: theme.colorScheme.secondary } : null]}
66
+ >
67
+ {valeur != null && pastille != null && <View style={styles.marge12}>{pastille}</View>}
68
+ <View style={styles.flex}>
69
+ {valeur == null ? (
70
+ <Text style={theme.textTheme.bodySmall}>{libelle}</Text>
71
+ ) : (
72
+ <>
73
+ <Text style={theme.textTheme.displaySmall}>{libelle}</Text>
74
+ <View style={styles.gap2} />
75
+ <Text numberOfLines={1} style={theme.textTheme.displayMedium}>
76
+ {valeur}
77
+ </Text>
78
+ {detail != null && detail.length > 0 && (
79
+ <Text numberOfLines={1} style={[theme.textTheme.displaySmall, { color: Themer.neural03Color }]}>
80
+ {detail}
81
+ </Text>
82
+ )}
83
+ </>
84
+ )}
85
+ </View>
86
+ {suffixe != null
87
+ ? suffixe
88
+ : onPress != null && (
89
+ <>
90
+ <View style={styles.gap8w} />
91
+ {chargement ? (
92
+ <ActivityIndicator size="small" color={theme.colorScheme.primary} />
93
+ ) : (
94
+ <MaterialIcons name="keyboard-arrow-down" size={24} color={theme.colorScheme.primary} />
95
+ )}
96
+ </>
97
+ )}
98
+ </Pressable>
99
+ </Card>
100
+ );
101
+ }
102
+
9
103
  /**
10
104
  * Feuille de sélection : poignée, [titre], [entete] facultatif, puis le
11
105
  * [contenu] (qui défile s'il est trop long : utiliser un ScrollView).
@@ -14,11 +108,14 @@ import { withAlpha } from '../utils/color';
14
108
  export function SelectionSheet({
15
109
  titre,
16
110
  titreSize,
111
+ hauteurMax = 0.75,
17
112
  entete,
18
113
  contenu,
19
114
  }: {
20
115
  titre?: string;
21
116
  titreSize?: number;
117
+ /** Hauteur maximale, en part de la hauteur de l'écran. */
118
+ hauteurMax?: number;
22
119
  entete?: ReactNode;
23
120
  contenu: ReactNode;
24
121
  }) {
@@ -29,7 +126,7 @@ export function SelectionSheet({
29
126
  <View
30
127
  style={[
31
128
  styles.sheet,
32
- { maxHeight: height * 0.75, backgroundColor: theme.colorScheme.surface, paddingBottom: insets.bottom },
129
+ { maxHeight: height * hauteurMax, backgroundColor: theme.colorScheme.surface, paddingBottom: insets.bottom },
33
130
  ]}
34
131
  >
35
132
  {/* Poignée */}
@@ -44,8 +141,57 @@ export function SelectionSheet({
44
141
  );
45
142
  }
46
143
 
144
+ /** Liste d'une feuille de sélection : les [lignes], ou [vide] s'il n'y en a aucune. */
145
+ export function SelectionListe({ lignes, vide }: { lignes: ReactNode[]; vide: string }) {
146
+ const theme = useTheme();
147
+ if (lignes.length === 0) {
148
+ return (
149
+ <View style={styles.vide}>
150
+ <Text style={[theme.textTheme.bodySmall, styles.centre]}>{vide}</Text>
151
+ </View>
152
+ );
153
+ }
154
+ return (
155
+ <ScrollView bounces={false} keyboardShouldPersistTaps="handled" contentContainerStyle={styles.liste}>
156
+ {lignes}
157
+ </ScrollView>
158
+ );
159
+ }
160
+
161
+ /** [texte] contient-il [motCle], sans tenir compte des accents ni de la casse ? */
162
+ export function selectionContient(texte: string | null | undefined, motCle: string): boolean {
163
+ if (texte == null) return false;
164
+ const normaliser = (valeur: string) =>
165
+ valeur
166
+ .toLowerCase()
167
+ .trim()
168
+ .normalize('NFD')
169
+ .replace(/[̀-ͯ]/g, '');
170
+ return normaliser(texte).includes(normaliser(motCle));
171
+ }
172
+
173
+ /** Champ de recherche d'une feuille de sélection. */
174
+ export function SelectionRecherche({ hintText, onChanged }: { hintText: string; onChanged: (texte: string) => void }) {
175
+ const theme = useTheme();
176
+ return (
177
+ <Card style={styles.rechercheCarte}>
178
+ <View style={[styles.recherche, { backgroundColor: theme.colorScheme.secondary }]}>
179
+ <MaterialIcons name="search" size={22} color={Themer.neural03Color} />
180
+ <TextInput
181
+ style={[theme.textTheme.displayLarge, styles.rechercheInput]}
182
+ placeholder={hintText}
183
+ placeholderTextColor={Themer.neural03Color}
184
+ returnKeyType="search"
185
+ autoCorrect={false}
186
+ onChangeText={onChanged}
187
+ />
188
+ </View>
189
+ </Card>
190
+ );
191
+ }
192
+
47
193
  /** Ligne d'une feuille de sélection : [pastille], [texte], [detail] facultatif et coche si elle est [choisie]. */
48
- export function SbSelectionLigne({
194
+ export function SelectionLigne({
49
195
  pastille,
50
196
  texte,
51
197
  detail,
@@ -86,13 +232,166 @@ export function SbSelectionLigne({
86
232
  );
87
233
  }
88
234
 
235
+ /** Pastille d'une ligne : un code (EUR, CIV…) ou une icône ; pleine si la ligne est choisie. */
236
+ export function SelectionPastille({ code, icone, choisie = false }: { code?: string; icone?: IconName; choisie?: boolean }) {
237
+ const theme = useTheme();
238
+ const primaire = theme.colorScheme.primary;
239
+ const couleur = choisie ? theme.colorScheme.onPrimary : primaire;
240
+ return (
241
+ <View style={[styles.pastille, { backgroundColor: choisie ? primaire : withAlpha(primaire, 0.12) }]}>
242
+ {code != null ? (
243
+ <Text style={[theme.textTheme.displaySmall, styles.pastilleCode, { color: couleur }]}>{code.toUpperCase()}</Text>
244
+ ) : (
245
+ <MaterialIcons name={icone ?? 'circle'} size={20} color={couleur} />
246
+ )}
247
+ </View>
248
+ );
249
+ }
250
+
251
+ /**
252
+ * Option d'une feuille d'actions : pastille avec [icone] ou [image]
253
+ * (asset), [titre], [sousTitre] et flèche vers l'écran ouvert. [couleur]
254
+ * remplace la couleur principale (ex. rouge pour une action destructive).
255
+ */
256
+ export function SelectionOption({
257
+ icone,
258
+ image,
259
+ titre,
260
+ sousTitre,
261
+ onPress,
262
+ couleur,
263
+ }: {
264
+ icone?: IconName;
265
+ image?: number;
266
+ titre: string;
267
+ sousTitre?: string | null;
268
+ onPress: () => void;
269
+ couleur?: string;
270
+ }) {
271
+ const theme = useTheme();
272
+ const primaire = couleur ?? theme.colorScheme.primary;
273
+ return (
274
+ <Pressable
275
+ accessibilityRole="button"
276
+ onPress={onPress}
277
+ style={({ pressed }) => [
278
+ styles.option,
279
+ {
280
+ backgroundColor: withAlpha(primaire, pressed ? 0.12 : 0.05),
281
+ borderColor: withAlpha(primaire, 0.12),
282
+ },
283
+ ]}
284
+ >
285
+ <View style={[styles.optionPastille, { backgroundColor: withAlpha(primaire, 0.12) }]}>
286
+ {image != null ? (
287
+ <Image source={image} style={styles.optionImage} tintColor={primaire} contentFit="contain" />
288
+ ) : (
289
+ <MaterialIcons name={icone ?? 'circle'} size={24} color={primaire} />
290
+ )}
291
+ </View>
292
+ <View style={styles.textes}>
293
+ <Text style={[theme.textTheme.displayLarge, styles.gras, couleur != null ? { color: couleur } : null]}>{titre}</Text>
294
+ {sousTitre != null && (
295
+ <>
296
+ <View style={styles.gap2} />
297
+ <Text style={[theme.textTheme.displaySmall, { color: Themer.neural03Color }]}>{sousTitre}</Text>
298
+ </>
299
+ )}
300
+ </View>
301
+ <MaterialIcons name={Platform.OS === 'ios' ? 'arrow-forward-ios' : 'arrow-forward'} size={18} color={primaire} />
302
+ </Pressable>
303
+ );
304
+ }
305
+
306
+ /**
307
+ * Boutons fixés en bas d'une feuille, sous un trait : ils restent visibles
308
+ * quand le contenu défile ou que le clavier est ouvert. Les [boutons] sont
309
+ * côte à côte, sur la même largeur.
310
+ */
311
+ export function SelectionBoutons({ boutons }: { boutons: ReactNode[] }) {
312
+ return (
313
+ <View style={[styles.boutons, { borderTopColor: Themer.neural01Color }]}>
314
+ {boutons.map((bouton, i) => (
315
+ <View key={i} style={[styles.flex, i > 0 ? styles.boutonSuivant : null]}>
316
+ {bouton}
317
+ </View>
318
+ ))}
319
+ </View>
320
+ );
321
+ }
322
+
323
+ /** Choix d'une liste à choix unique (ex. motif d'annulation) : [texte] et rond coché si [choisi]. */
324
+ export function SelectionChoix({ texte, choisi, onPress }: { texte: string; choisi: boolean; onPress: () => void }) {
325
+ const theme = useTheme();
326
+ const primaire = theme.colorScheme.primary;
327
+ return (
328
+ <Pressable
329
+ accessibilityRole="radio"
330
+ accessibilityState={{ selected: choisi }}
331
+ onPress={onPress}
332
+ style={({ pressed }) => [
333
+ styles.choix,
334
+ {
335
+ backgroundColor: choisi ? withAlpha(primaire, 0.08) : pressed ? theme.colorScheme.secondary : 'transparent',
336
+ borderColor: choisi ? primaire : withAlpha(Themer.neural03Color, 0.25),
337
+ },
338
+ ]}
339
+ >
340
+ <Text style={[theme.textTheme.displayLarge, styles.flex, { fontWeight: choisi ? '600' : '400' }]}>{texte}</Text>
341
+ <View style={styles.gap12w} />
342
+ <MaterialIcons
343
+ name={choisi ? 'check-circle' : 'radio-button-unchecked'}
344
+ size={22}
345
+ color={choisi ? primaire : Themer.neural03Color}
346
+ />
347
+ </Pressable>
348
+ );
349
+ }
350
+
89
351
  const styles = StyleSheet.create({
352
+ flex: { flex: 1 },
353
+ centre: { textAlign: 'center' },
354
+ gras: { fontWeight: '700' },
355
+ inactif: { opacity: 0.5 },
356
+ gap2: { height: 2 },
357
+ gap8: { height: 8 },
358
+ gap8w: { width: 8 },
359
+ gap12w: { width: 12 },
360
+ marge12: { marginRight: 12 },
361
+ champCarte: { margin: 0 },
362
+ champ: { flexDirection: 'row', alignItems: 'center', paddingHorizontal: 16, paddingVertical: 12 },
90
363
  sheet: { width: '100%', borderTopLeftRadius: 20, borderTopRightRadius: 20 },
91
364
  poignee: { alignSelf: 'center', marginTop: 10, marginBottom: 14, width: 36, height: 4, borderRadius: 2 },
92
365
  titre: { paddingHorizontal: 20 },
93
366
  entete: { paddingHorizontal: 20, paddingTop: 12 },
94
367
  contenu: { flexShrink: 1 },
95
- gap8: { height: 8 },
368
+ vide: { padding: 24, alignItems: 'center' },
369
+ liste: { paddingHorizontal: 12, paddingBottom: 12 },
370
+ rechercheCarte: { margin: 0 },
371
+ recherche: { flexDirection: 'row', alignItems: 'center', height: 40, paddingHorizontal: 12 },
372
+ rechercheInput: { flex: 1, marginLeft: 8, paddingVertical: 0 },
96
373
  ligne: { flexDirection: 'row', alignItems: 'center', marginVertical: 2, paddingHorizontal: 8, paddingVertical: 10, borderRadius: 14 },
97
374
  textes: { flex: 1, marginHorizontal: 14 },
375
+ pastille: { width: 48, height: 36, borderRadius: 10, alignItems: 'center', justifyContent: 'center' },
376
+ pastilleCode: { fontWeight: '700', letterSpacing: 0.5 },
377
+ option: { flexDirection: 'row', alignItems: 'center', padding: 14, borderRadius: 16, borderWidth: 1 },
378
+ optionPastille: { width: 44, height: 44, borderRadius: 12, alignItems: 'center', justifyContent: 'center' },
379
+ optionImage: { width: 20, height: 20 },
380
+ boutons: {
381
+ flexDirection: 'row',
382
+ paddingHorizontal: 20,
383
+ paddingTop: 12,
384
+ paddingBottom: 8,
385
+ borderTopWidth: StyleSheet.hairlineWidth,
386
+ },
387
+ boutonSuivant: { marginLeft: 12 },
388
+ choix: {
389
+ flexDirection: 'row',
390
+ alignItems: 'center',
391
+ marginVertical: 4,
392
+ paddingHorizontal: 14,
393
+ paddingVertical: 12,
394
+ borderRadius: 14,
395
+ borderWidth: 1,
396
+ },
98
397
  });
@@ -1,47 +0,0 @@
1
- "use strict";
2
-
3
- import { ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native';
4
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
5
- import { useTheme } from "../../../../../core/theme.js";
6
-
7
- /**
8
- * Boîte des feuilles du détail (ouvertes en feuille « thémée », sur toute
9
- * la largeur) : marge de 20, fond `surface` aux coins de
10
- * 20, hauteur limitée à 70 % de l'écran (au-delà, le contenu défile).
11
- */
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- export function SheetBox({
14
- children
15
- }) {
16
- const theme = useTheme();
17
- const {
18
- height
19
- } = useWindowDimensions();
20
- const insets = useSafeAreaInsets();
21
- return /*#__PURE__*/_jsx(View, {
22
- style: [styles.padding, {
23
- paddingBottom: 20 + insets.bottom
24
- }],
25
- children: /*#__PURE__*/_jsx(View, {
26
- style: [styles.box, {
27
- backgroundColor: theme.colorScheme.surface,
28
- maxHeight: height * 0.7 - 40
29
- }],
30
- children: /*#__PURE__*/_jsx(ScrollView, {
31
- keyboardShouldPersistTaps: "handled",
32
- bounces: false,
33
- children: children
34
- })
35
- })
36
- });
37
- }
38
- const styles = StyleSheet.create({
39
- padding: {
40
- padding: 20
41
- },
42
- box: {
43
- borderRadius: 20,
44
- overflow: 'hidden'
45
- }
46
- });
47
- //# sourceMappingURL=sheet_box.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ScrollView","StyleSheet","useWindowDimensions","View","useSafeAreaInsets","useTheme","jsx","_jsx","SheetBox","children","theme","height","insets","style","styles","padding","paddingBottom","bottom","box","backgroundColor","colorScheme","surface","maxHeight","keyboardShouldPersistTaps","bounces","create","borderRadius","overflow"],"sourceRoot":"../../../../../../../src","sources":["modules/transactions/presentation/pages/transaction_details/sheet_box.tsx"],"mappings":";;AACA,SAASA,UAAU,EAAEC,UAAU,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AAChF,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,QAAQ,QAAQ,8BAA2B;;AAEpD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,OAAO,SAASC,QAAQA,CAAC;EAAEC;AAAkC,CAAC,EAAE;EAC9D,MAAMC,KAAK,GAAGL,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEM;EAAO,CAAC,GAAGT,mBAAmB,CAAC,CAAC;EACxC,MAAMU,MAAM,GAAGR,iBAAiB,CAAC,CAAC;EAClC,oBACEG,IAAA,CAACJ,IAAI;IAACU,KAAK,EAAE,CAACC,MAAM,CAACC,OAAO,EAAE;MAAEC,aAAa,EAAE,EAAE,GAAGJ,MAAM,CAACK;IAAO,CAAC,CAAE;IAAAR,QAAA,eACnEF,IAAA,CAACJ,IAAI;MAACU,KAAK,EAAE,CAACC,MAAM,CAACI,GAAG,EAAE;QAAEC,eAAe,EAAET,KAAK,CAACU,WAAW,CAACC,OAAO;QAAEC,SAAS,EAAEX,MAAM,GAAG,GAAG,GAAG;MAAG,CAAC,CAAE;MAAAF,QAAA,eACtGF,IAAA,CAACP,UAAU;QAACuB,yBAAyB,EAAC,SAAS;QAACC,OAAO,EAAE,KAAM;QAAAf,QAAA,EAC5DA;MAAQ,CACC;IAAC,CACT;EAAC,CACH,CAAC;AAEX;AAEA,MAAMK,MAAM,GAAGb,UAAU,CAACwB,MAAM,CAAC;EAC/BV,OAAO,EAAE;IAAEA,OAAO,EAAE;EAAG,CAAC;EACxBG,GAAG,EAAE;IAAEQ,YAAY,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAS;AAC9C,CAAC,CAAC","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- /**
3
- * Boîte des feuilles du détail (ouvertes en feuille « thémée », sur toute
4
- * la largeur) : marge de 20, fond `surface` aux coins de
5
- * 20, hauteur limitée à 70 % de l'écran (au-delà, le contenu défile).
6
- */
7
- export declare function SheetBox({ children }: {
8
- children: ReactNode;
9
- }): import("react").JSX.Element;
10
- //# sourceMappingURL=sheet_box.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sheet_box.d.ts","sourceRoot":"","sources":["../../../../../../../../src/modules/transactions/presentation/pages/transaction_details/sheet_box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,+BAa7D"}
@@ -1,30 +0,0 @@
1
- import type { ReactNode } from 'react';
2
- import { ScrollView, StyleSheet, useWindowDimensions, View } from 'react-native';
3
- import { useSafeAreaInsets } from 'react-native-safe-area-context';
4
-
5
- import { useTheme } from '../../../../../core/theme';
6
-
7
- /**
8
- * Boîte des feuilles du détail (ouvertes en feuille « thémée », sur toute
9
- * la largeur) : marge de 20, fond `surface` aux coins de
10
- * 20, hauteur limitée à 70 % de l'écran (au-delà, le contenu défile).
11
- */
12
- export function SheetBox({ children }: { children: ReactNode }) {
13
- const theme = useTheme();
14
- const { height } = useWindowDimensions();
15
- const insets = useSafeAreaInsets();
16
- return (
17
- <View style={[styles.padding, { paddingBottom: 20 + insets.bottom }]}>
18
- <View style={[styles.box, { backgroundColor: theme.colorScheme.surface, maxHeight: height * 0.7 - 40 }]}>
19
- <ScrollView keyboardShouldPersistTaps="handled" bounces={false}>
20
- {children}
21
- </ScrollView>
22
- </View>
23
- </View>
24
- );
25
- }
26
-
27
- const styles = StyleSheet.create({
28
- padding: { padding: 20 },
29
- box: { borderRadius: 20, overflow: 'hidden' },
30
- });