runid-lys 0.1.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.
- package/CHANGELOG.md +20 -0
- package/LICENSE +201 -0
- package/NOTICE +4 -0
- package/README.md +1 -0
- package/dist/PublicAppTemplate-SRJ1HtD0.js +29 -0
- package/dist/PublicAppTemplate-SRJ1HtD0.js.map +1 -0
- package/dist/RelayEnvironment-D880U9SM.js +49 -0
- package/dist/RelayEnvironment-D880U9SM.js.map +1 -0
- package/dist/constants-Bm8lSjj9.js +2068 -0
- package/dist/constants-Bm8lSjj9.js.map +1 -0
- package/dist/errors-BOacmKM0.js +186 -0
- package/dist/errors-BOacmKM0.js.map +1 -0
- package/dist/hooks-CvhFUowR.js +37 -0
- package/dist/hooks-CvhFUowR.js.map +1 -0
- package/dist/i18n/errors.d.ts +184 -0
- package/dist/i18n/index.d.ts +3 -0
- package/dist/i18n/index.js +17 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/messages.d.ts +5 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/lys-front.css +4 -0
- package/dist/providers/AlertMessageProvider/hooks.d.ts +14 -0
- package/dist/providers/AlertMessageProvider/index.d.ts +10 -0
- package/dist/providers/AlertMessageProvider/types.d.ts +31 -0
- package/dist/providers/ChatbotProvider/hooks.d.ts +3 -0
- package/dist/providers/ChatbotProvider/index.d.ts +17 -0
- package/dist/providers/ChatbotProvider/types.d.ts +42 -0
- package/dist/providers/ConnectedUserProvider/ConnectedUserFragment.d.ts +12 -0
- package/dist/providers/ConnectedUserProvider/__generated__/ConnectedUserFragment_user.graphql.d.ts +36 -0
- package/dist/providers/ConnectedUserProvider/__generated__/ConnectedUserProviderLoginMutation.graphql.d.ts +21 -0
- package/dist/providers/ConnectedUserProvider/__generated__/ConnectedUserProviderLogoutMutation.graphql.d.ts +13 -0
- package/dist/providers/ConnectedUserProvider/__generated__/ConnectedUserProviderQuery.graphql.d.ts +13 -0
- package/dist/providers/ConnectedUserProvider/__generated__/ConnectedUserProviderRefreshMutation.graphql.d.ts +15 -0
- package/dist/providers/ConnectedUserProvider/hooks.d.ts +24 -0
- package/dist/providers/ConnectedUserProvider/index.d.ts +12 -0
- package/dist/providers/ConnectedUserProvider/types.d.ts +64 -0
- package/dist/providers/ErrorBoundaryProvider/index.d.ts +24 -0
- package/dist/providers/FilterLabelsProvider/hooks.d.ts +22 -0
- package/dist/providers/FilterLabelsProvider/index.d.ts +22 -0
- package/dist/providers/LocaleProvider/hooks.d.ts +5 -0
- package/dist/providers/LocaleProvider/index.d.ts +14 -0
- package/dist/providers/LocaleProvider/types.d.ts +36 -0
- package/dist/providers/LysDialogProvider/hooks.d.ts +124 -0
- package/dist/providers/LysDialogProvider/index.d.ts +16 -0
- package/dist/providers/LysDialogProvider/reducer.d.ts +16 -0
- package/dist/providers/LysDialogProvider/types.d.ts +105 -0
- package/dist/providers/LysMutationProvider/hooks.d.ts +12 -0
- package/dist/providers/LysMutationProvider/index.d.ts +13 -0
- package/dist/providers/LysMutationProvider/types.d.ts +25 -0
- package/dist/providers/LysQueryProvider/LysLoadingContext.d.ts +7 -0
- package/dist/providers/LysQueryProvider/RefreshSignalContext.d.ts +7 -0
- package/dist/providers/LysQueryProvider/constants.d.ts +4 -0
- package/dist/providers/LysQueryProvider/hooks.d.ts +8 -0
- package/dist/providers/LysQueryProvider/index.d.ts +17 -0
- package/dist/providers/LysQueryProvider/types.d.ts +39 -0
- package/dist/providers/PageContextProvider/hooks.d.ts +8 -0
- package/dist/providers/PageContextProvider/index.d.ts +20 -0
- package/dist/providers/PageContextProvider/types.d.ts +25 -0
- package/dist/providers/SignalProvider/hooks.d.ts +26 -0
- package/dist/providers/SignalProvider/index.d.ts +19 -0
- package/dist/providers/SignalProvider/types.d.ts +38 -0
- package/dist/providers/UrlQueriesProvider/hooks.d.ts +40 -0
- package/dist/providers/UrlQueriesProvider/index.d.ts +18 -0
- package/dist/providers/UrlQueriesProvider/types.d.ts +6 -0
- package/dist/providers/WebserviceAccessProvider/__generated__/WebserviceAccessProviderQuery.graphql.d.ts +20 -0
- package/dist/providers/WebserviceAccessProvider/hooks.d.ts +22 -0
- package/dist/providers/WebserviceAccessProvider/index.d.ts +9 -0
- package/dist/providers/WebserviceAccessProvider/translations.d.ts +13 -0
- package/dist/providers/WebserviceAccessProvider/types.d.ts +13 -0
- package/dist/providers/hooks/usePermissionCheck.d.ts +12 -0
- package/dist/providers/index.d.ts +45 -0
- package/dist/providers/index.js +42 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/relay/RelayEnvironment.d.ts +13 -0
- package/dist/relay/index.d.ts +1 -0
- package/dist/relay/index.js +7 -0
- package/dist/relay/index.js.map +1 -0
- package/dist/routeTools-BVJY3epS.js +243 -0
- package/dist/routeTools-BVJY3epS.js.map +1 -0
- package/dist/templates/PublicAppTemplate.d.ts +15 -0
- package/dist/templates/index.d.ts +1 -0
- package/dist/templates/index.js +5 -0
- package/dist/templates/index.js.map +1 -0
- package/dist/test/setup.d.ts +0 -0
- package/dist/test/test-utils.d.ts +62 -0
- package/dist/tools/i18nTools.d.ts +25 -0
- package/dist/tools/index.d.ts +7 -0
- package/dist/tools/index.js +25 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/relayTools.d.ts +11 -0
- package/dist/tools/routeTools.d.ts +31 -0
- package/dist/tools/stringTools.d.ts +17 -0
- package/dist/tools/translationTools.d.ts +66 -0
- package/dist/tools/validationTools.d.ts +83 -0
- package/dist/translationTools-CSKULpZZ.js +114 -0
- package/dist/translationTools-CSKULpZZ.js.map +1 -0
- package/dist/types/descriptionTypes.d.ts +25 -0
- package/dist/types/i18nTypes.d.ts +9 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/pageTypes.d.ts +19 -0
- package/dist/types/relayTypes.d.ts +40 -0
- package/dist/types/routeTypes.d.ts +19 -0
- package/package.json +95 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
const errorTranslations = {
|
|
2
|
+
// Core errors (400)
|
|
3
|
+
NOT_UUID: {
|
|
4
|
+
en: "Invalid identifier format.",
|
|
5
|
+
fr: "Format d'identifiant invalide."
|
|
6
|
+
},
|
|
7
|
+
// Core errors (403)
|
|
8
|
+
PERMISSION_DENIED: {
|
|
9
|
+
en: "You do not have permission to perform this action.",
|
|
10
|
+
fr: "Vous n'avez pas la permission d'effectuer cette action."
|
|
11
|
+
},
|
|
12
|
+
// Core errors (404)
|
|
13
|
+
NOT_FOUND: {
|
|
14
|
+
en: "Resource not found.",
|
|
15
|
+
fr: "Ressource introuvable."
|
|
16
|
+
},
|
|
17
|
+
UNKNOWN_WEBSERVICE: {
|
|
18
|
+
en: "Unknown service.",
|
|
19
|
+
fr: "Service inconnu."
|
|
20
|
+
},
|
|
21
|
+
SEARCH_TOO_LONG: {
|
|
22
|
+
en: "Search query is too long.",
|
|
23
|
+
fr: "La recherche est trop longue."
|
|
24
|
+
},
|
|
25
|
+
UNSAFE_URL: {
|
|
26
|
+
en: "The provided URL is not allowed.",
|
|
27
|
+
fr: "L'URL fournie n'est pas autorisée."
|
|
28
|
+
},
|
|
29
|
+
// User authentication errors (400)
|
|
30
|
+
EMPTY_LOGIN_ERROR: {
|
|
31
|
+
en: "Login cannot be empty.",
|
|
32
|
+
fr: "L'identifiant ne peut pas être vide."
|
|
33
|
+
},
|
|
34
|
+
EMPTY_PASSWORD_ERROR: {
|
|
35
|
+
en: "Password cannot be empty.",
|
|
36
|
+
fr: "Le mot de passe ne peut pas être vide."
|
|
37
|
+
},
|
|
38
|
+
WEAK_PASSWORD: {
|
|
39
|
+
en: "Password is too weak. Please use a stronger password.",
|
|
40
|
+
fr: "Le mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort."
|
|
41
|
+
},
|
|
42
|
+
INVALID_NAME: {
|
|
43
|
+
en: "Invalid name format.",
|
|
44
|
+
fr: "Format de nom invalide."
|
|
45
|
+
},
|
|
46
|
+
INVALID_GENDER: {
|
|
47
|
+
en: "Invalid gender.",
|
|
48
|
+
fr: "Genre invalide."
|
|
49
|
+
},
|
|
50
|
+
INVALID_LANGUAGE: {
|
|
51
|
+
en: "Invalid language.",
|
|
52
|
+
fr: "Langue invalide."
|
|
53
|
+
},
|
|
54
|
+
INVALID_RESET_TOKEN_ERROR: {
|
|
55
|
+
en: "Invalid password reset token.",
|
|
56
|
+
fr: "Jeton de réinitialisation de mot de passe invalide."
|
|
57
|
+
},
|
|
58
|
+
EXPIRED_RESET_TOKEN_ERROR: {
|
|
59
|
+
en: "Password reset token has expired.",
|
|
60
|
+
fr: "Le jeton de réinitialisation de mot de passe a expiré."
|
|
61
|
+
},
|
|
62
|
+
EMAIL_ALREADY_VALIDATED_ERROR: {
|
|
63
|
+
en: "Email address is already validated.",
|
|
64
|
+
fr: "L'adresse email est déjà validée."
|
|
65
|
+
},
|
|
66
|
+
INVALID_STATUS_CHANGE: {
|
|
67
|
+
en: "Invalid status change.",
|
|
68
|
+
fr: "Changement de statut invalide."
|
|
69
|
+
},
|
|
70
|
+
INVALID_USER_STATUS: {
|
|
71
|
+
en: "Invalid user status.",
|
|
72
|
+
fr: "Statut utilisateur invalide."
|
|
73
|
+
},
|
|
74
|
+
INVALID_USER_ID: {
|
|
75
|
+
en: "Invalid user identifier.",
|
|
76
|
+
fr: "Identifiant utilisateur invalide."
|
|
77
|
+
},
|
|
78
|
+
USER_ALREADY_ANONYMIZED: {
|
|
79
|
+
en: "User is already anonymized.",
|
|
80
|
+
fr: "L'utilisateur est déjà anonymisé."
|
|
81
|
+
},
|
|
82
|
+
// User authentication errors (401)
|
|
83
|
+
ACCESS_DENIED_ERROR: {
|
|
84
|
+
en: "Access denied. Please log in.",
|
|
85
|
+
fr: "Accès refusé. Veuillez vous connecter."
|
|
86
|
+
},
|
|
87
|
+
INVALID_REFRESH_TOKEN_ERROR: {
|
|
88
|
+
en: "Your session has expired. Please log in again.",
|
|
89
|
+
fr: "Votre session a expiré. Veuillez vous reconnecter."
|
|
90
|
+
},
|
|
91
|
+
INVALID_CREDENTIALS_ERROR: {
|
|
92
|
+
en: "Invalid email or password.",
|
|
93
|
+
fr: "Email ou mot de passe incorrect."
|
|
94
|
+
},
|
|
95
|
+
WRONG_REFRESH_TOKEN_ERROR: {
|
|
96
|
+
en: "Invalid session. Please log in again.",
|
|
97
|
+
fr: "Session invalide. Veuillez vous reconnecter."
|
|
98
|
+
},
|
|
99
|
+
// User authentication errors (403)
|
|
100
|
+
BLOCKED_USER_ERROR: {
|
|
101
|
+
en: "Your account has been blocked. Please contact support.",
|
|
102
|
+
fr: "Votre compte a été bloqué. Veuillez contacter le support."
|
|
103
|
+
},
|
|
104
|
+
INVALID_XSRF_TOKEN_ERROR: {
|
|
105
|
+
en: "Security token expired. Please refresh the page.",
|
|
106
|
+
fr: "Jeton de sécurité expiré. Veuillez actualiser la page."
|
|
107
|
+
},
|
|
108
|
+
ALREADY_CONNECTED_ERROR: {
|
|
109
|
+
en: "You are already connected.",
|
|
110
|
+
fr: "Vous êtes déjà connecté."
|
|
111
|
+
},
|
|
112
|
+
// User authentication errors (409)
|
|
113
|
+
USER_ALREADY_EXISTS: {
|
|
114
|
+
en: "An account with this email already exists.",
|
|
115
|
+
fr: "Un compte avec cet email existe déjà."
|
|
116
|
+
},
|
|
117
|
+
// User authentication errors (429)
|
|
118
|
+
RATE_LIMIT_ERROR: {
|
|
119
|
+
en: "Too many requests. Please try again later.",
|
|
120
|
+
fr: "Trop de requêtes. Veuillez réessayer plus tard."
|
|
121
|
+
},
|
|
122
|
+
// User role errors (403)
|
|
123
|
+
UNAUTHORIZED_ROLE_ASSIGNMENT: {
|
|
124
|
+
en: "You are not authorized to assign this role.",
|
|
125
|
+
fr: "Vous n'êtes pas autorisé à assigner ce rôle."
|
|
126
|
+
},
|
|
127
|
+
// Frontend-specific errors
|
|
128
|
+
REACT_RENDER_ERROR: {
|
|
129
|
+
en: "An unexpected error occurred while rendering the page.",
|
|
130
|
+
fr: "Une erreur inattendue s'est produite lors de l'affichage de la page."
|
|
131
|
+
},
|
|
132
|
+
NETWORK_ERROR: {
|
|
133
|
+
en: "Network error. Please check your internet connection.",
|
|
134
|
+
fr: "Erreur réseau. Veuillez vérifier votre connexion internet."
|
|
135
|
+
},
|
|
136
|
+
CONNECTION_FAILED: {
|
|
137
|
+
en: "Connection failed. Please try again.",
|
|
138
|
+
fr: "Échec de la connexion. Veuillez réessayer."
|
|
139
|
+
},
|
|
140
|
+
TIMEOUT_ERROR: {
|
|
141
|
+
en: "Request timeout. Please try again.",
|
|
142
|
+
fr: "Délai d'attente dépassé. Veuillez réessayer."
|
|
143
|
+
},
|
|
144
|
+
UNKNOWN_ERROR: {
|
|
145
|
+
en: "An unknown error occurred.",
|
|
146
|
+
fr: "Une erreur inconnue s'est produite."
|
|
147
|
+
},
|
|
148
|
+
// SSO errors
|
|
149
|
+
SSO_USER_NOT_FOUND: {
|
|
150
|
+
en: "No account found for this SSO identity. Please sign up first.",
|
|
151
|
+
fr: "Aucun compte trouvé pour cette identité SSO. Veuillez d'abord vous inscrire."
|
|
152
|
+
},
|
|
153
|
+
SSO_SESSION_EXPIRED: {
|
|
154
|
+
en: "SSO session has expired. Please try again.",
|
|
155
|
+
fr: "La session SSO a expiré. Veuillez réessayer."
|
|
156
|
+
},
|
|
157
|
+
SSO_ACCOUNT_ALREADY_LINKED: {
|
|
158
|
+
en: "This SSO provider is already linked to your account.",
|
|
159
|
+
fr: "Ce fournisseur SSO est déjà lié à votre compte."
|
|
160
|
+
},
|
|
161
|
+
SSO_EXTERNAL_ID_CONFLICT: {
|
|
162
|
+
en: "This SSO identity is already linked to another account.",
|
|
163
|
+
fr: "Cette identité SSO est déjà liée à un autre compte."
|
|
164
|
+
},
|
|
165
|
+
SSO_NOT_AUTHENTICATED: {
|
|
166
|
+
en: "You must be logged in to link an SSO provider.",
|
|
167
|
+
fr: "Vous devez être connecté pour lier un fournisseur SSO."
|
|
168
|
+
},
|
|
169
|
+
SSO_CALLBACK_ERROR: {
|
|
170
|
+
en: "SSO authentication failed. Please try again.",
|
|
171
|
+
fr: "L'authentification SSO a échoué. Veuillez réessayer."
|
|
172
|
+
},
|
|
173
|
+
// Subscription/License errors
|
|
174
|
+
MAX_LICENSED_USERS_REACHED: {
|
|
175
|
+
en: "License quota exceeded. Please upgrade your subscription.",
|
|
176
|
+
fr: "Quota de licences dépassé. Veuillez mettre à niveau votre abonnement."
|
|
177
|
+
}
|
|
178
|
+
};
|
|
179
|
+
function isErrorKey(key) {
|
|
180
|
+
return key in errorTranslations;
|
|
181
|
+
}
|
|
182
|
+
export {
|
|
183
|
+
errorTranslations as e,
|
|
184
|
+
isErrorKey as i
|
|
185
|
+
};
|
|
186
|
+
//# sourceMappingURL=errors-BOacmKM0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors-BOacmKM0.js","sources":["../src/i18n/errors.ts"],"sourcesContent":["import {I18nLocaleEnum} from \"../types/i18nTypes\";\n\n/**\n * System error message translations\n *\n * Error constants match those defined in the backend:\n * - mimir-api/app/libs/lys/src/lys/core/consts/errors.py\n * - mimir-api/app/libs/lys/src/lys/apps/user_auth/errors.py\n * - mimir-api/app/libs/lys/src/lys/apps/user_role/errors.py\n *\n * Plus frontend-specific errors (REACT_RENDER_ERROR, NETWORK_ERROR, etc.)\n */\nexport const errorTranslations = {\n // Core errors (400)\n NOT_UUID: {\n en: \"Invalid identifier format.\",\n fr: \"Format d'identifiant invalide.\"\n },\n\n // Core errors (403)\n PERMISSION_DENIED: {\n en: \"You do not have permission to perform this action.\",\n fr: \"Vous n'avez pas la permission d'effectuer cette action.\"\n },\n\n // Core errors (404)\n NOT_FOUND: {\n en: \"Resource not found.\",\n fr: \"Ressource introuvable.\"\n },\n UNKNOWN_WEBSERVICE: {\n en: \"Unknown service.\",\n fr: \"Service inconnu.\"\n },\n SEARCH_TOO_LONG: {\n en: \"Search query is too long.\",\n fr: \"La recherche est trop longue.\"\n },\n UNSAFE_URL: {\n en: \"The provided URL is not allowed.\",\n fr: \"L'URL fournie n'est pas autorisée.\"\n },\n\n // User authentication errors (400)\n EMPTY_LOGIN_ERROR: {\n en: \"Login cannot be empty.\",\n fr: \"L'identifiant ne peut pas être vide.\"\n },\n EMPTY_PASSWORD_ERROR: {\n en: \"Password cannot be empty.\",\n fr: \"Le mot de passe ne peut pas être vide.\"\n },\n WEAK_PASSWORD: {\n en: \"Password is too weak. Please use a stronger password.\",\n fr: \"Le mot de passe est trop faible. Veuillez utiliser un mot de passe plus fort.\"\n },\n INVALID_NAME: {\n en: \"Invalid name format.\",\n fr: \"Format de nom invalide.\"\n },\n INVALID_GENDER: {\n en: \"Invalid gender.\",\n fr: \"Genre invalide.\"\n },\n INVALID_LANGUAGE: {\n en: \"Invalid language.\",\n fr: \"Langue invalide.\"\n },\n INVALID_RESET_TOKEN_ERROR: {\n en: \"Invalid password reset token.\",\n fr: \"Jeton de réinitialisation de mot de passe invalide.\"\n },\n EXPIRED_RESET_TOKEN_ERROR: {\n en: \"Password reset token has expired.\",\n fr: \"Le jeton de réinitialisation de mot de passe a expiré.\"\n },\n EMAIL_ALREADY_VALIDATED_ERROR: {\n en: \"Email address is already validated.\",\n fr: \"L'adresse email est déjà validée.\"\n },\n INVALID_STATUS_CHANGE: {\n en: \"Invalid status change.\",\n fr: \"Changement de statut invalide.\"\n },\n INVALID_USER_STATUS: {\n en: \"Invalid user status.\",\n fr: \"Statut utilisateur invalide.\"\n },\n INVALID_USER_ID: {\n en: \"Invalid user identifier.\",\n fr: \"Identifiant utilisateur invalide.\"\n },\n USER_ALREADY_ANONYMIZED: {\n en: \"User is already anonymized.\",\n fr: \"L'utilisateur est déjà anonymisé.\"\n },\n\n // User authentication errors (401)\n ACCESS_DENIED_ERROR: {\n en: \"Access denied. Please log in.\",\n fr: \"Accès refusé. Veuillez vous connecter.\"\n },\n INVALID_REFRESH_TOKEN_ERROR: {\n en: \"Your session has expired. Please log in again.\",\n fr: \"Votre session a expiré. Veuillez vous reconnecter.\"\n },\n INVALID_CREDENTIALS_ERROR: {\n en: \"Invalid email or password.\",\n fr: \"Email ou mot de passe incorrect.\"\n },\n WRONG_REFRESH_TOKEN_ERROR: {\n en: \"Invalid session. Please log in again.\",\n fr: \"Session invalide. Veuillez vous reconnecter.\"\n },\n\n // User authentication errors (403)\n BLOCKED_USER_ERROR: {\n en: \"Your account has been blocked. Please contact support.\",\n fr: \"Votre compte a été bloqué. Veuillez contacter le support.\"\n },\n INVALID_XSRF_TOKEN_ERROR: {\n en: \"Security token expired. Please refresh the page.\",\n fr: \"Jeton de sécurité expiré. Veuillez actualiser la page.\"\n },\n ALREADY_CONNECTED_ERROR: {\n en: \"You are already connected.\",\n fr: \"Vous êtes déjà connecté.\"\n },\n\n // User authentication errors (409)\n USER_ALREADY_EXISTS: {\n en: \"An account with this email already exists.\",\n fr: \"Un compte avec cet email existe déjà.\"\n },\n\n // User authentication errors (429)\n RATE_LIMIT_ERROR: {\n en: \"Too many requests. Please try again later.\",\n fr: \"Trop de requêtes. Veuillez réessayer plus tard.\"\n },\n\n // User role errors (403)\n UNAUTHORIZED_ROLE_ASSIGNMENT: {\n en: \"You are not authorized to assign this role.\",\n fr: \"Vous n'êtes pas autorisé à assigner ce rôle.\"\n },\n\n // Frontend-specific errors\n REACT_RENDER_ERROR: {\n en: \"An unexpected error occurred while rendering the page.\",\n fr: \"Une erreur inattendue s'est produite lors de l'affichage de la page.\"\n },\n NETWORK_ERROR: {\n en: \"Network error. Please check your internet connection.\",\n fr: \"Erreur réseau. Veuillez vérifier votre connexion internet.\"\n },\n CONNECTION_FAILED: {\n en: \"Connection failed. Please try again.\",\n fr: \"Échec de la connexion. Veuillez réessayer.\"\n },\n TIMEOUT_ERROR: {\n en: \"Request timeout. Please try again.\",\n fr: \"Délai d'attente dépassé. Veuillez réessayer.\"\n },\n UNKNOWN_ERROR: {\n en: \"An unknown error occurred.\",\n fr: \"Une erreur inconnue s'est produite.\"\n },\n\n // SSO errors\n SSO_USER_NOT_FOUND: {\n en: \"No account found for this SSO identity. Please sign up first.\",\n fr: \"Aucun compte trouvé pour cette identité SSO. Veuillez d'abord vous inscrire.\"\n },\n SSO_SESSION_EXPIRED: {\n en: \"SSO session has expired. Please try again.\",\n fr: \"La session SSO a expiré. Veuillez réessayer.\"\n },\n SSO_ACCOUNT_ALREADY_LINKED: {\n en: \"This SSO provider is already linked to your account.\",\n fr: \"Ce fournisseur SSO est déjà lié à votre compte.\"\n },\n SSO_EXTERNAL_ID_CONFLICT: {\n en: \"This SSO identity is already linked to another account.\",\n fr: \"Cette identité SSO est déjà liée à un autre compte.\"\n },\n SSO_NOT_AUTHENTICATED: {\n en: \"You must be logged in to link an SSO provider.\",\n fr: \"Vous devez être connecté pour lier un fournisseur SSO.\"\n },\n SSO_CALLBACK_ERROR: {\n en: \"SSO authentication failed. Please try again.\",\n fr: \"L'authentification SSO a échoué. Veuillez réessayer.\"\n },\n\n // Subscription/License errors\n MAX_LICENSED_USERS_REACHED: {\n en: \"License quota exceeded. Please upgrade your subscription.\",\n fr: \"Quota de licences dépassé. Veuillez mettre à niveau votre abonnement.\"\n }\n} satisfies Record<string, Record<I18nLocaleEnum, string>>;\n\n/**\n * Type representing all available error translation keys\n */\nexport type ErrorTranslationKey = keyof typeof errorTranslations;\n\n/**\n * Check if a string is a known error key\n */\nexport function isErrorKey(key: string): key is ErrorTranslationKey {\n return key in errorTranslations;\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { createContext, useContext } from "react";
|
|
2
|
+
const ChatbotContext = createContext(null);
|
|
3
|
+
const useChatbot = () => {
|
|
4
|
+
const context = useContext(ChatbotContext);
|
|
5
|
+
if (!context) {
|
|
6
|
+
throw new Error("useChatbot must be used within a ChatbotProvider");
|
|
7
|
+
}
|
|
8
|
+
return context;
|
|
9
|
+
};
|
|
10
|
+
const ConnectedUserContext = createContext({
|
|
11
|
+
user: void 0,
|
|
12
|
+
push: () => {
|
|
13
|
+
console.warn("ConnectedUserProvider not initialized: push");
|
|
14
|
+
},
|
|
15
|
+
login: [() => {
|
|
16
|
+
console.warn("ConnectedUserProvider not initialized: login");
|
|
17
|
+
}, false],
|
|
18
|
+
logout: [() => {
|
|
19
|
+
console.warn("ConnectedUserProvider not initialized: logout");
|
|
20
|
+
}, false],
|
|
21
|
+
refresh: [() => {
|
|
22
|
+
console.warn("ConnectedUserProvider not initialized: refresh");
|
|
23
|
+
}, false],
|
|
24
|
+
handleSessionExpired: () => {
|
|
25
|
+
console.warn("ConnectedUserProvider not initialized: handleSessionExpired");
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
function useConnectedUserInfo() {
|
|
29
|
+
return useContext(ConnectedUserContext);
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
ChatbotContext as C,
|
|
33
|
+
useConnectedUserInfo as a,
|
|
34
|
+
ConnectedUserContext as b,
|
|
35
|
+
useChatbot as u
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=hooks-CvhFUowR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks-CvhFUowR.js","sources":["../src/providers/ChatbotProvider/hooks.ts","../src/providers/ConnectedUserProvider/hooks.ts"],"sourcesContent":["import {createContext, useContext} from \"react\";\nimport {ChatbotContextValue} from \"./types\";\n\nexport const ChatbotContext = createContext<ChatbotContextValue | null>(null);\n\nexport const useChatbot = (): ChatbotContextValue => {\n const context = useContext(ChatbotContext);\n if (!context) {\n throw new Error(\"useChatbot must be used within a ChatbotProvider\");\n }\n return context;\n};\n","import {createContext, useContext} from \"react\";\nimport {ConnectedUserInterface} from \"./types\";\n\n/**\n * Connected user context\n */\nconst ConnectedUserContext = createContext<{\n user: ConnectedUserInterface | undefined\n push(webservice: () => void): void\n login: [(login: string, password: string) => void, boolean],\n logout: [() => void, boolean],\n refresh: [() => void, boolean],\n handleSessionExpired: (onRefreshSuccess?: () => void) => void\n}>({\n user: undefined,\n push: () => {\n console.warn(\"ConnectedUserProvider not initialized: push\")\n },\n login: [() => {\n console.warn(\"ConnectedUserProvider not initialized: login\")\n }, false],\n logout: [() => {\n console.warn(\"ConnectedUserProvider not initialized: logout\")\n }, false],\n refresh: [() => {\n console.warn(\"ConnectedUserProvider not initialized: refresh\")\n }, false],\n handleSessionExpired: () => {\n console.warn(\"ConnectedUserProvider not initialized: handleSessionExpired\")\n }\n});\n\n/**\n * Hook to access connected user info\n */\nfunction useConnectedUserInfo() {\n return useContext(ConnectedUserContext)\n}\n\nexport {\n ConnectedUserContext,\n useConnectedUserInfo\n}\n"],"names":[],"mappings":";AAGO,MAAM,iBAAiB,cAA0C,IAAI;AAErE,MAAM,aAAa,MAA2B;AACjD,QAAM,UAAU,WAAW,cAAc;AACzC,MAAI,CAAC,SAAS;AACV,UAAM,IAAI,MAAM,kDAAkD;AAAA,EACtE;AACA,SAAO;AACX;ACLA,MAAM,uBAAuB,cAO1B;AAAA,EACC,MAAM;AAAA,EACN,MAAM,MAAM;AACR,YAAQ,KAAK,6CAA6C;AAAA,EAC9D;AAAA,EACA,OAAO,CAAC,MAAM;AACV,YAAQ,KAAK,8CAA8C;AAAA,EAC/D,GAAG,KAAK;AAAA,EACR,QAAQ,CAAC,MAAM;AACX,YAAQ,KAAK,+CAA+C;AAAA,EAChE,GAAG,KAAK;AAAA,EACR,SAAS,CAAC,MAAM;AACZ,YAAQ,KAAK,gDAAgD;AAAA,EACjE,GAAG,KAAK;AAAA,EACR,sBAAsB,MAAM;AACxB,YAAQ,KAAK,6DAA6D;AAAA,EAC9E;AACJ,CAAC;AAKD,SAAS,uBAAuB;AAC5B,SAAO,WAAW,oBAAoB;AAC1C;"}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* System error message translations
|
|
3
|
+
*
|
|
4
|
+
* Error constants match those defined in the backend:
|
|
5
|
+
* - mimir-api/app/libs/lys/src/lys/core/consts/errors.py
|
|
6
|
+
* - mimir-api/app/libs/lys/src/lys/apps/user_auth/errors.py
|
|
7
|
+
* - mimir-api/app/libs/lys/src/lys/apps/user_role/errors.py
|
|
8
|
+
*
|
|
9
|
+
* Plus frontend-specific errors (REACT_RENDER_ERROR, NETWORK_ERROR, etc.)
|
|
10
|
+
*/
|
|
11
|
+
export declare const errorTranslations: {
|
|
12
|
+
NOT_UUID: {
|
|
13
|
+
en: string;
|
|
14
|
+
fr: string;
|
|
15
|
+
};
|
|
16
|
+
PERMISSION_DENIED: {
|
|
17
|
+
en: string;
|
|
18
|
+
fr: string;
|
|
19
|
+
};
|
|
20
|
+
NOT_FOUND: {
|
|
21
|
+
en: string;
|
|
22
|
+
fr: string;
|
|
23
|
+
};
|
|
24
|
+
UNKNOWN_WEBSERVICE: {
|
|
25
|
+
en: string;
|
|
26
|
+
fr: string;
|
|
27
|
+
};
|
|
28
|
+
SEARCH_TOO_LONG: {
|
|
29
|
+
en: string;
|
|
30
|
+
fr: string;
|
|
31
|
+
};
|
|
32
|
+
UNSAFE_URL: {
|
|
33
|
+
en: string;
|
|
34
|
+
fr: string;
|
|
35
|
+
};
|
|
36
|
+
EMPTY_LOGIN_ERROR: {
|
|
37
|
+
en: string;
|
|
38
|
+
fr: string;
|
|
39
|
+
};
|
|
40
|
+
EMPTY_PASSWORD_ERROR: {
|
|
41
|
+
en: string;
|
|
42
|
+
fr: string;
|
|
43
|
+
};
|
|
44
|
+
WEAK_PASSWORD: {
|
|
45
|
+
en: string;
|
|
46
|
+
fr: string;
|
|
47
|
+
};
|
|
48
|
+
INVALID_NAME: {
|
|
49
|
+
en: string;
|
|
50
|
+
fr: string;
|
|
51
|
+
};
|
|
52
|
+
INVALID_GENDER: {
|
|
53
|
+
en: string;
|
|
54
|
+
fr: string;
|
|
55
|
+
};
|
|
56
|
+
INVALID_LANGUAGE: {
|
|
57
|
+
en: string;
|
|
58
|
+
fr: string;
|
|
59
|
+
};
|
|
60
|
+
INVALID_RESET_TOKEN_ERROR: {
|
|
61
|
+
en: string;
|
|
62
|
+
fr: string;
|
|
63
|
+
};
|
|
64
|
+
EXPIRED_RESET_TOKEN_ERROR: {
|
|
65
|
+
en: string;
|
|
66
|
+
fr: string;
|
|
67
|
+
};
|
|
68
|
+
EMAIL_ALREADY_VALIDATED_ERROR: {
|
|
69
|
+
en: string;
|
|
70
|
+
fr: string;
|
|
71
|
+
};
|
|
72
|
+
INVALID_STATUS_CHANGE: {
|
|
73
|
+
en: string;
|
|
74
|
+
fr: string;
|
|
75
|
+
};
|
|
76
|
+
INVALID_USER_STATUS: {
|
|
77
|
+
en: string;
|
|
78
|
+
fr: string;
|
|
79
|
+
};
|
|
80
|
+
INVALID_USER_ID: {
|
|
81
|
+
en: string;
|
|
82
|
+
fr: string;
|
|
83
|
+
};
|
|
84
|
+
USER_ALREADY_ANONYMIZED: {
|
|
85
|
+
en: string;
|
|
86
|
+
fr: string;
|
|
87
|
+
};
|
|
88
|
+
ACCESS_DENIED_ERROR: {
|
|
89
|
+
en: string;
|
|
90
|
+
fr: string;
|
|
91
|
+
};
|
|
92
|
+
INVALID_REFRESH_TOKEN_ERROR: {
|
|
93
|
+
en: string;
|
|
94
|
+
fr: string;
|
|
95
|
+
};
|
|
96
|
+
INVALID_CREDENTIALS_ERROR: {
|
|
97
|
+
en: string;
|
|
98
|
+
fr: string;
|
|
99
|
+
};
|
|
100
|
+
WRONG_REFRESH_TOKEN_ERROR: {
|
|
101
|
+
en: string;
|
|
102
|
+
fr: string;
|
|
103
|
+
};
|
|
104
|
+
BLOCKED_USER_ERROR: {
|
|
105
|
+
en: string;
|
|
106
|
+
fr: string;
|
|
107
|
+
};
|
|
108
|
+
INVALID_XSRF_TOKEN_ERROR: {
|
|
109
|
+
en: string;
|
|
110
|
+
fr: string;
|
|
111
|
+
};
|
|
112
|
+
ALREADY_CONNECTED_ERROR: {
|
|
113
|
+
en: string;
|
|
114
|
+
fr: string;
|
|
115
|
+
};
|
|
116
|
+
USER_ALREADY_EXISTS: {
|
|
117
|
+
en: string;
|
|
118
|
+
fr: string;
|
|
119
|
+
};
|
|
120
|
+
RATE_LIMIT_ERROR: {
|
|
121
|
+
en: string;
|
|
122
|
+
fr: string;
|
|
123
|
+
};
|
|
124
|
+
UNAUTHORIZED_ROLE_ASSIGNMENT: {
|
|
125
|
+
en: string;
|
|
126
|
+
fr: string;
|
|
127
|
+
};
|
|
128
|
+
REACT_RENDER_ERROR: {
|
|
129
|
+
en: string;
|
|
130
|
+
fr: string;
|
|
131
|
+
};
|
|
132
|
+
NETWORK_ERROR: {
|
|
133
|
+
en: string;
|
|
134
|
+
fr: string;
|
|
135
|
+
};
|
|
136
|
+
CONNECTION_FAILED: {
|
|
137
|
+
en: string;
|
|
138
|
+
fr: string;
|
|
139
|
+
};
|
|
140
|
+
TIMEOUT_ERROR: {
|
|
141
|
+
en: string;
|
|
142
|
+
fr: string;
|
|
143
|
+
};
|
|
144
|
+
UNKNOWN_ERROR: {
|
|
145
|
+
en: string;
|
|
146
|
+
fr: string;
|
|
147
|
+
};
|
|
148
|
+
SSO_USER_NOT_FOUND: {
|
|
149
|
+
en: string;
|
|
150
|
+
fr: string;
|
|
151
|
+
};
|
|
152
|
+
SSO_SESSION_EXPIRED: {
|
|
153
|
+
en: string;
|
|
154
|
+
fr: string;
|
|
155
|
+
};
|
|
156
|
+
SSO_ACCOUNT_ALREADY_LINKED: {
|
|
157
|
+
en: string;
|
|
158
|
+
fr: string;
|
|
159
|
+
};
|
|
160
|
+
SSO_EXTERNAL_ID_CONFLICT: {
|
|
161
|
+
en: string;
|
|
162
|
+
fr: string;
|
|
163
|
+
};
|
|
164
|
+
SSO_NOT_AUTHENTICATED: {
|
|
165
|
+
en: string;
|
|
166
|
+
fr: string;
|
|
167
|
+
};
|
|
168
|
+
SSO_CALLBACK_ERROR: {
|
|
169
|
+
en: string;
|
|
170
|
+
fr: string;
|
|
171
|
+
};
|
|
172
|
+
MAX_LICENSED_USERS_REACHED: {
|
|
173
|
+
en: string;
|
|
174
|
+
fr: string;
|
|
175
|
+
};
|
|
176
|
+
};
|
|
177
|
+
/**
|
|
178
|
+
* Type representing all available error translation keys
|
|
179
|
+
*/
|
|
180
|
+
export type ErrorTranslationKey = keyof typeof errorTranslations;
|
|
181
|
+
/**
|
|
182
|
+
* Check if a string is a known error key
|
|
183
|
+
*/
|
|
184
|
+
export declare function isErrorKey(key: string): key is ErrorTranslationKey;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { e, i } from "../errors-BOacmKM0.js";
|
|
2
|
+
const messagesTranslations = {
|
|
3
|
+
logoutSuccess: {
|
|
4
|
+
en: "You have been successfully logged out",
|
|
5
|
+
fr: "Vous avez été déconnecté avec succès"
|
|
6
|
+
},
|
|
7
|
+
sessionExpired: {
|
|
8
|
+
en: "Your session has expired. Please log in again.",
|
|
9
|
+
fr: "Votre session a expiré. Veuillez vous reconnecter."
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
export {
|
|
13
|
+
e as errorTranslations,
|
|
14
|
+
i as isErrorKey,
|
|
15
|
+
messagesTranslations
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/i18n/messages.ts"],"sourcesContent":["import {TranslationType} from \"../types/i18nTypes\";\n\n/**\n * Framework-level messages (logout, session, etc.)\n */\nexport const messagesTranslations: TranslationType = {\n logoutSuccess: {\n en: \"You have been successfully logged out\",\n fr: \"Vous avez été déconnecté avec succès\"\n },\n sessionExpired: {\n en: \"Your session has expired. Please log in again.\",\n fr: \"Votre session a expiré. Veuillez vous reconnecter.\"\n }\n};\n"],"names":[],"mappings":";AAKO,MAAM,uBAAwC;AAAA,EACjD,eAAe;AAAA,IACX,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA;AAAA,EAER,gBAAgB;AAAA,IACZ,IAAI;AAAA,IACJ,IAAI;AAAA,EAAA;AAEZ;"}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { I18nLocaleEnum } from "./types/index.js";
|
|
2
|
+
import { c, a, b, e, l, n, t } from "./translationTools-CSKULpZZ.js";
|
|
3
|
+
import { c as c2, e as e2, g, a as a2, b as b2, d, f, h, i, m, p, s, v } from "./routeTools-BVJY3epS.js";
|
|
4
|
+
import { A, C, a as a3, b as b3, E, F, G, L, c as c3, d as d2, e as e3, f as f2, P, R, S, U, W, u, g as g2, h as h2, i as i2, j, k, l as l2, m as m2, n as n2, o, p as p2, q, r, s as s2, t as t2, w } from "./constants-Bm8lSjj9.js";
|
|
5
|
+
import { u as u2, a as a4 } from "./hooks-CvhFUowR.js";
|
|
6
|
+
import { R as R2, c as c4, a as a5 } from "./RelayEnvironment-D880U9SM.js";
|
|
7
|
+
import { P as P2 } from "./PublicAppTemplate-SRJ1HtD0.js";
|
|
8
|
+
import { e as e4, i as i3 } from "./errors-BOacmKM0.js";
|
|
9
|
+
import { messagesTranslations } from "./i18n/index.js";
|
|
10
|
+
export {
|
|
11
|
+
A as AlertMessageProvider,
|
|
12
|
+
C as ChatbotProvider,
|
|
13
|
+
a3 as ConnectedUserFragment,
|
|
14
|
+
b3 as ConnectedUserProvider,
|
|
15
|
+
E as ErrorBoundaryProvider,
|
|
16
|
+
F as FilterLabelsProvider,
|
|
17
|
+
G as GRAPHQL_ERROR,
|
|
18
|
+
I18nLocaleEnum,
|
|
19
|
+
L as LocaleProvider,
|
|
20
|
+
c3 as LysDialogProvider,
|
|
21
|
+
d2 as LysLoadingContext,
|
|
22
|
+
e3 as LysMutationProvider,
|
|
23
|
+
f2 as LysQueryProvider,
|
|
24
|
+
P as PageContextProvider,
|
|
25
|
+
P2 as PublicAppTemplate,
|
|
26
|
+
R as RefreshSignalContext,
|
|
27
|
+
R2 as RelayEnvironment,
|
|
28
|
+
S as SignalProvider,
|
|
29
|
+
U as UrlQueriesProvider,
|
|
30
|
+
W as WebserviceAccessProvider,
|
|
31
|
+
c as checkOperationsPermission,
|
|
32
|
+
c2 as cleanParameters,
|
|
33
|
+
c4 as clearRelayCache,
|
|
34
|
+
a as cn,
|
|
35
|
+
a5 as configureRelayEndpoint,
|
|
36
|
+
b as createComponentTranslations,
|
|
37
|
+
e2 as emailRegex,
|
|
38
|
+
e4 as errorTranslations,
|
|
39
|
+
e as extractOperationNames,
|
|
40
|
+
g as generateI18nMessage,
|
|
41
|
+
a2 as generateRouteFromDescription,
|
|
42
|
+
b2 as generateRouteTable,
|
|
43
|
+
d as generateUrl,
|
|
44
|
+
f as generateUrlByRoute,
|
|
45
|
+
h as getNestedValue,
|
|
46
|
+
i as isEmpty,
|
|
47
|
+
i3 as isErrorKey,
|
|
48
|
+
l as lowerCaseFirstLetter,
|
|
49
|
+
m as mergeI18nMessages,
|
|
50
|
+
messagesTranslations,
|
|
51
|
+
n as numberToString,
|
|
52
|
+
p as passwordRegex,
|
|
53
|
+
s as setNestedValue,
|
|
54
|
+
t as toSnakeCase,
|
|
55
|
+
u as useAlertMessages,
|
|
56
|
+
u2 as useChatbot,
|
|
57
|
+
a4 as useConnectedUserInfo,
|
|
58
|
+
g2 as useDialogWithUpdates,
|
|
59
|
+
h2 as useFilterLabels,
|
|
60
|
+
i2 as useLocale,
|
|
61
|
+
j as useLysDialog,
|
|
62
|
+
k as useLysLoadingFallback,
|
|
63
|
+
l2 as useLysMutation,
|
|
64
|
+
m2 as useLysQuery,
|
|
65
|
+
n2 as usePageContext,
|
|
66
|
+
o as usePermissionCheck,
|
|
67
|
+
p2 as useRefreshSignal,
|
|
68
|
+
q as useSignal,
|
|
69
|
+
r as useSignalSubscription,
|
|
70
|
+
s2 as useUrlQueries,
|
|
71
|
+
t2 as useWebserviceAccess,
|
|
72
|
+
v as validators,
|
|
73
|
+
w as webserviceAccessProviderConfig
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { AlertMessageInterface } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Alert message context
|
|
4
|
+
*/
|
|
5
|
+
declare const AlertMessageContext: import('react').Context<{
|
|
6
|
+
merge(messages: AlertMessageInterface[]): void;
|
|
7
|
+
}>;
|
|
8
|
+
/**
|
|
9
|
+
* Hook to access alert messages
|
|
10
|
+
*/
|
|
11
|
+
declare function useAlertMessages(): {
|
|
12
|
+
merge(messages: AlertMessageInterface[]): void;
|
|
13
|
+
};
|
|
14
|
+
export { AlertMessageContext, useAlertMessages };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { AlertMessageProviderProps } from './types';
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
/**
|
|
4
|
+
* Alert message provider
|
|
5
|
+
* Manages centralized alert/error display
|
|
6
|
+
*
|
|
7
|
+
* Requires an alertGenerator function to render alerts.
|
|
8
|
+
*/
|
|
9
|
+
declare const AlertMessageProvider: React.ComponentType<AlertMessageProviderProps>;
|
|
10
|
+
export default AlertMessageProvider;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
/**
|
|
3
|
+
* Alert level types
|
|
4
|
+
*/
|
|
5
|
+
export type AlertLevelType = "CRITICAL" | "ERROR" | "WARNING" | "INFO" | "SUCCESS";
|
|
6
|
+
/**
|
|
7
|
+
* Alert message interface
|
|
8
|
+
*/
|
|
9
|
+
export interface AlertMessageInterface {
|
|
10
|
+
text: string;
|
|
11
|
+
level: AlertLevelType;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Alert message with timestamp and unique ID
|
|
15
|
+
*/
|
|
16
|
+
export type DatedAlertMessageType = AlertMessageInterface & {
|
|
17
|
+
id: string;
|
|
18
|
+
createdAt: Date;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Alert generator function type
|
|
22
|
+
* Takes messages and a remove callback, returns React node to render
|
|
23
|
+
*/
|
|
24
|
+
export type AlertGeneratorFunction = (messages: DatedAlertMessageType[], onRemove: (index: number) => void) => React.ReactNode;
|
|
25
|
+
/**
|
|
26
|
+
* AlertMessageProvider props
|
|
27
|
+
*/
|
|
28
|
+
export interface AlertMessageProviderProps {
|
|
29
|
+
children: React.ReactNode;
|
|
30
|
+
alertGenerator: AlertGeneratorFunction;
|
|
31
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
interface ChatbotProviderProps {
|
|
3
|
+
children: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* ChatbotProvider component
|
|
7
|
+
*
|
|
8
|
+
* Provides global chatbot state management:
|
|
9
|
+
* - Message history persistence across page navigation
|
|
10
|
+
* - Conversation ID tracking
|
|
11
|
+
* - Chatbot mode state (open/closed)
|
|
12
|
+
*
|
|
13
|
+
* Place this provider high in the component tree (above RouteProvider)
|
|
14
|
+
* to ensure state persists across route changes.
|
|
15
|
+
*/
|
|
16
|
+
declare const ChatbotProvider: React.FC<ChatbotProviderProps>;
|
|
17
|
+
export default ChatbotProvider;
|