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.
- package/dist/badge/Badge.d.ts +1 -3
- package/dist/button/button.interface.d.ts +1 -1
- package/dist/dataTable/DataTable.d.ts +3 -17
- package/dist/dataTable/dataTable.interface.d.ts +3 -21
- package/dist/dataTable/dataTableActions/DataTableAction.d.ts +2 -2
- package/dist/dataTable/dataTableColumn/DataTableColumn.d.ts +7 -13
- package/dist/dataTable/dataTableLoading/DataTableLoading.d.ts +3 -1
- package/dist/dataTable/dataTableRow/DataTableRow.d.ts +3 -5
- package/dist/expands/expand/expand.d.ts +1 -1
- package/dist/form/form.enum.d.ts +0 -1
- package/dist/form/input/Input.d.ts +0 -3
- package/dist/form/inputNumber/InputNumber.d.ts +2 -0
- package/dist/icon/Icon.d.ts +1 -1
- package/dist/icon/icon.interface.d.ts +0 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js +2836 -3652
- package/dist/overlayPanel/OverlayPanel.d.ts +1 -3
- package/dist/select/Select.d.ts +1 -4
- package/dist/select/selectOption.interface.d.ts +0 -1
- package/dist/style.css +1 -1
- package/dist/tabs/Tabs.d.ts +1 -2
- package/package.json +1 -1
- package/src/badge/Badge.tsx +1 -9
- package/src/badge/badge.css +0 -4
- package/src/button/Button.tsx +1 -1
- package/src/button/button.interface.tsx +1 -1
- package/src/card/card.css +3 -23
- package/src/card/cardAction/CardAction.tsx +4 -4
- package/src/damier/damier.css +3 -2
- package/src/dataTable/DataTable.tsx +45 -670
- package/src/dataTable/DataTable.view.tsx +14 -47
- package/src/dataTable/dataTable.css +5 -153
- package/src/dataTable/dataTable.interface.ts +3 -21
- package/src/dataTable/dataTableActions/DataTableAction.tsx +2 -2
- package/src/dataTable/dataTableColumn/DataTableColumn.tsx +14 -64
- package/src/dataTable/dataTableLoading/DataTableLoading.tsx +15 -4
- package/src/dataTable/dataTableRow/DataTableRow.tsx +33 -60
- package/src/expands/Expands.tsx +16 -2
- package/src/expands/expand/expand.tsx +18 -6
- package/src/form/Form.tsx +12 -13
- package/src/form/form.css +2 -13
- package/src/form/form.enum.ts +0 -1
- package/src/form/input/Input.tsx +7 -61
- package/src/form/input/input.css +1 -23
- package/src/form/inputNumber/InputNumber.tsx +11 -6
- package/src/form/inputPrice/InputPrice.tsx +4 -2
- package/src/icon/Icon.tsx +2 -6
- package/src/icon/icon.interface.tsx +0 -1
- package/src/index.ts +0 -2
- package/src/overlayPanel/OverlayPanel.tsx +10 -23
- package/src/overlayPanel/overlay.context.tsx +4 -6
- package/src/overlayPanel/overlayPanel.css +1 -10
- package/src/select/Select.tsx +38 -134
- package/src/select/select.css +14 -65
- package/src/select/selectOption.interface.ts +0 -1
- package/src/sidebar/Sidebar.tsx +80 -9
- package/src/sidebar/sidebar.css +18 -1
- package/src/tabs/Tabs.tsx +1 -19
- package/dist/_core/type/generiqueType.d.ts +0 -4
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.d.ts +0 -10
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.d.ts +0 -9
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.d.ts +0 -9
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.d.ts +0 -13
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.d.ts +0 -9
- package/dist/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.d.ts +0 -11
- package/dist/dataTable/dataTableFilters/DataTableFilters.d.ts +0 -7
- package/dist/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.d.ts +0 -12
- package/dist/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.d.ts +0 -11
- package/kelt-ui-kit-react-1.6.9.tgz +0 -0
- package/package/README.md +0 -46
- package/package/index.html +0 -20
- package/package/package.json +0 -56
- package/package/public/favicon.ico +0 -0
- package/package/public/index.html +0 -18
- package/package/public/logo192.png +0 -0
- package/package/public/logo512.png +0 -0
- package/package/public/manifest.json +0 -25
- package/package/public/robots.txt +0 -3
- package/package/src/App.css +0 -11
- package/package/src/App.menu.tsx +0 -249
- package/package/src/App.routes.tsx +0 -16
- package/package/src/App.tsx +0 -30
- package/package/src/_core/hooks/HistoryProvider.tsx +0 -25
- package/package/src/_core/hooks/ImageChecker.tsx +0 -26
- package/package/src/_core/hooks/imageExist.tsx +0 -9
- package/package/src/_core/hooks/isEAN13.tsx +0 -16
- package/package/src/_core/hooks/objectToQueryParams.tsx +0 -32
- package/package/src/_core/hooks/useCurrency.tsx +0 -18
- package/package/src/_core/hooks/useDateutils.ts +0 -64
- package/package/src/_core/hooks/useIsMobile.ts +0 -18
- package/package/src/_core/hooks/useToken.tsx +0 -19
- package/package/src/_core/hooks/useValidate.tsx +0 -18
- package/package/src/_core/hooks/widgetSupport.tsx +0 -39
- package/package/src/action/Action.view.tsx +0 -21
- package/package/src/action/ButtonAction.tsx +0 -32
- package/package/src/action/action.css +0 -20
- package/package/src/badge/Badge.tsx +0 -34
- package/package/src/badge/Badge.view.tsx +0 -15
- package/package/src/badge/badge.css +0 -55
- package/package/src/button/Button.tsx +0 -46
- package/package/src/button/Button.view.tsx +0 -85
- package/package/src/button/button.css +0 -53
- package/package/src/button/button.interface.tsx +0 -21
- package/package/src/button/buttonActions/ButtonActions.tsx +0 -104
- package/package/src/button/buttonFile/ButtonFile.tsx +0 -59
- package/package/src/button/buttonFile/ButtonFile.view.tsx +0 -70
- package/package/src/button/buttonFilters/ButtonFilters.tsx +0 -102
- package/package/src/button/buttonFilters/buttonFilters.css +0 -22
- package/package/src/card/Card.tsx +0 -125
- package/package/src/card/Card.view.tsx +0 -73
- package/package/src/card/card.css +0 -145
- package/package/src/card/card.interface.tsx +0 -9
- package/package/src/card/cardAction/CardAction.tsx +0 -135
- package/package/src/card/cardAction/cardAction.css +0 -10
- package/package/src/card/cardAction.interface.tsx +0 -10
- package/package/src/card/hook/useCardInteractions.tsx +0 -30
- package/package/src/carousel/Carousel.css +0 -44
- package/package/src/carousel/Carousel.tsx +0 -115
- package/package/src/carousel/Carousel.view.tsx +0 -13
- package/package/src/damier/Damier.tsx +0 -64
- package/package/src/damier/Damier.view.tsx +0 -31
- package/package/src/damier/damier.css +0 -50
- package/package/src/damier/damierCell/DamierCell.tsx +0 -18
- package/package/src/damier/damierCell/damierCell.interface.tsx +0 -5
- package/package/src/dataTable/DataTable.tsx +0 -259
- package/package/src/dataTable/DataTable.view.tsx +0 -62
- package/package/src/dataTable/dataTable.css +0 -30
- package/package/src/dataTable/dataTable.interface.ts +0 -30
- package/package/src/dataTable/dataTableActions/DataTableAction.tsx +0 -44
- package/package/src/dataTable/dataTableColumn/DataTableColumn.tsx +0 -27
- package/package/src/dataTable/dataTableLoading/DataTableLoading.tsx +0 -21
- package/package/src/dataTable/dataTableRow/DataTableRow.tsx +0 -54
- package/package/src/datePicker/DatePicker.tsx +0 -110
- package/package/src/datePicker/DatePicker.view.tsx +0 -9
- package/package/src/datePicker/datePicker.css +0 -77
- package/package/src/expands/Expands.tsx +0 -42
- package/package/src/expands/Expands.view.tsx +0 -90
- package/package/src/expands/expand/expand.interface.tsx +0 -8
- package/package/src/expands/expand/expand.tsx +0 -75
- package/package/src/expands/expands.css +0 -97
- package/package/src/filAriane/FilAriane.tsx +0 -57
- package/package/src/filAriane/FilAriane.view.tsx +0 -28
- package/package/src/filAriane/filAriane.css +0 -23
- package/package/src/filAriane/filAriane.interface.tsx +0 -6
- package/package/src/form/Form.tsx +0 -279
- package/package/src/form/Form.view.tsx +0 -59
- package/package/src/form/form.css +0 -62
- package/package/src/form/form.enum.ts +0 -13
- package/package/src/form/form.interface.tsx +0 -37
- package/package/src/form/input/Input.tsx +0 -106
- package/package/src/form/input/input.css +0 -26
- package/package/src/form/inputNumber/InputNumber.tsx +0 -132
- package/package/src/form/inputNumber/InputNumber.view.tsx +0 -15
- package/package/src/form/inputPrice/InputPrice.tsx +0 -42
- package/package/src/form/inputPrice/InputPrice.view.tsx +0 -15
- package/package/src/form/textArea/TextArea.tsx +0 -59
- package/package/src/form/textArea/TextArea.view.tsx +0 -34
- package/package/src/form/textArea/textArea.css +0 -9
- package/package/src/grid/Grid.tsx +0 -21
- package/package/src/grid/Grid.view.tsx +0 -24
- package/package/src/grid/col/Col.tsx +0 -15
- package/package/src/grid/col/colStyled/ColStyled.tsx +0 -41
- package/package/src/grid/container/Container.tsx +0 -8
- package/package/src/grid/container/container.css +0 -5
- package/package/src/grid/grid.interface.tsx +0 -7
- package/package/src/grid/row/Row.tsx +0 -12
- package/package/src/grid/row/row.css +0 -18
- package/package/src/header/Header.tsx +0 -62
- package/package/src/header/Header.view.tsx +0 -5
- package/package/src/header/header.css +0 -26
- package/package/src/header/header.interface.tsx +0 -10
- package/package/src/home/Home.tsx +0 -3
- package/package/src/icon/Icon.tsx +0 -6
- package/package/src/icon/Icons.view.tsx +0 -29
- package/package/src/icon/icon.css +0 -20
- package/package/src/icon/icon.interface.tsx +0 -6
- package/package/src/icon/iconSize.enum.ts +0 -7
- package/package/src/index.css +0 -502
- package/package/src/index.ts +0 -58
- package/package/src/loader/Loader.tsx +0 -37
- package/package/src/loader/Loader.view.tsx +0 -20
- package/package/src/loader/loader.css +0 -30
- package/package/src/logo.svg +0 -1
- package/package/src/main.tsx +0 -10
- package/package/src/menus/Menus.tsx +0 -42
- package/package/src/menus/Menus.view.tsx +0 -39
- package/package/src/menus/menu/Menu.tsx +0 -17
- package/package/src/menus/menu/menu.interface.tsx +0 -9
- package/package/src/menus/menus.css +0 -47
- package/package/src/message/Message.tsx +0 -30
- package/package/src/message/Message.view.tsx +0 -22
- package/package/src/message/message.css +0 -29
- package/package/src/modal/Modal.tsx +0 -59
- package/package/src/modal/Modal.view.tsx +0 -26
- package/package/src/modal/modal.css +0 -71
- package/package/src/notFound/NotFound.tsx +0 -3
- package/package/src/overlayPanel/OverlayPanel.tsx +0 -195
- package/package/src/overlayPanel/OverlayPanel.view.tsx +0 -25
- package/package/src/overlayPanel/overlay.context.tsx +0 -28
- package/package/src/overlayPanel/overlayPanel.css +0 -35
- package/package/src/overlayPanel/overlayPanelStyled/OverlayPanelStyled.tsx +0 -18
- package/package/src/pdfViewer/PdfViewer.tsx +0 -73
- package/package/src/pdfViewer/PdfViewer.view.tsx +0 -5
- package/package/src/quantity/Quantity.tsx +0 -103
- package/package/src/quantity/Quantity.view.tsx +0 -0
- package/package/src/quantity/quantity.css +0 -26
- package/package/src/search/Search.tsx +0 -161
- package/package/src/search/Search.view.tsx +0 -14
- package/package/src/search/search.css +0 -59
- package/package/src/select/Select.tsx +0 -103
- package/package/src/select/Select.view.tsx +0 -71
- package/package/src/select/select.css +0 -69
- package/package/src/select/selectOption.interface.ts +0 -4
- package/package/src/sidebar/Sidebar.tsx +0 -208
- package/package/src/sidebar/Sidebar.view.tsx +0 -17
- package/package/src/sidebar/sidebar.css +0 -104
- package/package/src/sidebarData/SidebarData.tsx +0 -19
- package/package/src/sidebarData/SidebarData.view.tsx +0 -19
- package/package/src/sidebarData/sidebarData.css +0 -27
- package/package/src/tabs/Tabs.tsx +0 -90
- package/package/src/tabs/Tabs.view.tsx +0 -20
- package/package/src/tabs/tabs.css +0 -24
- package/package/src/toaster/Toaster.tsx +0 -55
- package/package/src/toaster/Toaster.view.tsx +0 -24
- package/package/src/toaster/store/useToasterStore.tsx +0 -41
- package/package/src/toaster/toaster.css +0 -87
- package/package/tsconfig.json +0 -28
- package/package/vite.config.ts +0 -20
- package/package/vite.config.ts.timestamp-1733262892554-a13dfef6e8a29.mjs +0 -24
- package/package/vite.config.ts.timestamp-1757847121745-e5a5bf54b81b.mjs +0 -28
- package/package/vite.config.ts.timestamp-1759742478362-4ac5c5a7db34b.mjs +0 -28
- package/src/_core/type/generiqueType.tsx +0 -4
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.tsx +0 -36
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilter.css +0 -0
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.tsx +0 -39
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.tsx +0 -80
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.tsx +0 -89
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.tsx +0 -37
- package/src/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.tsx +0 -42
- package/src/dataTable/dataTableFilters/DataTableFilters.tsx +0 -91
- package/src/dataTable/dataTableFilters/dataTableFilters.css +0 -16
- package/src/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.tsx +0 -80
- 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
|
-
}
|
package/package/tsconfig.json
DELETED
|
@@ -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
|
-
}
|
package/package/vite.config.ts
DELETED
|
@@ -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,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
|
-
};
|
|
File without changes
|
|
@@ -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
|
-
}
|