@pi-spi/app 2.1.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 (314) hide show
  1. package/lib/module/l10n/app_localizations.js.map +1 -1
  2. package/lib/module/l10n/app_localizations_en.js +32 -8
  3. package/lib/module/l10n/app_localizations_en.js.map +1 -1
  4. package/lib/module/l10n/app_localizations_fr.js +41 -14
  5. package/lib/module/l10n/app_localizations_fr.js.map +1 -1
  6. package/lib/module/l10n/app_localizations_pt.js +33 -7
  7. package/lib/module/l10n/app_localizations_pt.js.map +1 -1
  8. package/lib/module/modules/alias/domain/models/alias_revendication.js +4 -2
  9. package/lib/module/modules/alias/domain/models/alias_revendication.js.map +1 -1
  10. package/lib/module/modules/alias/infra/alias_output_local.js +11 -0
  11. package/lib/module/modules/alias/infra/alias_output_local.js.map +1 -1
  12. package/lib/module/modules/alias/infra/alias_output_repository.js +9 -8
  13. package/lib/module/modules/alias/infra/alias_output_repository.js.map +1 -1
  14. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js +14 -18
  15. package/lib/module/modules/alias/presentation/pages/alias_delete_btn_widget.js.map +1 -1
  16. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js +113 -60
  17. package/lib/module/modules/alias/presentation/pages/alias_page_claim.js.map +1 -1
  18. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js +151 -76
  19. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_form.js.map +1 -1
  20. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js +38 -24
  21. package/lib/module/modules/alias/presentation/pages/alias_page_create_mbno_timer.js.map +1 -1
  22. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js +28 -26
  23. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js.map +1 -1
  24. package/lib/module/modules/alias/presentation/pages/alias_page_otp.js +27 -110
  25. package/lib/module/modules/alias/presentation/pages/alias_page_otp.js.map +1 -1
  26. package/lib/module/modules/categorie/domain/services/categorie_service.js +2 -1
  27. package/lib/module/modules/categorie/domain/services/categorie_service.js.map +1 -1
  28. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js +38 -42
  29. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js.map +1 -1
  30. package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js +88 -80
  31. package/lib/module/modules/categorie/presentation/pages/categorie_form_pages.js.map +1 -1
  32. package/lib/module/modules/categorie/presentation/pages/categorie_icon.js +39 -0
  33. package/lib/module/modules/categorie/presentation/pages/categorie_icon.js.map +1 -1
  34. package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js +55 -27
  35. package/lib/module/modules/categorie/presentation/pages/categorie_liste_widget.js.map +1 -1
  36. package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js +21 -81
  37. package/lib/module/modules/categorie/presentation/pages/categorie_select_page.js.map +1 -1
  38. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js +53 -16
  39. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js.map +1 -1
  40. package/lib/module/modules/config/domain/models/config_keys.js +2 -0
  41. package/lib/module/modules/config/domain/models/config_keys.js.map +1 -1
  42. package/lib/module/modules/contacts/domain/contact_pi.js +3 -5
  43. package/lib/module/modules/contacts/domain/contact_pi.js.map +1 -1
  44. package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js +30 -14
  45. package/lib/module/modules/contacts/presentation/bloc/contact_bloc.js.map +1 -1
  46. package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js +106 -0
  47. package/lib/module/modules/contacts/presentation/pages/contact_actions_sheet.js.map +1 -0
  48. package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js +17 -7
  49. package/lib/module/modules/contacts/presentation/pages/contact_list_alias_widget.js.map +1 -1
  50. package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js +5 -4
  51. package/lib/module/modules/contacts/presentation/pages/contact_list_phone_widget.js.map +1 -1
  52. package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js +76 -67
  53. package/lib/module/modules/contacts/presentation/pages/contact_list_widget_item.js.map +1 -1
  54. package/lib/module/modules/contacts/presentation/pages/contact_section.js +14 -4
  55. package/lib/module/modules/contacts/presentation/pages/contact_section.js.map +1 -1
  56. package/lib/module/modules/contacts/presentation/pages/contact_select_page.js +131 -110
  57. package/lib/module/modules/contacts/presentation/pages/contact_select_page.js.map +1 -1
  58. package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js +118 -59
  59. package/lib/module/modules/contacts/presentation/pages/create/contact_create_page.js.map +1 -1
  60. package/lib/module/modules/home/presentation/pages/home_page.js +3 -13
  61. package/lib/module/modules/home/presentation/pages/home_page.js.map +1 -1
  62. package/lib/module/modules/introduction/presentation/pages/introduction.js +17 -4
  63. package/lib/module/modules/introduction/presentation/pages/introduction.js.map +1 -1
  64. package/lib/module/modules/introduction/presentation/pages/introduction_footer.js +15 -53
  65. package/lib/module/modules/introduction/presentation/pages/introduction_footer.js.map +1 -1
  66. package/lib/module/modules/introduction/presentation/pages/introduction_page.js +22 -4
  67. package/lib/module/modules/introduction/presentation/pages/introduction_page.js.map +1 -1
  68. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +2 -2
  69. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
  70. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js +1 -1
  71. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.js.map +1 -1
  72. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js +2 -2
  73. package/lib/module/modules/profile/presentation/pages/profile_page_avatar.js.map +1 -1
  74. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js +14 -52
  75. package/lib/module/modules/profile/presentation/pages/profile_page_contacts.js.map +1 -1
  76. package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js +11 -1
  77. package/lib/module/modules/profile/presentation/pages/profile_page_contacts_actions.js.map +1 -1
  78. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js +3 -3
  79. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js.map +1 -1
  80. package/lib/module/modules/search/domain/models/fonctionnalite.js +51 -0
  81. package/lib/module/modules/search/domain/models/fonctionnalite.js.map +1 -1
  82. package/lib/module/modules/search/presentation/pages/search_btn_widget.js +136 -0
  83. package/lib/module/modules/search/presentation/pages/search_btn_widget.js.map +1 -0
  84. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +21 -1
  85. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -1
  86. package/lib/module/modules/search/presentation/pages/search_page.js +266 -97
  87. package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -1
  88. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js +5 -3
  89. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page.js.map +1 -1
  90. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js +5 -6
  91. package/lib/module/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.js.map +1 -1
  92. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js +3 -3
  93. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js.map +1 -1
  94. package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js +1 -2
  95. package/lib/module/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.js.map +1 -1
  96. package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js +17 -0
  97. package/lib/module/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.js.map +1 -1
  98. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js +30 -23
  99. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.js.map +1 -1
  100. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js +6 -6
  101. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.js.map +1 -1
  102. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js +6 -6
  103. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.js.map +1 -1
  104. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js +16 -4
  105. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page.js.map +1 -1
  106. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js +11 -9
  107. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.js.map +1 -1
  108. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js +9 -7
  109. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.js.map +1 -1
  110. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js +8 -10
  111. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.js.map +1 -1
  112. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js +127 -105
  113. package/lib/module/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.js.map +1 -1
  114. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js +9 -15
  115. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page.js.map +1 -1
  116. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js +5 -11
  117. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.js.map +1 -1
  118. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js +9 -9
  119. package/lib/module/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.js.map +1 -1
  120. package/lib/module/shared/widgets/alias_widget.js +33 -12
  121. package/lib/module/shared/widgets/alias_widget.js.map +1 -1
  122. package/lib/module/shared/widgets/auth_code_field.js +89 -0
  123. package/lib/module/shared/widgets/auth_code_field.js.map +1 -0
  124. package/lib/module/shared/widgets/calendar_date_picker.js +21 -16
  125. package/lib/module/shared/widgets/calendar_date_picker.js.map +1 -1
  126. package/lib/module/shared/widgets/confirm_action_sheet_widget.js +20 -1
  127. package/lib/module/shared/widgets/confirm_action_sheet_widget.js.map +1 -1
  128. package/lib/module/shared/widgets/emoji_select_widget.js +34 -39
  129. package/lib/module/shared/widgets/emoji_select_widget.js.map +1 -1
  130. package/lib/module/shared/widgets/frequence_input_widget.js +18 -29
  131. package/lib/module/shared/widgets/frequence_input_widget.js.map +1 -1
  132. package/lib/module/shared/widgets/frequence_select_widget.js +233 -140
  133. package/lib/module/shared/widgets/frequence_select_widget.js.map +1 -1
  134. package/lib/module/shared/widgets/image_select_widget.js +4 -4
  135. package/lib/module/shared/widgets/image_select_widget.js.map +1 -1
  136. package/lib/module/shared/widgets/input_text.js +1 -1
  137. package/lib/module/shared/widgets/input_text.js.map +1 -1
  138. package/lib/module/shared/widgets/notification_dialog.js +3 -2
  139. package/lib/module/shared/widgets/notification_dialog.js.map +1 -1
  140. package/lib/module/shared/widgets/pin_entete.js +114 -0
  141. package/lib/module/shared/widgets/pin_entete.js.map +1 -0
  142. package/lib/module/shared/widgets/select_date_widget.js +74 -59
  143. package/lib/module/shared/widgets/select_date_widget.js.map +1 -1
  144. package/lib/module/shared/widgets/selection.js +21 -16
  145. package/lib/module/shared/widgets/selection.js.map +1 -1
  146. package/lib/typescript/src/l10n/app_localizations.d.ts +59 -11
  147. package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
  148. package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
  149. package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
  150. package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
  151. package/lib/typescript/src/modules/alias/domain/models/alias_revendication.d.ts.map +1 -1
  152. package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts +5 -0
  153. package/lib/typescript/src/modules/alias/infra/alias_output_local.d.ts.map +1 -1
  154. package/lib/typescript/src/modules/alias/infra/alias_output_repository.d.ts.map +1 -1
  155. package/lib/typescript/src/modules/alias/presentation/pages/alias_delete_btn_widget.d.ts.map +1 -1
  156. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_claim.d.ts.map +1 -1
  157. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_form.d.ts.map +1 -1
  158. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts +1 -1
  159. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.d.ts.map +1 -1
  160. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts +4 -1
  161. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_create_options.d.ts.map +1 -1
  162. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts +9 -5
  163. package/lib/typescript/src/modules/alias/presentation/pages/alias_page_otp.d.ts.map +1 -1
  164. package/lib/typescript/src/modules/categorie/domain/services/categorie_service.d.ts.map +1 -1
  165. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts +3 -0
  166. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.d.ts.map +1 -1
  167. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_form_pages.d.ts.map +1 -1
  168. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts +9 -0
  169. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_icon.d.ts.map +1 -1
  170. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts +7 -2
  171. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_liste_widget.d.ts.map +1 -1
  172. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_page.d.ts.map +1 -1
  173. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts +10 -2
  174. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts.map +1 -1
  175. package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts +3 -1
  176. package/lib/typescript/src/modules/config/domain/models/config_keys.d.ts.map +1 -1
  177. package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts +0 -2
  178. package/lib/typescript/src/modules/contacts/domain/contact_pi.d.ts.map +1 -1
  179. package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts +7 -0
  180. package/lib/typescript/src/modules/contacts/presentation/bloc/contact_bloc.d.ts.map +1 -1
  181. package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts +14 -0
  182. package/lib/typescript/src/modules/contacts/presentation/pages/contact_actions_sheet.d.ts.map +1 -0
  183. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts +4 -2
  184. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_alias_widget.d.ts.map +1 -1
  185. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_phone_widget.d.ts.map +1 -1
  186. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts +6 -4
  187. package/lib/typescript/src/modules/contacts/presentation/pages/contact_list_widget_item.d.ts.map +1 -1
  188. package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts +3 -1
  189. package/lib/typescript/src/modules/contacts/presentation/pages/contact_section.d.ts.map +1 -1
  190. package/lib/typescript/src/modules/contacts/presentation/pages/contact_select_page.d.ts.map +1 -1
  191. package/lib/typescript/src/modules/contacts/presentation/pages/create/contact_create_page.d.ts.map +1 -1
  192. package/lib/typescript/src/modules/home/presentation/pages/home_page.d.ts.map +1 -1
  193. package/lib/typescript/src/modules/introduction/presentation/pages/introduction.d.ts.map +1 -1
  194. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts +5 -1
  195. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_footer.d.ts.map +1 -1
  196. package/lib/typescript/src/modules/introduction/presentation/pages/introduction_page.d.ts.map +1 -1
  197. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts.d.ts.map +1 -1
  198. package/lib/typescript/src/modules/profile/presentation/pages/profile_page_contacts_actions.d.ts.map +1 -1
  199. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts +20 -0
  200. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts.map +1 -1
  201. package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts +11 -0
  202. package/lib/typescript/src/modules/search/presentation/pages/search_btn_widget.d.ts.map +1 -0
  203. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -1
  204. package/lib/typescript/src/modules/search/presentation/pages/search_page.d.ts.map +1 -1
  205. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.d.ts.map +1 -1
  206. package/lib/typescript/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.d.ts.map +1 -1
  207. package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.d.ts.map +1 -1
  208. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts +4 -1
  209. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.d.ts.map +1 -1
  210. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts +4 -0
  211. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.d.ts.map +1 -1
  212. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.d.ts.map +1 -1
  213. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.d.ts.map +1 -1
  214. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.d.ts.map +1 -1
  215. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.d.ts.map +1 -1
  216. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.d.ts.map +1 -1
  217. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.d.ts.map +1 -1
  218. package/lib/typescript/src/shared/widgets/alias_widget.d.ts +2 -2
  219. package/lib/typescript/src/shared/widgets/alias_widget.d.ts.map +1 -1
  220. package/lib/typescript/src/shared/widgets/auth_code_field.d.ts +17 -0
  221. package/lib/typescript/src/shared/widgets/auth_code_field.d.ts.map +1 -0
  222. package/lib/typescript/src/shared/widgets/calendar_date_picker.d.ts.map +1 -1
  223. package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts +12 -1
  224. package/lib/typescript/src/shared/widgets/confirm_action_sheet_widget.d.ts.map +1 -1
  225. package/lib/typescript/src/shared/widgets/emoji_select_widget.d.ts.map +1 -1
  226. package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts +6 -3
  227. package/lib/typescript/src/shared/widgets/frequence_input_widget.d.ts.map +1 -1
  228. package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts +23 -5
  229. package/lib/typescript/src/shared/widgets/frequence_select_widget.d.ts.map +1 -1
  230. package/lib/typescript/src/shared/widgets/image_select_widget.d.ts +1 -1
  231. package/lib/typescript/src/shared/widgets/input_text.d.ts +2 -0
  232. package/lib/typescript/src/shared/widgets/input_text.d.ts.map +1 -1
  233. package/lib/typescript/src/shared/widgets/notification_dialog.d.ts +3 -1
  234. package/lib/typescript/src/shared/widgets/notification_dialog.d.ts.map +1 -1
  235. package/lib/typescript/src/shared/widgets/pin_entete.d.ts +15 -0
  236. package/lib/typescript/src/shared/widgets/pin_entete.d.ts.map +1 -0
  237. package/lib/typescript/src/shared/widgets/select_date_widget.d.ts +4 -0
  238. package/lib/typescript/src/shared/widgets/select_date_widget.d.ts.map +1 -1
  239. package/lib/typescript/src/shared/widgets/selection.d.ts +11 -7
  240. package/lib/typescript/src/shared/widgets/selection.d.ts.map +1 -1
  241. package/package.json +1 -1
  242. package/src/l10n/app_localizations.ts +59 -11
  243. package/src/l10n/app_localizations_en.ts +32 -8
  244. package/src/l10n/app_localizations_fr.ts +38 -14
  245. package/src/l10n/app_localizations_pt.ts +31 -7
  246. package/src/modules/alias/domain/models/alias_revendication.ts +4 -2
  247. package/src/modules/alias/infra/alias_output_local.ts +11 -0
  248. package/src/modules/alias/infra/alias_output_repository.ts +9 -8
  249. package/src/modules/alias/presentation/pages/alias_delete_btn_widget.tsx +17 -24
  250. package/src/modules/alias/presentation/pages/alias_page_claim.tsx +76 -48
  251. package/src/modules/alias/presentation/pages/alias_page_create_mbno_form.tsx +113 -65
  252. package/src/modules/alias/presentation/pages/alias_page_create_mbno_timer.tsx +34 -25
  253. package/src/modules/alias/presentation/pages/alias_page_create_options.tsx +29 -36
  254. package/src/modules/alias/presentation/pages/alias_page_otp.tsx +24 -88
  255. package/src/modules/categorie/domain/services/categorie_service.ts +2 -1
  256. package/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.tsx +38 -28
  257. package/src/modules/categorie/presentation/pages/categorie_form_pages.tsx +71 -41
  258. package/src/modules/categorie/presentation/pages/categorie_icon.tsx +26 -0
  259. package/src/modules/categorie/presentation/pages/categorie_liste_widget.tsx +45 -24
  260. package/src/modules/categorie/presentation/pages/categorie_select_page.tsx +10 -46
  261. package/src/modules/categorie/presentation/pages/categorie_select_widget.tsx +54 -13
  262. package/src/modules/config/domain/models/config_keys.ts +3 -0
  263. package/src/modules/contacts/domain/contact_pi.ts +3 -6
  264. package/src/modules/contacts/presentation/bloc/contact_bloc.ts +37 -20
  265. package/src/modules/contacts/presentation/pages/contact_actions_sheet.tsx +69 -0
  266. package/src/modules/contacts/presentation/pages/contact_list_alias_widget.tsx +26 -4
  267. package/src/modules/contacts/presentation/pages/contact_list_phone_widget.tsx +3 -0
  268. package/src/modules/contacts/presentation/pages/contact_list_widget_item.tsx +54 -65
  269. package/src/modules/contacts/presentation/pages/contact_section.tsx +13 -3
  270. package/src/modules/contacts/presentation/pages/contact_select_page.tsx +106 -74
  271. package/src/modules/contacts/presentation/pages/create/contact_create_page.tsx +86 -47
  272. package/src/modules/home/presentation/pages/home_page.tsx +2 -9
  273. package/src/modules/introduction/presentation/pages/introduction.tsx +8 -0
  274. package/src/modules/introduction/presentation/pages/introduction_footer.tsx +16 -36
  275. package/src/modules/introduction/presentation/pages/introduction_page.tsx +17 -5
  276. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +2 -2
  277. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications_son.tsx +1 -1
  278. package/src/modules/profile/presentation/pages/profile_page_avatar.tsx +2 -2
  279. package/src/modules/profile/presentation/pages/profile_page_contacts.tsx +12 -19
  280. package/src/modules/profile/presentation/pages/profile_page_contacts_actions.tsx +10 -1
  281. package/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.tsx +3 -3
  282. package/src/modules/search/domain/models/fonctionnalite.ts +56 -0
  283. package/src/modules/search/presentation/pages/search_btn_widget.tsx +91 -0
  284. package/src/modules/search/presentation/pages/search_fonctionnalites.ts +21 -1
  285. package/src/modules/search/presentation/pages/search_page.tsx +166 -57
  286. package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page.tsx +4 -2
  287. package/src/modules/subscription/presentation/pages/subscription_create/subscription_create_page_list.tsx +5 -5
  288. package/src/modules/subscription/presentation/pages/subscription_menu_widget.tsx +3 -3
  289. package/src/modules/transactions/domain/models/transaction_send/transaction_send_command_othr.ts +1 -2
  290. package/src/modules/transactions/presentation/bloc/transaction_send/transaction_send_bloc.ts +17 -0
  291. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_date.tsx +26 -17
  292. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_pays.tsx +9 -9
  293. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_input_psp.tsx +9 -9
  294. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page.tsx +20 -2
  295. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_alias.tsx +6 -8
  296. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_othr.tsx +5 -5
  297. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_schedule.tsx +5 -7
  298. package/src/modules/transactions/presentation/pages/transaction_form/transaction_form_page_verification.tsx +112 -103
  299. package/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page.tsx +6 -10
  300. package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_repartition.tsx +3 -6
  301. package/src/modules/transactions/presentation/pages/transaction_split/transaction_split_page_tx.tsx +5 -5
  302. package/src/shared/widgets/alias_widget.tsx +45 -18
  303. package/src/shared/widgets/auth_code_field.tsx +89 -0
  304. package/src/shared/widgets/calendar_date_picker.tsx +12 -11
  305. package/src/shared/widgets/confirm_action_sheet_widget.tsx +19 -1
  306. package/src/shared/widgets/emoji_select_widget.tsx +31 -29
  307. package/src/shared/widgets/frequence_input_widget.tsx +18 -24
  308. package/src/shared/widgets/frequence_select_widget.tsx +237 -117
  309. package/src/shared/widgets/image_select_widget.tsx +4 -4
  310. package/src/shared/widgets/input_text.tsx +3 -0
  311. package/src/shared/widgets/notification_dialog.tsx +4 -1
  312. package/src/shared/widgets/pin_entete.tsx +74 -0
  313. package/src/shared/widgets/select_date_widget.tsx +66 -34
  314. package/src/shared/widgets/selection.tsx +23 -12
