@addev-be/ui 0.19.1 → 0.19.3

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 (408) 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/bars.svg +1 -0
  5. package/assets/icons/check.svg +1 -1
  6. package/assets/icons/circle-check.svg +1 -1
  7. package/assets/icons/down.svg +1 -1
  8. package/assets/icons/filter-full.svg +1 -1
  9. package/assets/icons/filter.svg +1 -1
  10. package/assets/icons/hashtag.svg +1 -1
  11. package/assets/icons/image-slash.svg +1 -1
  12. package/assets/icons/left.svg +1 -1
  13. package/assets/icons/magnifier.svg +1 -1
  14. package/assets/icons/phone.svg +1 -1
  15. package/assets/icons/right.svg +1 -1
  16. package/assets/icons/sort-calendar-ascending.svg +5 -5
  17. package/assets/icons/spinner-third.svg +1 -1
  18. package/assets/icons/table-columns.svg +1 -1
  19. package/assets/icons/table-footer-slash.svg +4 -4
  20. package/assets/icons/table-footer.svg +3 -3
  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/Icons.d.ts +9 -1
  25. package/dist/Icons.js +17 -1
  26. package/dist/components/auth/LoginForm.js +1 -1
  27. package/dist/components/auth/PasswordRecoveryForm.js +1 -1
  28. package/dist/components/auth/PasswordResetForm.js +1 -1
  29. package/dist/components/data/AdvancedRequestDataGrid/helpers/advancedRequests.js +9 -8
  30. package/dist/components/data/AdvancedRequestDataGrid/helpers/columns.js +21 -72
  31. package/dist/components/data/AdvancedRequestDataGrid/index.js +2 -2
  32. package/dist/components/data/AdvancedRequestDataGrid/types.d.ts +1 -1
  33. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.d.ts +10 -0
  34. package/dist/components/data/DataGrid/AdvancedRequestDataGrid.js +173 -0
  35. package/dist/components/data/DataGrid/DataGridCell.js +5 -5
  36. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.d.ts +2 -2
  37. package/dist/components/data/DataGrid/DataGridColumnsModal/helpers.js +1 -7
  38. package/dist/components/data/DataGrid/DataGridColumnsModal/hooks.js +3 -3
  39. package/dist/components/data/DataGrid/DataGridColumnsModal/index.js +16 -21
  40. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.d.ts +2 -0
  41. package/dist/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.js +23 -0
  42. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.d.ts +2 -0
  43. package/dist/components/data/DataGrid/DataGridEditableCell/DateEditableCell.js +27 -0
  44. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.d.ts +5 -0
  45. package/dist/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.js +32 -0
  46. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.d.ts +2 -0
  47. package/dist/components/data/DataGrid/DataGridEditableCell/TextEditableCell.js +23 -0
  48. package/dist/components/data/DataGrid/DataGridEditableCell/index.d.ts +2 -0
  49. package/dist/components/data/DataGrid/DataGridEditableCell/index.js +91 -0
  50. package/dist/components/data/DataGrid/DataGridEditableCell/styles.d.ts +3 -0
  51. package/dist/components/data/DataGrid/DataGridEditableCell/styles.js +17 -0
  52. package/dist/components/data/DataGrid/DataGridEditableCell/types.d.ts +11 -0
  53. package/dist/components/data/DataGrid/DataGridEditableCell/types.js +3 -0
  54. package/dist/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.js +17 -1
  55. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.d.ts +4 -3
  56. package/dist/components/data/DataGrid/DataGridFilterMenu/hooks.js +11 -12
  57. package/dist/components/data/DataGrid/DataGridFilterMenu/index.d.ts +5 -4
  58. package/dist/components/data/DataGrid/DataGridFilterMenu/index.js +44 -40
  59. package/dist/components/data/DataGrid/DataGridFilterMenu/styles.js +1 -1
  60. package/dist/components/data/DataGrid/DataGridFooter.js +5 -5
  61. package/dist/components/data/DataGrid/DataGridHeader.js +40 -6
  62. package/dist/components/data/DataGrid/DataGridHeaderCell.d.ts +1 -1
  63. package/dist/components/data/DataGrid/DataGridHeaderCell.js +11 -23
  64. package/dist/components/data/DataGrid/DataGridRowTemplate.d.ts +1 -1
  65. package/dist/components/data/DataGrid/DataGridRowTemplate.js +8 -9
  66. package/dist/components/data/DataGrid/FilterModalContent/index.js +1 -1
  67. package/dist/components/data/DataGrid/FilterValuesScroller.d.ts +13 -0
  68. package/dist/components/data/DataGrid/FilterValuesScroller.js +73 -0
  69. package/dist/components/data/DataGrid/VirtualScroller.d.ts +11 -0
  70. package/dist/components/data/DataGrid/VirtualScroller.js +41 -0
  71. package/dist/components/data/DataGrid/constants.d.ts +6 -0
  72. package/dist/components/data/DataGrid/constants.js +9 -0
  73. package/dist/components/data/DataGrid/helpers/advancedRequests.d.ts +12 -0
  74. package/dist/components/data/DataGrid/helpers/advancedRequests.js +53 -0
  75. package/dist/components/data/DataGrid/helpers/columns.d.ts +13 -12
  76. package/dist/components/data/DataGrid/helpers/columns.js +100 -130
  77. package/dist/components/data/DataGrid/helpers.d.ts +28 -0
  78. package/dist/components/data/DataGrid/helpers.js +436 -0
  79. package/dist/components/data/DataGrid/hooks/index.d.ts +3 -3
  80. package/dist/components/data/DataGrid/hooks/index.js +8 -12
  81. package/dist/components/data/DataGrid/hooks/useDataGrid.js +71 -23
  82. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.d.ts +9 -0
  83. package/dist/components/data/DataGrid/hooks/useDataGridChangedRows.js +71 -0
  84. package/dist/components/data/DataGrid/hooks/useDataGridCopy.js +25 -30
  85. package/dist/components/data/DataGrid/index.js +16 -3
  86. package/dist/components/data/DataGrid/styles.d.ts +13 -8
  87. package/dist/components/data/DataGrid/styles.js +58 -30
  88. package/dist/components/data/DataGrid/types.d.ts +81 -15
  89. package/dist/components/data/SmartQueryDataGrid/helpers/columns.d.ts +20 -0
  90. package/dist/components/data/SmartQueryDataGrid/helpers/columns.js +160 -0
  91. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.d.ts +5 -0
  92. package/dist/components/data/SmartQueryDataGrid/helpers/hooks.js +41 -0
  93. package/dist/components/data/SmartQueryDataGrid/helpers/index.d.ts +2 -0
  94. package/dist/components/data/SmartQueryDataGrid/helpers/index.js +18 -0
  95. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.d.ts +3 -0
  96. package/dist/components/data/SmartQueryDataGrid/helpers/smartQueries.js +15 -0
  97. package/dist/components/data/SmartQueryDataGrid/hooks.d.ts +9 -0
  98. package/dist/components/data/SmartQueryDataGrid/hooks.js +63 -0
  99. package/dist/components/data/SmartQueryDataGrid/index.d.ts +12 -0
  100. package/dist/components/data/SmartQueryDataGrid/index.js +242 -0
  101. package/dist/components/data/SmartQueryDataGrid/types.d.ts +22 -0
  102. package/dist/components/data/SmartQueryDataGrid/types.js +2 -0
  103. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.d.ts +2 -0
  104. package/dist/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.js +19 -0
  105. package/dist/components/data/SqlRequestDataGrid/helpers/columns.d.ts +16 -17
  106. package/dist/components/data/SqlRequestDataGrid/helpers/columns.js +236 -84
  107. package/dist/components/data/SqlRequestDataGrid/index.js +77 -63
  108. package/dist/components/data/SqlRequestDataGrid/styles.d.ts +2 -0
  109. package/dist/components/data/SqlRequestDataGrid/styles.js +14 -0
  110. package/dist/components/data/SqlRequestDataGrid/types.d.ts +13 -3
  111. package/dist/components/data/SqlRequestDataGrid/types.js +1 -0
  112. package/dist/components/data/SqlRequestForeignList/index.d.ts +4 -0
  113. package/dist/components/data/SqlRequestForeignList/index.js +131 -0
  114. package/dist/components/data/SqlRequestForeignList/styles.d.ts +9 -0
  115. package/dist/components/data/SqlRequestForeignList/styles.js +22 -0
  116. package/dist/components/data/SqlRequestForeignList/types.d.ts +22 -0
  117. package/dist/components/data/SqlRequestForeignList/types.js +3 -0
  118. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.d.ts +10 -0
  119. package/dist/components/data/SqlRequestGrid/filters/FiltersSidebar.js +51 -0
  120. package/dist/components/data/SqlRequestGrid/filters/styles.d.ts +4 -0
  121. package/dist/components/data/SqlRequestGrid/filters/styles.js +17 -0
  122. package/dist/components/data/SqlRequestGrid/index.d.ts +1 -1
  123. package/dist/components/data/SqlRequestGrid/index.js +139 -49
  124. package/dist/components/data/SqlRequestGrid/styles.d.ts +0 -12
  125. package/dist/components/data/SqlRequestGrid/styles.js +4 -20
  126. package/dist/components/data/SqlRequestGrid/types.d.ts +14 -4
  127. package/dist/components/data/VirtualScroller/index.d.ts +4 -3
  128. package/dist/components/data/VirtualScroller/index.js +15 -5
  129. package/dist/components/data/VirtualScroller/styles.d.ts +4 -2
  130. package/dist/components/data/VirtualScroller/styles.js +9 -6
  131. package/dist/components/data/index.d.ts +1 -2
  132. package/dist/components/data/index.js +1 -2
  133. package/dist/components/forms/AutoTextArea.d.ts +10 -0
  134. package/dist/components/forms/AutoTextArea.js +40 -0
  135. package/dist/components/forms/Button.d.ts +9 -2
  136. package/dist/components/forms/Button.js +13 -7
  137. package/dist/components/forms/Form/Checkbox.d.ts +3 -0
  138. package/dist/components/forms/Form/Checkbox.js +33 -0
  139. package/dist/components/forms/Form/FormGroup.d.ts +9 -0
  140. package/dist/components/forms/Form/FormGroup.js +10 -0
  141. package/dist/components/forms/Form/Input.d.ts +3 -0
  142. package/dist/components/forms/Form/Input.js +32 -0
  143. package/dist/components/forms/Form/InputWithLabel.d.ts +2 -0
  144. package/dist/components/forms/Form/InputWithLabel.js +10 -0
  145. package/dist/components/forms/Form/Select.d.ts +17 -0
  146. package/dist/components/forms/Form/Select.js +46 -0
  147. package/dist/components/forms/Form/TextArea.d.ts +4 -0
  148. package/dist/components/forms/Form/TextArea.js +33 -0
  149. package/dist/components/forms/Form/index.d.ts +66 -0
  150. package/dist/components/forms/Form/index.js +24 -0
  151. package/dist/components/forms/Form/styles.d.ts +14 -0
  152. package/dist/components/forms/Form/styles.js +47 -0
  153. package/dist/components/forms/Form/types.d.ts +7 -0
  154. package/dist/components/forms/Form/types.js +2 -0
  155. package/dist/components/forms/IconButton.d.ts +2 -1
  156. package/dist/components/forms/IconButton.js +12 -12
  157. package/dist/components/forms/Select.d.ts +5 -6
  158. package/dist/components/forms/Select.js +2 -5
  159. package/dist/components/forms/index.d.ts +3 -0
  160. package/dist/components/forms/index.js +3 -0
  161. package/dist/components/layout/Columns.d.ts +5 -0
  162. package/dist/components/layout/Columns.js +19 -0
  163. package/dist/components/layout/Dropdown/index.d.ts +1 -0
  164. package/dist/components/layout/Dropdown/index.js +24 -3
  165. package/dist/components/layout/Grid/index.d.ts +6 -0
  166. package/dist/components/layout/Grid/index.js +6 -0
  167. package/dist/components/layout/Grid/styles.d.ts +14 -0
  168. package/dist/components/layout/Grid/styles.js +29 -0
  169. package/dist/components/layout/Masonry/index.d.ts +3 -0
  170. package/dist/components/layout/Masonry/index.js +20 -0
  171. package/dist/components/layout/Masonry/styles.d.ts +5 -0
  172. package/dist/components/layout/Masonry/styles.js +17 -0
  173. package/dist/components/layout/index.d.ts +4 -1
  174. package/dist/components/layout/index.js +4 -1
  175. package/dist/components/search/QuickSearchBar.js +6 -0
  176. package/dist/components/ui/Avatar/index.d.ts +10 -0
  177. package/dist/components/ui/Avatar/index.js +52 -0
  178. package/dist/components/ui/Avatar/styles.d.ts +4 -0
  179. package/dist/components/ui/Avatar/styles.js +43 -0
  180. package/dist/components/ui/Card/styles.js +1 -1
  181. package/dist/components/ui/Ellipsis.d.ts +13 -0
  182. package/dist/components/ui/Ellipsis.js +28 -0
  183. package/dist/components/ui/Label.d.ts +9 -0
  184. package/dist/components/ui/Label.js +74 -0
  185. package/dist/components/ui/index.d.ts +3 -0
  186. package/dist/components/ui/index.js +3 -0
  187. package/dist/config/types.d.ts +11 -0
  188. package/dist/config/types.js +2 -0
  189. package/dist/helpers/index.d.ts +1 -0
  190. package/dist/helpers/index.js +1 -0
  191. package/dist/helpers/numbers.d.ts +3 -0
  192. package/dist/helpers/numbers.js +33 -1
  193. package/dist/helpers/responsive.d.ts +37 -0
  194. package/dist/helpers/responsive.js +57 -0
  195. package/dist/hooks/index.d.ts +4 -0
  196. package/dist/hooks/index.js +4 -0
  197. package/dist/hooks/useContainerMediaQuery.d.ts +17 -0
  198. package/dist/hooks/useContainerMediaQuery.js +10 -0
  199. package/dist/hooks/useMediaQuery.d.ts +17 -0
  200. package/dist/hooks/useMediaQuery.js +11 -0
  201. package/dist/hooks/useMediaQueryForWidth.d.ts +17 -0
  202. package/dist/hooks/useMediaQueryForWidth.js +26 -0
  203. package/dist/hooks/useShowArchived.d.ts +6 -0
  204. package/dist/hooks/useShowArchived.js +21 -0
  205. package/dist/index.d.ts +1 -0
  206. package/dist/index.js +1 -0
  207. package/dist/providers/AuthenticationProvider/index.js +4 -3
  208. package/dist/providers/PortalsProvider/styles.js +1 -1
  209. package/dist/providers/ThemeProvider/defaultTheme.js +13 -0
  210. package/dist/providers/ThemeProvider/helpers.d.ts +3 -0
  211. package/dist/providers/ThemeProvider/helpers.js +13 -0
  212. package/dist/providers/ThemeProvider/types.d.ts +2 -1
  213. package/dist/providers/TrackingProvider/hooks.d.ts +1 -0
  214. package/dist/providers/TrackingProvider/hooks.js +15 -0
  215. package/dist/providers/TrackingProvider/index.d.ts +8 -0
  216. package/dist/providers/TrackingProvider/index.js +41 -0
  217. package/dist/providers/UiProviders/index.js +2 -1
  218. package/dist/providers/index.d.ts +2 -0
  219. package/dist/providers/index.js +2 -0
  220. package/dist/services/globalSearch.d.ts +2 -1
  221. package/dist/services/index.d.ts +7 -0
  222. package/dist/services/index.js +20 -0
  223. package/dist/services/requests/generic.d.ts +29 -0
  224. package/dist/services/requests/generic.js +29 -0
  225. package/dist/services/requests/tracking.d.ts +18 -0
  226. package/dist/services/requests/tracking.js +8 -0
  227. package/dist/services/requests/userPermissions.d.ts +4 -0
  228. package/dist/services/requests/userPermissions.js +20 -0
  229. package/dist/services/smartQueries.d.ts +51 -0
  230. package/dist/services/smartQueries.js +10 -0
  231. package/dist/services/smartRequests.d.ts +0 -0
  232. package/dist/services/smartRequests.js +1 -0
  233. package/dist/services/types/generic.d.ts +44 -0
  234. package/dist/services/types/generic.js +79 -0
  235. package/dist/services/types/tracking.d.ts +24 -0
  236. package/dist/services/types/tracking.js +47 -0
  237. package/dist/services/updateSqlRequests.d.ts +24 -0
  238. package/dist/services/updateSqlRequests.js +7 -0
  239. package/package.json +2 -2
  240. package/src/Icons.tsx +138 -136
  241. package/src/components/auth/LoginForm.tsx +84 -84
  242. package/src/components/auth/LoginPage.tsx +32 -32
  243. package/src/components/auth/PasswordRecoveryForm.tsx +52 -52
  244. package/src/components/auth/PasswordResetForm.tsx +112 -112
  245. package/src/components/auth/index.ts +4 -4
  246. package/src/components/auth/styles.ts +14 -14
  247. package/src/components/data/DataGrid/DataGridCell.tsx +77 -77
  248. package/src/components/data/DataGrid/DataGridColumnsModal/helpers.ts +9 -9
  249. package/src/components/data/DataGrid/DataGridColumnsModal/hooks.tsx +59 -59
  250. package/src/components/data/DataGrid/DataGridColumnsModal/index.tsx +182 -182
  251. package/src/components/data/DataGrid/DataGridColumnsModal/styles.ts +104 -104
  252. package/src/components/data/DataGrid/DataGridEditableCell/CheckboxEditableCell.tsx +38 -38
  253. package/src/components/data/DataGrid/DataGridEditableCell/DateEditableCell.tsx +39 -39
  254. package/src/components/data/DataGrid/DataGridEditableCell/NumberEditableCell.tsx +68 -68
  255. package/src/components/data/DataGrid/DataGridEditableCell/TextEditableCell.tsx +38 -38
  256. package/src/components/data/DataGrid/DataGridEditableCell/index.tsx +106 -106
  257. package/src/components/data/DataGrid/DataGridEditableCell/styles.ts +35 -35
  258. package/src/components/data/DataGrid/DataGridEditableCell/types.ts +19 -19
  259. package/src/components/data/DataGrid/DataGridFilterMenu/FilterValuesScroller.tsx +131 -131
  260. package/src/components/data/DataGrid/DataGridFilterMenu/hooks.tsx +81 -81
  261. package/src/components/data/DataGrid/DataGridFilterMenu/index.tsx +376 -376
  262. package/src/components/data/DataGrid/DataGridFilterMenu/styles.ts +97 -97
  263. package/src/components/data/DataGrid/DataGridFooter.tsx +45 -45
  264. package/src/components/data/DataGrid/DataGridHeader.tsx +185 -185
  265. package/src/components/data/DataGrid/DataGridHeaderCell.tsx +111 -111
  266. package/src/components/data/DataGrid/DataGridRowTemplate.tsx +82 -82
  267. package/src/components/data/DataGrid/FilterModalContent/index.tsx +136 -136
  268. package/src/components/data/DataGrid/FilterModalContent/styles.ts +22 -22
  269. package/src/components/data/DataGrid/constants.ts +6 -6
  270. package/src/components/data/DataGrid/helpers/columns.tsx +386 -386
  271. package/src/components/data/DataGrid/helpers/filters.ts +287 -287
  272. package/src/components/data/DataGrid/helpers/index.ts +2 -2
  273. package/src/components/data/DataGrid/hooks/index.ts +29 -29
  274. package/src/components/data/DataGrid/hooks/useDataGrid.tsx +381 -381
  275. package/src/components/data/DataGrid/hooks/useDataGridChangedRows.ts +97 -97
  276. package/src/components/data/DataGrid/hooks/useDataGridCopy.ts +174 -174
  277. package/src/components/data/DataGrid/hooks/useDataGridSettings.ts +48 -48
  278. package/src/components/data/DataGrid/hooks/useRefreshModal.tsx +48 -48
  279. package/src/components/data/DataGrid/index.tsx +112 -112
  280. package/src/components/data/DataGrid/styles.ts +380 -379
  281. package/src/components/data/DataGrid/types.ts +369 -369
  282. package/src/components/data/SqlRequestDataGrid/SqlRequestForeignListEditableCell.tsx +16 -16
  283. package/src/components/data/SqlRequestDataGrid/helpers/columns.tsx +481 -481
  284. package/src/components/data/SqlRequestDataGrid/helpers/index.ts +2 -2
  285. package/src/components/data/SqlRequestDataGrid/helpers/sqlRequests.ts +16 -16
  286. package/src/components/data/SqlRequestDataGrid/index.tsx +414 -414
  287. package/src/components/data/SqlRequestDataGrid/styles.ts +15 -15
  288. package/src/components/data/SqlRequestDataGrid/types.ts +74 -74
  289. package/src/components/data/SqlRequestForeignList/index.tsx +259 -259
  290. package/src/components/data/SqlRequestForeignList/styles.ts +43 -43
  291. package/src/components/data/SqlRequestForeignList/types.ts +34 -34
  292. package/src/components/data/SqlRequestGrid/filters/FiltersSidebar.tsx +110 -110
  293. package/src/components/data/SqlRequestGrid/filters/styles.ts +88 -88
  294. package/src/components/data/SqlRequestGrid/helpers/index.ts +1 -1
  295. package/src/components/data/SqlRequestGrid/helpers/sqlRequests.ts +16 -16
  296. package/src/components/data/SqlRequestGrid/index.tsx +316 -316
  297. package/src/components/data/SqlRequestGrid/styles.ts +20 -20
  298. package/src/components/data/SqlRequestGrid/types.ts +75 -75
  299. package/src/components/data/VirtualScroller/hooks.ts +71 -71
  300. package/src/components/data/VirtualScroller/index.tsx +91 -91
  301. package/src/components/data/VirtualScroller/styles.ts +58 -58
  302. package/src/components/data/VirtualScroller/types.ts +12 -12
  303. package/src/components/data/index.ts +16 -16
  304. package/src/components/forms/AutoTextArea.tsx +48 -41
  305. package/src/components/forms/Button.tsx +132 -133
  306. package/src/components/forms/Form/Checkbox.tsx +12 -12
  307. package/src/components/forms/Form/FormGroup.tsx +31 -31
  308. package/src/components/forms/Form/Input.tsx +16 -16
  309. package/src/components/forms/Form/Row.tsx +32 -32
  310. package/src/components/forms/Form/Select.tsx +87 -87
  311. package/src/components/forms/Form/TextArea.tsx +17 -17
  312. package/src/components/forms/Form/index.tsx +45 -45
  313. package/src/components/forms/Form/styles.ts +184 -184
  314. package/src/components/forms/IconButton.tsx +57 -57
  315. package/src/components/forms/IndeterminateCheckbox.tsx +46 -46
  316. package/src/components/forms/NumberInput.tsx +4 -4
  317. package/src/components/forms/Select.tsx +35 -35
  318. package/src/components/forms/VerticalLabel.tsx +20 -20
  319. package/src/components/forms/index.ts +9 -9
  320. package/src/components/forms/styles.ts +41 -29
  321. package/src/components/index.ts +6 -6
  322. package/src/components/layout/Columns.ts +28 -28
  323. package/src/components/layout/Dropdown/index.tsx +113 -113
  324. package/src/components/layout/Dropdown/styles.ts +45 -45
  325. package/src/components/layout/Flexbox.ts +21 -0
  326. package/src/components/layout/Grid/index.tsx +8 -8
  327. package/src/components/layout/Grid/styles.ts +34 -34
  328. package/src/components/layout/Loading/index.tsx +29 -29
  329. package/src/components/layout/Loading/styles.ts +29 -29
  330. package/src/components/layout/Masonry/index.tsx +29 -29
  331. package/src/components/layout/Masonry/styles.ts +20 -20
  332. package/src/components/layout/Modal/index.tsx +51 -51
  333. package/src/components/layout/Modal/styles.ts +125 -125
  334. package/src/components/layout/index.ts +7 -6
  335. package/src/components/search/HighlightedText.tsx +41 -41
  336. package/src/components/search/QuickSearchBar.tsx +100 -100
  337. package/src/components/search/QuickSearchResults.tsx +86 -86
  338. package/src/components/search/index.ts +9 -9
  339. package/src/components/search/styles.ts +96 -96
  340. package/src/components/search/types.ts +29 -29
  341. package/src/components/ui/Avatar/index.tsx +54 -54
  342. package/src/components/ui/Card/index.tsx +14 -14
  343. package/src/components/ui/Card/styles.ts +37 -37
  344. package/src/components/ui/ContextMenu/index.tsx +79 -79
  345. package/src/components/ui/ContextMenu/styles.ts +119 -119
  346. package/src/components/ui/Ellipsis.tsx +34 -34
  347. package/src/components/ui/Label.tsx +90 -90
  348. package/src/components/ui/Message/index.tsx +57 -57
  349. package/src/components/ui/Message/styles.ts +40 -40
  350. package/src/components/ui/index.ts +6 -6
  351. package/src/config/index.ts +14 -14
  352. package/src/helpers/dates.ts +17 -17
  353. package/src/helpers/getScrollbarSize.ts +14 -14
  354. package/src/helpers/index.ts +5 -5
  355. package/src/helpers/numbers.ts +63 -63
  356. package/src/helpers/responsive.ts +83 -83
  357. package/src/helpers/text.ts +13 -13
  358. package/src/hooks/index.ts +7 -7
  359. package/src/hooks/useContainerMediaQuery.ts +7 -7
  360. package/src/hooks/useElementSize.ts +24 -24
  361. package/src/hooks/useMediaQuery.ts +9 -9
  362. package/src/hooks/useMediaQueryForWidth.ts +35 -35
  363. package/src/hooks/useMutableState.ts +19 -19
  364. package/src/hooks/useShowArchived.ts +28 -28
  365. package/src/hooks/useWindowSize.ts +20 -20
  366. package/src/index.ts +9 -9
  367. package/src/providers/AuthenticationProvider/helpers.ts +3 -3
  368. package/src/providers/AuthenticationProvider/index.tsx +303 -303
  369. package/src/providers/LoadingProvider/index.tsx +47 -47
  370. package/src/providers/PortalsProvider/index.tsx +54 -54
  371. package/src/providers/PortalsProvider/styles.ts +31 -31
  372. package/src/providers/SettingsProvider/index.tsx +70 -70
  373. package/src/providers/ThemeProvider/ThemeProvider.ts +63 -63
  374. package/src/providers/ThemeProvider/defaultTheme.ts +457 -457
  375. package/src/providers/ThemeProvider/helpers.ts +69 -11
  376. package/src/providers/ThemeProvider/index.ts +4 -4
  377. package/src/providers/ThemeProvider/types.ts +131 -131
  378. package/src/providers/TrackingProvider/index.tsx +71 -71
  379. package/src/providers/UiProviders/index.tsx +68 -68
  380. package/src/providers/UiProviders/styles.ts +10 -10
  381. package/src/providers/hooks.ts +12 -12
  382. package/src/providers/index.ts +8 -8
  383. package/src/services/HttpService.ts +92 -92
  384. package/src/services/WebSocketService.ts +155 -155
  385. package/src/services/advancedRequests.ts +102 -102
  386. package/src/services/base.ts +23 -23
  387. package/src/services/globalSearch.ts +32 -32
  388. package/src/services/hooks.ts +92 -92
  389. package/src/services/index.ts +21 -21
  390. package/src/services/requests/auth.ts +44 -44
  391. package/src/services/requests/generic.ts +62 -62
  392. package/src/services/requests/tracking.ts +12 -12
  393. package/src/services/requests/userProfiles.ts +35 -35
  394. package/src/services/requests/users.ts +28 -28
  395. package/src/services/smartQueries.ts +122 -122
  396. package/src/services/sqlRequests.ts +111 -111
  397. package/src/services/types/auth.ts +131 -131
  398. package/src/services/types/base.ts +10 -10
  399. package/src/services/types/generic.ts +96 -96
  400. package/src/services/types/tracking.ts +39 -39
  401. package/src/services/types/userProfiles.ts +107 -107
  402. package/src/services/types/users.ts +106 -106
  403. package/src/services/updateSqlRequests.ts +34 -34
  404. package/src/styles/animations.scss +30 -30
  405. package/src/styles/index.scss +42 -42
  406. package/src/typings.d.ts +19 -19
  407. package/tsconfig.json +18 -18
  408. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.genericDeleteResponseDtoCodec = exports.genericDeleteRequestDtoCodec = exports.genericArchiveResponseDtoCodec = exports.genericArchiveRequestDtoCodec = exports.getGenericSaveResponseDtoCodec = exports.getGenericSaveRequestDtoCodec = exports.getGenericGetAllResponseDtoCodec = exports.genericGetAllRequestDtoCodec = exports.getGenericGetResponseDtoCodec = exports.genericGetRequestDtoCodec = void 0;
