@pi-spi/app 1.3.0 → 1.4.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 (157) hide show
  1. package/README.md +28 -5
  2. package/assets/icons/qr.png +0 -0
  3. package/assets/sounds/voice/search_prompt_en.mp3 +0 -0
  4. package/assets/sounds/voice/search_prompt_fr.mp3 +0 -0
  5. package/assets/sounds/voice/search_prompt_pt.mp3 +0 -0
  6. package/example/app.json +9 -1
  7. package/lib/module/core/assets.js +1 -0
  8. package/lib/module/core/assets.js.map +1 -1
  9. package/lib/module/core/router.js +3 -0
  10. package/lib/module/core/router.js.map +1 -1
  11. package/lib/module/core/routes.js +14 -0
  12. package/lib/module/core/routes.js.map +1 -1
  13. package/lib/module/core/storage.js +27 -29
  14. package/lib/module/core/storage.js.map +1 -1
  15. package/lib/module/l10n/app_localizations.js.map +1 -1
  16. package/lib/module/l10n/app_localizations_en.js +21 -1
  17. package/lib/module/l10n/app_localizations_en.js.map +1 -1
  18. package/lib/module/l10n/app_localizations_fr.js +21 -1
  19. package/lib/module/l10n/app_localizations_fr.js.map +1 -1
  20. package/lib/module/l10n/app_localizations_pt.js +21 -1
  21. package/lib/module/l10n/app_localizations_pt.js.map +1 -1
  22. package/lib/module/modules/alias/presentation/pages/alias_page_create_options.js +3 -3
  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.map +1 -1
  25. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js +2 -2
  26. package/lib/module/modules/categorie/presentation/pages/categorie_edit_icon_btn.js.map +1 -1
  27. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js +12 -10
  28. package/lib/module/modules/categorie/presentation/pages/categorie_select_widget.js.map +1 -1
  29. package/lib/module/modules/compte/presentation/pages/solde_widget_with_qr.js +14 -9
  30. package/lib/module/modules/compte/presentation/pages/solde_widget_with_qr.js.map +1 -1
  31. package/lib/module/modules/home/presentation/pages/home_page.js +41 -2
  32. package/lib/module/modules/home/presentation/pages/home_page.js.map +1 -1
  33. package/lib/module/modules/home/presentation/pages/home_tab_compte_more_menu.js +10 -5
  34. package/lib/module/modules/home/presentation/pages/home_tab_compte_more_menu.js.map +1 -1
  35. package/lib/module/modules/notification/presentation/bloc/notification_bloc.js +11 -4
  36. package/lib/module/modules/notification/presentation/bloc/notification_bloc.js.map +1 -1
  37. package/lib/module/modules/notification/presentation/bloc/notification_state.js +7 -1
  38. package/lib/module/modules/notification/presentation/bloc/notification_state.js.map +1 -1
  39. package/lib/module/modules/notification/presentation/pages/notification_page_liste.js +6 -2
  40. package/lib/module/modules/notification/presentation/pages/notification_page_liste.js.map +1 -1
  41. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js +2 -2
  42. package/lib/module/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.js.map +1 -1
  43. package/lib/module/modules/profile/presentation/pages/web/profile_web_page.js.map +1 -1
  44. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page.js.map +1 -1
  45. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js +2 -2
  46. package/lib/module/modules/qrcode/presentation/pages/qrcode_alias_page_share.js.map +1 -1
  47. package/lib/module/modules/search/domain/models/fonctionnalite.js +199 -0
  48. package/lib/module/modules/search/domain/models/fonctionnalite.js.map +1 -0
  49. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js +119 -0
  50. package/lib/module/modules/search/presentation/pages/search_fonctionnalites.js.map +1 -0
  51. package/lib/module/modules/search/presentation/pages/search_page.js +359 -0
  52. package/lib/module/modules/search/presentation/pages/search_page.js.map +1 -0
  53. package/lib/module/modules/search/presentation/pages/search_page_voice_button.js +335 -0
  54. package/lib/module/modules/search/presentation/pages/search_page_voice_button.js.map +1 -0
  55. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js +9 -4
  56. package/lib/module/modules/subscription/presentation/pages/subscription_menu_widget.js.map +1 -1
  57. package/lib/module/modules/transactions/presentation/bloc/transaction_search/transaction_search_bloc.js +13 -1
  58. package/lib/module/modules/transactions/presentation/bloc/transaction_search/transaction_search_bloc.js.map +1 -1
  59. package/lib/module/modules/transactions/presentation/bloc/transaction_search/transaction_search_state.js +7 -1
  60. package/lib/module/modules/transactions/presentation/bloc/transaction_search/transaction_search_state.js.map +1 -1
  61. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page_filters.js +216 -137
  62. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page_filters.js.map +1 -1
  63. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page_liste.js +6 -2
  64. package/lib/module/modules/transactions/presentation/pages/transaction_search/transaction_search_page_liste.js.map +1 -1
  65. package/lib/module/modules/transactions/presentation/pages/transaction_send/transaction_send_page_options.js +3 -3
  66. package/lib/module/modules/transactions/presentation/pages/transaction_send/transaction_send_page_options.js.map +1 -1
  67. package/lib/module/shared/widgets/amount_widget.js +4 -1
  68. package/lib/module/shared/widgets/amount_widget.js.map +1 -1
  69. package/lib/module/shared/widgets/input_amount.js.map +1 -1
  70. package/lib/module/shared/widgets/input_text.js +2 -0
  71. package/lib/module/shared/widgets/input_text.js.map +1 -1
  72. package/lib/module/shared/widgets/menu_actions_widget.js +10 -1
  73. package/lib/module/shared/widgets/menu_actions_widget.js.map +1 -1
  74. package/lib/module/shared/widgets/pagination_loader_widget.js +29 -0
  75. package/lib/module/shared/widgets/pagination_loader_widget.js.map +1 -0
  76. package/lib/typescript/src/core/assets.d.ts +1 -0
  77. package/lib/typescript/src/core/assets.d.ts.map +1 -1
  78. package/lib/typescript/src/core/router.d.ts +1 -0
  79. package/lib/typescript/src/core/router.d.ts.map +1 -1
  80. package/lib/typescript/src/core/routes.d.ts.map +1 -1
  81. package/lib/typescript/src/core/storage.d.ts +11 -3
  82. package/lib/typescript/src/core/storage.d.ts.map +1 -1
  83. package/lib/typescript/src/l10n/app_localizations.d.ts +40 -0
  84. package/lib/typescript/src/l10n/app_localizations.d.ts.map +1 -1
  85. package/lib/typescript/src/l10n/app_localizations_en.d.ts.map +1 -1
  86. package/lib/typescript/src/l10n/app_localizations_fr.d.ts.map +1 -1
  87. package/lib/typescript/src/l10n/app_localizations_pt.d.ts.map +1 -1
  88. package/lib/typescript/src/modules/categorie/presentation/pages/categorie_select_widget.d.ts.map +1 -1
  89. package/lib/typescript/src/modules/compte/presentation/pages/solde_widget_with_qr.d.ts.map +1 -1
  90. package/lib/typescript/src/modules/home/presentation/pages/home_page.d.ts.map +1 -1
  91. package/lib/typescript/src/modules/home/presentation/pages/home_tab_compte_more_menu.d.ts.map +1 -1
  92. package/lib/typescript/src/modules/notification/presentation/bloc/notification_bloc.d.ts.map +1 -1
  93. package/lib/typescript/src/modules/notification/presentation/bloc/notification_state.d.ts +5 -0
  94. package/lib/typescript/src/modules/notification/presentation/bloc/notification_state.d.ts.map +1 -1
  95. package/lib/typescript/src/modules/notification/presentation/pages/notification_page_liste.d.ts.map +1 -1
  96. package/lib/typescript/src/modules/profile/presentation/pages/web/profile_web_page.d.ts.map +1 -1
  97. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts +70 -0
  98. package/lib/typescript/src/modules/search/domain/models/fonctionnalite.d.ts.map +1 -0
  99. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts +21 -0
  100. package/lib/typescript/src/modules/search/presentation/pages/search_fonctionnalites.d.ts.map +1 -0
  101. package/lib/typescript/src/modules/search/presentation/pages/search_page.d.ts +21 -0
  102. package/lib/typescript/src/modules/search/presentation/pages/search_page.d.ts.map +1 -0
  103. package/lib/typescript/src/modules/search/presentation/pages/search_page_voice_button.d.ts +29 -0
  104. package/lib/typescript/src/modules/search/presentation/pages/search_page_voice_button.d.ts.map +1 -0
  105. package/lib/typescript/src/modules/subscription/presentation/pages/subscription_menu_widget.d.ts.map +1 -1
  106. package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_search/transaction_search_bloc.d.ts.map +1 -1
  107. package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_search/transaction_search_state.d.ts +5 -0
  108. package/lib/typescript/src/modules/transactions/presentation/bloc/transaction_search/transaction_search_state.d.ts.map +1 -1
  109. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page_filters.d.ts +5 -1
  110. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page_filters.d.ts.map +1 -1
  111. package/lib/typescript/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page_liste.d.ts.map +1 -1
  112. package/lib/typescript/src/shared/widgets/amount_widget.d.ts +3 -1
  113. package/lib/typescript/src/shared/widgets/amount_widget.d.ts.map +1 -1
  114. package/lib/typescript/src/shared/widgets/input_text.d.ts +3 -3
  115. package/lib/typescript/src/shared/widgets/input_text.d.ts.map +1 -1
  116. package/lib/typescript/src/shared/widgets/menu_actions_widget.d.ts +5 -1
  117. package/lib/typescript/src/shared/widgets/menu_actions_widget.d.ts.map +1 -1
  118. package/lib/typescript/src/shared/widgets/pagination_loader_widget.d.ts +7 -0
  119. package/lib/typescript/src/shared/widgets/pagination_loader_widget.d.ts.map +1 -0
  120. package/package.json +49 -35
  121. package/src/core/assets.ts +1 -0
  122. package/src/core/router.tsx +3 -0
  123. package/src/core/routes.tsx +15 -0
  124. package/src/core/storage.ts +30 -22
  125. package/src/l10n/app_localizations.ts +40 -0
  126. package/src/l10n/app_localizations_en.ts +20 -0
  127. package/src/l10n/app_localizations_fr.ts +20 -0
  128. package/src/l10n/app_localizations_pt.ts +20 -0
  129. package/src/modules/alias/presentation/pages/alias_page_create_options.tsx +3 -3
  130. package/src/modules/alias/presentation/pages/alias_page_otp.tsx +2 -2
  131. package/src/modules/categorie/presentation/pages/categorie_edit_icon_btn.tsx +2 -2
  132. package/src/modules/categorie/presentation/pages/categorie_select_widget.tsx +13 -9
  133. package/src/modules/compte/presentation/pages/solde_widget_with_qr.tsx +10 -3
  134. package/src/modules/home/presentation/pages/home_page.tsx +31 -2
  135. package/src/modules/home/presentation/pages/home_tab_compte_more_menu.tsx +10 -5
  136. package/src/modules/notification/presentation/bloc/notification_bloc.ts +12 -3
  137. package/src/modules/notification/presentation/bloc/notification_state.ts +11 -1
  138. package/src/modules/notification/presentation/pages/notification_page_liste.tsx +4 -1
  139. package/src/modules/profile/presentation/pages/parametre/profile_parametre_page_notifications.tsx +2 -2
  140. package/src/modules/profile/presentation/pages/web/profile_web_page.tsx +3 -2
  141. package/src/modules/qrcode/presentation/pages/qrcode_alias_page.tsx +2 -2
  142. package/src/modules/qrcode/presentation/pages/qrcode_alias_page_share.tsx +2 -2
  143. package/src/modules/search/domain/models/fonctionnalite.ts +217 -0
  144. package/src/modules/search/presentation/pages/search_fonctionnalites.ts +135 -0
  145. package/src/modules/search/presentation/pages/search_page.tsx +314 -0
  146. package/src/modules/search/presentation/pages/search_page_voice_button.tsx +283 -0
  147. package/src/modules/subscription/presentation/pages/subscription_menu_widget.tsx +9 -4
  148. package/src/modules/transactions/presentation/bloc/transaction_search/transaction_search_bloc.ts +15 -1
  149. package/src/modules/transactions/presentation/bloc/transaction_search/transaction_search_state.ts +10 -1
  150. package/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page_filters.tsx +204 -101
  151. package/src/modules/transactions/presentation/pages/transaction_search/transaction_search_page_liste.tsx +4 -1
  152. package/src/modules/transactions/presentation/pages/transaction_send/transaction_send_page_options.tsx +3 -3
  153. package/src/shared/widgets/amount_widget.tsx +5 -2
  154. package/src/shared/widgets/input_amount.tsx +2 -2
  155. package/src/shared/widgets/input_text.tsx +8 -3
  156. package/src/shared/widgets/menu_actions_widget.tsx +8 -2
  157. package/src/shared/widgets/pagination_loader_widget.tsx +24 -0
