kelt-ui-kit-react 1.8.3 → 1.8.4

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 (243) hide show
  1. package/dist/badge/Badge.d.ts +1 -3
  2. package/dist/button/button.interface.d.ts +1 -1
  3. package/dist/dataTable/DataTable.d.ts +3 -17
  4. package/dist/dataTable/dataTable.interface.d.ts +3 -21
  5. package/dist/dataTable/dataTableActions/DataTableAction.d.ts +2 -2
  6. package/dist/dataTable/dataTableColumn/DataTableColumn.d.ts +7 -13
  7. package/dist/dataTable/dataTableLoading/DataTableLoading.d.ts +3 -1
  8. package/dist/dataTable/dataTableRow/DataTableRow.d.ts +3 -5
  9. package/dist/expands/expand/expand.d.ts +1 -1
  10. package/dist/form/form.enum.d.ts +0 -1
  11. package/dist/form/input/Input.d.ts +0 -3
  12. package/dist/form/inputNumber/InputNumber.d.ts +2 -0
  13. package/dist/icon/Icon.d.ts +1 -1
  14. package/dist/icon/icon.interface.d.ts +0 -1
  15. package/dist/index.d.ts +0 -1
  16. package/dist/index.js +2836 -3652
  17. package/dist/overlayPanel/OverlayPanel.d.ts +1 -3
  18. package/dist/select/Select.d.ts +1 -4
  19. package/dist/select/selectOption.interface.d.ts +0 -1
  20. package/dist/style.css +1 -1
  21. package/dist/tabs/Tabs.d.ts +1 -2
  22. package/package.json +1 -1
  23. package/src/badge/Badge.tsx +1 -9
  24. package/src/badge/badge.css +0 -4
  25. package/src/button/Button.tsx +1 -1
  26. package/src/button/button.interface.tsx +1 -1
  27. package/src/card/card.css +3 -23
  28. package/src/card/cardAction/CardAction.tsx +4 -4
  29. package/src/damier/damier.css +3 -2
  30. package/src/dataTable/DataTable.tsx +45 -670
  31. package/src/dataTable/DataTable.view.tsx +14 -47
  32. package/src/dataTable/dataTable.css +5 -153
  33. package/src/dataTable/dataTable.interface.ts +3 -21
  34. package/src/dataTable/dataTableActions/DataTableAction.tsx +2 -2
  35. package/src/dataTable/dataTableColumn/DataTableColumn.tsx +14 -64
  36. package/src/dataTable/dataTableLoading/DataTableLoading.tsx +15 -4
  37. package/src/dataTable/dataTableRow/DataTableRow.tsx +33 -60
  38. package/src/expands/Expands.tsx +16 -2
  39. package/src/expands/expand/expand.tsx +18 -6
  40. package/src/form/Form.tsx +12 -13
  41. package/src/form/form.css +2 -13
  42. package/src/form/form.enum.ts +0 -1
  43. package/src/form/input/Input.tsx +7 -61
  44. package/src/form/input/input.css +1 -23
  45. package/src/form/inputNumber/InputNumber.tsx +11 -6
  46. package/src/form/inputPrice/InputPrice.tsx +4 -2
  47. package/src/icon/Icon.tsx +2 -6
  48. package/src/icon/icon.interface.tsx +0 -1
  49. package/src/index.ts +0 -2
  50. package/src/overlayPanel/OverlayPanel.tsx +10 -23
  51. package/src/overlayPanel/overlay.context.tsx +4 -6
  52. package/src/overlayPanel/overlayPanel.css +1 -10
  53. package/src/select/Select.tsx +38 -134
  54. package/src/select/select.css +14 -65
  55. package/src/select/selectOption.interface.ts +0 -1
  56. package/src/sidebar/Sidebar.tsx +80 -9
  57. package/src/sidebar/sidebar.css +18 -1
  58. package/src/tabs/Tabs.tsx +1 -19
  59. package/dist/_core/type/generiqueType.d.ts +0 -4
  60. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.d.ts +0 -10
  61. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.d.ts +0 -9
  62. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.d.ts +0 -9
  63. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.d.ts +0 -13
  64. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.d.ts +0 -9
  65. package/dist/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.d.ts +0 -11
  66. package/dist/dataTable/dataTableFilters/DataTableFilters.d.ts +0 -7
  67. package/dist/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.d.ts +0 -12
  68. package/dist/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.d.ts +0 -11
  69. package/kelt-ui-kit-react-1.6.9.tgz +0 -0
  70. package/package/README.md +0 -46
  71. package/package/index.html +0 -20
  72. package/package/package.json +0 -56
  73. package/package/public/favicon.ico +0 -0
  74. package/package/public/index.html +0 -18
  75. package/package/public/logo192.png +0 -0
  76. package/package/public/logo512.png +0 -0
  77. package/package/public/manifest.json +0 -25
  78. package/package/public/robots.txt +0 -3
  79. package/package/src/App.css +0 -11
  80. package/package/src/App.menu.tsx +0 -249
  81. package/package/src/App.routes.tsx +0 -16
  82. package/package/src/App.tsx +0 -30
  83. package/package/src/_core/hooks/HistoryProvider.tsx +0 -25
  84. package/package/src/_core/hooks/ImageChecker.tsx +0 -26
  85. package/package/src/_core/hooks/imageExist.tsx +0 -9
  86. package/package/src/_core/hooks/isEAN13.tsx +0 -16
  87. package/package/src/_core/hooks/objectToQueryParams.tsx +0 -32
  88. package/package/src/_core/hooks/useCurrency.tsx +0 -18
  89. package/package/src/_core/hooks/useDateutils.ts +0 -64
  90. package/package/src/_core/hooks/useIsMobile.ts +0 -18
  91. package/package/src/_core/hooks/useToken.tsx +0 -19
  92. package/package/src/_core/hooks/useValidate.tsx +0 -18
  93. package/package/src/_core/hooks/widgetSupport.tsx +0 -39
  94. package/package/src/action/Action.view.tsx +0 -21
  95. package/package/src/action/ButtonAction.tsx +0 -32
  96. package/package/src/action/action.css +0 -20
  97. package/package/src/badge/Badge.tsx +0 -34
  98. package/package/src/badge/Badge.view.tsx +0 -15
  99. package/package/src/badge/badge.css +0 -55
  100. package/package/src/button/Button.tsx +0 -46
  101. package/package/src/button/Button.view.tsx +0 -85
  102. package/package/src/button/button.css +0 -53
  103. package/package/src/button/button.interface.tsx +0 -21
  104. package/package/src/button/buttonActions/ButtonActions.tsx +0 -104
  105. package/package/src/button/buttonFile/ButtonFile.tsx +0 -59
  106. package/package/src/button/buttonFile/ButtonFile.view.tsx +0 -70
  107. package/package/src/button/buttonFilters/ButtonFilters.tsx +0 -102
  108. package/package/src/button/buttonFilters/buttonFilters.css +0 -22
  109. package/package/src/card/Card.tsx +0 -125
  110. package/package/src/card/Card.view.tsx +0 -73
  111. package/package/src/card/card.css +0 -145
  112. package/package/src/card/card.interface.tsx +0 -9
  113. package/package/src/card/cardAction/CardAction.tsx +0 -135
  114. package/package/src/card/cardAction/cardAction.css +0 -10
  115. package/package/src/card/cardAction.interface.tsx +0 -10
  116. package/package/src/card/hook/useCardInteractions.tsx +0 -30
  117. package/package/src/carousel/Carousel.css +0 -44
  118. package/package/src/carousel/Carousel.tsx +0 -115
  119. package/package/src/carousel/Carousel.view.tsx +0 -13
  120. package/package/src/damier/Damier.tsx +0 -64
  121. package/package/src/damier/Damier.view.tsx +0 -31
  122. package/package/src/damier/damier.css +0 -50
  123. package/package/src/damier/damierCell/DamierCell.tsx +0 -18
  124. package/package/src/damier/damierCell/damierCell.interface.tsx +0 -5
  125. package/package/src/dataTable/DataTable.tsx +0 -259
  126. package/package/src/dataTable/DataTable.view.tsx +0 -62
  127. package/package/src/dataTable/dataTable.css +0 -30
  128. package/package/src/dataTable/dataTable.interface.ts +0 -30
  129. package/package/src/dataTable/dataTableActions/DataTableAction.tsx +0 -44
  130. package/package/src/dataTable/dataTableColumn/DataTableColumn.tsx +0 -27
  131. package/package/src/dataTable/dataTableLoading/DataTableLoading.tsx +0 -21
  132. package/package/src/dataTable/dataTableRow/DataTableRow.tsx +0 -54
  133. package/package/src/datePicker/DatePicker.tsx +0 -110
  134. package/package/src/datePicker/DatePicker.view.tsx +0 -9
  135. package/package/src/datePicker/datePicker.css +0 -77
  136. package/package/src/expands/Expands.tsx +0 -42
  137. package/package/src/expands/Expands.view.tsx +0 -90
  138. package/package/src/expands/expand/expand.interface.tsx +0 -8
  139. package/package/src/expands/expand/expand.tsx +0 -75
  140. package/package/src/expands/expands.css +0 -97
  141. package/package/src/filAriane/FilAriane.tsx +0 -57
  142. package/package/src/filAriane/FilAriane.view.tsx +0 -28
  143. package/package/src/filAriane/filAriane.css +0 -23
  144. package/package/src/filAriane/filAriane.interface.tsx +0 -6
  145. package/package/src/form/Form.tsx +0 -279
  146. package/package/src/form/Form.view.tsx +0 -59
  147. package/package/src/form/form.css +0 -62
  148. package/package/src/form/form.enum.ts +0 -13
  149. package/package/src/form/form.interface.tsx +0 -37
  150. package/package/src/form/input/Input.tsx +0 -106
  151. package/package/src/form/input/input.css +0 -26
  152. package/package/src/form/inputNumber/InputNumber.tsx +0 -132
  153. package/package/src/form/inputNumber/InputNumber.view.tsx +0 -15
  154. package/package/src/form/inputPrice/InputPrice.tsx +0 -42
  155. package/package/src/form/inputPrice/InputPrice.view.tsx +0 -15
  156. package/package/src/form/textArea/TextArea.tsx +0 -59
  157. package/package/src/form/textArea/TextArea.view.tsx +0 -34
  158. package/package/src/form/textArea/textArea.css +0 -9
  159. package/package/src/grid/Grid.tsx +0 -21
  160. package/package/src/grid/Grid.view.tsx +0 -24
  161. package/package/src/grid/col/Col.tsx +0 -15
  162. package/package/src/grid/col/colStyled/ColStyled.tsx +0 -41
  163. package/package/src/grid/container/Container.tsx +0 -8
  164. package/package/src/grid/container/container.css +0 -5
  165. package/package/src/grid/grid.interface.tsx +0 -7
  166. package/package/src/grid/row/Row.tsx +0 -12
  167. package/package/src/grid/row/row.css +0 -18
  168. package/package/src/header/Header.tsx +0 -62
  169. package/package/src/header/Header.view.tsx +0 -5
  170. package/package/src/header/header.css +0 -26
  171. package/package/src/header/header.interface.tsx +0 -10
  172. package/package/src/home/Home.tsx +0 -3
  173. package/package/src/icon/Icon.tsx +0 -6
  174. package/package/src/icon/Icons.view.tsx +0 -29
  175. package/package/src/icon/icon.css +0 -20
  176. package/package/src/icon/icon.interface.tsx +0 -6
  177. package/package/src/icon/iconSize.enum.ts +0 -7
  178. package/package/src/index.css +0 -502
  179. package/package/src/index.ts +0 -58
  180. package/package/src/loader/Loader.tsx +0 -37
  181. package/package/src/loader/Loader.view.tsx +0 -20
  182. package/package/src/loader/loader.css +0 -30
  183. package/package/src/logo.svg +0 -1
  184. package/package/src/main.tsx +0 -10
  185. package/package/src/menus/Menus.tsx +0 -42
  186. package/package/src/menus/Menus.view.tsx +0 -39
  187. package/package/src/menus/menu/Menu.tsx +0 -17
  188. package/package/src/menus/menu/menu.interface.tsx +0 -9
  189. package/package/src/menus/menus.css +0 -47
  190. package/package/src/message/Message.tsx +0 -30
  191. package/package/src/message/Message.view.tsx +0 -22
  192. package/package/src/message/message.css +0 -29
  193. package/package/src/modal/Modal.tsx +0 -59
  194. package/package/src/modal/Modal.view.tsx +0 -26
  195. package/package/src/modal/modal.css +0 -71
  196. package/package/src/notFound/NotFound.tsx +0 -3
  197. package/package/src/overlayPanel/OverlayPanel.tsx +0 -195
  198. package/package/src/overlayPanel/OverlayPanel.view.tsx +0 -25
  199. package/package/src/overlayPanel/overlay.context.tsx +0 -28
  200. package/package/src/overlayPanel/overlayPanel.css +0 -35
  201. package/package/src/overlayPanel/overlayPanelStyled/OverlayPanelStyled.tsx +0 -18
  202. package/package/src/pdfViewer/PdfViewer.tsx +0 -73
  203. package/package/src/pdfViewer/PdfViewer.view.tsx +0 -5
  204. package/package/src/quantity/Quantity.tsx +0 -103
  205. package/package/src/quantity/Quantity.view.tsx +0 -0
  206. package/package/src/quantity/quantity.css +0 -26
  207. package/package/src/search/Search.tsx +0 -161
  208. package/package/src/search/Search.view.tsx +0 -14
  209. package/package/src/search/search.css +0 -59
  210. package/package/src/select/Select.tsx +0 -103
  211. package/package/src/select/Select.view.tsx +0 -71
  212. package/package/src/select/select.css +0 -69
  213. package/package/src/select/selectOption.interface.ts +0 -4
  214. package/package/src/sidebar/Sidebar.tsx +0 -208
  215. package/package/src/sidebar/Sidebar.view.tsx +0 -17
  216. package/package/src/sidebar/sidebar.css +0 -104
  217. package/package/src/sidebarData/SidebarData.tsx +0 -19
  218. package/package/src/sidebarData/SidebarData.view.tsx +0 -19
  219. package/package/src/sidebarData/sidebarData.css +0 -27
  220. package/package/src/tabs/Tabs.tsx +0 -90
  221. package/package/src/tabs/Tabs.view.tsx +0 -20
  222. package/package/src/tabs/tabs.css +0 -24
  223. package/package/src/toaster/Toaster.tsx +0 -55
  224. package/package/src/toaster/Toaster.view.tsx +0 -24
  225. package/package/src/toaster/store/useToasterStore.tsx +0 -41
  226. package/package/src/toaster/toaster.css +0 -87
  227. package/package/tsconfig.json +0 -28
  228. package/package/vite.config.ts +0 -20
  229. package/package/vite.config.ts.timestamp-1733262892554-a13dfef6e8a29.mjs +0 -24
  230. package/package/vite.config.ts.timestamp-1757847121745-e5a5bf54b81b.mjs +0 -28
  231. package/package/vite.config.ts.timestamp-1759742478362-4ac5c5a7db34b.mjs +0 -28
  232. package/src/_core/type/generiqueType.tsx +0 -4
  233. package/src/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.tsx +0 -36
  234. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilter.css +0 -0
  235. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.tsx +0 -39
  236. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.tsx +0 -80
  237. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.tsx +0 -89
  238. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.tsx +0 -37
  239. package/src/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.tsx +0 -42
  240. package/src/dataTable/dataTableFilters/DataTableFilters.tsx +0 -91
  241. package/src/dataTable/dataTableFilters/dataTableFilters.css +0 -16
  242. package/src/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.tsx +0 -80
  243. package/src/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.tsx +0 -123