27
+ var t = __importStar(require("io-ts"));
28
+ exports.genericGetRequestDtoCodec = t.type({
29
+ id: t.string,
30
+ }, 'GenericGetRequestDTO');
31
+ var getGenericGetResponseDtoCodec = function (codec) {
32
+ return t.type({
33
+ status: t.number,
34
+ data: codec,
35
+ });
36
+ };
37
+ exports.getGenericGetResponseDtoCodec = getGenericGetResponseDtoCodec;
38
+ /*****/
39
+ exports.genericGetAllRequestDtoCodec = t.type({}, 'GenericGetAllRequestDTO');
40
+ var getGenericGetAllResponseDtoCodec = function (codec) {
41
+ return t.type({
42
+ status: t.number,
43
+ data: t.array(codec),
44
+ });
45
+ };
46
+ exports.getGenericGetAllResponseDtoCodec = getGenericGetAllResponseDtoCodec;
47
+ /*****/
48
+ var getGenericSaveRequestDtoCodec = function (codec) {
49
+ return t.type({
50
+ data: codec,
51
+ });
52
+ };
53
+ exports.getGenericSaveRequestDtoCodec = getGenericSaveRequestDtoCodec;
54
+ var getGenericSaveResponseDtoCodec = function (codec) {
55
+ return t.type({
56
+ status: t.number,
57
+ data: codec,
58
+ });
59
+ };
60
+ exports.getGenericSaveResponseDtoCodec = getGenericSaveResponseDtoCodec;
61
+ /*****/
62
+ exports.genericArchiveRequestDtoCodec = t.intersection([
63
+ t.type({
64
+ ids: t.array(t.string),
65
+ }),
66
+ t.partial({
67
+ archived: t.boolean,
68
+ }),
69
+ ], 'GenericArchiveRequestDTO');
70
+ exports.genericArchiveResponseDtoCodec = t.type({
71
+ status: t.array(t.number),
72
+ }, 'GenericArchiveResponseDTO');
73
+ /*****/
74
+ exports.genericDeleteRequestDtoCodec = t.type({
75
+ ids: t.array(t.string),
76
+ }, 'GenericDeleteRequestDTO');
77
+ exports.genericDeleteResponseDtoCodec = t.type({
78
+ status: t.array(t.number),
79
+ }, 'GenericDeleteResponseDTO');
@@ -0,0 +1,24 @@
1
+ import * as t from 'io-ts';
2
+ export declare const trackingEventDtoCodec: t.TypeC<{
3
+ name: t.StringC;
4
+ details: t.RecordC<t.StringC, t.UnionC<[t.StringC, t.NumberC, t.BooleanC, t.NullC]>>;
5
+ id: t.UnionC<[t.StringC, t.NullC]>;
6
+ }>;
7
+ export type TrackingEventDTO = t.TypeOf<typeof trackingEventDtoCodec>;
8
+ export declare const sendTrackingEventRequestDtoCodec: t.TypeC<{
9
+ data: t.TypeC<{
10
+ name: t.StringC;
11
+ details: t.RecordC<t.StringC, t.UnionC<[t.StringC, t.NumberC, t.BooleanC, t.NullC]>>;
12
+ id: t.UnionC<[t.StringC, t.NullC]>;
13
+ }>;
14
+ }>;
15
+ export declare const sendTrackingEventResponseDtoCodec: t.TypeC<{
16
+ status: t.NumberC;
17
+ data: t.TypeC<{
18
+ name: t.StringC;
19
+ details: t.RecordC<t.StringC, t.UnionC<[t.StringC, t.NumberC, t.BooleanC, t.NullC]>>;
20
+ id: t.UnionC<[t.StringC, t.NullC]>;
21
+ }>;
22
+ }>;
23
+ export type SendTrackingEventRequestDTO = t.TypeOf<typeof sendTrackingEventRequestDtoCodec>;
24
+ export type SendTrackingEventResponseDTO = t.TypeOf<typeof sendTrackingEventResponseDtoCodec>;
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.sendTrackingEventResponseDtoCodec = exports.sendTrackingEventRequestDtoCodec = exports.trackingEventDtoCodec = void 0;
38
+ var t = __importStar(require("io-ts"));
39
+ var base_1 = require("./base");
40
+ exports.trackingEventDtoCodec = t.type(__assign(__assign({}, base_1.baseModelDtoCodec.props), { name: t.string, details: t.record(t.string, t.union([t.string, t.number, t.boolean, t.null])) }), 'TrackingEventDTO');
41
+ exports.sendTrackingEventRequestDtoCodec = t.type({
42
+ data: exports.trackingEventDtoCodec,
43
+ }, 'SendTrackingEventRequestDTO');
44
+ exports.sendTrackingEventResponseDtoCodec = t.type({
45
+ status: t.number,
46
+ data: exports.trackingEventDtoCodec,
47
+ }, 'SendTrackingEventResponseDTO');
@@ -0,0 +1,24 @@
1
+ export type UpdateSqlRequestDTO = {
2
+ type: string;
3
+ added: {
4
+ [id: string]: {
5
+ [field: string]: string | number | boolean | null | undefined;
6
+ };
7
+ };
8
+ updated: {
9
+ [id: string]: {
10
+ [field: string]: string | number | boolean | null | undefined;
11
+ };
12
+ };
13
+ };
14
+ export type UpdateSqlResponseDTO = {
15
+ results: {
16
+ [id: string]: {
17
+ status: number;
18
+ error?: string;
19
+ };
20
+ };
21
+ };
22
+ type UpdateSqlRequestHandler = (request: UpdateSqlRequestDTO) => Promise<UpdateSqlResponseDTO>;
23
+ export declare const useUpdateSqlRequestHandler: (name: string) => UpdateSqlRequestHandler;
24
+ export {};
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useUpdateSqlRequestHandler = void 0;
4
+ var hooks_1 = require("./hooks");
5
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
6
+ var useUpdateSqlRequestHandler = function (name) { return (0, hooks_1.useWebSocketRequestHandler)(name); };
7
+ exports.useUpdateSqlRequestHandler = useUpdateSqlRequestHandler;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@addev-be/ui",
3
- "version": "0.19.1",
3
+ "version": "0.19.3",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "watch": "tsc -b --watch",
@@ -20,7 +20,7 @@
20
20
  "update-version": "../../node/update-version.mjs"
