@addev-be/ui 0.16.7 → 0.16.8

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 (263) hide show
  1. package/assets/icons/arrow-down-1-9.svg +1 -1
  2. package/assets/icons/arrow-down-a-z.svg +1 -1
  3. package/assets/icons/arrow-up-z-a.svg +1 -1
  4. package/assets/icons/check.svg +1 -1
  5. package/assets/icons/circle-check.svg +1 -1
  6. package/assets/icons/down.svg +1 -1
  7. package/assets/icons/filter-full.svg +1 -1
  8. package/assets/icons/filter.svg +1 -1
  9. package/assets/icons/hashtag.svg +1 -1
  10. package/assets/icons/image-slash.svg +1 -1
  11. package/assets/icons/left.svg +1 -1
  12. package/assets/icons/magnifier.svg +1 -1
  13. package/assets/icons/phone.svg +1 -1
  14. package/assets/icons/right.svg +1 -1
  15. package/assets/icons/sort-calendar-ascending.svg +5 -5
  16. package/assets/icons/spinner-third.svg +1 -1
  17. package/assets/icons/table-columns.svg +1 -1
  18. package/assets/icons/table-footer-slash.svg +4 -4
  19. package/assets/icons/table-footer.svg +3 -3
  20. package/assets/icons/table.svg +1 -1
  21. package/assets/icons/up.svg +1 -1
  22. package/assets/icons/user-tie.svg +1 -1
  23. package/assets/icons/x-bar.svg +3 -3
  24. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.d.ts +14 -0
  25. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +77 -0
  26. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.d.ts +22 -0
  27. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +105 -0
  28. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.d.ts +2 -0
  29. package/dist/components/data/AdvancedRequestDataGrid/helpers/index.js +18 -0
  30. package/dist/components/data/AdvancedRequestDataGrid/index.d.ts +2 -0
  31. package/dist/components/data/AdvancedRequestDataGrid/index.js +215 -0
  32. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +21 -0
  33. package/dist/components/data/AdvancedRequestDataGrid/types.js +2 -0
  34. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +10 -0
  35. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +173 -0
  36. package/dist/components/data/DataGrid/DataGridEditableCell.d.ts +2 -0
  37. package/dist/components/data/DataGrid/DataGridEditableCell.js +27 -0
  38. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +13 -0
  39. package/dist/components/data/DataGrid/FilterValuesScroller.js +73 -0
  40. package/dist/components/data/DataGrid/VirtualScroller.d.ts +11 -0
  41. package/dist/components/data/DataGrid/VirtualScroller.js +41 -0
  42. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +12 -0
  43. package/dist/components/data/DataGrid/helpers/advancedRequests.js +53 -0
  44. package/dist/components/data/DataGrid/helpers.d.ts +28 -0
  45. package/dist/components/data/DataGrid/helpers.js +436 -0
  46. package/dist/components/data/DataGrid/styles.d.ts +1 -1
  47. package/dist/components/data/DataGrid/styles.js +4 -4
  48. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +20 -0
  49. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +160 -0
  50. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +5 -0
  51. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +41 -0
  52. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +2 -0
  53. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +18 -0
  54. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +3 -0
  55. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +15 -0
  56. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +9 -0
  57. package/dist/components/data/SmartQueryDataGrid/hooks.js +63 -0
  58. package/dist/components/data/SmartQueryDataGrid/index.d.ts +12 -0
  59. package/dist/components/data/SmartQueryDataGrid/index.js +242 -0
  60. package/dist/components/data/SmartQueryDataGrid/types.d.ts +22 -0
  61. package/dist/components/data/SmartQueryDataGrid/types.js +2 -0
  62. package/dist/components/forms/Form/Checkbox.d.ts +2 -2
  63. package/dist/components/forms/Form/Checkbox.js +2 -2
  64. package/dist/components/forms/Form/Input.d.ts +2 -2
  65. package/dist/components/forms/Form/Input.js +2 -3
  66. package/dist/components/forms/Form/InputWithLabel.d.ts +2 -0
  67. package/dist/components/forms/Form/InputWithLabel.js +10 -0
  68. package/dist/components/forms/Form/Select.d.ts +0 -1
  69. package/dist/components/forms/Form/Select.js +4 -5
  70. package/dist/components/forms/Form/TextArea.d.ts +2 -2
  71. package/dist/components/forms/Form/TextArea.js +2 -3
  72. package/dist/components/forms/Form/index.d.ts +8 -22
  73. package/dist/components/forms/Form/index.js +1 -6
  74. package/dist/components/forms/Form/styles.d.ts +4 -9
  75. package/dist/components/forms/Form/styles.js +11 -13
  76. package/dist/components/forms/Form/types.d.ts +7 -0
  77. package/dist/components/forms/Form/types.js +2 -0
  78. package/dist/components/forms/index.d.ts +1 -2
  79. package/dist/components/forms/index.js +1 -2
  80. package/dist/config/types.d.ts +11 -0
  81. package/dist/config/types.js +2 -0
  82. package/dist/hooks/index.d.ts +0 -1
  83. package/dist/hooks/index.js +0 -1
  84. package/dist/services/requests/userPermissions.d.ts +4 -0
  85. package/dist/services/requests/userPermissions.js +20 -0
  86. package/package.json +1 -1
  87. package/src/Icons.tsx +134 -134
  88. package/src/components/auth/LoginForm.tsx +84 -84
  89. package/src/components/auth/LoginPage.tsx +32 -32
  90. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  91. package/src/components/auth/PasswordResetForm.tsx +112 -112
  92. package/src/components/auth/index.ts +4 -4
  93. package/src/components/auth/styles.ts +14 -14
  94. package/src/components/data/DataGrid/DataGridCell.tsx +77 -77
  95. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  96. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  97. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  98. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  99. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +38 -38
  100. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +39 -39
  101. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +68 -68
  102. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +38 -38
  103. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -108
  104. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  105. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +19 -19
  106. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +131 -131
  107. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  108. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +376 -376
  109. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  110. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  111. package/src/components/data/DataGrid/DataGridHeader.tsx +185 -173
  112. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +111 -111
  113. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +82 -80
  114. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  115. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  116. package/src/components/data/DataGrid/constants.ts +6 -6
  117. package/src/components/data/DataGrid/helpers/columns.tsx +386 -386
  118. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  119. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  120. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  121. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +377 -377
  122. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +89 -56
  123. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  124. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  125. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -0
  126. package/src/components/data/DataGrid/index.tsx +110 -110
  127. package/src/components/data/DataGrid/styles.ts +379 -379
  128. package/src/components/data/DataGrid/types.ts +367 -367
  129. package/src/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.tsx +16 -16
  130. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +481 -480
  131. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  132. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  133. package/src/components/data/SqlRequestDataGrid/index.tsx +402 -402
  134. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  135. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  136. package/src/components/data/SqlRequestForeignList/index.tsx +259 -259
  137. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  138. package/src/components/data/SqlRequestForeignList/types.ts +34 -34
  139. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +110 -110
  140. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  141. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  142. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  143. package/src/components/data/SqlRequestGrid/index.tsx +316 -316
  144. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  145. package/src/components/data/SqlRequestGrid/types.ts +75 -75
  146. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  147. package/src/components/data/VirtualScroller/index.tsx +91 -91
  148. package/src/components/data/VirtualScroller/styles.ts +58 -58
  149. package/src/components/data/VirtualScroller/types.ts +12 -12
  150. package/src/components/data/index.ts +16 -16
  151. package/src/components/forms/AutoTextArea.tsx +41 -41
  152. package/src/components/forms/Button.tsx +133 -133
  153. package/src/components/forms/Form/Checkbox.tsx +12 -12
  154. package/src/components/forms/Form/FormGroup.tsx +27 -27
  155. package/src/components/forms/Form/Input.tsx +16 -16
  156. package/src/components/forms/Form/Row.tsx +32 -32
  157. package/src/components/forms/Form/Select.tsx +81 -81
  158. package/src/components/forms/Form/TextArea.tsx +17 -17
  159. package/src/components/forms/Form/index.tsx +45 -45
  160. package/src/components/forms/Form/styles.ts +171 -171
  161. package/src/components/forms/IconButton.tsx +57 -57
  162. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  163. package/src/components/forms/NumberInput.tsx +53 -53
  164. package/src/components/forms/Select.tsx +35 -35
  165. package/src/components/forms/VerticalLabel.tsx +20 -20
  166. package/src/components/forms/index.ts +9 -9
  167. package/src/components/forms/styles.ts +31 -31
  168. package/src/components/index.ts +6 -6
  169. package/src/components/layout/Columns.ts +20 -20
  170. package/src/components/layout/Dropdown/index.tsx +113 -113
  171. package/src/components/layout/Dropdown/styles.ts +45 -45
  172. package/src/components/layout/Grid/index.tsx +8 -8
  173. package/src/components/layout/Grid/styles.ts +34 -34
  174. package/src/components/layout/Loading/index.tsx +29 -29
  175. package/src/components/layout/Loading/styles.ts +29 -29
  176. package/src/components/layout/Masonry/index.tsx +29 -29
  177. package/src/components/layout/Masonry/styles.ts +20 -20
  178. package/src/components/layout/Modal/index.tsx +51 -51
  179. package/src/components/layout/Modal/styles.ts +125 -121
  180. package/src/components/layout/index.ts +6 -6
  181. package/src/components/search/HighlightedText.tsx +37 -37
  182. package/src/components/search/QuickSearchBar.tsx +90 -86
  183. package/src/components/search/QuickSearchResults.tsx +86 -86
  184. package/src/components/search/index.ts +9 -9
  185. package/src/components/search/styles.ts +96 -96
  186. package/src/components/search/types.ts +26 -26
  187. package/src/components/ui/Avatar/index.tsx +54 -54
  188. package/src/components/ui/Avatar/styles.ts +61 -61
  189. package/src/components/ui/Card/index.tsx +14 -14
  190. package/src/components/ui/Card/styles.ts +37 -37
  191. package/src/components/ui/ContextMenu/index.tsx +79 -79
  192. package/src/components/ui/ContextMenu/styles.ts +119 -119
  193. package/src/components/ui/Ellipsis.tsx +34 -34
  194. package/src/components/ui/Message/index.tsx +57 -57
  195. package/src/components/ui/Message/styles.ts +40 -40
  196. package/src/components/ui/index.ts +6 -6
  197. package/src/config/index.ts +14 -14
  198. package/src/helpers/dates.ts +17 -17
  199. package/src/helpers/getScrollbarSize.ts +14 -14
  200. package/src/helpers/index.ts +4 -4
  201. package/src/helpers/numbers.ts +63 -63
  202. package/src/helpers/responsive.ts +83 -83
  203. package/src/helpers/text.ts +13 -13
  204. package/src/hooks/index.ts +7 -7
  205. package/src/hooks/useContainerMediaQuery.ts +7 -7
  206. package/src/hooks/useElementSize.ts +24 -24
  207. package/src/hooks/useMediaQuery.ts +9 -9
  208. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  209. package/src/hooks/useMutableState.ts +19 -19
  210. package/src/hooks/useShowArchived.ts +28 -28
  211. package/src/hooks/useWindowSize.ts +20 -20
  212. package/src/index.ts +9 -9
  213. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  214. package/src/providers/AuthenticationProvider/index.tsx +243 -243
  215. package/src/providers/LoadingProvider/index.tsx +47 -47
  216. package/src/providers/PortalsProvider/index.tsx +54 -54
  217. package/src/providers/PortalsProvider/styles.ts +31 -31
  218. package/src/providers/SettingsProvider/index.tsx +70 -70
  219. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  220. package/src/providers/ThemeProvider/defaultTheme.ts +457 -457
  221. package/src/providers/ThemeProvider/helpers.ts +11 -11
  222. package/src/providers/ThemeProvider/index.ts +4 -4
  223. package/src/providers/ThemeProvider/types.ts +131 -131
  224. package/src/providers/TrackingProvider/hooks.ts +14 -14
  225. package/src/providers/TrackingProvider/index.tsx +71 -71
  226. package/src/providers/UiProviders/index.tsx +68 -68
  227. package/src/providers/UiProviders/styles.ts +10 -10
  228. package/src/providers/hooks.ts +12 -12
  229. package/src/providers/index.ts +8 -8
  230. package/src/services/HttpService.ts +92 -92
  231. package/src/services/WebSocketService.ts +137 -137
  232. package/src/services/advancedRequests.ts +102 -102
  233. package/src/services/base.ts +23 -23
  234. package/src/services/globalSearch.ts +29 -29
  235. package/src/services/hooks.ts +44 -44
  236. package/src/services/index.ts +21 -21
  237. package/src/services/requests/auth.ts +44 -44
  238. package/src/services/requests/generic.ts +62 -62
  239. package/src/services/requests/tracking.ts +12 -12
  240. package/src/services/requests/userProfiles.ts +35 -35
  241. package/src/services/requests/users.ts +28 -28
  242. package/src/services/smartQueries.ts +122 -122
  243. package/src/services/sqlRequests.ts +111 -111
  244. package/src/services/types/auth.ts +131 -131
  245. package/src/services/types/base.ts +10 -10
  246. package/src/services/types/generic.ts +96 -96
  247. package/src/services/types/tracking.ts +39 -39
  248. package/src/services/types/userProfiles.ts +107 -107
  249. package/src/services/types/users.ts +106 -106
  250. package/src/services/updateSqlRequests.ts +34 -34
  251. package/src/styles/animations.scss +30 -30
  252. package/src/styles/index.scss +42 -42
  253. package/src/typings.d.ts +19 -19
  254. package/tsconfig.json +18 -18
  255. package/tsconfig.tsbuildinfo +1 -1
  256. package/dist/components/forms/Form/Row.d.ts +0 -9
  257. package/dist/components/forms/Form/Row.js +0 -10
  258. package/dist/components/forms/NumberInput.d.ts +0 -9
  259. package/dist/components/forms/NumberInput.js +0 -41
  260. package/dist/components/ui/ToastNotification.d.ts +0 -14
  261. package/dist/components/ui/ToastNotification.js +0 -78
  262. package/dist/hooks/useMutableState.d.ts +0 -2
  263. package/dist/hooks/useMutableState.js +0 -16
