kelt-ui-kit-react 2.0.8 → 2.0.9

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 (319) hide show
  1. package/.github/workflows/publish.yml +40 -31
  2. package/README.md +124 -72
  3. package/dist/App.d.ts +2 -3
  4. package/dist/App.menu.d.ts +10 -10
  5. package/dist/App.routes.d.ts +1 -1
  6. package/dist/_core/hooks/HistoryProvider.d.ts +5 -5
  7. package/dist/_core/hooks/ImageChecker.d.ts +5 -6
  8. package/dist/_core/hooks/imageExist.d.ts +5 -6
  9. package/dist/_core/hooks/isEAN13.d.ts +1 -1
  10. package/dist/_core/hooks/objectToQueryParams.d.ts +1 -1
  11. package/dist/_core/hooks/useCurrency.d.ts +3 -3
  12. package/dist/_core/hooks/useDateutils.d.ts +4 -4
  13. package/dist/_core/hooks/useIsMobile.d.ts +1 -1
  14. package/dist/_core/hooks/useToken.d.ts +3 -3
  15. package/dist/_core/hooks/useValidate.d.ts +5 -5
  16. package/dist/_core/hooks/widgetSupport.d.ts +1 -1
  17. package/dist/_core/type/generiqueType.d.ts +4 -0
  18. package/dist/action/Action.view.d.ts +1 -1
  19. package/dist/action/ButtonAction.d.ts +8 -9
  20. package/dist/addressSearch/AddressSearch.d.ts +18 -19
  21. package/dist/addressSearch/AddressSearch.view.d.ts +1 -1
  22. package/dist/badge/Badge.d.ts +10 -9
  23. package/dist/badge/Badge.view.d.ts +1 -1
  24. package/dist/button/Button.d.ts +1 -2
  25. package/dist/button/Button.view.d.ts +1 -1
  26. package/dist/button/button.interface.d.ts +19 -20
  27. package/dist/button/buttonActions/ButtonActions.d.ts +11 -12
  28. package/dist/button/buttonFile/ButtonFile.d.ts +9 -9
  29. package/dist/button/buttonFile/ButtonFile.view.d.ts +1 -1
  30. package/dist/button/buttonFilters/ButtonFilters.d.ts +16 -17
  31. package/dist/card/Card.d.ts +14 -15
  32. package/dist/card/Card.view.d.ts +1 -1
  33. package/dist/card/card.interface.d.ts +10 -10
  34. package/dist/card/cardAction/CardAction.d.ts +13 -14
  35. package/dist/card/cardAction.interface.d.ts +8 -9
  36. package/dist/card/hook/useCardInteractions.d.ts +8 -8
  37. package/dist/carousel/Carousel.d.ts +14 -15
  38. package/dist/carousel/Carousel.view.d.ts +1 -1
  39. package/dist/damier/Damier.d.ts +9 -10
  40. package/dist/damier/Damier.view.d.ts +1 -1
  41. package/dist/damier/damierCell/DamierCell.d.ts +6 -7
  42. package/dist/damier/damierCell/damierCell.interface.d.ts +6 -6
  43. package/dist/dataTable/DataTable.d.ts +37 -33
  44. package/dist/dataTable/DataTable.view.d.ts +1 -1
  45. package/dist/dataTable/dataTable.interface.d.ts +70 -47
  46. package/dist/dataTable/dataTable.utils.d.ts +17 -0
  47. package/dist/dataTable/dataTableActions/DataTableAction.d.ts +9 -10
  48. package/dist/dataTable/dataTableColumn/DataTableColumn.d.ts +14 -8
  49. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.d.ts +9 -0
  50. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.d.ts +9 -0
  51. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.d.ts +9 -0
  52. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.d.ts +12 -0
  53. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.d.ts +9 -0
  54. package/dist/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.d.ts +10 -0
  55. package/dist/dataTable/dataTableFilters/DataTableFilters.d.ts +6 -0
  56. package/dist/dataTable/dataTableLoading/DataTableLoading.d.ts +8 -7
  57. package/dist/dataTable/dataTableRow/DataTableRow.d.ts +12 -11
  58. package/dist/dataTable/useDataTableState.d.ts +13 -0
  59. package/dist/datePicker/DatePicker.d.ts +7 -8
  60. package/dist/datePicker/DatePicker.view.d.ts +1 -1
  61. package/dist/docs/ComponentDocs.d.ts +6 -0
  62. package/dist/docs/catalog.d.ts +8 -0
  63. package/dist/docs/documentation.types.d.ts +21 -0
  64. package/dist/expands/Expands.d.ts +11 -12
  65. package/dist/expands/Expands.view.d.ts +1 -1
  66. package/dist/expands/expand/expand.d.ts +10 -11
  67. package/dist/expands/expand/expand.interface.d.ts +9 -9
  68. package/dist/filAriane/FilAriane.d.ts +8 -9
  69. package/dist/filAriane/FilAriane.view.d.ts +1 -1
  70. package/dist/filAriane/filAriane.interface.d.ts +6 -6
  71. package/dist/form/Form.d.ts +35 -36
  72. package/dist/form/Form.view.d.ts +1 -1
  73. package/dist/form/form.enum.d.ts +16 -15
  74. package/dist/form/form.interface.d.ts +53 -54
  75. package/dist/form/input/Input.d.ts +27 -25
  76. package/dist/form/inputNumber/InputNumber.d.ts +21 -22
  77. package/dist/form/inputNumber/InputNumber.view.d.ts +1 -1
  78. package/dist/form/inputPrice/InputPrice.d.ts +14 -15
  79. package/dist/form/inputPrice/InputPrice.view.d.ts +1 -1
  80. package/dist/form/textArea/TextArea.d.ts +14 -15
  81. package/dist/form/textArea/TextArea.view.d.ts +1 -1
  82. package/dist/geocoding/GeocodingService.d.ts +11 -12
  83. package/dist/geocoding/geocoding.interface.d.ts +20 -20
  84. package/dist/grid/Grid.d.ts +9 -10
  85. package/dist/grid/Grid.view.d.ts +1 -1
  86. package/dist/grid/col/Col.d.ts +5 -6
  87. package/dist/grid/col/colStyled/ColStyled.d.ts +10 -11
  88. package/dist/grid/container/Container.d.ts +5 -6
  89. package/dist/grid/grid.interface.d.ts +23 -23
  90. package/dist/grid/row/Row.d.ts +13 -14
  91. package/dist/header/Header.d.ts +1 -2
  92. package/dist/header/Header.view.d.ts +1 -1
  93. package/dist/header/header.interface.d.ts +12 -12
  94. package/dist/home/Home.d.ts +1 -1
  95. package/dist/icon/Icon.d.ts +1 -2
  96. package/dist/icon/Icons.view.d.ts +1 -1
  97. package/dist/icon/icon.interface.d.ts +5 -5
  98. package/dist/icon/iconSize.enum.d.ts +7 -7
  99. package/dist/index.d.ts +56 -54
  100. package/dist/index.html +18 -18
  101. package/dist/index.js +4001 -3510
  102. package/dist/loader/Loader.d.ts +7 -8
  103. package/dist/loader/Loader.view.d.ts +1 -1
  104. package/dist/main.d.ts +0 -1
  105. package/dist/manifest.json +25 -25
  106. package/dist/menus/Menus.d.ts +5 -6
  107. package/dist/menus/Menus.view.d.ts +1 -1
  108. package/dist/menus/menu/Menu.d.ts +7 -8
  109. package/dist/menus/menu/menu.interface.d.ts +10 -10
  110. package/dist/message/Message.d.ts +6 -7
  111. package/dist/message/Message.view.d.ts +1 -1
  112. package/dist/modal/Modal.d.ts +13 -14
  113. package/dist/modal/Modal.view.d.ts +1 -1
  114. package/dist/notFound/NotFound.d.ts +1 -1
  115. package/dist/overlayPanel/OverlayPanel.d.ts +22 -23
  116. package/dist/overlayPanel/OverlayPanel.view.d.ts +1 -1
  117. package/dist/overlayPanel/overlay.context.d.ts +9 -10
  118. package/dist/overlayPanel/overlayPanelStyled/OverlayPanelStyled.d.ts +9 -9
  119. package/dist/pdfViewer/PdfViewer.d.ts +12 -12
  120. package/dist/pdfViewer/PdfViewer.view.d.ts +1 -1
  121. package/dist/quantity/Quantity.d.ts +10 -11
  122. package/dist/robots.txt +3 -3
  123. package/dist/search/Search.d.ts +21 -22
  124. package/dist/search/Search.view.d.ts +1 -1
  125. package/dist/select/Select.d.ts +23 -24
  126. package/dist/select/Select.view.d.ts +1 -1
  127. package/dist/select/selectOption.interface.d.ts +5 -5
  128. package/dist/sidebar/Sidebar.d.ts +12 -13
  129. package/dist/sidebar/Sidebar.view.d.ts +1 -1
  130. package/dist/sidebarData/SidebarData.d.ts +6 -7
  131. package/dist/sidebarData/SidebarData.view.d.ts +1 -1
  132. package/dist/style.css +1 -1
  133. package/dist/tabs/Tabs.d.ts +17 -17
  134. package/dist/tabs/Tabs.view.d.ts +1 -1
  135. package/dist/toaster/Toaster.d.ts +1 -2
  136. package/dist/toaster/Toaster.view.d.ts +1 -1
  137. package/dist/toaster/store/useToasterStore.d.ts +24 -24
  138. package/docs.plugin.ts +223 -0
  139. package/index.html +20 -18
  140. package/package.json +64 -56
  141. package/public/index.html +18 -18
  142. package/public/manifest.json +25 -25
  143. package/public/robots.txt +3 -3
  144. package/src/App.css +178 -11
  145. package/src/App.menu.tsx +277 -257
  146. package/src/App.routes.tsx +21 -16
  147. package/src/App.tsx +31 -30
  148. package/src/_core/hooks/HistoryProvider.tsx +25 -25
  149. package/src/_core/hooks/ImageChecker.tsx +26 -26
  150. package/src/_core/hooks/imageExist.tsx +9 -9
  151. package/src/_core/hooks/isEAN13.tsx +16 -16
  152. package/src/_core/hooks/objectToQueryParams.tsx +32 -32
  153. package/src/_core/hooks/useCurrency.tsx +18 -18
  154. package/src/_core/hooks/useDateutils.ts +64 -64
  155. package/src/_core/hooks/useIsMobile.ts +18 -18
  156. package/src/_core/hooks/useToken.tsx +19 -19
  157. package/src/_core/hooks/useValidate.tsx +18 -18
  158. package/src/_core/hooks/widgetSupport.tsx +39 -39
  159. package/src/_core/type/generiqueType.tsx +4 -0
  160. package/src/action/Action.view.tsx +21 -21
  161. package/src/action/ButtonAction.tsx +32 -32
  162. package/src/action/action.css +20 -20
  163. package/src/addressSearch/AddressSearch.tsx +246 -246
  164. package/src/addressSearch/AddressSearch.view.tsx +52 -52
  165. package/src/addressSearch/addressSearch.css +132 -132
  166. package/src/badge/Badge.tsx +41 -34
  167. package/src/badge/Badge.view.tsx +15 -15
  168. package/src/badge/badge.css +63 -55
  169. package/src/button/Button.tsx +48 -48
  170. package/src/button/Button.view.tsx +85 -85
  171. package/src/button/button.css +53 -53
  172. package/src/button/button.interface.tsx +22 -22
  173. package/src/button/buttonActions/ButtonActions.tsx +104 -104
  174. package/src/button/buttonFile/ButtonFile.tsx +59 -59
  175. package/src/button/buttonFile/ButtonFile.view.tsx +70 -70
  176. package/src/button/buttonFilters/ButtonFilters.tsx +102 -102
  177. package/src/button/buttonFilters/buttonFilters.css +22 -22
  178. package/src/card/Card.tsx +151 -151
  179. package/src/card/Card.view.tsx +73 -73
  180. package/src/card/card.css +144 -144
  181. package/src/card/card.interface.tsx +9 -9
  182. package/src/card/cardAction/CardAction.tsx +135 -135
  183. package/src/card/cardAction/cardAction.css +10 -10
  184. package/src/card/cardAction.interface.tsx +10 -10
  185. package/src/card/hook/useCardInteractions.tsx +30 -30
  186. package/src/carousel/Carousel.css +44 -44
  187. package/src/carousel/Carousel.tsx +115 -115
  188. package/src/carousel/Carousel.view.tsx +13 -13
  189. package/src/damier/Damier.tsx +64 -64
  190. package/src/damier/Damier.view.tsx +31 -31
  191. package/src/damier/damier.css +50 -50
  192. package/src/damier/damierCell/DamierCell.tsx +18 -18
  193. package/src/damier/damierCell/damierCell.interface.tsx +5 -5
  194. package/src/dataTable/DataTable.tsx +840 -746
  195. package/src/dataTable/DataTable.view.tsx +105 -71
  196. package/src/dataTable/dataTable.css +233 -208
  197. package/src/dataTable/dataTable.interface.ts +66 -45
  198. package/src/dataTable/dataTable.utils.ts +45 -0
  199. package/src/dataTable/dataTableActions/DataTableAction.tsx +82 -65
  200. package/src/dataTable/dataTableColumn/DataTableColumn.tsx +48 -27
  201. package/src/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.tsx +36 -0
  202. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilter.css +0 -0
  203. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.tsx +39 -0
  204. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.tsx +80 -0
  205. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.tsx +89 -0
  206. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.tsx +37 -0
  207. package/src/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.tsx +42 -0
  208. package/src/dataTable/dataTableFilters/DataTableFilters.tsx +91 -0
  209. package/src/dataTable/dataTableFilters/dataTableFilters.css +16 -0
  210. package/src/dataTable/dataTableLoading/DataTableLoading.tsx +23 -21
  211. package/src/dataTable/dataTableRow/DataTableRow.tsx +155 -208
  212. package/src/dataTable/useDataTableState.tsx +89 -0
  213. package/src/datePicker/DatePicker.tsx +110 -110
  214. package/src/datePicker/DatePicker.view.tsx +9 -9
  215. package/src/datePicker/datePicker.css +77 -77
  216. package/src/docs/ComponentDocs.tsx +156 -0
  217. package/src/docs/catalog.ts +40 -0
  218. package/src/docs/documentation.types.ts +20 -0
  219. package/src/docs/virtual.d.ts +7 -0
  220. package/src/expands/Expands.tsx +46 -46
  221. package/src/expands/Expands.view.tsx +90 -90
  222. package/src/expands/expand/expand.interface.tsx +8 -8
  223. package/src/expands/expand/expand.tsx +191 -191
  224. package/src/expands/expands.css +101 -101
  225. package/src/filAriane/FilAriane.tsx +57 -57
  226. package/src/filAriane/FilAriane.view.tsx +28 -28
  227. package/src/filAriane/filAriane.css +23 -23
  228. package/src/filAriane/filAriane.interface.tsx +6 -6
  229. package/src/form/Form.tsx +477 -477
  230. package/src/form/Form.view.tsx +67 -67
  231. package/src/form/form.css +135 -135
  232. package/src/form/form.enum.ts +16 -15
  233. package/src/form/form.interface.tsx +67 -67
  234. package/src/form/input/Input.tsx +146 -106
  235. package/src/form/input/input.css +39 -29
  236. package/src/form/inputNumber/InputNumber.tsx +132 -132
  237. package/src/form/inputNumber/InputNumber.view.tsx +15 -15
  238. package/src/form/inputPrice/InputPrice.tsx +42 -42
  239. package/src/form/inputPrice/InputPrice.view.tsx +15 -15
  240. package/src/form/textArea/TextArea.tsx +59 -59
  241. package/src/form/textArea/TextArea.view.tsx +34 -34
  242. package/src/form/textArea/textArea.css +9 -9
  243. package/src/geocoding/GeocodingService.ts +89 -89
  244. package/src/geocoding/geocoding.interface.ts +25 -25
  245. package/src/grid/Grid.tsx +34 -34
  246. package/src/grid/Grid.view.tsx +24 -24
  247. package/src/grid/col/Col.tsx +24 -24
  248. package/src/grid/col/col.css +3 -3
  249. package/src/grid/col/colStyled/ColStyled.tsx +59 -59
  250. package/src/grid/container/Container.tsx +8 -8
  251. package/src/grid/container/container.css +4 -4
  252. package/src/grid/grid.interface.tsx +27 -27
  253. package/src/grid/row/Row.tsx +49 -49
  254. package/src/grid/row/row.css +25 -25
  255. package/src/header/Header.tsx +64 -64
  256. package/src/header/Header.view.tsx +5 -5
  257. package/src/header/header.css +43 -43
  258. package/src/header/header.interface.tsx +11 -11
  259. package/src/home/Home.tsx +40 -3
  260. package/src/icon/Icon.tsx +6 -6
  261. package/src/icon/Icons.view.tsx +29 -29
  262. package/src/icon/icon.css +20 -20
  263. package/src/icon/icon.interface.tsx +7 -6
  264. package/src/icon/iconSize.enum.ts +7 -7
  265. package/src/index.css +547 -547
  266. package/src/index.ts +76 -70
  267. package/src/loader/Loader.tsx +37 -37
  268. package/src/loader/Loader.view.tsx +20 -20
  269. package/src/loader/loader.css +30 -30
  270. package/src/main.tsx +10 -10
  271. package/src/menus/Menus.tsx +43 -43
  272. package/src/menus/Menus.view.tsx +39 -39
  273. package/src/menus/menu/Menu.tsx +18 -18
  274. package/src/menus/menu/menu.interface.tsx +9 -9
  275. package/src/menus/menus.css +47 -47
  276. package/src/message/Message.tsx +30 -30
  277. package/src/message/Message.view.tsx +22 -22
  278. package/src/message/message.css +29 -29
  279. package/src/modal/Modal.tsx +59 -59
  280. package/src/modal/Modal.view.tsx +26 -26
  281. package/src/modal/modal.css +71 -71
  282. package/src/notFound/NotFound.tsx +3 -3
  283. package/src/overlayPanel/OverlayPanel.tsx +260 -255
  284. package/src/overlayPanel/OverlayPanel.view.tsx +25 -25
  285. package/src/overlayPanel/overlay.context.tsx +30 -30
  286. package/src/overlayPanel/overlayPanel.css +43 -43
  287. package/src/overlayPanel/overlayPanelStyled/OverlayPanelStyled.tsx +23 -23
  288. package/src/pdfViewer/PdfViewer.tsx +73 -73
  289. package/src/pdfViewer/PdfViewer.view.tsx +5 -5
  290. package/src/quantity/Quantity.tsx +103 -103
  291. package/src/quantity/quantity.css +26 -26
  292. package/src/search/Search.tsx +161 -161
  293. package/src/search/Search.view.tsx +14 -14
  294. package/src/search/search.css +59 -59
  295. package/src/select/Select.tsx +245 -245
  296. package/src/select/Select.view.tsx +71 -71
  297. package/src/select/select.css +150 -150
  298. package/src/select/selectOption.interface.ts +5 -5
  299. package/src/sidebar/Sidebar.tsx +213 -213
  300. package/src/sidebar/Sidebar.view.tsx +17 -17
  301. package/src/sidebar/sidebar.css +103 -103
  302. package/src/sidebarData/SidebarData.tsx +19 -19
  303. package/src/sidebarData/SidebarData.view.tsx +19 -19
  304. package/src/sidebarData/sidebarData.css +27 -27
  305. package/src/tabs/Tabs.tsx +101 -90
  306. package/src/tabs/Tabs.view.tsx +20 -20
  307. package/src/tabs/tabs.css +29 -29
  308. package/src/toaster/Toaster.tsx +61 -61
  309. package/src/toaster/Toaster.view.tsx +25 -25
  310. package/src/toaster/store/useToasterStore.tsx +54 -54
  311. package/src/toaster/toaster.css +105 -105
  312. package/tests/dataTable.test.mjs +93 -0
  313. package/tests/documentation.test.mjs +75 -0
  314. package/tsconfig.docs.json +10 -0
  315. package/tsconfig.json +28 -28
  316. package/vite.config.ts +26 -20
  317. package/vite.config.ts.timestamp-1733262892554-a13dfef6e8a29.mjs +24 -24
  318. package/vite.config.ts.timestamp-1757847121745-e5a5bf54b81b.mjs +28 -28
  319. package/vite.config.ts.timestamp-1759742478362-4ac5c5a7db34b.mjs +28 -28