@@ -0,0 +1,335 @@
1
+ "use strict";
2
+
3
+ import { MaterialIcons } from '@expo/vector-icons';
4
+ import { useEffect, useRef, useState } from 'react';
5
+ import { AccessibilityInfo, Animated, Easing, Platform, Pressable, StyleSheet, Vibration } from 'react-native';
6
+ import { useTheme } from "../../../../core/theme.js";
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
+ /** Zone tactile, plus grande que le disque pour laisser place aux ondes. */
9
+ const TAILLE = 40;
10
+
11
+ /** Diamètre du disque une fois actif. */
12
+ const DISQUE = 30;
13
+
14
+ /** Taille du disque au repos, par rapport à sa taille active. */
15
+ const ECHELLE_REPOS = 0.85;
16
+
17
+ /** Durée d'un cycle d'onde pendant l'écoute. */
18
+ const CYCLE_ONDES = 1600;
19
+
20
+ /** Nombre d'ondes, décalées d'un tiers de cycle. */
21
+ const NOMBRE_ONDES = 3;
22
+
23
+ /**
24
+ * Bouton micro de la recherche.
25
+ *
26
+ * Trois états visuels :
27
+ * - repos : micro coloré sur un disque teinté, pour se distinguer des
28
+ * autres icônes du champ. À l'ouverture, deux pulsations douces
29
+ * signalent qu'il est utilisable ;
30
+ * - actif ([ecoute]) : disque plein qui grossit avec un léger rebond,
31
+ * et trois ondes qui en partent en continu ;
32
+ * - appui : le bouton s'enfonce légèrement, avec une vibration (Android).
33
+ *
34
+ * Les ondes et l'invitation sont coupées si le téléphone demande de
35
+ * réduire les animations (accessibilité) ; seul le changement d'état
36
+ * du disque reste visible.
37
+ */
38
+ export function SearchPageVoiceButton({
39
+ ecoute,
40
+ niveau,
41
+ onPress,
42
+ tooltip
43
+ }) {
44
+ const theme = useTheme();
45
+ const couleur = theme.colorScheme.primary;
46
+ const surCouleur = theme.colorScheme.onPrimary;
47
+ const animationsReduites = useAnimationsReduites();
48
+
49
+ /** Passage repos → actif (0 → 1). */
50
+ const entree = useRef(new Animated.Value(ecoute ? 1 : 0)).current;
51
+ /** Enfoncement au toucher. */
52
+ const appui = useRef(new Animated.Value(0)).current;
53
+ /** Une pulsation d'invitation au repos, de 0 à 1. */
54
+ const invitation = useRef(new Animated.Value(0)).current;
55
+ /** [niveau] adouci, pour que le disque ne tremble pas à chaque mesure du micro. */
56
+ const niveauLisse = useRef(new Animated.Value(0)).current;
57
+ /** Avancement de chaque onde d'écoute, de 0 à 1. */
58
+ const ondes = useRef(Array.from({
59
+ length: NOMBRE_ONDES
60
+ }, () => new Animated.Value(0))).current;
61
+
62
+ // Allume ou éteint le bouton : rebond à l'arrivée, retour plus rapide.
63
+ useEffect(() => {
64
+ if (ecoute) invitation.setValue(0);
65
+ const animation = ecoute ? Animated.spring(entree, {
66
+ toValue: 1,
67
+ friction: 5,
68
+ tension: 120,
69
+ useNativeDriver: true
70
+ }) : Animated.timing(entree, {
71
+ toValue: 0,
72
+ duration: 240,
73
+ easing: Easing.in(Easing.cubic),
74
+ useNativeDriver: true
75
+ });
76
+ animation.start();
77
+ return () => animation.stop();
78
+ }, [ecoute, entree, invitation]);
79
+
80
+ // Ondes en boucle pendant l'écoute, décalées d'un tiers de cycle.
81
+ useEffect(() => {
82
+ if (!ecoute || animationsReduites) return;
83
+ const boucles = ondes.map((onde, i) => {
84
+ onde.setValue(0);
85
+ return Animated.sequence([Animated.delay(CYCLE_ONDES / NOMBRE_ONDES * i), Animated.loop(Animated.timing(onde, {
86
+ toValue: 1,
87
+ duration: CYCLE_ONDES,
88
+ easing: Easing.linear,
89
+ useNativeDriver: true
90
+ }))]);
91
+ });
92
+ boucles.forEach(boucle => boucle.start());
93
+ return () => boucles.forEach(boucle => boucle.stop());
94
+ }, [ecoute, animationsReduites, ondes]);
95
+
96
+ // Le volume suit la voix en douceur, et retombe à 0 hors écoute.
97
+ useEffect(() => {
98
+ const suivre = () => Animated.timing(niveauLisse, {
99
+ toValue: ecoute ? Math.min(Math.max(niveau.value, 0), 1) : 0,
100
+ duration: 120,
101
+ useNativeDriver: true
102
+ }).start();
103
+ suivre();
104
+ return niveau.addListener(suivre);
105
+ }, [ecoute, niveau, niveauLisse]);
106
+
107
+ // Invitation : deux pulsations, une seule fois par ouverture de la page,
108
+ // après l'entrée de la page pour que l'œil la voie.
109
+ const invitationLancee = useRef(false);
110
+ useEffect(() => {
111
+ if (invitationLancee.current || animationsReduites !== false) return;
112
+ invitationLancee.current = true;
113
+ if (ecoute) return;
114
+ const pulsation = () => Animated.timing(invitation, {
115
+ toValue: 1,
116
+ duration: 1100,
117
+ useNativeDriver: true
118
+ });
119
+ invitation.setValue(0);
120
+ const animation = Animated.sequence([Animated.delay(500), pulsation(), Animated.timing(invitation, {
121
+ toValue: 0,
122
+ duration: 0,
123
+ useNativeDriver: true
124
+ }), pulsation()]);
125
+ animation.start();
126
+ return () => animation.stop();
127
+ }, [animationsReduites, ecoute, invitation]);
128
+ const toucher = () => {
129
+ // Sur iOS, `Vibration` ne sait faire qu'une longue vibration : pas de retour haptique.
130
+ if (Platform.OS === 'android') Vibration.vibrate(10);
131
+ onPress();
132
+ };
133
+ const presence = entree.interpolate({
134
+ inputRange: [0, 1],
135
+ outputRange: [0, 1],
136
+ extrapolate: 'clamp'
137
+ });
138
+ // 0 → 1 → 0 sur une pulsation d'invitation.
139
+ const souffle = invitation.interpolate({
140
+ inputRange: [0, 0.5, 1],
141
+ outputRange: [0, 1, 0]
142
+ });
143
+ const echelle = Animated.multiply(Animated.multiply(entree.interpolate({
144
+ inputRange: [0, 1, 1.2],
145
+ outputRange: [ECHELLE_REPOS, 1, 1.03],
146
+ extrapolate: 'clamp'
147
+ }), niveauLisse.interpolate({
148
+ inputRange: [0, 1],
149
+ outputRange: [1, 1.16]
150
+ })), souffle.interpolate({
151
+ inputRange: [0, 1],
152
+ outputRange: [1, 1.1]
153
+ }));
154
+ const enfoncement = appui.interpolate({
155
+ inputRange: [0, 1],
156
+ outputRange: [1, 0.86]
157
+ });
158
+ const rayonBase = DISQUE / 2;
159
+ const rayonRepos = DISQUE / 2 * ECHELLE_REPOS;
160
+ return /*#__PURE__*/_jsxs(Pressable, {
161
+ accessibilityRole: "button",
162
+ accessibilityLabel: tooltip,
163
+ accessibilityState: {
164
+ selected: ecoute
165
+ },
166
+ onPressIn: () => Animated.timing(appui, {
167
+ toValue: 1,
168
+ duration: 90,
169
+ useNativeDriver: true
170
+ }).start(),
171
+ onPressOut: () => Animated.timing(appui, {
172
+ toValue: 0,
173
+ duration: 160,
174
+ useNativeDriver: true
175
+ }).start(),
176
+ onPress: toucher,
177
+ style: styles.zone,
178
+ children: [!animationsReduites && /*#__PURE__*/_jsxs(_Fragment, {
179
+ children: [/*#__PURE__*/_jsx(Animated.View, {
180
+ pointerEvents: "none",
181
+ style: [styles.onde, {
182
+ width: rayonRepos * 2,
183
+ height: rayonRepos * 2,
184
+ borderRadius: rayonRepos,
185
+ backgroundColor: couleur,
186
+ opacity: Animated.multiply(invitation.interpolate({
187
+ inputRange: [0, 0.01, 0.5, 1],
188
+ outputRange: [0, 0.4, 0.1, 0]
189
+ }), presence.interpolate({
190
+ inputRange: [0, 1],
191
+ outputRange: [1, 0]
192
+ })),
193
+ transform: [{
194
+ scale: easeOutQuad(invitation).interpolate({
195
+ inputRange: [0, 1],
196
+ outputRange: [1, (rayonRepos + 10) / rayonRepos]
197
+ })
198
+ }]
199
+ }]
200
+ }), ondes.map((onde, i) => /*#__PURE__*/_jsx(Animated.View, {
201
+ pointerEvents: "none",
202
+ style: [styles.onde, {
203
+ width: DISQUE,
204
+ height: DISQUE,
205
+ borderRadius: rayonBase,
206
+ backgroundColor: couleur,
207
+ opacity: Animated.multiply(Animated.multiply(onde.interpolate({
208
+ inputRange: [0, 0.5, 1],
209
+ outputRange: [0.5, 0.125, 0]
210
+ }), presence), niveauLisse.interpolate({
211
+ inputRange: [0, 1],
212
+ outputRange: [0.45, 1]
213
+ })),
214
+ transform: [{
215
+ scale: Animated.add(1, Animated.multiply(easeOutQuad(onde), niveauLisse.interpolate({
216
+ inputRange: [0, 1],
217
+ outputRange: [6 / rayonBase, 16 / rayonBase]
218
+ })))
219
+ }]
220
+ }]
221
+ }, i))]
222
+ }), /*#__PURE__*/_jsxs(Animated.View, {
223
+ style: [styles.centre, {
224
+ transform: [{
225
+ scale: enfoncement
226
+ }]
227
+ }],
228
+ children: [/*#__PURE__*/_jsxs(Animated.View, {
229
+ style: [styles.disque, {
230
+ transform: [{
231
+ scale: echelle
232
+ }]
233
+ }],
234
+ children: [/*#__PURE__*/_jsx(Animated.View, {
235
+ style: [StyleSheet.absoluteFill, styles.rond, {
236
+ backgroundColor: couleur,
237
+ opacity: souffle.interpolate({
238
+ inputRange: [0, 1],
239
+ outputRange: [0.12, 0.2]
240
+ })
241
+ }]
242
+ }), /*#__PURE__*/_jsx(Animated.View, {
243
+ style: [StyleSheet.absoluteFill, styles.rond, {
244
+ backgroundColor: couleur,
245
+ opacity: presence
246
+ }]
247
+ })]
248
+ }), /*#__PURE__*/_jsx(Animated.View, {
249
+ style: [styles.icone, {
250
+ opacity: presence.interpolate({
251
+ inputRange: [0, 1],
252
+ outputRange: [1, 0]
253
+ })
254
+ }],
255
+ children: /*#__PURE__*/_jsx(MaterialIcons, {
256
+ name: "mic-none",
257
+ size: 20,
258
+ color: couleur
259
+ })
260
+ }), /*#__PURE__*/_jsx(Animated.View, {
261
+ style: [styles.icone, {
262
+ opacity: presence,
263
+ transform: [{
264
+ scale: presence
265
+ }]
266
+ }],
267
+ children: /*#__PURE__*/_jsx(MaterialIcons, {
268
+ name: "mic",
269
+ size: 20,
270
+ color: surCouleur
271
+ })
272
+ })]
273
+ })]
274
+ });
275
+ }
276
+
277
+ /**
278
+ * Courbe `Easing.out(Easing.quad)` (1 - (1 - t)²) appliquée à une valeur
279
+ * de 0 à 1, décrite point par point : `interpolate` n'accepte pas d'option
280
+ * `easing`, et le pilote natif rejette l'animation (erreur « Interpolation
281
+ * property 'easing' is not supported by native animated module » à chaque
282
+ * image).
283
+ */
284
+ function easeOutQuad(valeur) {
285
+ return valeur.interpolate({
286
+ inputRange: [0, 0.125, 0.25, 0.375, 0.5, 0.625, 0.75, 0.875, 1],
287
+ outputRange: [0, 0.234375, 0.4375, 0.609375, 0.75, 0.859375, 0.9375, 0.984375, 1]
288
+ });
289
+ }
290
+
291
+ /** Réglage « réduire les animations » du téléphone ; `undefined` tant qu'il n'est pas lu. */
292
+ function useAnimationsReduites() {
293
+ const [reduites, setReduites] = useState(undefined);
294
+ useEffect(() => {
295
+ let actif = true;
296
+ void AccessibilityInfo.isReduceMotionEnabled().then(valeur => {
297
+ if (actif) setReduites(valeur);
298
+ });
299
+ const abonnement = AccessibilityInfo.addEventListener('reduceMotionChanged', setReduites);
300
+ return () => {
301
+ actif = false;
302
+ abonnement.remove();
303
+ };
304
+ }, []);
305
+ return reduites;
306
+ }
307
+ const styles = StyleSheet.create({
308
+ zone: {
309
+ width: TAILLE,
310
+ height: TAILLE,
311
+ alignItems: 'center',
312
+ justifyContent: 'center'
313
+ },
314
+ onde: {
315
+ position: 'absolute'
316
+ },
317
+ centre: {
318
+ width: DISQUE,
319
+ height: DISQUE,
320
+ alignItems: 'center',
321
+ justifyContent: 'center'
322
+ },
323
+ disque: {
324
+ position: 'absolute',
325
+ width: DISQUE,
326
+ height: DISQUE
327
+ },
328
+ rond: {
329
+ borderRadius: DISQUE / 2
330
+ },
331
+ icone: {
332
+ position: 'absolute'
333
+ }
334
+ });
335
+ //# sourceMappingURL=search_page_voice_button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MaterialIcons","useEffect","useRef","useState","AccessibilityInfo","Animated","Easing","Platform","Pressable","StyleSheet","Vibration","useTheme","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","TAILLE","DISQUE","ECHELLE_REPOS","CYCLE_ONDES","NOMBRE_ONDES","SearchPageVoiceButton","ecoute","niveau","onPress","tooltip","theme","couleur","colorScheme","primary","surCouleur","onPrimary","animationsReduites","useAnimationsReduites","entree","Value","current","appui","invitation","niveauLisse","ondes","Array","from","length","setValue","animation","spring","toValue","friction","tension","useNativeDriver","timing","duration","easing","in","cubic","start","stop","boucles","map","onde","i","sequence","delay","loop","linear","forEach","boucle","suivre","Math","min","max","value","addListener","invitationLancee","pulsation","toucher","OS","vibrate","presence","interpolate","inputRange","outputRange","extrapolate","souffle","echelle","multiply","enfoncement","rayonBase","rayonRepos","accessibilityRole","accessibilityLabel","accessibilityState","selected","onPressIn","onPressOut","style","styles","zone","children","View","pointerEvents","width","height","borderRadius","backgroundColor","opacity","transform","scale","easeOutQuad","add","centre","disque","absoluteFill","rond","icone","name","size","color","valeur","reduites","setReduites","undefined","actif","isReduceMotionEnabled","then","abonnement","addEventListener","remove","create","alignItems","justifyContent","position"],"sourceRoot":"../../../../../../src","sources":["modules/search/presentation/pages/search_page_voice_button.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,7 +7,7 @@ import { AppRouter, useAppRouter } from "../../../../core/router.js";
7
7
  import { useTheme } from "../../../../core/theme.js";