@@ -1,112 +1,112 @@
1
- import { Button, Card, Input, useAuthentication } from '@addev-be/ui';
2
- import { FC, useCallback, useEffect, useMemo, useState } from 'react';
3
- import { Link, useParams } from 'react-router-dom';
4
-
5
- import { FormContainer } from './styles';
6
- import { Message } from '../ui/Message';
7
- import { StackedLabel } from '../forms/VerticalLabel';
8
-
9
- export const PasswordResetForm: FC = () => {
10
- const { key } = useParams<{ key: string }>();
11
- const [password1, setPassword1] = useState('');
12
- const [password2, setPassword2] = useState('');
13
- const [keyStatus, setKeyStatus] = useState(-1);
14
- const [status, setStatus] = useState(-1);
15
- const [error, setError] = useState('');
16
- const { resetPassword, checkRecoveryKey } = useAuthentication();
17
-
18
- useEffect(() => {
19
- if (key) {
20
- checkRecoveryKey(key).then((status) => {
21
- setKeyStatus(status);
22
- });
23
- }
24
- }, [checkRecoveryKey, key]);
25
-
26
- const onSubmitClicked = useCallback(() => {
27
- if (key) {
28
- if (password1 !== password2) {
29
- setError('Les mots de passe ne sont pas identiques');
30
- return;
31
- }
32
- resetPassword(key, password1).then((status) => {
33
- setStatus(status);
34
- setError(
35
- status === 4
36
- ? 'Le mot de passe est trop faible (min. 8 caractères requis)'
37
- : ''
38
- );
39
- });
40
- }
41
- }, [key, password1, password2, resetPassword]);
42
-
43
- const content = useMemo(() => {
44
- if (keyStatus < 0) {
45
- return <p>Chargement...</p>;
46
- }
47
- if (keyStatus > 0) {
48
- return (
49
- <>
50
- <Message type="error">
51
- La clé de récupération fournie est invalide ou expirée
52
- </Message>
53
- </>
54
- );
55
- }
56
-
57
- switch (status) {
58
- case 0:
59
- return (
60
- <>
61
- <Message type="success">
62
- Votre mot de passe a été réinitialisé avec succès. Vous pouvez
63
- maintenant vous connecter.
64
- </Message>
65
- </>
66
- );
67
-
68
- default:
69
- return null;
70
- }
71
- }, [keyStatus, status]);
72
-
73
- return (
74
- <Card>
75
- <FormContainer>
76
- {content ?? (
77
- <>
78
- <StackedLabel label="Nouveau mot de passe">
79
- <Input
80
- type="password"
81
- autoComplete="current-password"
82
- required
83
- value={password1}
84
- onChange={(e) => setPassword1(e.target.value)}
85
- />
86
- </StackedLabel>
87
- <StackedLabel label="Confirmation du mot de passe">
88
- <Input
89
- type="password"
90
- autoComplete="current-password"
91
- required
92
- value={password2}
93
- onChange={(e) => setPassword2(e.target.value)}
94
- />
95
- </StackedLabel>
96
-
97
- {error && (
98
- <Message className="mt-4" type="error">
99
- {error}
100
- </Message>
101
- )}
102
-
103
- <Button $color="primary" onClick={onSubmitClicked}>
104
- Réinitialiser le mot de passe
105
- </Button>
106
- </>
107
- )}
108
- <Link to="/">Retour</Link>
109
- </FormContainer>
110
- </Card>
111
- );
112
- };
1
+ import { Button, Card, Input, useAuthentication } from '@addev-be/ui';
2
+ import { FC, useCallback, useEffect, useMemo, useState } from 'react';
3
+ import { Link, useParams } from 'react-router-dom';
4
+
5
+ import { FormContainer } from './styles';
6
+ import { Message } from '../ui/Message';
7
+ import { StackedLabel } from '../forms/VerticalLabel';
8
+
9
+ export const PasswordResetForm: FC = () => {
10
+ const { key } = useParams<{ key: string }>();
11
+ const [password1, setPassword1] = useState('');
12
+ const [password2, setPassword2] = useState('');
13
+ const [keyStatus, setKeyStatus] = useState(-1);
14
+ const [status, setStatus] = useState(-1);
15
+ const [error, setError] = useState('');
16
+ const { resetPassword, checkRecoveryKey } = useAuthentication();
17
+
18
+ useEffect(() => {
19
+ if (key) {
20
+ checkRecoveryKey(key).then((status) => {
21
+ setKeyStatus(status);
22
+ });
23
+ }
24
+ }, [checkRecoveryKey, key]);
25
+
26
+ const onSubmitClicked = useCallback(() => {
27
+ if (key) {
28
+ if (password1 !== password2) {
29
+ setError('Les mots de passe ne sont pas identiques');
30
+ return;
31
+ }
32
+ resetPassword(key, password1).then((status) => {
33
+ setStatus(status);
34
+ setError(
35
+ status === 4
36
+ ? 'Le mot de passe est trop faible (min. 8 caractères requis)'
37
+ : ''
38
+ );
39
+ });
40
+ }
41
+ }, [key, password1, password2, resetPassword]);
42
+
43
+ const content = useMemo(() => {
44
+ if (keyStatus < 0) {
45
+ return <p>Chargement...</p>;
46
+ }
47
+ if (keyStatus > 0) {
48
+ return (
49
+ <>
50
+ <Message type="error">
51
+ La clé de récupération fournie est invalide ou expirée
52
+ </Message>
53
+ </>
54
+ );
55
+ }
56
+
57
+ switch (status) {
58
+ case 0:
59
+ return (
60
+ <>
61
+ <Message type="success">
62
+ Votre mot de passe a été réinitialisé avec succès. Vous pouvez
63
+ maintenant vous connecter.
64
+ </Message>
65
+ </>
66
+ );
67
+
68
+ default:
69
+ return null;
70
+ }
71
+ }, [keyStatus, status]);
72
+
73
+ return (
74
+ <Card>
75
+ <FormContainer>
76
+ {content ?? (
77
+ <>
78
+ <StackedLabel label="Nouveau mot de passe">
79
+ <Input
80
+ type="password"
81
+ autoComplete="current-password"
82
+ required
83
+ value={password1}
84
+ onChange={(e) => setPassword1(e.target.value)}
85
+ />
86
+ </StackedLabel>
87
+ <StackedLabel label="Confirmation du mot de passe">
88
+ <Input
89
+ type="password"
90
+ autoComplete="current-password"
91
+ required
92
+ value={password2}
93
+ onChange={(e) => setPassword2(e.target.value)}
94
+ />
95
+ </StackedLabel>
96
+
97
+ {error && (
98
+ <Message className="mt-4" type="error">
99
+ {error}
100
+ </Message>
101
+ )}
102
+
103
+ <Button $color="primary" onClick={onSubmitClicked}>
104
+ Réinitialiser le mot de passe
105
+ </Button>
106
+ </>
107
+ )}
108
+ <Link to="/">Retour</Link>
109
+ </FormContainer>
110
+ </Card>
111
+ );
112
+ };
@@ -1,4 +1,4 @@
1
- export * from './LoginForm';
2
- export * from './LoginPage';
3
- export * from './PasswordRecoveryForm';
4
- export * from './PasswordResetForm';
1
+ export * from './LoginForm';
2
+ export * from './LoginPage';
3
+ export * from './PasswordRecoveryForm';
4
+ export * from './PasswordResetForm';
@@ -1,14 +1,14 @@
1
- import styled from 'styled-components';
2
-
3
- export const FormContainer = styled.form.attrs({
4
- className: 'FormContainer',
5
- onSubmit: (e) => e.preventDefault(),
6
- })`
7
- display: flex;
8
- flex-direction: column;
9
- gap: var(--space-4);
10
-
11
- & > a {
12
- text-align: center;
13
- }
14
- `;
1
+ import styled from 'styled-components';
2
+
3
+ export const FormContainer = styled.form.attrs({
4
+ className: 'FormContainer',
5
+ onSubmit: (e) => e.preventDefault(),
6
+ })`
7
+ display: flex;
8
+ flex-direction: column;
9
+ gap: var(--space-4);
10
+
11
+ & > a {
12
+ text-align: center;
13
+ }
14
+ `;
@@ -1,77 +1,77 @@
1
- /* eslint-disable @typescript-eslint/no-explicit-any */
2
- /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
3
-
4
- import * as styles from './styles';
5
-
6
- import { DataGridCellProps, DataGridColumn } from './types';
7
- import { MouseEvent, useCallback } from 'react';
8
-
9
- import { DataGridEditableCell } from './DataGridEditableCell';
10
- import { useDataGridContext } from './hooks';
11
-
12
- const defaultRender = <R,>(row: R, col: DataGridColumn<R>) => {
13
- const value = col.getter(row);
14
- return !value ? '' : String(value);
15
- };
16
-
17
- export const DataGridCell = <R,>({
18
- row,
19
- rowIndex,
20
- columnKey,
21
- columnIndex,
22
- column,
23
- context,
24
- style,
25
- }: DataGridCellProps<R>) => {
26
- const {
27
- name,
28
- editable,
29
- editingCell = [-1, -1],
30
- setEditingCell,
31
- onRowDoubleClick,
32
- userSelect,
33
- } = useDataGridContext(context);
34
- const isEditable = !!editable && !!column.editable && !!column.editComponent;
35
- const isEditing =
36
- isEditable && editingCell[0] === rowIndex && editingCell[1] === columnIndex;
37
- const DataGridCellComponent = column.component ?? styles.DataGridCell;
38
-
39
- const onDoubleClick = useCallback(
40
- (e: MouseEvent) => {
41
- e.stopPropagation();
42
- e.preventDefault();
43
- if (isEditable) {
44
- setEditingCell([rowIndex, columnIndex]);
45
- } else onRowDoubleClick?.(row, e);
46
- },
47
- [columnIndex, isEditable, onRowDoubleClick, row, rowIndex, setEditingCell]
48
- );
49
-
50
- if (isEditing) {
51
- return (
52
- <DataGridEditableCell
53
- key={`${name}-${rowIndex}-${columnIndex}`}
54
- row={row}
55
- rowIndex={rowIndex}
56
- columnKey={columnKey}
57
- columnIndex={columnIndex}
58
- column={column as any}
59
- context={context}
60
- userSelect={userSelect}
61
- />
62
- );
63
- }
64
-
65
- return (
66
- <DataGridCellComponent
67
- key={`${name}-${rowIndex}-${columnIndex}`}
68
- onDoubleClick={onDoubleClick}
69
- style={style}
70
- $userSelect={userSelect}
71
- $color={column.color}
72
- $textAlign={column.textAlign}
73
- >
74
- {(column.render ?? defaultRender)(row, column)}
75
- </DataGridCellComponent>
76
- );
77
- };
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* eslint-disable @typescript-eslint/no-unnecessary-type-constraint */
3
+
4
+ import * as styles from './styles';
5
+
6
+ import { DataGridCellProps, DataGridColumn } from './types';
7
+ import { MouseEvent, useCallback } from 'react';
8
+
9
+ import { DataGridEditableCell } from './DataGridEditableCell';
10
+ import { useDataGridContext } from './hooks';
11
+
12
+ const defaultRender = <R,>(row: R, col: DataGridColumn<R>) => {
13
+ const value = col.getter(row);
14
+ return !value ? '' : String(value);
15
+ };
16
+
17
+ export const DataGridCell = <R,>({
18
+ row,
19
+ rowIndex,
20
+ columnKey,
21
+ columnIndex,
22
+ column,
23
+ context,
24
+ style,
25
+ }: DataGridCellProps<R>) => {
26
+ const {
27
+ name,
28
+ editable,
29
+ editingCell = [-1, -1],
30
+ setEditingCell,
31
+ onRowDoubleClick,
32
+ userSelect,
33
+ } = useDataGridContext(context);
34
+ const isEditable = !!editable && !!column.editable && !!column.editComponent;
35
+ const isEditing =
36
+ isEditable && editingCell[0] === rowIndex && editingCell[1] === columnIndex;
37
+ const DataGridCellComponent = column.component ?? styles.DataGridCell;
38
+
39
+ const onDoubleClick = useCallback(
40
+ (e: MouseEvent) => {
41
+ e.stopPropagation();
42
+ e.preventDefault();
43
+ if (isEditable) {
44
+ setEditingCell([rowIndex, columnIndex]);
45
+ } else onRowDoubleClick?.(row, e);
46
+ },
47
+ [columnIndex, isEditable, onRowDoubleClick, row, rowIndex, setEditingCell]
48
+ );
49
+
50
+ if (isEditing) {
51
+ return (
52
+ <DataGridEditableCell
53
+ key={`${name}-${rowIndex}-${columnIndex}`}
54
+ row={row}
55
+ rowIndex={rowIndex}
56
+ columnKey={columnKey}
57
+ columnIndex={columnIndex}
58
+ column={column as any}
59
+ context={context}
60
+ userSelect={userSelect}
61
+ />
62
+ );
63
+ }
64
+
65
+ return (
66
+ <DataGridCellComponent
67
+ key={`${name}-${rowIndex}-${columnIndex}`}
68
+ onDoubleClick={onDoubleClick}
69
+ style={style}
70
+ $userSelect={userSelect}
71
+ $color={column.color}
72
+ $textAlign={column.textAlign}
73
+ >
74
+ {(column.render ?? defaultRender)(row, column)}
75
+ </DataGridCellComponent>
76
+ );
77
+ };
@@ -1,9 +1,9 @@
1
- import { DataGridColumns } from '../types';
2
-
3
- export const normalizeColumnsOrders = <R>(
4
- columns: DataGridColumns<R>
5
- ): DataGridColumns<R> =>
6
- columns.map((column, index) => ({
7
- ...column,
8
- order: index,
9
- }));
1
+ import { DataGridColumns } from '../types';
2
+
3
+ export const normalizeColumnsOrders = <R>(
4
+ columns: DataGridColumns<R>
5
+ ): DataGridColumns<R> =>
6
+ columns.map((column, index) => ({
7
+ ...column,
8
+ order: index,
9
+ }));
@@ -1,59 +1,59 @@
1
- import { keyBy, mapValues } from 'lodash';
2
- import { useCallback, useContext, useMemo, useState } from 'react';
3
-
4
- import { Button } from '../../../forms';
5
- import { DataGridColumnsEditor } from '.';
6
- import { DataGridContext } from '../types';
7
- import { Modal } from '../../../layout/Modal';
8
-
9
- export const useDataGridColumnsModal = <R,>(context: DataGridContext<R>) => {
10
- const [isVisible, setIsVisible] = useState(false);
11
- const { columns, setSettings, saveSettings } = useContext(context);
12
- const [currentColumns, setCurrentColumns] = useState(columns);
13
-
14
- const openModal = useCallback(() => {
15
- setCurrentColumns(columns);
16
- setIsVisible(true);
17
- }, [columns]);
18
- const closeModal = useCallback(() => {
19
- setIsVisible(false);
20
- }, []);
21
-
22
- const onApplyClicked = useCallback(() => {
23
- const newSettings = mapValues(keyBy(currentColumns, 'key'), (col) => ({
24
- order: col.order ?? 0,
25
- width: col.width ?? 150,
26
- }));
27
- setSettings(() => newSettings);
28
- saveSettings(newSettings);
29
- closeModal();
30
- }, [currentColumns, closeModal, saveSettings, setSettings]);
31
-
32
- const modal = useMemo(
33
- () =>
34
- isVisible ? (
35
- <Modal $width={600} $height={400}>
36
- <Modal.Header>Paramètres des colonnes</Modal.Header>
37
- <Modal.Content>
38
- <DataGridColumnsEditor
39
- columns={currentColumns}
40
- onColumnsChanged={setCurrentColumns}
41
- />
42
- </Modal.Content>
43
- <Modal.Footer>
44
- <Button onClick={closeModal}>Annuler</Button>
45
- <Button
46
- $color="primary"
47
- style={{ marginLeft: 'auto' }}
48
- onClick={onApplyClicked}
49
- >
50
- Appliquer
51
- </Button>
52
- </Modal.Footer>
53
- </Modal>
54
- ) : null,
55
- [closeModal, currentColumns, isVisible, onApplyClicked]
56
- );
57
-
58
- return { openModal, closeModal, modal };
59
- };
1
+ import { keyBy, mapValues } from 'lodash';
2
+ import { useCallback, useContext, useMemo, useState } from 'react';
3
+
4
+ import { Button } from '../../../forms';
5
+ import { DataGridColumnsEditor } from '.';
6
+ import { DataGridContext } from '../types';
7
+ import { Modal } from '../../../layout/Modal';
8
+
9
+ export const useDataGridColumnsModal = <R,>(context: DataGridContext<R>) => {
10
+ const [isVisible, setIsVisible] = useState(false);
11
+ const { columns, setSettings, saveSettings } = useContext(context);
12
+ const [currentColumns, setCurrentColumns] = useState(columns);
13
+
14
+ const openModal = useCallback(() => {
15
+ setCurrentColumns(columns);
16
+ setIsVisible(true);
17
+ }, [columns]);
18
+ const closeModal = useCallback(() => {
19
+ setIsVisible(false);
20
+ }, []);
21
+
22
+ const onApplyClicked = useCallback(() => {
23
+ const newSettings = mapValues(keyBy(currentColumns, 'key'), (col) => ({
24
+ order: col.order ?? 0,
25
+ width: col.width ?? 150,
26
+ }));
27
+ setSettings(() => newSettings);
28
+ saveSettings(newSettings);
29
+ closeModal();
30
+ }, [currentColumns, closeModal, saveSettings, setSettings]);
31
+
32
+ const modal = useMemo(
33
+ () =>
34
+ isVisible ? (
35
+ <Modal $width={600} $height={400}>
36
+ <Modal.Header>Paramètres des colonnes</Modal.Header>
37
+ <Modal.Content>
38
+ <DataGridColumnsEditor
39
+ columns={currentColumns}
40
+ onColumnsChanged={setCurrentColumns}
41
+ />
42
+ </Modal.Content>
43
+ <Modal.Footer>
44
+ <Button onClick={closeModal}>Annuler</Button>
45
+ <Button
46
+ $color="primary"
47
+ style={{ marginLeft: 'auto' }}
48
+ onClick={onApplyClicked}
49
+ >
50
+ Appliquer
51
+ </Button>
52
+ </Modal.Footer>
53
+ </Modal>
54
+ ) : null,
55
+ [closeModal, currentColumns, isVisible, onApplyClicked]
56
+ );
57
+
58
+ return { openModal, closeModal, modal };
59
+ };