package/src/App.menu.tsx CHANGED
@@ -1,257 +1,277 @@
1
- import { NavLink } from "react-router-dom";
2
- import { ActionView } from "./action/Action.view";
3
- import { AddressSearchView } from "./addressSearch/AddressSearch.view";
4
- import { BadgeView } from "./badge/Badge.view";
5
- import { ButtonView } from "./button/Button.view";
6
- import { ButtonFileView } from "./button/buttonFile/ButtonFile.view";
7
- import { CardView } from "./card/Card.view";
8
- import { CarouselView } from "./carousel/Carousel.view";
9
- import { DamierView } from "./damier/Damier.view";
10
- import { DataTableView } from "./dataTable/DataTable.view";
11
- import { DatePickerView } from "./datePicker/DatePicker.view";
12
- import { ExpandsView } from "./expands/Expands.view";
13
- import { FilArianeView } from "./filAriane/FilAriane.view";
14
- import { FormView } from "./form/Form.view";
15
- import { InputNumberView } from "./form/inputNumber/InputNumber.view";
16
- import { InputPriceView } from "./form/inputPrice/InputPrice.view";
17
- import { TextAreaView } from "./form/textArea/TextArea.view";
18
- import { GridView } from "./grid/Grid.view";
19
- import { HeaderView } from "./header/Header.view";
20
- import { IconsView } from "./icon/Icons.view";
21
- import { LoaderView } from "./loader/Loader.view";
22
- import { Menus } from "./menus/Menus";
23
- import { MenusView } from "./menus/Menus.view";
24
- import { MessageView } from "./message/Message.view";
25
- import { ModalView } from "./modal/Modal.view";
26
- import { OverlayPanelView } from "./overlayPanel/OverlayPanel.view";
27
- import { SearchView } from "./search/Search.view";
28
- import { SelectView } from "./select/Select.view";
29
- import { SidebarView } from "./sidebar/Sidebar.view";
30
- import { SidebarDataView } from "./sidebarData/SidebarData.view";
31
- import { TabsView } from "./tabs/Tabs.view";
32
- import { ToasterView } from "./toaster/Toaster.view";
33
- export type MenuProps = {
34
- id: number;
35
- name: string;
36
- children: JSX.Element;
37
- link: string;
38
- element: JSX.Element;
39
- };
40
- export const MenuList: MenuProps[] = [
41
- {
42
- id: 1,
43
- name: "Expands",
44
- link: "/expands",
45
- children: <NavLink to="/expands">Expands</NavLink>,
46
- element: <ExpandsView />,
47
- },
48
- {
49
- id: 2,
50
- name: "Menus",
51
- link: "/menus",
52
- children: <NavLink to="/menus">Menus</NavLink>,
53
- element: <MenusView />,
54
- },
55
- {
56
- id: 3,
57
- name: "Buttons",
58
- link: "/buttons",
59
- children: <NavLink to="/buttons">Buttons</NavLink>,
60
- element: <ButtonView />,
61
- },
62
- {
63
- id: 4,
64
- name: "Toasters",
65
- link: "/toasters",
66
- children: <NavLink to="/toasters">Toasters</NavLink>,
67
- element: <ToasterView />,
68
- },
69
- {
70
- id: 5,
71
- name: "Form",
72
- link: "/form",
73
- children: <NavLink to="/form">Form</NavLink>,
74
- element: <FormView />,
75
- },
76
- {
77
- id: 6,
78
- name: "Icons",
79
- link: "/icons",
80
- children: <NavLink to="/icons">Icons</NavLink>,
81
- element: <IconsView />,
82
- },
83
- {
84
- id: 7,
85
- name: "Header",
86
- link: "/headers",
87
- children: <NavLink to="/headers">Header</NavLink>,
88
- element: <HeaderView />,
89
- },
90
- {
91
- id: 8,
92
- name: "Sidebar",
93
- link: "/sidebar",
94
- children: <NavLink to="/sidebar">Sidebar</NavLink>,
95
- element: <SidebarView />,
96
- },
97
-
98
- {
99
- id: 9,
100
- name: "Grid",
101
- link: "/grid",
102
- children: <NavLink to="/grid">Grid</NavLink>,
103
- element: <GridView />,
104
- },
105
- {
106
- id: 10,
107
- name: "Overlay Panel",
108
- link: "/overlay",
109
- children: <NavLink to="/overlay">Overlay Panel</NavLink>,
110
- element: <OverlayPanelView />,
111
- },
112
- {
113
- id: 11,
114
- name: "Data search",
115
- link: "/search",
116
- children: <NavLink to="/search">Data search</NavLink>,
117
- element: <SearchView />,
118
- },
119
-
120
- {
121
- id: 12,
122
- name: "Card",
123
- link: "/card",
124
- children: <NavLink to="/card">Card</NavLink>,
125
- element: <CardView />,
126
- },
127
- {
128
- id: 13,
129
- name: "Sidebar Data",
130
- link: "/sidebar-data",
131
- children: <NavLink to="/sidebar-data">Sidebar Data</NavLink>,
132
- element: <SidebarDataView />,
133
- },
134
- {
135
- id: 14,
136
- name: "Damier",
137
- link: "/damier",
138
- children: <NavLink to="/damier">Damier</NavLink>,
139
- element: <DamierView />,
140
- },
141
- {
142
- id: 15,
143
- name: "Fil Ariane",
144
- link: "/fil-ariane",
145
- children: <NavLink to="/fil-ariane">Fil Ariane</NavLink>,
146
- element: <FilArianeView />,
147
- },
148
- {
149
- id: 16,
150
- name: "Loader",
151
- link: "/loader",
152
- children: <NavLink to="/loader">Loader</NavLink>,
153
- element: <LoaderView />,
154
- },
155
- {
156
- id: 17,
157
- name: "Carousel",
158
- link: "/carousel",
159
- children: <NavLink to="/carousel">Carousel</NavLink>,
160
- element: <CarouselView />,
161
- },
162
- {
163
- id: 18,
164
- name: "Action",
165
- link: "/action",
166
- children: <NavLink to="/action">Action</NavLink>,
167
- element: <ActionView />,
168
- },
169
- {
170
- id: 19,
171
- name: "Modal",
172
- link: "/modal",
173
- children: <NavLink to="/modal">Modal</NavLink>,
174
- element: <ModalView />,
175
- },
176
- {
177
- id: 20,
178
- name: "Badge",
179
- link: "/badge",
180
- children: <NavLink to="/badge">Badge</NavLink>,
181
- element: <BadgeView />,
182
- },
183
- {
184
- id: 21,
185
- name: "Data table",
186
- link: "/data-table",
187
- children: <NavLink to="/data-table">Data table</NavLink>,
188
- element: <DataTableView />,
189
- },
190
- {
191
- id: 22,
192
- name: "Select",
193
- link: "/select",
194
- children: <NavLink to="/select">Select</NavLink>,
195
- element: <SelectView />,
196
- },
197
- {
198
- id: 23,
199
- name: "TextArea",
200
- link: "/text-area",
201
- children: <NavLink to="/text-area">Text</NavLink>,
202
- element: <TextAreaView />,
203
- },
204
- {
205
- id: 24,
206
- name: "Date picker",
207
- link: "/date-picker",
208
- children: <NavLink to="/date-picker">Date picker</NavLink>,
209
- element: <DatePickerView />,
210
- },
211
- {
212
- id: 25,
213
- name: "Tabs",
214
- link: "/tabs",
215
- children: <NavLink to="/tabs">Tabs</NavLink>,
216
- element: <TabsView />,
217
- },
218
- {
219
- id: 26,
220
- name: "Messages",
221
- link: "/messages",
222
- children: <NavLink to="/messages">Messages</NavLink>,
223
- element: <MessageView />,
224
- },
225
- {
226
- id: 27,
227
- name: "Input Number",
228
- link: "/input-number",
229
- children: <NavLink to="/input-number">Input Number</NavLink>,
230
- element: <InputNumberView />,
231
- },
232
- {
233
- id: 28,
234
- name: "Input Price",
235
- link: "/input-price",
236
- children: <NavLink to="/input-price">Input Price</NavLink>,
237
- element: <InputPriceView />,
238
- },
239
- {
240
- id: 29,
241
- name: "Button File",
242
- link: "/button-file",
243
- children: <NavLink to="/button-file">Button File</NavLink>,
244
- element: <ButtonFileView />,
245
- },
246
- {
247
- id: 30,
248
- name: "Address search",
249
- link: "/address-search",
250
- children: <NavLink to="/address-search">Address search</NavLink>,
251
- element: <AddressSearchView />,
252
- },
253
- ];
254
-
255
- export const AppMenu = (): JSX.Element => {
256
- return <Menus items={MenuList} className="main-layout-menu" />;
257
- };
1
+ import { NavLink } from "react-router-dom";
2
+ import { useState } from "react";
3
+ import { catalog, categories, matchesSearch } from "./docs/catalog";
4
+ import { ActionView } from "./action/Action.view";
5
+ import { AddressSearchView } from "./addressSearch/AddressSearch.view";
6
+ import { BadgeView } from "./badge/Badge.view";
7
+ import { ButtonView } from "./button/Button.view";
8
+ import { ButtonFileView } from "./button/buttonFile/ButtonFile.view";
9
+ import { CardView } from "./card/Card.view";
10
+ import { CarouselView } from "./carousel/Carousel.view";
11
+ import { DamierView } from "./damier/Damier.view";
12
+ import { DataTableView } from "./dataTable/DataTable.view";
13
+ import { DatePickerView } from "./datePicker/DatePicker.view";
14
+ import { ExpandsView } from "./expands/Expands.view";
15
+ import { FilArianeView } from "./filAriane/FilAriane.view";
16
+ import { FormView } from "./form/Form.view";
17
+ import { InputNumberView } from "./form/inputNumber/InputNumber.view";
18
+ import { InputPriceView } from "./form/inputPrice/InputPrice.view";
19
+ import { TextAreaView } from "./form/textArea/TextArea.view";
20
+ import { GridView } from "./grid/Grid.view";
21
+ import { HeaderView } from "./header/Header.view";
22
+ import { IconsView } from "./icon/Icons.view";
23
+ import { LoaderView } from "./loader/Loader.view";
24
+ import { MenusView } from "./menus/Menus.view";
25
+ import { MessageView } from "./message/Message.view";
26
+ import { ModalView } from "./modal/Modal.view";
27
+ import { OverlayPanelView } from "./overlayPanel/OverlayPanel.view";
28
+ import { SearchView } from "./search/Search.view";
29
+ import { SelectView } from "./select/Select.view";
30
+ import { SidebarView } from "./sidebar/Sidebar.view";
31
+ import { SidebarDataView } from "./sidebarData/SidebarData.view";
32
+ import { TabsView } from "./tabs/Tabs.view";
33
+ import { ToasterView } from "./toaster/Toaster.view";
34
+ export type MenuProps = {
35
+ id: number;
36
+ name: string;
37
+ children: JSX.Element;
38
+ link: string;
39
+ element: JSX.Element;
40
+ };
41
+ export const MenuList: MenuProps[] = [
42
+ {
43
+ id: 1,
44
+ name: "Expands",
45
+ link: "/expands",
46
+ children: <NavLink to="/expands">Expands</NavLink>,
47
+ element: <ExpandsView />,
48
+ },
49
+ {
50
+ id: 2,
51
+ name: "Menus",
52
+ link: "/menus",
53
+ children: <NavLink to="/menus">Menus</NavLink>,
54
+ element: <MenusView />,
55
+ },
56
+ {
57
+ id: 3,
58
+ name: "Buttons",
59
+ link: "/buttons",
60
+ children: <NavLink to="/buttons">Buttons</NavLink>,
61
+ element: <ButtonView />,
62
+ },
63
+ {
64
+ id: 4,
65
+ name: "Toasters",
66
+ link: "/toasters",
67
+ children: <NavLink to="/toasters">Toasters</NavLink>,
68
+ element: <ToasterView />,
69
+ },
70
+ {
71
+ id: 5,
72
+ name: "Form",
73
+ link: "/form",
74
+ children: <NavLink to="/form">Form</NavLink>,
75
+ element: <FormView />,
76
+ },
77
+ {
78
+ id: 6,
79
+ name: "Icons",
80
+ link: "/icons",
81
+ children: <NavLink to="/icons">Icons</NavLink>,
82
+ element: <IconsView />,
83
+ },
84
+ {
85
+ id: 7,
86
+ name: "Header",
87
+ link: "/headers",
88
+ children: <NavLink to="/headers">Header</NavLink>,
89
+ element: <HeaderView />,
90
+ },
91
+ {
92
+ id: 8,
93
+ name: "Sidebar",
94
+ link: "/sidebar",
95
+ children: <NavLink to="/sidebar">Sidebar</NavLink>,
96
+ element: <SidebarView />,
97
+ },
98
+
99
+ {
100
+ id: 9,
101
+ name: "Grid",
102
+ link: "/grid",
103
+ children: <NavLink to="/grid">Grid</NavLink>,
104
+ element: <GridView />,
105
+ },
106
+ {
107
+ id: 10,
108
+ name: "Overlay Panel",
109
+ link: "/overlay",
110
+ children: <NavLink to="/overlay">Overlay Panel</NavLink>,
111
+ element: <OverlayPanelView />,
112
+ },
113
+ {
114
+ id: 11,
115
+ name: "Data search",
116
+ link: "/search",
117
+ children: <NavLink to="/search">Data search</NavLink>,
118
+ element: <SearchView />,
119
+ },
120
+
121
+ {
122
+ id: 12,
123
+ name: "Card",
124
+ link: "/card",
125
+ children: <NavLink to="/card">Card</NavLink>,
126
+ element: <CardView />,
127
+ },
128
+ {
129
+ id: 13,
130
+ name: "Sidebar Data",
131
+ link: "/sidebar-data",
132
+ children: <NavLink to="/sidebar-data">Sidebar Data</NavLink>,
133
+ element: <SidebarDataView />,
134
+ },
135
+ {
136
+ id: 14,
137
+ name: "Damier",
138
+ link: "/damier",
139
+ children: <NavLink to="/damier">Damier</NavLink>,
140
+ element: <DamierView />,
141
+ },
142
+ {
143
+ id: 15,
144
+ name: "Fil Ariane",
145
+ link: "/fil-ariane",
146
+ children: <NavLink to="/fil-ariane">Fil Ariane</NavLink>,
147
+ element: <FilArianeView />,
148
+ },
149
+ {
150
+ id: 16,
151
+ name: "Loader",
152
+ link: "/loader",
153
+ children: <NavLink to="/loader">Loader</NavLink>,
154
+ element: <LoaderView />,
155
+ },
156
+ {
157
+ id: 17,
158
+ name: "Carousel",
159
+ link: "/carousel",
160
+ children: <NavLink to="/carousel">Carousel</NavLink>,
161
+ element: <CarouselView />,
162
+ },
163
+ {
164
+ id: 18,
165
+ name: "Action",
166
+ link: "/action",
167
+ children: <NavLink to="/action">Action</NavLink>,
168
+ element: <ActionView />,
169
+ },
170
+ {
171
+ id: 19,
172
+ name: "Modal",
173
+ link: "/modal",
174
+ children: <NavLink to="/modal">Modal</NavLink>,
175
+ element: <ModalView />,
176
+ },
177
+ {
178
+ id: 20,
179
+ name: "Badge",
180
+ link: "/badge",
181
+ children: <NavLink to="/badge">Badge</NavLink>,
182
+ element: <BadgeView />,
183
+ },
184
+ {
185
+ id: 21,
186
+ name: "Data table",
187
+ link: "/data-table",
188
+ children: <NavLink to="/data-table">Data table</NavLink>,
189
+ element: <DataTableView />,
190
+ },
191
+ {
192
+ id: 22,
193
+ name: "Select",
194
+ link: "/select",
195
+ children: <NavLink to="/select">Select</NavLink>,
196
+ element: <SelectView />,
197
+ },
198
+ {
199
+ id: 23,
200
+ name: "TextArea",
201
+ link: "/text-area",
202
+ children: <NavLink to="/text-area">Text</NavLink>,
203
+ element: <TextAreaView />,
204
+ },
205
+ {
206
+ id: 24,
207
+ name: "Date picker",
208
+ link: "/date-picker",
209
+ children: <NavLink to="/date-picker">Date picker</NavLink>,
210
+ element: <DatePickerView />,
211
+ },
212
+ {
213
+ id: 25,
214
+ name: "Tabs",
215
+ link: "/tabs",
216
+ children: <NavLink to="/tabs">Tabs</NavLink>,
217
+ element: <TabsView />,
218
+ },
219
+ {
220
+ id: 26,
221
+ name: "Messages",
222
+ link: "/messages",
223
+ children: <NavLink to="/messages">Messages</NavLink>,
224
+ element: <MessageView />,
225
+ },
226
+ {
227
+ id: 27,
228
+ name: "Input Number",
229
+ link: "/input-number",
230
+ children: <NavLink to="/input-number">Input Number</NavLink>,
231
+ element: <InputNumberView />,
232
+ },
233
+ {
234
+ id: 28,
235
+ name: "Input Price",
236
+ link: "/input-price",
237
+ children: <NavLink to="/input-price">Input Price</NavLink>,
238
+ element: <InputPriceView />,
239
+ },
240
+ {
241
+ id: 29,
242
+ name: "Button File",
243
+ link: "/button-file",
244
+ children: <NavLink to="/button-file">Button File</NavLink>,
245
+ element: <ButtonFileView />,
246
+ },
247
+ {
248
+ id: 30,
249
+ name: "Address search",
250
+ link: "/address-search",
251
+ children: <NavLink to="/address-search">Address search</NavLink>,
252
+ element: <AddressSearchView />,
253
+ },
254
+ ];
255
+
256
+ export const AppMenu = (): JSX.Element => {
257
+ const [search, setSearch] = useState("");
258
+ const filtered = MenuList.filter((menu) => matchesSearch(`${menu.name} ${catalog[menu.link].description}`, search));
259
+ return (
260
+ <aside className="docs-sidebar">
261
+ <NavLink to="/" className="docs-brand"><span className="docs-brand-mark">k.</span><span>Kelt UI<span className="docs-brand-subtitle">Component explorer</span></span></NavLink>
262
+ <label className="docs-search"><i className="bi bi-search" aria-hidden="true" /><span className="docs-sr-only">Rechercher un composant</span><input placeholder="Rechercher..." value={search} onChange={(event) => setSearch(event.target.value)} /></label>
263
+ <nav aria-label="Documentation du kit">
264
+ <NavLink to="/" end className="docs-overview-link"><i className="bi bi-house" aria-hidden="true" />Vue d'ensemble</NavLink>
265
+ {categories.map((category) => {
266
+ const items = filtered.filter((menu) => catalog[menu.link].category === category).sort((a, b) => a.name.localeCompare(b.name));
267
+ return items.length > 0 && <div className="docs-nav-group" key={category}>
268
+ <h2>{category}<span>{items.length}</span></h2>
269
+ {items.map((menu) => <NavLink key={menu.id} to={menu.link}><i className={`bi bi-${catalog[menu.link].icon}`} aria-hidden="true" /><span>{menu.name}</span><i className="bi bi-chevron-right docs-nav-arrow" aria-hidden="true" /></NavLink>)}
270
+ </div>;
271
+ })}
272
+ {filtered.length === 0 && <p className="docs-empty" role="status">Aucun composant trouvé.</p>}
273
+ </nav>
274
+ <div className="docs-sidebar-footer"><span className="docs-status-dot" />API typée · Démos interactives</div>
275
+ </aside>
276
+ );
277
+ };
@@ -1,16 +1,21 @@
1
- import { Route, Routes } from "react-router-dom";
2
- import { MenuList } from "./App.menu";
3
- import { Home } from "./home/Home";
4
- import { NotFound } from "./notFound/NotFound";
5
-
6
- export const AppRoutes = (): JSX.Element => {
7
- return (
8
- <Routes>
9
- {MenuList.map((menu) => (
10
- <Route key={menu.id} path={menu.link} element={menu.element} />
11
- ))}
12
- <Route path="/" element={<Home />} />
13
- <Route path="*" element={<NotFound />} />
14
- </Routes>
15
- );
16
- };
1
+ import { Route, Routes } from "react-router-dom";
2
+ import { MenuList } from "./App.menu";
3
+ import { Home } from "./home/Home";
4
+ import { NotFound } from "./notFound/NotFound";
5
+ import { ComponentDocs } from "./docs/ComponentDocs";
6
+
7
+ export const AppRoutes = (): JSX.Element => {
8
+ return (
9
+ <Routes>
10
+ {MenuList.map((menu) => (
11
+ <Route key={menu.id} path={menu.link} element={
12
+ <ComponentDocs key={menu.link} path={menu.link} name={menu.name}>
13
+ {menu.element}
14
+ </ComponentDocs>
15
+ } />
16
+ ))}
17
+ <Route path="/" element={<Home />} />
18
+ <Route path="*" element={<NotFound />} />
19
+ </Routes>
20
+ );
21
+ };
package/src/App.tsx CHANGED
@@ -1,30 +1,31 @@
1
- import { StrictMode } from "react";
2
- import { BrowserRouter as Router } from "react-router-dom";
3
- import "./App.css";
4
-
5
- import { AppMenu } from "./App.menu";
6
- import { AppRoutes } from "./App.routes";
7
- import { Header } from "./header/Header";
8
- import { OverlayProvider } from "./overlayPanel/overlay.context";
9
- import { Toaster } from "./toaster/Toaster";
10
-
11
- const App: React.FC = () => (
12
- <StrictMode>
13
- <OverlayProvider>
14
- <Router>
15
- <div className="main-layout">
16
- <Toaster />
17
- <Header showBackNavigation={true} />
18
- <div className="d-flex h-100">
19
- <AppMenu />
20
- <div className="main-layout-content">
21
- <AppRoutes />
22
- </div>
23
- </div>
24
- </div>
25
- </Router>
26
- </OverlayProvider>
27
- </StrictMode>
28
- );
29
-
30
- export default App;
1
+ import { StrictMode } from "react";
2
+ import { BrowserRouter as Router } from "react-router-dom";
3
+ import "./App.css";
4
+
5
+ import { AppMenu } from "./App.menu";
6
+ import { AppRoutes } from "./App.routes";
7
+ import { Link } from "react-router-dom";
8
+ import { OverlayProvider } from "./overlayPanel/overlay.context";
9
+ import { Toaster } from "./toaster/Toaster";
10
+
11
+ const App: React.FC = () => (
12
+ <StrictMode>
13
+ <OverlayProvider>
14
+ <Router>
15
+ <div className="docs-app">
16
+ <Toaster />
17
+ <a className="docs-skip-link" href="#docs-content">Aller au contenu</a>
18
+ <AppMenu />
19
+ <div className="docs-main">
20
+ <header className="docs-topbar"><span>DESIGN SYSTEM <span className="docs-topbar-divider">/</span> DOCUMENTATION</span><Link to="/buttons"><i className="bi bi-code-square" aria-hidden="true" />Explorer les composants<i className="bi bi-arrow-up-right" aria-hidden="true" /></Link></header>
21
+ <main id="docs-content" className="docs-content" tabIndex={-1}>
22
+ <AppRoutes />
23
+ </main>
24
+ </div>
25
+ </div>
26
+ </Router>
27
+ </OverlayProvider>
28
+ </StrictMode>
29
+ );
30
+
31
+ export default App;