8
8
  import { useAppLocalizations } from "../../../../l10n/localizations.js";
9
9
  import { Card } from "../../../../shared/material/card.js";
10
- import { MenuActionItem, MenuActionsWiget } from "../../../../shared/widgets/menu_actions_widget.js";
10
+ import { MenuActionItem, MenuActionsWidget } from "../../../../shared/widgets/menu_actions_widget.js";
11
11
 
12
12
  /** Menu de création : programmer un paiement ou souscrire à un abonnement (feuille du bas) */
13
13
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
@@ -19,6 +19,11 @@ export function SubscriptionMenuWidget() {
19
19
  height
20
20
  } = useWindowDimensions();
21
21
  const insets = useSafeAreaInsets();
22
+ // Fermer le menu avant d'ouvrir la page : sinon il reste affiché par-dessus
23
+ const open = location => {
24
+ AppRouter.pop(router);
25
+ void AppRouter.push(router, location);
26
+ };
22
27
  return /*#__PURE__*/_jsx(View, {
23
28
  style: [styles.box, {
24
29
  maxHeight: height * 0.4,
@@ -34,14 +39,14 @@ export function SubscriptionMenuWidget() {
34
39
  }), /*#__PURE__*/_jsx(View, {
35
40
  style: styles.gap20
36
41
  }), /*#__PURE__*/_jsx(Card, {
37
- children: /*#__PURE__*/_jsx(MenuActionsWiget, {
42
+ children: /*#__PURE__*/_jsx(MenuActionsWidget, {
38
43
  items: [
39
44
  // Programmer
40
- new MenuActionItem(Images.homeFooterTransfer, traductions.subscriptionMenuScheduleTitle, traductions.subscriptionMenuScheduleSubtitle, () => void AppRouter.push(router, AppRouter.subscriptionSchedule), {
45
+ new MenuActionItem(Images.homeFooterTransfer, traductions.subscriptionMenuScheduleTitle, traductions.subscriptionMenuScheduleSubtitle, () => open(AppRouter.subscriptionSchedule), {
41
46
  iconSize: 20
42
47
  }),
43
48
  // Souscrire à un abonnement
44
- new MenuActionItem(Images.iconRepeat, traductions.subscriptionMenuSubscribeTitle, traductions.subscriptionMenuSubscribeSubtitle, () => void AppRouter.push(router, AppRouter.subscriptionSubscribe), {
49
+ new MenuActionItem(Images.iconRepeat, traductions.subscriptionMenuSubscribeTitle, traductions.subscriptionMenuSubscribeSubtitle, () => open(AppRouter.subscriptionSubscribe), {
45
50
  iconSize: 20
46
51
  })]
47
52
  })
@@ -1 +1 @@
1
- {"version":3,"names":["ScrollView","StyleSheet","Text","useWindowDimensions","View","useSafeAreaInsets","Images","AppRouter","useAppRouter","useTheme","useAppLocalizations","Card","MenuActionItem","MenuActionsWiget","jsx","_jsx","jsxs","_jsxs","SubscriptionMenuWidget","traductions","theme","router","height","insets","style","styles","box","maxHeight","backgroundColor","colorScheme","surface","children","contentContainerStyle","content","paddingBottom","bottom","textTheme","headlineMedium","subscriptionEmptyBtnCreate","gap20","items","homeFooterTransfer","subscriptionMenuScheduleTitle","subscriptionMenuScheduleSubtitle","push","subscriptionSchedule","iconSize","iconRepeat","subscriptionMenuSubscribeTitle","subscriptionMenuSubscribeSubtitle","subscriptionSubscribe","create","borderRadius","overflow","padding"],"sourceRoot":"../../../../../../src","sources":["modules/subscription/presentation/pages/subscription_menu_widget.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AACtF,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,MAAM,QAAQ,4BAAyB;AAChD,SAASC,SAAS,EAAEC,YAAY,QAAQ,4BAAyB;AACjE,SAASC,QAAQ,QAAQ,2BAAwB;AACjD,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,IAAI,QAAQ,qCAAkC;AACvD,SAASC,cAAc,EAAEC,gBAAgB,QAAQ,mDAAgD;;AAEjG;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,MAAMC,WAAW,GAAGT,mBAAmB,CAAC,CAAC;EACzC,MAAMU,KAAK,GAAGX,QAAQ,CAAC,CAAC;EACxB,MAAMY,MAAM,GAAGb,YAAY,CAAC,CAAC;EAC7B,MAAM;IAAEc;EAAO,CAAC,GAAGnB,mBAAmB,CAAC,CAAC;EACxC,MAAMoB,MAAM,GAAGlB,iBAAiB,CAAC,CAAC;EAClC,oBACEU,IAAA,CAACX,IAAI;IAACoB,KAAK,EAAE,CAACC,MAAM,CAACC,GAAG,EAAE;MAAEC,SAAS,EAAEL,MAAM,GAAG,GAAG;MAAEM,eAAe,EAAER,KAAK,CAACS,WAAW,CAACC;IAAQ,CAAC,CAAE;IAAAC,QAAA,eACjGd,KAAA,CAACjB,UAAU;MAACgC,qBAAqB,EAAE,CAACP,MAAM,CAACQ,OAAO,EAAE;QAAEC,aAAa,EAAE,EAAE,GAAGX,MAAM,CAACY;MAAO,CAAC,CAAE;MAAAJ,QAAA,gBAEzFhB,IAAA,CAACb,IAAI;QAACsB,KAAK,EAAEJ,KAAK,CAACgB,SAAS,CAACC,cAAe;QAAAN,QAAA,EAAEZ,WAAW,CAACmB;MAA0B,CAAO,CAAC,eAC5FvB,IAAA,CAACX,IAAI;QAACoB,KAAK,EAAEC,MAAM,CAACc;MAAM,CAAE,CAAC,eAC7BxB,IAAA,CAACJ,IAAI;QAAAoB,QAAA,eACHhB,IAAA,CAACF,gBAAgB;UACf2B,KAAK,EAAE;UACL;UACA,IAAI5B,cAAc,CAChBN,MAAM,CAACmC,kBAAkB,EACzBtB,WAAW,CAACuB,6BAA6B,EACzCvB,WAAW,CAACwB,gCAAgC,EAC5C,MAAM,KAAKpC,SAAS,CAACqC,IAAI,CAACvB,MAAM,EAAEd,SAAS,CAACsC,oBAAoB,CAAC,EACjE;YAAEC,QAAQ,EAAE;UAAG,CACjB,CAAC;UACD;UACA,IAAIlC,cAAc,CAChBN,MAAM,CAACyC,UAAU,EACjB5B,WAAW,CAAC6B,8BAA8B,EAC1C7B,WAAW,CAAC8B,iCAAiC,EAC7C,MAAM,KAAK1C,SAAS,CAACqC,IAAI,CAACvB,MAAM,EAAEd,SAAS,CAAC2C,qBAAqB,CAAC,EAClE;YAAEJ,QAAQ,EAAE;UAAG,CACjB,CAAC;QACD,CACH;MAAC,CACE,CAAC;IAAA,CACG;EAAC,CACT,CAAC;AAEX;AAEA,MAAMrB,MAAM,GAAGxB,UAAU,CAACkD,MAAM,CAAC;EAC/BzB,GAAG,EAAE;IAAE0B,YAAY,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAS,CAAC;EAC7CpB,OAAO,EAAE;IAAEqB,OAAO,EAAE;EAAG,CAAC;EACxBf,KAAK,EAAE;IAAEjB,MAAM,EAAE;EAAG;AACtB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["ScrollView","StyleSheet","Text","useWindowDimensions","View","useSafeAreaInsets","Images","AppRouter","useAppRouter","useTheme","useAppLocalizations","Card","MenuActionItem","MenuActionsWidget","jsx","_jsx","jsxs","_jsxs","SubscriptionMenuWidget","traductions","theme","router","height","insets","open","location","pop","push","style","styles","box","maxHeight","backgroundColor","colorScheme","surface","children","contentContainerStyle","content","paddingBottom","bottom","textTheme","headlineMedium","subscriptionEmptyBtnCreate","gap20","items","homeFooterTransfer","subscriptionMenuScheduleTitle","subscriptionMenuScheduleSubtitle","subscriptionSchedule","iconSize","iconRepeat","subscriptionMenuSubscribeTitle","subscriptionMenuSubscribeSubtitle","subscriptionSubscribe","create","borderRadius","overflow","padding"],"sourceRoot":"../../../../../../src","sources":["modules/subscription/presentation/pages/subscription_menu_widget.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,UAAU,EAAEC,IAAI,EAAEC,mBAAmB,EAAEC,IAAI,QAAQ,cAAc;AACtF,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,MAAM,QAAQ,4BAAyB;AAChD,SAASC,SAAS,EAAEC,YAAY,QAAQ,4BAAyB;AACjE,SAASC,QAAQ,QAAQ,2BAAwB;AACjD,SAASC,mBAAmB,QAAQ,mCAAgC;AACpE,SAASC,IAAI,QAAQ,qCAAkC;AACvD,SAASC,cAAc,EAAEC,iBAAiB,QAAQ,mDAAgD;;AAElG;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AACA,OAAO,SAASC,sBAAsBA,CAAA,EAAG;EACvC,MAAMC,WAAW,GAAGT,mBAAmB,CAAC,CAAC;EACzC,MAAMU,KAAK,GAAGX,QAAQ,CAAC,CAAC;EACxB,MAAMY,MAAM,GAAGb,YAAY,CAAC,CAAC;EAC7B,MAAM;IAAEc;EAAO,CAAC,GAAGnB,mBAAmB,CAAC,CAAC;EACxC,MAAMoB,MAAM,GAAGlB,iBAAiB,CAAC,CAAC;EAClC;EACA,MAAMmB,IAAI,GAAIC,QAAgB,IAAK;IACjClB,SAAS,CAACmB,GAAG,CAACL,MAAM,CAAC;IACrB,KAAKd,SAAS,CAACoB,IAAI,CAACN,MAAM,EAAEI,QAAQ,CAAC;EACvC,CAAC;EACD,oBACEV,IAAA,CAACX,IAAI;IAACwB,KAAK,EAAE,CAACC,MAAM,CAACC,GAAG,EAAE;MAAEC,SAAS,EAAET,MAAM,GAAG,GAAG;MAAEU,eAAe,EAAEZ,KAAK,CAACa,WAAW,CAACC;IAAQ,CAAC,CAAE;IAAAC,QAAA,eACjGlB,KAAA,CAACjB,UAAU;MAACoC,qBAAqB,EAAE,CAACP,MAAM,CAACQ,OAAO,EAAE;QAAEC,aAAa,EAAE,EAAE,GAAGf,MAAM,CAACgB;MAAO,CAAC,CAAE;MAAAJ,QAAA,gBAEzFpB,IAAA,CAACb,IAAI;QAAC0B,KAAK,EAAER,KAAK,CAACoB,SAAS,CAACC,cAAe;QAAAN,QAAA,EAAEhB,WAAW,CAACuB;MAA0B,CAAO,CAAC,eAC5F3B,IAAA,CAACX,IAAI;QAACwB,KAAK,EAAEC,MAAM,CAACc;MAAM,CAAE,CAAC,eAC7B5B,IAAA,CAACJ,IAAI;QAAAwB,QAAA,eACHpB,IAAA,CAACF,iBAAiB;UAChB+B,KAAK,EAAE;UACL;UACA,IAAIhC,cAAc,CAChBN,MAAM,CAACuC,kBAAkB,EACzB1B,WAAW,CAAC2B,6BAA6B,EACzC3B,WAAW,CAAC4B,gCAAgC,EAC5C,MAAMvB,IAAI,CAACjB,SAAS,CAACyC,oBAAoB,CAAC,EAC1C;YAAEC,QAAQ,EAAE;UAAG,CACjB,CAAC;UACD;UACA,IAAIrC,cAAc,CAChBN,MAAM,CAAC4C,UAAU,EACjB/B,WAAW,CAACgC,8BAA8B,EAC1ChC,WAAW,CAACiC,iCAAiC,EAC7C,MAAM5B,IAAI,CAACjB,SAAS,CAAC8C,qBAAqB,CAAC,EAC3C;YAAEJ,QAAQ,EAAE;UAAG,CACjB,CAAC;QACD,CACH;MAAC,CACE,CAAC;IAAA,CACG;EAAC,CACT,CAAC;AAEX;AAEA,MAAMpB,MAAM,GAAG5B,UAAU,CAACqD,MAAM,CAAC;EAC/BxB,GAAG,EAAE;IAAEyB,YAAY,EAAE,EAAE;IAAEC,QAAQ,EAAE;EAAS,CAAC;EAC7CnB,OAAO,EAAE;IAAEoB,OAAO,EAAE;EAAG,CAAC;EACxBd,KAAK,EAAE;IAAErB,MAAM,EAAE;EAAG;AACtB,CAAC,CAAC","ignoreList":[]}
@@ -48,8 +48,12 @@ export class TransactionSearchBloc extends Bloc {
48
48
  /** Quand on demande la liste des transactions */
49
49
  async onList(event, emit) {
50
50
  emit(new TransactionSearchLoadingState(this.state.transactions, event.command));
51
+
52
+ // Repartir de la première page
53
+ const command = event.command;
54
+ command.index = null;
55
+ command.total = 0;
51
56
  try {
52
- const command = event.command;
53
57
  // Rechercher d'abord en local et afficher
54
58
  const donneesLocales = await this.transactionsInputPort.list(this.params(command));
55
59
  if (command.filters.categories.length > 0) {
@@ -74,19 +78,27 @@ export class TransactionSearchBloc extends Bloc {
74
78
 
75
79
  /** Pagination */
76
80
  async onPaginate(event, emit) {
81
+ // Une page est déjà en cours de chargement
82
+ const current = this.state;
83
+ if (!(current instanceof TransactionSearchListState) || current.isPaginating) return;
77
84
  const command = event.command;
85
+ // Affiche le loader en bas de la liste
86
+ emit(new TransactionSearchListState(current.transactions, command, true));
78
87
  try {
79
88
  const liste = await this.transactionsInputPort.search(this.params(command, command.index));
80
89
  command.total = liste.meta.total;
81
90
  command.index = liste.meta.next;
82
91
  if (liste.isNotEmpty) {
83
92
  emit(new TransactionSearchListState(new TransactionListe([...this.state.transactions.data, ...liste.data], liste.meta), command));
93
+ return;
84
94
  }
85
95
  } catch (e) {
86
96
  this.logger.e('Recuperer liste transaction pagination error =>', {
87
97
  error: e
88
98
  });
89
99
  }
100
+ // Page vide ou erreur : on retire le loader
101
+ emit(new TransactionSearchListState(this.state.transactions, command));
90
102
  }
91
103
  }
92
104
  //# sourceMappingURL=transaction_search_bloc.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Bloc","Logger","ListeMeta","TransactionListe","TransactionSearchCommand","TransactionSearchFilter","TransactionSearchListEvent","TransactionSearchPaginateEvent","TransactionSearchInitialState","TransactionSearchListState","TransactionSearchLoadingState","TransactionSearchBloc","logger","constructor","transactionsInputPort","total","limit","defaultLimit","filters","categories","sens","on","e","emit","onList","onPaginate","params","command","page","dates","compte","map","s","dateOperationDebut","start","dateOperationFin","end","keyword","keyWord","event","state","transactions","donneesLocales","list","length","isNotEmpty","liste","search","index","isEmpty","meta","next","error","data"],"sourceRoot":"../../../../../../../src","sources":["modules/transactions/presentation/bloc/transaction_search/transaction_search_bloc.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Bloc","Logger","ListeMeta","TransactionListe","TransactionSearchCommand","TransactionSearchFilter","TransactionSearchListEvent","TransactionSearchPaginateEvent","TransactionSearchInitialState","TransactionSearchListState","TransactionSearchLoadingState","TransactionSearchBloc","logger","constructor","transactionsInputPort","total","limit","defaultLimit","filters","categories","sens","on","e","emit","onList","onPaginate","params","command","page","dates","compte","map","s","dateOperationDebut","start","dateOperationFin","end","keyword","keyWord","event","state","transactions","index","donneesLocales","list","length","isNotEmpty","liste","search","isEmpty","meta","next","error","current","isPaginating","data"],"sourceRoot":"../../../../../../../src","sources":["modules/transactions/presentation/bloc/transaction_search/transaction_search_bloc.ts"],"mappings":"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","ignoreList":[]}
@@ -8,5 +8,11 @@ export class TransactionSearchState {
8
8
  }
9
9
  export class TransactionSearchInitialState extends TransactionSearchState {}
10
10
  export class TransactionSearchLoadingState extends TransactionSearchState {}
11
- export class TransactionSearchListState extends TransactionSearchState {}
11
+ export class TransactionSearchListState extends TransactionSearchState {
12
+ constructor(transactions, command, /** true pendant le chargement de la page suivante : un petit loader est affiché en bas de la liste. */
13
+ isPaginating = false) {
14
+ super(transactions, command);
15
+ this.isPaginating = isPaginating;
16
+ }
17
+ }
12
18
  //# sourceMappingURL=transaction_search_state.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TransactionSearchState","constructor","transactions","command","TransactionSearchInitialState","TransactionSearchLoadingState","TransactionSearchListState"],"sourceRoot":"../../../../../../../src","sources":["modules/transactions/presentation/bloc/transaction_search/transaction_search_state.ts"],"mappings":";;AAGA,OAAO,MAAeA,sBAAsB,CAAC;EAC3CC,WAAWA,CACAC,YAA8B,EAC9BC,OAAiC,EAC1C;IAAA,KAFSD,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,OAAiC,GAAjCA,OAAiC;EACzC;AACL;AAEA,OAAO,MAAMC,6BAA6B,SAASJ,sBAAsB,CAAC;AAE1E,OAAO,MAAMK,6BAA6B,SAASL,sBAAsB,CAAC;AAE1E,OAAO,MAAMM,0BAA0B,SAASN,sBAAsB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TransactionSearchState","constructor","transactions","command","TransactionSearchInitialState","TransactionSearchLoadingState","TransactionSearchListState","isPaginating"],"sourceRoot":"../../../../../../../src","sources":["modules/transactions/presentation/bloc/transaction_search/transaction_search_state.ts"],"mappings":";;AAGA,OAAO,MAAeA,sBAAsB,CAAC;EAC3CC,WAAWA,CACAC,YAA8B,EAC9BC,OAAiC,EAC1C;IAAA,KAFSD,YAA8B,GAA9BA,YAA8B;IAAA,KAC9BC,OAAiC,GAAjCA,OAAiC;EACzC;AACL;AAEA,OAAO,MAAMC,6BAA6B,SAASJ,sBAAsB,CAAC;AAE1E,OAAO,MAAMK,6BAA6B,SAASL,sBAAsB,CAAC;AAE1E,OAAO,MAAMM,0BAA0B,SAASN,sBAAsB,CAAC;EACrEC,WAAWA,CACTC,YAA8B,EAC9BC,OAAiC,EACjC;EACSI,YAAY,GAAG,KAAK,EAC7B;IACA,KAAK,CAACL,YAAY,EAAEC,OAAO,CAAC;IAAC,KAFpBI,YAAY,GAAZA,YAAY;EAGvB;AACF","ignoreList":[]}