@@ -64,7 +64,8 @@ export function CalendarDatePicker({
64
64
  onValueChanged([start, day]);
65
65
  };
66
66
 
67
- const dayStyle = { ...theme.textTheme.titleSmall, fontSize: 17 };
67
+ const primaire = theme.colorScheme.primary;
68
+ const dayStyle = { ...theme.textTheme.titleSmall, fontSize: 16 };
68
69
 
69
70
  return (
70
71
  <View style={styles.container}>
@@ -72,17 +73,17 @@ export function CalendarDatePicker({
72
73
  <View style={styles.header}>
73
74
  <Text style={[theme.textTheme.bodyMedium, styles.month]}>{new DateFormat('MMMM yyyy', locale).format(month)}</Text>
74
75
  <Pressable hitSlop={10} onPress={() => setMonth(new Date(month.getFullYear(), month.getMonth() - 1, 1))}>
75
- <MaterialIcons name="arrow-back-ios" size={20} color={theme.primaryColor} />
76
+ <MaterialIcons name="chevron-left" size={26} color={primaire} />
76
77
  </Pressable>
77
78
  <View style={styles.gap24} />
78
79
  <Pressable hitSlop={10} onPress={() => setMonth(new Date(month.getFullYear(), month.getMonth() + 1, 1))}>
79
- <MaterialIcons name="arrow-forward-ios" size={20} color={theme.primaryColor} />
80
+ <MaterialIcons name="chevron-right" size={26} color={primaire} />
80
81
  </Pressable>
81
82
  </View>
82
83
  {/* Jours de la semaine */}
83
84
  <View style={styles.row}>
84
85
  {weekdays.map((d, i) => (
85
- <Text key={i} style={[theme.textTheme.bodyMedium, styles.weekday]}>
86
+ <Text key={i} style={[theme.textTheme.displaySmall, styles.weekday, { color: Themer.neural03Color }]}>
86
87
  {d}
87
88
  </Text>
88
89
  ))}
@@ -97,14 +98,14 @@ export function CalendarDatePicker({
97
98
  const inRange = start != null && end != null && day > startOfDay(start) && day < startOfDay(end);
98
99
  return (
99
100
  <Pressable key={i} disabled={disabled} onPress={() => onDayPress(day)} style={styles.cell}>
100
- {inRange && <View style={[styles.range, { backgroundColor: theme.primaryColor, opacity: 0.2 }]} />}
101
- <View style={[styles.day, selected ? { backgroundColor: theme.primaryColor } : null]}>
101
+ {inRange && <View style={[styles.range, { backgroundColor: primaire, opacity: 0.12 }]} />}
102
+ <View style={[styles.day, selected ? { backgroundColor: primaire } : null]}>
102
103
  <Text
103
104
  style={[
104
105
  dayStyle,
105
- disabled ? { ...theme.textTheme.bodyLarge, fontSize: 17, color: Themer.gray } : null,
106
- !selected && !disabled && sameDay(day, today) ? { color: theme.primaryColor } : null,
107
- selected ? { color: Themer.whiteColor } : null,
106
+ disabled ? { ...theme.textTheme.bodyLarge, fontSize: 16, color: Themer.gray } : null,
107
+ !selected && !disabled && sameDay(day, today) ? { color: primaire, fontWeight: '700' } : null,
108
+ selected ? { color: theme.colorScheme.onPrimary, fontWeight: '700' } : null,
108
109
  ]}
109
110
  >
110
111
  {day.getDate()}
@@ -122,11 +123,11 @@ export function CalendarDatePicker({
122
123
  const styles = StyleSheet.create({
123
124
  container: { paddingHorizontal: 16 },
124
125
  header: { flexDirection: 'row', alignItems: 'center', paddingVertical: 12, paddingHorizontal: 4 },
125
- month: { flex: 1, fontWeight: '600', textTransform: 'capitalize' },
126
+ month: { flex: 1, fontWeight: '700', textTransform: 'capitalize' },
126
127
  gap24: { width: 24 },
127
128
  row: { flexDirection: 'row' },
128
129
  weekday: { flex: 1, textAlign: 'center', fontWeight: '600', paddingVertical: 8 },
129
130
  cell: { flex: 1, height: 44, alignItems: 'center', justifyContent: 'center' },
130
131
  range: { ...StyleSheet.absoluteFill, marginVertical: 4 },
131
- day: { width: 40, height: 40, borderRadius: 20, alignItems: 'center', justifyContent: 'center' },
132
+ day: { width: 40, height: 40, borderRadius: 12, alignItems: 'center', justifyContent: 'center' },
132
133
  });
@@ -1,9 +1,10 @@
1
1
  import { ScrollView, StyleSheet, Text, View } from 'react-native';
2
2
 
3
- import { AppRouter, useAppRouter } from '../../core/router';
3
+ import { AppRouter, useAppRouter, type SdkRouter } from '../../core/router';
4
4
  import { useTheme } from '../../core/theme';
5
5
  import { useAppLocalizations } from '../../l10n/localizations';
6
6
  import { ElevatedButton, FilledTonalButton } from '../material/buttons';
7
+ import { showModalBottomSheet } from '../material/overlays';
7
8
  import { SelectionBoutons, SelectionSheet } from './selection';
8
9
 
9
10
  /**
@@ -17,8 +18,11 @@ export function ConfirmActionSheetWidget({
17
18
  confirmAction,
18
19
  cancelTitle,
19
20
  cancelAction,
21
+ emoji,
20
22
  }: {
21
23
  title: string;
24
+ /** Emoji affiché en grand sous le titre (ex. 😢 pour la déconnexion) */
25
+ emoji?: string;
22
26
  subtitle: string;
23
27
  confirmTitle?: string;
24
28
  confirmAction?: () => void;
@@ -36,6 +40,8 @@ export function ConfirmActionSheetWidget({
36
40
  <ScrollView bounces={false} style={styles.defile} contentContainerStyle={styles.content}>
37
41
  {/* Titre */}
38
42
  <Text style={[theme.textTheme.titleSmall, styles.center]}>{title}</Text>
43
+ {/* Emoji */}
44
+ {emoji != null && <Text style={[styles.center, styles.emoji]}>{emoji}</Text>}
39
45
  <View style={styles.gap12} />
40
46
  {/* Sous-titre */}
41
47
  <Text style={[theme.textTheme.displayMedium, styles.center]}>{subtitle}</Text>
@@ -61,4 +67,16 @@ const styles = StyleSheet.create({
61
67
  content: { paddingHorizontal: 24, paddingTop: 4, paddingBottom: 20 },
62
68
  center: { textAlign: 'center' },
63
69
  gap12: { height: 12 },
70
+ emoji: { fontSize: 48, marginTop: 12 },
64
71
  });
72
+
73
+ /** Ouvre la feuille de confirmation ; `true` si l'utilisateur confirme. */
74
+ export async function showConfirmActionSheet(
75
+ router: SdkRouter,
76
+ props: { title: string; subtitle: string; confirmTitle?: string; cancelTitle?: string; emoji?: string },
77
+ ): Promise<boolean> {
78
+ const confirme = await showModalBottomSheet<boolean>(router, {
79
+ builder: () => <ConfirmActionSheetWidget {...props} />,
80
+ });
81
+ return confirme === true;
82
+ }
@@ -1,10 +1,12 @@
1
+ import { MaterialIcons } from '@expo/vector-icons';
1
2
  import { useEffect, useState } from 'react';
2
- import { Pressable, ScrollView, StyleSheet, Text, useWindowDimensions, View } from 'react-native';
3
+ import { Pressable, StyleSheet, Text, useWindowDimensions, View } from 'react-native';
3
4
  import { EmojiKeyboard, en, fr, pt } from 'rn-emoji-keyboard';
4
5
 
5
6
  import { Themer, useTheme } from '../../core/theme';
6
7
  import { useAppLocalizations } from '../../l10n/localizations';
7
8
  import { argbToCss } from '../../modules/categorie/domain/models/categorie_icons';
9
+ import { withAlpha } from '../utils/color';
8
10
 
9
11
  const colors = [0xffedb37e, 0xffc08507, 0xff007aff, 0xfff9ebc2, 0xff8b887e, 0xffffd573, 0xfffa5a25, 0xff46a93d, 0xffa1a5ac, 0xff43474e];
10
12
  const imageRegex = /\.(jpeg|jpg|png|gif)$/i;
@@ -26,8 +28,8 @@ export function EmojiSelectWidget({
26
28
  const locale = useAppLocalizations().localeName;
27
29
  const { height } = useWindowDimensions();
28
30
  const [selectedColor, setSelectedColor] = useState(color ?? 0xfff9ebc2);
29
- // Comme en Dart : l'emoji par défaut remplace aussi une icône non-image
30
- const [selectedEmoji, setSelectedEmoji] = useState(icon == null || !imageRegex.test(icon) ? '🤩' : icon);
31
+ // Pas d'icône, ou une image (pas un emoji) : emoji par défaut
32
+ const [selectedEmoji, setSelectedEmoji] = useState(icon == null || imageRegex.test(icon) ? '🤩' : icon);
31
33
 
32
34
  useEffect(() => {
33
35
  onChanged({ icon: selectedEmoji, color: selectedColor });
@@ -40,18 +42,30 @@ export function EmojiSelectWidget({
40
42
  <View style={[styles.preview, { backgroundColor: argbToCss(selectedColor) }]}>
41
43
  <Text style={styles.previewText}>{selectedEmoji}</Text>
42
44
  </View>
43
- {/* Couleur de fond */}
44
- <ScrollView horizontal showsHorizontalScrollIndicator={false} contentContainerStyle={styles.colors}>
45
- {colors.map((c) =>
46
- c === selectedColor ? (
47
- <View key={c} style={[styles.selectedColor, { borderColor: theme.colorScheme.primary }]}>
48
- <View style={[styles.dot, { backgroundColor: argbToCss(c) }]} />
49
- </View>
50
- ) : (
51
- <Pressable key={c} onPress={() => setSelectedColor(c)} style={[styles.dot, styles.dotSpacing, { backgroundColor: argbToCss(c) }]} />
52
- ),
53
- )}
54
- </ScrollView>
45
+ {/* Couleur de fond : pastilles, la choisie cochée */}
46
+ <View style={styles.colors}>
47
+ {colors.map((c) => {
48
+ const choisie = c === selectedColor;
49
+ return (
50
+ <Pressable
51
+ key={c}
52
+ accessibilityRole="radio"
53
+ accessibilityState={{ selected: choisie }}
54
+ onPress={() => setSelectedColor(c)}
55
+ style={[
56
+ styles.dot,
57
+ {
58
+ backgroundColor: argbToCss(c),
59
+ borderColor: choisie ? theme.colorScheme.primary : withAlpha(Themer.neural03Color, 0.2),
60
+ borderWidth: choisie ? 3 : 1,
61
+ },
62
+ ]}
63
+ >
64
+ {choisie && <MaterialIcons name="check" size={18} color={Themer.whiteColor} />}
65
+ </Pressable>
66
+ );
67
+ })}
68
+ </View>
55
69
  {/* Clavier d'emoji */}
56
70
  <View style={{ height: height * 0.4, alignSelf: 'stretch' }}>
57
71
  <EmojiKeyboard
@@ -85,18 +99,6 @@ const styles = StyleSheet.create({
85
99
  marginVertical: 8,
86
100
  },
87
101
  previewText: { fontSize: 48 },
88
- colors: { alignItems: 'center', height: 72, paddingHorizontal: 4 },
89
- dot: { width: 24, height: 24, borderRadius: 12 },
90
- dotSpacing: { marginRight: 12 },
91
- selectedColor: {
92
- width: 32,
93
- height: 32,
94
- borderRadius: 16,
95
- borderWidth: 3,
96
- padding: 1,
97
- marginRight: 12,
98
- backgroundColor: Themer.whiteColor,
99
- alignItems: 'center',
100
- justifyContent: 'center',
101
- },
102
+ colors: { flexDirection: 'row', flexWrap: 'wrap', justifyContent: 'center', gap: 10, paddingVertical: 12 },
103
+ dot: { width: 34, height: 34, borderRadius: 17, alignItems: 'center', justifyContent: 'center' },
102
104
  });
@@ -1,41 +1,39 @@
1
- import { MaterialIcons } from '@expo/vector-icons';
2
1
  import { useEffect } from 'react';
3
- import { Pressable, View } from 'react-native';
4
2
 
5
3
  import { useAppRouter } from '../../core/router';
6
- import { useTheme } from '../../core/theme';
7
4
  import { useAppLocalizations } from '../../l10n/localizations';
8
5
  import { showModalBottomSheet } from '../material/overlays';
9
6
  import { Frequence, type FrequenceCommand } from '../models/frequence_command';
10
- import { FrequenceSelectWidget, frequenceText, periodiciteText } from './frequence_select_widget';
11
- import { CustomTextInput } from './input_text';
7
+ import { FrequenceSelectWidget, frequenceIcone, frequenceResume, frequenceText } from './frequence_select_widget';
8
+ import { SelectionPastille, SelectionChamp } from './selection';
12
9
 
13
10
  const FREQUENCES = [Frequence.quotidienne, Frequence.hebdomadaire, Frequence.mensuelle, Frequence.annuelle];
14
11
 
15
- /** Champ fréquence d'une programmation ; ouvre le choix de la fréquence. */
12
+ /** Champ fréquence d'une programmation : carte qui ouvre le choix de la fréquence. */
16
13
  export function FrequenceInputWidget({
17
14
  command,
18
15
  onChange,
19
16
  readOnly = false,
20
17
  hideOnce = false,
21
18
  hideCustom = false,
19
+ enableCustom = true,
20
+ frequences = FREQUENCES,
22
21
  }: {
23
22
  command: FrequenceCommand;
24
23
  onChange: (value: FrequenceCommand) => void;
25
24
  readOnly?: boolean;
26
25
  hideOnce?: boolean;
27
26
  hideCustom?: boolean;
27
+ /** Si on autorise la fréquence sur mesure */
28
+ enableCustom?: boolean;
29
+ frequences?: Frequence[];
28
30
  }) {
29
31
  const traductions = useAppLocalizations();
30
- const theme = useTheme();
31
32
  const router = useAppRouter();
32
33
 
33
34
  let text: string;
34
35
  if (command.value != null && command.periodicite != null) {
35
- text = traductions.transactionFormScheduleFrequenceSelected(
36
- String(command.periodicite),
37
- periodiciteText(traductions, command.value),
38
- );
36
+ text = frequenceResume(traductions, command.value, command.periodicite, enableCustom);
39
37
  } else if (command.value != null) {
40
38
  text = frequenceText(command.value, traductions);
41
39
  } else {
@@ -45,36 +43,32 @@ export function FrequenceInputWidget({
45
43
 
46
44
  const select = () =>
47
45
  void showModalBottomSheet(router, {
48
- themed: true,
49
46
  builder: () => (
50
47
  <FrequenceSelectWidget
51
48
  title={traductions.transactionFormScheduleFrequenceLabel}
52
49
  command={command}
53
- frequences={FREQUENCES}
50
+ frequences={frequences}
54
51
  onChange={onChange}
55
52
  hideOnce={hideOnce}
56
53
  hideCustom={hideCustom}
54
+ enableCustom={enableCustom}
57
55
  />
58
56
  ),
59
57
  });
60
58
 
61
59
  // Sur-mesure choisi mais pas encore validé : rouvrir le choix de la périodicité
62
- const pendingCustom = command.periodicite != null && !command.done;
60
+ const pendingCustom = enableCustom && command.periodicite != null && !command.done;
63
61
  useEffect(() => {
64
62
  if (pendingCustom) select();
65
63
  // eslint-disable-next-line react-hooks/exhaustive-deps
66
64
  }, [pendingCustom, command.periodicite]);
67
65
 
68
66
  return (
69
- <Pressable disabled={readOnly} onPress={select}>
70
- <View pointerEvents="none">
71
- <CustomTextInput
72
- labelText={traductions.transactionFormScheduleFrequenceLabel}
73
- value={text}
74
- readOnly
75
- suffixIcon={!readOnly ? <MaterialIcons name="keyboard-arrow-down" size={24} color={theme.colorScheme.onSurface} /> : null}
76
- />
77
- </View>
78
- </Pressable>
67
+ <SelectionChamp
68
+ libelle={traductions.transactionFormScheduleFrequenceLabel}
69
+ valeur={text}
70
+ pastille={<SelectionPastille icone={frequenceIcone(command.value)} />}
71
+ onPress={!readOnly ? select : undefined}
72
+ />
79
73
  );
80
74
  }