@@ -1,87 +0,0 @@
1
- .toaster {
2
- position: fixed;
3
- top: 0.5rem;
4
- right: 0.5rem;
5
- z-index: 10;
6
- display: flex;
7
- padding: 1rem;
8
- gap: 10px;
9
- background-color: #fff;
10
- color: #333;
11
- width: 300px;
12
- border-radius: 4px;
13
- border: 1px solid #dede;
14
- .toaster--close {
15
- position: absolute;
16
- top: 2px;
17
- right: 2px;
18
- color: #333;
19
- cursor: pointer;
20
- .bi {
21
- font-size: 1.2rem;
22
- }
23
- }
24
- &.toaster-info {
25
- border-color: #004aad66;
26
- .toaster--close {
27
- bi {
28
- color: #004aad;
29
- }
30
- }
31
- }
32
- &.toaster-success {
33
- border-color: #28a7458c;
34
- .toaster--close {
35
- .bi {
36
- color: #28a745;
37
- }
38
- }
39
- }
40
- &.toaster-warning {
41
- border-color: #ec942c;
42
- .toaster--close {
43
- bi {
44
- color: #ec942c;
45
- }
46
- }
47
- }
48
- &.toaster-error {
49
- border-color: #dc35457d;
50
- .toaster--close {
51
- bi {
52
- color: #dc3545;
53
- }
54
- }
55
- }
56
- .title {
57
- font-weight: 500;
58
- font-size: 16px;
59
- &.title-info {
60
- color: var(--primary-color);
61
- }
62
- &.title-success {
63
- color: var(--success-color);
64
- }
65
- &.title-warning {
66
- color: var(--warning-color);
67
- }
68
- &.title-error {
69
- color: var(--danger-color);
70
- }
71
- }
72
- .subtitle {
73
- font-size: 14px;
74
- }
75
- .bi-info-circle {
76
- color: var(--primary-color);
77
- }
78
- .bi-check-circle {
79
- color: var(--success-color);
80
- }
81
- .bi-exclamation-triangle {
82
- color: var(--warning-color);
83
- }
84
- .bi-x-circle {
85
- color: var(--danger-color);
86
- }
87
- }
@@ -1,28 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "es5",
4
- "lib": ["dom", "dom.iterable", "esnext"],
5
- // Générer les fichiers .d.ts
6
- "allowJs": false,
7
- "skipLibCheck": true,
8
- "esModuleInterop": true,
9
- "allowSyntheticDefaultImports": true,
10
- "strict": true,
11
- "emitDeclarationOnly": false,
12
- "forceConsistentCasingInFileNames": true,
13
- "noFallthroughCasesInSwitch": true,
14
- "module": "esnext",
15
- "moduleResolution": "node",
16
- "resolveJsonModule": true,
17
- "isolatedModules": false,
18
- "jsx": "react-jsx",
19
- "outDir": "./dist",
20
- "rootDir": "./src",
21
- "declaration": false,
22
- "noUnusedLocals": true,
23
- "noUnusedParameters": true,
24
- "typeRoots": ["node_modules/@types", "./types"]
25
- },
26
- "include": ["src/**/*"],
27
- "exclude": ["./vite.config.ts", "node_modules"]
28
- }
@@ -1,20 +0,0 @@
1
- import { defineConfig } from "vite";
2
- import checker from "vite-plugin-checker";
3
- import dts from "vite-plugin-dts";
4
- export default defineConfig({
5
- plugins: [dts(), checker({ typescript: true })],
6
- server: {
7
- port: 2552, // Remplace 3000 par le port souhaité
8
- },
9
- build: {
10
- lib: {
11
- entry: "./src/index.ts", // Remplacer par l'entrée correcte
12
- formats: ["es"], // Génère un module ES
13
- name: "kelt-ui-kit-react",
14
- fileName: "index",
15
- },
16
- rollupOptions: {
17
- external: ["react", "react-dom"],
18
- },
19
- },
20
- });
@@ -1,24 +0,0 @@
1
- // vite.config.ts
2
- import { defineConfig } from "file:///C:/Users/alexandre.pennec/Documents/projets/ui-kit-react/node_modules/vite/dist/node/index.js";
3
- import checker from "file:///C:/Users/alexandre.pennec/Documents/projets/ui-kit-react/node_modules/vite-plugin-checker/dist/esm/main.js";
4
- import dts from "file:///C:/Users/alexandre.pennec/Documents/projets/ui-kit-react/node_modules/vite-plugin-dts/dist/index.mjs";
5
- var vite_config_default = defineConfig({
6
- plugins: [dts(), checker({ typescript: true })],
7
- build: {
8
- lib: {
9
- entry: "./src/index.ts",
10
- // Remplacer par l'entrée correcte
11
- formats: ["es"],
12
- // Génère un module ES
13
- name: "kelt-ui-kit-react",
14
- fileName: "index"
15
- },
16
- rollupOptions: {
17
- external: ["react", "react-dom"]
18
- }
19
- }
20
- });
21
- export {
22
- vite_config_default as default
23
- };
24
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxhbGV4YW5kcmUucGVubmVjXFxcXERvY3VtZW50c1xcXFxwcm9qZXRzXFxcXHVpLWtpdC1yZWFjdFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcYWxleGFuZHJlLnBlbm5lY1xcXFxEb2N1bWVudHNcXFxccHJvamV0c1xcXFx1aS1raXQtcmVhY3RcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL2FsZXhhbmRyZS5wZW5uZWMvRG9jdW1lbnRzL3Byb2pldHMvdWkta2l0LXJlYWN0L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IGNoZWNrZXIgZnJvbSBcInZpdGUtcGx1Z2luLWNoZWNrZXJcIjtcclxuaW1wb3J0IGR0cyBmcm9tIFwidml0ZS1wbHVnaW4tZHRzXCI7XHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XHJcbiAgcGx1Z2luczogW2R0cygpLCBjaGVja2VyKHsgdHlwZXNjcmlwdDogdHJ1ZSB9KV0sXHJcbiAgYnVpbGQ6IHtcclxuICAgIGxpYjoge1xyXG4gICAgICBlbnRyeTogXCIuL3NyYy9pbmRleC50c1wiLCAvLyBSZW1wbGFjZXIgcGFyIGwnZW50clx1MDBFOWUgY29ycmVjdGVcclxuICAgICAgZm9ybWF0czogW1wiZXNcIl0sIC8vIEdcdTAwRTluXHUwMEU4cmUgdW4gbW9kdWxlIEVTXHJcbiAgICAgIG5hbWU6IFwia2VsdC11aS1raXQtcmVhY3RcIixcclxuICAgICAgZmlsZU5hbWU6IFwiaW5kZXhcIixcclxuICAgIH0sXHJcbiAgICByb2xsdXBPcHRpb25zOiB7XHJcbiAgICAgIGV4dGVybmFsOiBbXCJyZWFjdFwiLCBcInJlYWN0LWRvbVwiXSxcclxuICAgIH0sXHJcbiAgfSxcclxufSk7XHJcbiJdLAogICJtYXBwaW5ncyI6ICI7QUFBc1csU0FBUyxvQkFBb0I7QUFDblksT0FBTyxhQUFhO0FBQ3BCLE9BQU8sU0FBUztBQUNoQixJQUFPLHNCQUFRLGFBQWE7QUFBQSxFQUMxQixTQUFTLENBQUMsSUFBSSxHQUFHLFFBQVEsRUFBRSxZQUFZLEtBQUssQ0FBQyxDQUFDO0FBQUEsRUFDOUMsT0FBTztBQUFBLElBQ0wsS0FBSztBQUFBLE1BQ0gsT0FBTztBQUFBO0FBQUEsTUFDUCxTQUFTLENBQUMsSUFBSTtBQUFBO0FBQUEsTUFDZCxNQUFNO0FBQUEsTUFDTixVQUFVO0FBQUEsSUFDWjtBQUFBLElBQ0EsZUFBZTtBQUFBLE1BQ2IsVUFBVSxDQUFDLFNBQVMsV0FBVztBQUFBLElBQ2pDO0FBQUEsRUFDRjtBQUNGLENBQUM7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,28 +0,0 @@
1
- // vite.config.ts
2
- import { defineConfig } from "file:///C:/Users/laulautte/travail/kelt/ui-kit-react/node_modules/vite/dist/node/index.js";
3
- import checker from "file:///C:/Users/laulautte/travail/kelt/ui-kit-react/node_modules/vite-plugin-checker/dist/esm/main.js";
4
- import dts from "file:///C:/Users/laulautte/travail/kelt/ui-kit-react/node_modules/vite-plugin-dts/dist/index.mjs";
5
- var vite_config_default = defineConfig({
6
- plugins: [dts(), checker({ typescript: true })],
7
- server: {
8
- port: 2552
9
- // Remplace 3000 par le port souhaité
10
- },
11
- build: {
12
- lib: {
13
- entry: "./src/index.ts",
14
- // Remplacer par l'entrée correcte
15
- formats: ["es"],
16
- // Génère un module ES
17
- name: "kelt-ui-kit-react",
18
- fileName: "index"
19
- },
20
- rollupOptions: {
21
- external: ["react", "react-dom"]
22
- }
23
- }
24
- });
25
- export {
26
- vite_config_default as default
27
- };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxsYXVsYXV0dGVcXFxcdHJhdmFpbFxcXFxrZWx0XFxcXHVpLWtpdC1yZWFjdFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcbGF1bGF1dHRlXFxcXHRyYXZhaWxcXFxca2VsdFxcXFx1aS1raXQtcmVhY3RcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL2xhdWxhdXR0ZS90cmF2YWlsL2tlbHQvdWkta2l0LXJlYWN0L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IGNoZWNrZXIgZnJvbSBcInZpdGUtcGx1Z2luLWNoZWNrZXJcIjtcclxuaW1wb3J0IGR0cyBmcm9tIFwidml0ZS1wbHVnaW4tZHRzXCI7XHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XHJcbiAgcGx1Z2luczogW2R0cygpLCBjaGVja2VyKHsgdHlwZXNjcmlwdDogdHJ1ZSB9KV0sXHJcbiAgc2VydmVyOiB7XHJcbiAgICBwb3J0OiAyNTUyLCAvLyBSZW1wbGFjZSAzMDAwIHBhciBsZSBwb3J0IHNvdWhhaXRcdTAwRTlcclxuICB9LFxyXG4gIGJ1aWxkOiB7XHJcbiAgICBsaWI6IHtcclxuICAgICAgZW50cnk6IFwiLi9zcmMvaW5kZXgudHNcIiwgLy8gUmVtcGxhY2VyIHBhciBsJ2VudHJcdTAwRTllIGNvcnJlY3RlXHJcbiAgICAgIGZvcm1hdHM6IFtcImVzXCJdLCAvLyBHXHUwMEU5blx1MDBFOHJlIHVuIG1vZHVsZSBFU1xyXG4gICAgICBuYW1lOiBcImtlbHQtdWkta2l0LXJlYWN0XCIsXHJcbiAgICAgIGZpbGVOYW1lOiBcImluZGV4XCIsXHJcbiAgICB9LFxyXG4gICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICBleHRlcm5hbDogW1wicmVhY3RcIiwgXCJyZWFjdC1kb21cIl0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0pO1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWtVLFNBQVMsb0JBQW9CO0FBQy9WLE9BQU8sYUFBYTtBQUNwQixPQUFPLFNBQVM7QUFDaEIsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUyxDQUFDLElBQUksR0FBRyxRQUFRLEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQzlDLFFBQVE7QUFBQSxJQUNOLE1BQU07QUFBQTtBQUFBLEVBQ1I7QUFBQSxFQUNBLE9BQU87QUFBQSxJQUNMLEtBQUs7QUFBQSxNQUNILE9BQU87QUFBQTtBQUFBLE1BQ1AsU0FBUyxDQUFDLElBQUk7QUFBQTtBQUFBLE1BQ2QsTUFBTTtBQUFBLE1BQ04sVUFBVTtBQUFBLElBQ1o7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLFVBQVUsQ0FBQyxTQUFTLFdBQVc7QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,28 +0,0 @@
1
- // vite.config.ts
2
- import { defineConfig } from "file:///C:/Users/laulautte/travail/kelt/ui-kit-react/node_modules/vite/dist/node/index.js";
3
- import checker from "file:///C:/Users/laulautte/travail/kelt/ui-kit-react/node_modules/vite-plugin-checker/dist/esm/main.js";
4
- import dts from "file:///C:/Users/laulautte/travail/kelt/ui-kit-react/node_modules/vite-plugin-dts/dist/index.mjs";
5
- var vite_config_default = defineConfig({
6
- plugins: [dts(), checker({ typescript: true })],
7
- server: {
8
- port: 2552
9
- // Remplace 3000 par le port souhaité
10
- },
11
- build: {
12
- lib: {
13
- entry: "./src/index.ts",
14
- // Remplacer par l'entrée correcte
15
- formats: ["es"],
16
- // Génère un module ES
17
- name: "kelt-ui-kit-react",
18
- fileName: "index"
19
- },
20
- rollupOptions: {
21
- external: ["react", "react-dom"]
22
- }
23
- }
24
- });
25
- export {
26
- vite_config_default as default
27
- };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxsYXVsYXV0dGVcXFxcdHJhdmFpbFxcXFxrZWx0XFxcXHVpLWtpdC1yZWFjdFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcbGF1bGF1dHRlXFxcXHRyYXZhaWxcXFxca2VsdFxcXFx1aS1raXQtcmVhY3RcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL2xhdWxhdXR0ZS90cmF2YWlsL2tlbHQvdWkta2l0LXJlYWN0L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IGNoZWNrZXIgZnJvbSBcInZpdGUtcGx1Z2luLWNoZWNrZXJcIjtcclxuaW1wb3J0IGR0cyBmcm9tIFwidml0ZS1wbHVnaW4tZHRzXCI7XHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XHJcbiAgcGx1Z2luczogW2R0cygpLCBjaGVja2VyKHsgdHlwZXNjcmlwdDogdHJ1ZSB9KV0sXHJcbiAgc2VydmVyOiB7XHJcbiAgICBwb3J0OiAyNTUyLCAvLyBSZW1wbGFjZSAzMDAwIHBhciBsZSBwb3J0IHNvdWhhaXRcdTAwRTlcclxuICB9LFxyXG4gIGJ1aWxkOiB7XHJcbiAgICBsaWI6IHtcclxuICAgICAgZW50cnk6IFwiLi9zcmMvaW5kZXgudHNcIiwgLy8gUmVtcGxhY2VyIHBhciBsJ2VudHJcdTAwRTllIGNvcnJlY3RlXHJcbiAgICAgIGZvcm1hdHM6IFtcImVzXCJdLCAvLyBHXHUwMEU5blx1MDBFOHJlIHVuIG1vZHVsZSBFU1xyXG4gICAgICBuYW1lOiBcImtlbHQtdWkta2l0LXJlYWN0XCIsXHJcbiAgICAgIGZpbGVOYW1lOiBcImluZGV4XCIsXHJcbiAgICB9LFxyXG4gICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICBleHRlcm5hbDogW1wicmVhY3RcIiwgXCJyZWFjdC1kb21cIl0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0pO1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWtVLFNBQVMsb0JBQW9CO0FBQy9WLE9BQU8sYUFBYTtBQUNwQixPQUFPLFNBQVM7QUFDaEIsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUyxDQUFDLElBQUksR0FBRyxRQUFRLEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQzlDLFFBQVE7QUFBQSxJQUNOLE1BQU07QUFBQTtBQUFBLEVBQ1I7QUFBQSxFQUNBLE9BQU87QUFBQSxJQUNMLEtBQUs7QUFBQSxNQUNILE9BQU87QUFBQTtBQUFBLE1BQ1AsU0FBUyxDQUFDLElBQUk7QUFBQTtBQUFBLE1BQ2QsTUFBTTtBQUFBLE1BQ04sVUFBVTtBQUFBLElBQ1o7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLFVBQVUsQ0FBQyxTQUFTLFdBQVc7QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,4 +0,0 @@
1
- export interface EnumerableType {
2
- label: string;
3
- value: string;
4
- }
@@ -1,36 +0,0 @@
1
- import { Icon } from "../../../icon/Icon";
2
- import { DataTableColumnsInterface } from "../../dataTable.interface";
3
- import "./dataTableColumnFilter.css";
4
-
5
- type DataTableColumnFilterProps<T> = {
6
- className?: string;
7
- column: DataTableColumnsInterface<T>;
8
- isFilterVisible?: boolean;
9
- onToggleVisibility?: (column: DataTableColumnsInterface<T>) => void;
10
- };
11
- export const DataTableColumnFilter = <T,>({
12
- className,
13
- column,
14
- isFilterVisible = false,
15
- onToggleVisibility,
16
- }: DataTableColumnFilterProps<T>) => {
17
- return (
18
- <div
19
- className={`data-table-column-filter ${
20
- isFilterVisible ? "active" : ""
21
- } ${className ?? ""}`}
22
- >
23
- <span>
24
- <Icon
25
- onClick={(e) => {
26
- e.stopPropagation();
27
- onToggleVisibility?.(column);
28
- }}
29
- classIcon={`bi-filter cursor-pointer ${
30
- isFilterVisible ? "data-table-column-filter-active" : ""
31
- }`}
32
- />
33
- </span>
34
- </div>
35
- );
36
- };
@@ -1,39 +0,0 @@
1
- import { useState } from "react";
2
-
3
- import { TypeInputEnum } from "../../../../form/form.enum";
4
- import { Input } from "../../../../form/input/Input";
5
-
6
- type DataTableColumnFilterDateProps = {
7
- id: string;
8
- name: string;
9
- label: string;
10
- onChange: (value: string) => void;
11
- currentValue?: string;
12
- };
13
- export const DataTableColumnFilterDate = ({
14
- id,
15
- name,
16
- label,
17
- onChange,
18
- currentValue,
19
- }: DataTableColumnFilterDateProps) => {
20
- const [selectedValue, setSelectedValue] = useState<string>(
21
- currentValue ?? "",
22
- );
23
- const handleChange = (value: string) => {
24
- setSelectedValue(value);
25
- onChange(value);
26
- };
27
- return (
28
- <div>
29
- <p>{label}</p>
30
- <Input
31
- id={id}
32
- name={name}
33
- type={TypeInputEnum.DATE}
34
- value={selectedValue}
35
- onChange={(e) => handleChange(e.target.value)}
36
- />
37
- </div>
38
- );
39
- };
@@ -1,80 +0,0 @@
1
- import { useEffect, useState } from "react";
2
-
3
- import { TypeInputEnum } from "../../../../form/form.enum";
4
- import { Input } from "../../../../form/input/Input";
5
-
6
- type DataTableColumnFilterDateRangeProps = {
7
- id: string;
8
- name: string;
9
- onChange: (startDate: string, endDate: string) => void;
10
- currentStartValue?: string;
11
- currentEndValue?: string;
12
- };
13
-
14
- export const DataTableColumnFilterDateRange = ({
15
- id,
16
- name,
17
- onChange,
18
- currentStartValue,
19
- currentEndValue,
20
- }: DataTableColumnFilterDateRangeProps) => {
21
- const [startDate, setStartDate] = useState<string>(currentStartValue ?? "");
22
- const [endDate, setEndDate] = useState<string>(currentEndValue ?? "");
23
-
24
- useEffect(() => {
25
- setStartDate(currentStartValue ?? "");
26
- }, [currentStartValue]);
27
-
28
- useEffect(() => {
29
- setEndDate(currentEndValue ?? "");
30
- }, [currentEndValue]);
31
-
32
- const handleStartDateChange = (value: string) => {
33
- setStartDate(value);
34
- onChange(value, endDate);
35
- };
36
-
37
- const handleEndDateChange = (value: string) => {
38
- setEndDate(value);
39
- onChange(startDate, value);
40
- };
41
-
42
- return (
43
- <div>
44
- <div style={{ display: "flex", flexDirection: "column", gap: "12px" }}>
45
- <div>
46
- <label
47
- htmlFor={`${id}-start`}
48
- style={{ display: "block", marginBottom: "4px" }}
49
- >
50
- Date début
51
- </label>
52
- <Input
53
- id={`${id}-start`}
54
- name={`${name}-start`}
55
- type={TypeInputEnum.DATE}
56
- value={startDate}
57
- onClick={(e) => e.stopPropagation()}
58
- onChange={(e) => handleStartDateChange(e.target.value)}
59
- />
60
- </div>
61
- <div>
62
- <label
63
- htmlFor={`${id}-end`}
64
- style={{ display: "block", marginBottom: "4px" }}
65
- >
66
- Date fin
67
- </label>
68
- <Input
69
- id={`${id}-end`}
70
- name={`${name}-end`}
71
- type={TypeInputEnum.DATE}
72
- value={endDate}
73
- onClick={(e) => e.stopPropagation()}
74
- onChange={(e) => handleEndDateChange(e.target.value)}
75
- />
76
- </div>
77
- </div>
78
- </div>
79
- );
80
- };
@@ -1,89 +0,0 @@
1
- import { useEffect, useState } from "react";
2
- import { Button } from "../../../..";
3
- import { EnumerableType } from "../../../../_core/type/generiqueType";
4
- import { TypeInputEnum } from "../../../../form/form.enum";
5
- import { Input } from "../../../../form/input/Input";
6
-
7
- type DataTableColumnFilterEnumProps = {
8
- type: TypeInputEnum;
9
- id: string;
10
- name?: string;
11
- data: EnumerableType[];
12
- onChange: (value: string) => void;
13
- currentValue?: string;
14
- };
15
- export const DataTableColumnFilterEnum = ({
16
- type,
17
- id,
18
- onChange,
19
- name,
20
- data,
21
- currentValue = "",
22
- }: DataTableColumnFilterEnumProps) => {
23
- const [selectedValue, setSelectedValue] = useState<string[]>(() => {
24
- return currentValue ? currentValue.split(",") : [];
25
- });
26
- const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
27
- let newSelectedValue: string[];
28
-
29
- if (type === TypeInputEnum.RADIO) {
30
- newSelectedValue = [e.target.value];
31
- } else {
32
- if (selectedValue.includes(e.target.value)) {
33
- newSelectedValue = selectedValue.filter(
34
- (val) => val !== e.target.value,
35
- );
36
- } else {
37
- newSelectedValue = [...selectedValue, e.target.value];
38
- }
39
- }
40
-
41
- setSelectedValue(newSelectedValue);
42
- onChange(newSelectedValue.join(","));
43
- };
44
- const allSelected = () => {
45
- if (selectedValue.length === data.length) {
46
- setSelectedValue([]);
47
- onChange("");
48
- } else {
49
- const allValues = data.map((d) => d.value);
50
- setSelectedValue(allValues);
51
- onChange(allValues.join(","));
52
- }
53
- };
54
- useEffect(() => {
55
- const newValue = currentValue ? currentValue.split(",") : [];
56
- setSelectedValue(newValue);
57
- }, [currentValue]);
58
- return (
59
- <>
60
- {data?.map((opt) => (
61
- <div
62
- style={{
63
- width: "150px",
64
- }}
65
- className="d-flex align-items-center"
66
- key={opt.value}
67
- >
68
- <Input
69
- id={id}
70
- name={`${name}-${opt.value}-filter`}
71
- value={opt.value}
72
- onChange={handleChange}
73
- type={type}
74
- checked={selectedValue.includes(opt.value)}
75
- />
76
- <label className="ml-2" htmlFor={`${name}-${opt.value}-filter`}>
77
- {opt.label}
78
- </label>
79
- </div>
80
- ))}
81
- <Button
82
- className="mt-2"
83
- onClick={allSelected}
84
- id={`${id}-select-all`}
85
- title="Tout sélectionner"
86
- />
87
- </>
88
- );
89
- };
@@ -1,37 +0,0 @@
1
- import { useState } from "react";
2
-
3
- import { Input } from "../../../../form/input/Input";
4
-
5
- type DataTableColumnFilterStringProps = {
6
- id: string;
7
- name: string;
8
- label: string;
9
- onChange: (value: string) => void;
10
- currentValue?: string;
11
- };
12
- export const DataTableColumnFilterString = ({
13
- id,
14
- name,
15
- label,
16
- onChange,
17
- currentValue,
18
- }: DataTableColumnFilterStringProps) => {
19
- const [selectedValue, setSelectedValue] = useState<string>(
20
- currentValue ?? "",
21
- );
22
- const handleChange = (value: string) => {
23
- setSelectedValue(value);
24
- onChange(value);
25
- };
26
- return (
27
- <div>
28
- <p>{label}</p>
29
- <Input
30
- id={id}
31
- name={name}
32
- value={selectedValue}
33
- onChange={(e) => handleChange(e.target.value)}
34
- />
35
- </div>
36
- );
37
- };
@@ -1,42 +0,0 @@
1
- import { Icon } from "../../../icon/Icon";
2
- import { DataTableSortDirection } from "../../DataTable";
3
- import { DataTableColumnsInterface } from "../../dataTable.interface";
4
-
5
- type DataTableColumnSortProps<T> = {
6
- className?: string;
7
- column: DataTableColumnsInterface<T>;
8
- sortDirection?: DataTableSortDirection | null;
9
- onToggleSort?: (column: DataTableColumnsInterface<T>) => void;
10
- };
11
-
12
- export const DataTableColumnSort = <T,>({
13
- className,
14
- column,
15
- sortDirection,
16
- onToggleSort,
17
- }: DataTableColumnSortProps<T>) => {
18
- const iconClass =
19
- sortDirection === "asc"
20
- ? "bi-sort-up"
21
- : sortDirection === "desc"
22
- ? "bi-sort-down"
23
- : "bi-arrow-down-up";
24
-
25
- return (
26
- <div
27
- className={`data-table-column-sort ${sortDirection ? "active" : ""} ${className ?? ""}`}
28
- >
29
- <span>
30
- <Icon
31
- onClick={(e) => {
32
- e.stopPropagation();
33
- onToggleSort?.(column);
34
- }}
35
- classIcon={`${iconClass} cursor-pointer ${
36
- sortDirection ? "data-table-column-sort-active" : ""
37
- }`}
38
- />
39
- </span>
40
- </div>
41
- );
42
- };
@@ -1,91 +0,0 @@
1
- import { Badge } from "../../badge/Badge";
2
- import { Icon } from "../../icon/Icon";
3
- import {
4
- DataTableDateRangeFilterValue,
5
- DataTableFilterState,
6
- } from "../DataTable";
7
- import "./dataTableFilters.css";
8
- export type DataTableFiltersProps = {
9
- currentFilters: DataTableFilterState;
10
- setCurrentFilters: React.Dispatch<React.SetStateAction<DataTableFilterState>>;
11
- };
12
- export const DataTableFilters = ({
13
- currentFilters,
14
- setCurrentFilters,
15
- }: DataTableFiltersProps) => {
16
- const isDateRangeFilterValue = (
17
- value: DataTableFilterState[string],
18
- ): value is DataTableDateRangeFilterValue => {
19
- return (
20
- typeof value === "object" &&
21
- value !== null &&
22
- "startDate" in value &&
23
- "endDate" in value
24
- );
25
- };
26
-
27
- const getDisplayValue = (value: DataTableFilterState[string]) => {
28
- if (isDateRangeFilterValue(value)) {
29
- if (value.startDate && value.endDate) {
30
- return `${value.startDate} - ${value.endDate}`;
31
- }
32
-
33
- if (value.startDate) {
34
- return `a partir de ${value.startDate}`;
35
- }
36
-
37
- if (value.endDate) {
38
- return `jusqu'au ${value.endDate}`;
39
- }
40
-
41
- return "";
42
- }
43
-
44
- return String(value ?? "");
45
- };
46
-
47
- const generateColor = (str: string): string => {
48
- let hash = 0;
49
- for (let i = 0; i < str.length; i++) {
50
- hash = str.charCodeAt(i) + ((hash << 5) - hash);
51
- }
52
-
53
- const hue = hash % 360;
54
- return `hsl(${hue}, 80%, 30%)`;
55
- };
56
-
57
- const removeFilters = (key: string) => {
58
- setCurrentFilters((prev: any) => {
59
- const { [key]: _removed, ...rest } = prev;
60
- return rest;
61
- });
62
- };
63
- if (!currentFilters || Object.keys(currentFilters).length === 0) {
64
- return null;
65
- }
66
-
67
- return (
68
- <div className="badge-filters">
69
- {Object.keys(currentFilters).map((key) => {
70
- const value = getDisplayValue(currentFilters[key]);
71
- const displayValue =
72
- value.length > 20 ? value.substring(0, 20) + "..." : value;
73
-
74
- return (
75
- <Badge
76
- onRemove={() => removeFilters(key)}
77
- className="mr-2"
78
- title={`${key} : ${displayValue}`}
79
- color={generateColor(key)}
80
- key={key}
81
- />
82
- );
83
- })}
84
-
85
- <Icon
86
- classIcon="bi-x badge-filters-clear"
87
- onClick={() => setCurrentFilters({})}
88
- />
89
- </div>
90
- );
91
- };
@@ -1,16 +0,0 @@
1
- .badge-filters {
2
- border-radius: 4px;
3
- padding: 0.25rem;
4
- border: 1px solid #dedede;
5
- width: fit-content;
6
- display: flex;
7
- align-items: center;
8
- position: sticky;
9
- left: 0;
10
- .badge-filters-clear {
11
- padding: 0.05rem;
12
- border: 1px solid #dedede;
13
- border-radius: 4px;
14
- cursor: pointer;
15
- }
16
- }