21
21
  },
22
22
  "devDependencies": {
23
- "@addev-be/framework-utils": "^0.19.1",
23
+ "@addev-be/framework-utils": "^0.19.3",
24
24
  "@types/lodash": "^4",
25
25
  "@types/react": "^18.3.3",
26
26
  "@types/react-dom": "^18.3.0",
package/src/Icons.tsx CHANGED
@@ -1,136 +1,138 @@
1
- import { FC, SVGProps, useEffect, useState } from 'react';
2
-
3
- import AngleLeftIcon from '../assets/icons/angle-left.svg?react';
4
- import AngleRightIcon from '../assets/icons/angle-right.svg?react';
5
- import ArrowDown19Icon from '../assets/icons/arrow-down-1-9.svg?react';
6
- import ArrowDownAZIcon from '../assets/icons/arrow-down-a-z.svg?react';
7
- import ArrowDownBigSmallIcon from '../assets/icons/arrow-down-big-small.svg?react';
8
- import ArrowUp91Icon from '../assets/icons/arrow-up-9-1.svg?react';
9
- import ArrowUpBigSmallIcon from '../assets/icons/arrow-up-big-small.svg?react';
10
- import ArrowUpZAIcon from '../assets/icons/arrow-up-z-a.svg?react';
11
- import ArrowsRotateIcon from '../assets/icons/arrows-rotate.svg?react';
12
- import ArrowsUpDownIcon from '../assets/icons/arrows-up-down.svg?react';
13
- import CheckIcon from '../assets/icons/check.svg?react';
14
- import ChevronDownIcon from '../assets/icons/chevron-down.svg?react';
15
- import ChevronLeftIcon from '../assets/icons/chevron-left.svg?react';
16
- import ChevronRightIcon from '../assets/icons/chevron-right.svg?react';
17
- import CircleCheckIcon from '../assets/icons/circle-check.svg?react';
18
- import CircleInfoIcon from '../assets/icons/circle-info.svg?react';
19
- import CircleXMarkIcon from '../assets/icons/circle-xmark.svg?react';
20
- import CopyIcon from '../assets/icons/copy.svg?react';
21
- import DownIcon from '../assets/icons/down.svg?react';
22
- import EllipsisIcon from '../assets/icons/ellipsis.svg?react';
23
- import FilterFullIcon from '../assets/icons/filter-full.svg?react';
24
- import FilterIcon from '../assets/icons/filter.svg?react';
25
- import FilterSlashIcon from '../assets/icons/filter-slash.svg?react';
26
- import FloppyDiskIcon from '../assets/icons/floppy-disk.svg?react';
27
- import HashtagIcon from '../assets/icons/hashtag.svg?react';
28
- import ImageSlashIcon from '../assets/icons/image-slash.svg?react';
29
- import LeftIcon from '../assets/icons/left.svg?react';
30
- import MagnifierIcon from '../assets/icons/magnifier.svg?react';
31
- import PhoneIcon from '../assets/icons/phone.svg?react';
32
- import PlusIcon from '../assets/icons/plus.svg?react';
33
- import RightIcon from '../assets/icons/right.svg?react';
34
- import SigmaIcon from '../assets/icons/sigma.svg?react';
35
- import SortCalendarAscendingIcon from '../assets/icons/sort-calendar-ascending.svg?react';
36
- import SortCalendarDescendingIcon from '../assets/icons/sort-calendar-descending.svg?react';
37
- import SpinnerIcon from '../assets/icons/spinner-third.svg?react';
38
- import TableColumnsIcon from '../assets/icons/table-columns.svg?react';
39
- import TableFooterIcon from '../assets/icons/table-footer.svg?react';
40
- import TableFooterSlashIcon from '../assets/icons/table-footer-slash.svg?react';
41
- import TableIcon from '../assets/icons/table.svg?react';
42
- import TallyIcon from '../assets/icons/tally.svg?react';
43
- import TrashCanIcon from '../assets/icons/trash-can.svg?react';
44
- import TriangleExclamationIcon from '../assets/icons/triangle-exclamation.svg?react';
45
- import UpIcon from '../assets/icons/up.svg?react';
46
- import UserTieIcon from '../assets/icons/user-tie.svg?react';
47
- import XBarIcon from '../assets/icons/x-bar.svg?react';
48
- import XMarkIcon from '../assets/icons/xmark.svg?react';
49
- import XMarkLargeIcon from '../assets/icons/xmark-large.svg?react';
50
-
51
- type IconFCProps = SVGProps<SVGSVGElement>;
52
- export type IconFC = FC<IconFCProps>;
53
-
54
- type AnimatedIconProps = {
55
- icons: FC[];
56
- speed?: number;
57
- };
58
-
59
- export const AnimatedIcon: FC<AnimatedIconProps & IconFCProps> = ({
60
- icons,
61
- speed = 150,
62
- ...props
63
- }) => {
64
- const [currentIcon, setCurrentIcon] = useState(0);
65
-
66
- useEffect(() => {
67
- const interval = setInterval(() => {
68
- setCurrentIcon((currentIcon) => (currentIcon + 1) % icons.length);
69
- }, speed);
70
-
71
- return () => {
72
- clearInterval(interval);
73
- };
74
- }, [icons.length, speed]);
75
-
76
- const Icon = icons[currentIcon];
77
- return <Icon {...props} />;
78
- };
79
-
80
- export const LoadingIcon: FC<IconFCProps> = ({ className, ...props }) => (
81
- <SpinnerIcon className={`animate-spin ${className}`} {...props} />
82
- );
83
-
84
- export const BlankIcon: FC<IconFCProps> = (props) => (
85
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" {...props} />
86
- );
87
-
88
- export {
89
- AngleLeftIcon,
90
- AngleRightIcon,
91
- ArrowDown19Icon,
92
- ArrowDownAZIcon,
93
- ArrowDownBigSmallIcon,
94
- ArrowsRotateIcon,
95
- ArrowsUpDownIcon,
96
- ArrowUp91Icon,
97
- ArrowUpBigSmallIcon,
98
- ArrowUpZAIcon,
99
- CheckIcon,
100
- ChevronDownIcon,
101
- ChevronLeftIcon,
102
- ChevronRightIcon,
103
- CircleCheckIcon,
104
- CircleInfoIcon,
105
- CircleXMarkIcon,
106
- CopyIcon,
107
- DownIcon,
108
- EllipsisIcon,
109
- FilterFullIcon,
110
- FilterIcon,
111
- FilterSlashIcon,
112
- HashtagIcon,
113
- ImageSlashIcon,
114
- LeftIcon,
115
- MagnifierIcon,
116
- PhoneIcon,
117
- PlusIcon,
118
- RightIcon,
119
- SigmaIcon,
120
- SortCalendarAscendingIcon,
121
- SortCalendarDescendingIcon,
122
- SpinnerIcon,
123
- TableColumnsIcon,
124
- TableFooterIcon,
125
- TableFooterSlashIcon,
126
- TableIcon,
127
- TallyIcon,
128
- TrashCanIcon,
129
- TriangleExclamationIcon,
130
- UpIcon,
131
- UserTieIcon,
132
- XBarIcon,
133
- XMarkIcon,
134
- XMarkLargeIcon,
135
- FloppyDiskIcon,
136
- };
1
+ import { FC, SVGProps, useEffect, useState } from 'react';
2
+
3
+ import AngleLeftIcon from '../assets/icons/angle-left.svg?react';
4
+ import AngleRightIcon from '../assets/icons/angle-right.svg?react';
5
+ import ArrowDown19Icon from '../assets/icons/arrow-down-1-9.svg?react';
6
+ import ArrowDownAZIcon from '../assets/icons/arrow-down-a-z.svg?react';
7
+ import ArrowDownBigSmallIcon from '../assets/icons/arrow-down-big-small.svg?react';
8
+ import ArrowUp91Icon from '../assets/icons/arrow-up-9-1.svg?react';
9
+ import ArrowUpBigSmallIcon from '../assets/icons/arrow-up-big-small.svg?react';
10
+ import ArrowUpZAIcon from '../assets/icons/arrow-up-z-a.svg?react';
11
+ import ArrowsRotateIcon from '../assets/icons/arrows-rotate.svg?react';
12
+ import ArrowsUpDownIcon from '../assets/icons/arrows-up-down.svg?react';
13
+ import BarsIcon from '../assets/icons/bars.svg?react';
14
+ import CheckIcon from '../assets/icons/check.svg?react';
15
+ import ChevronDownIcon from '../assets/icons/chevron-down.svg?react';
16
+ import ChevronLeftIcon from '../assets/icons/chevron-left.svg?react';
17
+ import ChevronRightIcon from '../assets/icons/chevron-right.svg?react';
18
+ import CircleCheckIcon from '../assets/icons/circle-check.svg?react';
19
+ import CircleInfoIcon from '../assets/icons/circle-info.svg?react';
20
+ import CircleXMarkIcon from '../assets/icons/circle-xmark.svg?react';
21
+ import CopyIcon from '../assets/icons/copy.svg?react';
22
+ import DownIcon from '../assets/icons/down.svg?react';
23
+ import EllipsisIcon from '../assets/icons/ellipsis.svg?react';
24
+ import FilterFullIcon from '../assets/icons/filter-full.svg?react';
25
+ import FilterIcon from '../assets/icons/filter.svg?react';
26
+ import FilterSlashIcon from '../assets/icons/filter-slash.svg?react';
27
+ import FloppyDiskIcon from '../assets/icons/floppy-disk.svg?react';
28
+ import HashtagIcon from '../assets/icons/hashtag.svg?react';
29
+ import ImageSlashIcon from '../assets/icons/image-slash.svg?react';
30
+ import LeftIcon from '../assets/icons/left.svg?react';
31
+ import MagnifierIcon from '../assets/icons/magnifier.svg?react';
32
+ import PhoneIcon from '../assets/icons/phone.svg?react';
33
+ import PlusIcon from '../assets/icons/plus.svg?react';
34
+ import RightIcon from '../assets/icons/right.svg?react';
35
+ import SigmaIcon from '../assets/icons/sigma.svg?react';
36
+ import SortCalendarAscendingIcon from '../assets/icons/sort-calendar-ascending.svg?react';
37
+ import SortCalendarDescendingIcon from '../assets/icons/sort-calendar-descending.svg?react';
38
+ import SpinnerIcon from '../assets/icons/spinner-third.svg?react';
39
+ import TableColumnsIcon from '../assets/icons/table-columns.svg?react';
40
+ import TableFooterIcon from '../assets/icons/table-footer.svg?react';
41
+ import TableFooterSlashIcon from '../assets/icons/table-footer-slash.svg?react';
42
+ import TableIcon from '../assets/icons/table.svg?react';
43
+ import TallyIcon from '../assets/icons/tally.svg?react';
44
+ import TrashCanIcon from '../assets/icons/trash-can.svg?react';
45
+ import TriangleExclamationIcon from '../assets/icons/triangle-exclamation.svg?react';
46
+ import UpIcon from '../assets/icons/up.svg?react';
47
+ import UserTieIcon from '../assets/icons/user-tie.svg?react';
48
+ import XBarIcon from '../assets/icons/x-bar.svg?react';
49
+ import XMarkIcon from '../assets/icons/xmark.svg?react';
50
+ import XMarkLargeIcon from '../assets/icons/xmark-large.svg?react';
51
+
52
+ type IconFCProps = SVGProps<SVGSVGElement>;
53
+ export type IconFC = FC<IconFCProps>;
54
+
55
+ type AnimatedIconProps = {
56
+ icons: FC[];
57
+ speed?: number;
58
+ };
59
+
60
+ export const AnimatedIcon: FC<AnimatedIconProps & IconFCProps> = ({
61
+ icons,
62
+ speed = 150,
63
+ ...props
64
+ }) => {
65
+ const [currentIcon, setCurrentIcon] = useState(0);
66
+
67
+ useEffect(() => {
68
+ const interval = setInterval(() => {
69
+ setCurrentIcon((currentIcon) => (currentIcon + 1) % icons.length);
70
+ }, speed);
71
+
72
+ return () => {
73
+ clearInterval(interval);
74
+ };
75
+ }, [icons.length, speed]);
76
+
77
+ const Icon = icons[currentIcon];
78
+ return <Icon {...props} />;
79
+ };
80
+
81
+ export const LoadingIcon: FC<IconFCProps> = ({ className, ...props }) => (
82
+ <SpinnerIcon className={`animate-spin ${className}`} {...props} />
83
+ );
84
+
85
+ export const BlankIcon: FC<IconFCProps> = (props) => (
86
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" {...props} />
87
+ );
88
+
89
+ export {
90
+ AngleLeftIcon,
91
+ AngleRightIcon,
92
+ ArrowDown19Icon,
93
+ ArrowDownAZIcon,
94
+ ArrowDownBigSmallIcon,
95
+ ArrowsRotateIcon,
96
+ ArrowsUpDownIcon,
97
+ ArrowUp91Icon,
98
+ ArrowUpBigSmallIcon,
99
+ ArrowUpZAIcon,
100
+ BarsIcon,
101
+ CheckIcon,
102
+ ChevronDownIcon,
103
+ ChevronLeftIcon,
104
+ ChevronRightIcon,
105
+ CircleCheckIcon,
106
+ CircleInfoIcon,
107
+ CircleXMarkIcon,
108
+ CopyIcon,
109
+ DownIcon,
110
+ EllipsisIcon,
111
+ FilterFullIcon,
112
+ FilterIcon,
113
+ FilterSlashIcon,
114
+ FloppyDiskIcon,
115
+ HashtagIcon,
116
+ ImageSlashIcon,
117
+ LeftIcon,
118
+ MagnifierIcon,
119
+ PhoneIcon,
120
+ PlusIcon,
121
+ RightIcon,
122
+ SigmaIcon,
123
+ SortCalendarAscendingIcon,
124
+ SortCalendarDescendingIcon,
125
+ SpinnerIcon,
126
+ TableColumnsIcon,
127
+ TableFooterIcon,
128
+ TableFooterSlashIcon,
129
+ TableIcon,
130
+ TallyIcon,
131
+ TrashCanIcon,
132
+ TriangleExclamationIcon,
133
+ UpIcon,
134
+ UserTieIcon,
135
+ XBarIcon,
136
+ XMarkIcon,
137
+ XMarkLargeIcon,
138
+ };
@@ -1,84 +1,84 @@
1
- import { Button, Input } from '../forms';
2
- import { Card, Message } from '../ui';
3
- import { FC, useCallback, useEffect, useRef, useState } from 'react';
4
- import { Link, redirect } from 'react-router-dom';
5
-
6
- import { FormContainer } from './styles';
7
- import { StackedLabel } from '../forms/VerticalLabel';
8
- import { useAuthentication } from '../../providers';
9
-
10
- export const LoginForm: FC = () => {
11
- const [username, setUsername] = useState(
12
- localStorage.getItem('username') || ''
13
- );
14
- const [password, setPassword] = useState('');
15
- const [isLoading, setIsLoading] = useState(false);
16
- const [error, setError] = useState('');
17
- const usernameInputRef = useRef<HTMLInputElement>(null);
18
- const passwordInputRef = useRef<HTMLInputElement>(null);
19
-
20
- const { login } = useAuthentication();
21
-
22
- const onLoginClicked = useCallback(() => {
23
- setError('');
24
- setIsLoading(true);
25
- login(username, password).then((success) => {
26
- setIsLoading(false);
27
- if (success) {
28
- localStorage.setItem('username', username);
29
- redirect('/');
30
- } else {
31
- setError('Identifiants invalides');
32
- }
33
- });
34
- }, [login, password, username]);
35
-
36
- useEffect(() => {
37
- if (usernameInputRef.current && passwordInputRef.current) {
38
- const input = !username
39
- ? usernameInputRef.current
40
- : passwordInputRef.current;
41
- input.select();
42
- input.focus();
43
- }
44
- // eslint-disable-next-line react-hooks/exhaustive-deps
45
- }, []);
46
-
47
- if (isLoading) return <div>Chargement...</div>;
48
-
49
- return (
50
- <Card>
51
- <FormContainer>
52
- <StackedLabel label="Adresse e-mail / Nom d'utilisateur">
53
- <Input
54
- ref={usernameInputRef}
55
- type="email"
56
- autoComplete="email"
57
- required
58
- value={username}
59
- onChange={(e) => setUsername(e.target.value)}
60
- />
61
- </StackedLabel>
62
-
63
- <StackedLabel label="Mot de passe">
64
- <Input
65
- ref={passwordInputRef}
66
- type="password"
67
- autoComplete="current-password"
68
- required
69
- value={password}
70
- onChange={(e) => setPassword(e.target.value)}
71
- />
72
- </StackedLabel>
73
-
74
- {error && <Message type="error">{error}</Message>}
75
-
76
- <Button $color="primary" onClick={onLoginClicked}>
77
- Se connecter
78
- </Button>
79
-
80
- <Link to="/recover">Mot de passe oublié ?</Link>
81
- </FormContainer>
82
- </Card>
83
- );
84
- };
1
+ import { Button, Input } from '../forms';
2
+ import { Card, Message } from '../ui';
3
+ import { FC, useCallback, useEffect, useRef, useState } from 'react';
4
+ import { Link, redirect } from 'react-router-dom';
5
+
6
+ import { FormContainer } from './styles';
7
+ import { StackedLabel } from '../forms/VerticalLabel';
8
+ import { useAuthentication } from '../../providers';
9
+
10
+ export const LoginForm: FC = () => {
11
+ const [username, setUsername] = useState(
12
+ localStorage.getItem('username') || ''
13
+ );
14
+ const [password, setPassword] = useState('');
15
+ const [isLoading, setIsLoading] = useState(false);
16
+ const [error, setError] = useState('');
17
+ const usernameInputRef = useRef<HTMLInputElement>(null);
18
+ const passwordInputRef = useRef<HTMLInputElement>(null);
19
+
20
+ const { login } = useAuthentication();
21
+
22
+ const onLoginClicked = useCallback(() => {
23
+ setError('');
24
+ setIsLoading(true);
25
+ login(username, password).then((success) => {
26
+ setIsLoading(false);
27
+ if (success) {
28
+ localStorage.setItem('username', username);
29
+ redirect('/');
30
+ } else {
31
+ setError('Identifiants invalides');
32
+ }
33
+ });
34
+ }, [login, password, username]);
35
+
36
+ useEffect(() => {
37
+ if (usernameInputRef.current && passwordInputRef.current) {
38
+ const input = !username
39
+ ? usernameInputRef.current
40
+ : passwordInputRef.current;
41
+ input.select();
42
+ input.focus();
43
+ }
44
+ // eslint-disable-next-line react-hooks/exhaustive-deps
45
+ }, []);
46
+
47
+ if (isLoading) return <div>Chargement...</div>;
48
+
49
+ return (
50
+ <Card>
51
+ <FormContainer>
52
+ <StackedLabel label="Adresse e-mail / Nom d'utilisateur">
53
+ <Input
54
+ ref={usernameInputRef}
55
+ type="email"
56
+ autoComplete="email"
57
+ required
58
+ value={username}
59
+ onChange={(e) => setUsername(e.target.value)}
60
+ />
61
+ </StackedLabel>
62
+
63
+ <StackedLabel label="Mot de passe">
64
+ <Input
65
+ ref={passwordInputRef}
66
+ type="password"
67
+ autoComplete="current-password"
68
+ required
69
+ value={password}
70
+ onChange={(e) => setPassword(e.target.value)}
71
+ />
72
+ </StackedLabel>
73
+
74
+ {error && <Message type="error">{error}</Message>}
75
+
76
+ <Button $color="primary" onClick={onLoginClicked}>
77
+ Se connecter
78
+ </Button>
79
+
80
+ <Link to="/recover">Mot de passe oublié ?</Link>
81
+ </FormContainer>
82
+ </Card>
83
+ );
84
+ };