kelt-ui-kit-react 2.0.3 → 2.0.5
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/README.md +26 -0
- package/dist/addressSearch/AddressSearch.d.ts +20 -0
- package/dist/addressSearch/AddressSearch.view.d.ts +1 -0
- package/dist/badge/Badge.d.ts +1 -3
- package/dist/button/Button.d.ts +1 -1
- package/dist/button/button.interface.d.ts +2 -1
- package/dist/card/Card.d.ts +4 -1
- package/dist/dataTable/DataTable.d.ts +14 -17
- package/dist/dataTable/dataTable.interface.d.ts +19 -24
- package/dist/dataTable/dataTableActions/DataTableAction.d.ts +5 -3
- 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 +6 -5
- package/dist/expands/Expands.d.ts +2 -0
- package/dist/expands/expand/expand.d.ts +4 -2
- package/dist/form/Form.d.ts +10 -2
- package/dist/form/form.enum.d.ts +3 -2
- package/dist/form/form.interface.d.ts +22 -3
- package/dist/form/input/Input.d.ts +0 -3
- package/dist/form/inputNumber/InputNumber.d.ts +2 -0
- package/dist/geocoding/GeocodingService.d.ts +13 -0
- package/dist/geocoding/geocoding.interface.d.ts +20 -0
- package/dist/grid/Grid.d.ts +5 -2
- package/dist/grid/col/Col.d.ts +3 -6
- package/dist/grid/col/colStyled/ColStyled.d.ts +8 -5
- package/dist/grid/grid.interface.d.ts +20 -5
- package/dist/grid/row/Row.d.ts +7 -0
- package/dist/header/Header.d.ts +1 -1
- package/dist/header/header.interface.d.ts +2 -1
- package/dist/icon/Icon.d.ts +1 -1
- package/dist/icon/icon.interface.d.ts +0 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +3582 -3484
- package/dist/menus/menu/Menu.d.ts +1 -0
- package/dist/select/Select.d.ts +2 -1
- package/dist/style.css +1 -1
- package/dist/tabs/Tabs.d.ts +1 -2
- package/dist/toaster/store/useToasterStore.d.ts +1 -0
- package/index.html +1 -2
- package/package.json +1 -1
- package/src/App.menu.tsx +8 -0
- package/src/addressSearch/AddressSearch.tsx +246 -0
- package/src/addressSearch/AddressSearch.view.tsx +52 -0
- package/src/addressSearch/addressSearch.css +133 -0
- package/src/badge/Badge.tsx +1 -9
- package/src/badge/badge.css +0 -4
- package/src/button/Button.tsx +3 -1
- package/src/button/button.css +2 -2
- package/src/button/button.interface.tsx +2 -1
- package/src/card/Card.tsx +37 -11
- package/src/card/card.css +7 -28
- package/src/card/cardAction/CardAction.tsx +4 -4
- package/src/damier/Damier.tsx +16 -7
- package/src/damier/damier.css +11 -4
- package/src/dataTable/DataTable.tsx +542 -685
- package/src/dataTable/DataTable.view.tsx +24 -48
- package/src/dataTable/dataTable.css +159 -134
- package/src/dataTable/dataTable.interface.ts +19 -25
- package/src/dataTable/dataTableActions/DataTableAction.tsx +25 -14
- package/src/dataTable/dataTableColumn/DataTableColumn.tsx +14 -64
- package/src/dataTable/dataTableLoading/DataTableLoading.tsx +15 -4
- package/src/dataTable/dataTableRow/DataTableRow.tsx +180 -64
- package/src/expands/Expands.tsx +20 -2
- package/src/expands/expand/expand.tsx +128 -5
- package/src/expands/expands.css +8 -3
- package/src/form/Form.tsx +294 -99
- package/src/form/Form.view.tsx +9 -1
- package/src/form/form.css +64 -1
- package/src/form/form.enum.ts +2 -1
- package/src/form/form.interface.tsx +31 -3
- package/src/form/input/Input.tsx +7 -61
- package/src/form/input/input.css +1 -19
- package/src/form/inputNumber/InputNumber.tsx +11 -6
- package/src/form/inputPrice/InputPrice.tsx +4 -2
- package/src/geocoding/GeocodingService.ts +89 -0
- package/src/geocoding/geocoding.interface.ts +25 -0
- package/src/grid/Grid.tsx +34 -21
- package/src/grid/col/Col.tsx +24 -15
- package/src/grid/col/col.css +3 -0
- package/src/grid/col/colStyled/ColStyled.tsx +59 -41
- package/src/grid/container/container.css +2 -2
- package/src/grid/grid.interface.tsx +25 -5
- package/src/grid/row/Row.tsx +49 -12
- package/src/grid/row/row.css +11 -3
- package/src/header/Header.tsx +4 -2
- package/src/header/header.css +17 -0
- package/src/header/header.interface.tsx +2 -1
- package/src/icon/Icon.tsx +2 -6
- package/src/icon/icon.interface.tsx +0 -1
- package/src/index.css +58 -12
- package/src/index.ts +12 -2
- package/src/menus/Menus.tsx +1 -0
- package/src/menus/menu/Menu.tsx +2 -1
- package/src/select/Select.tsx +5 -3
- package/src/sidebar/Sidebar.tsx +107 -5
- package/src/sidebar/sidebar.css +18 -1
- package/src/tabs/Tabs.tsx +1 -20
- package/src/tabs/tabs.css +9 -3
- package/src/toaster/Toaster.tsx +7 -2
- package/src/toaster/Toaster.view.tsx +1 -0
- package/src/toaster/store/useToasterStore.tsx +2 -0
- package/src/toaster/toaster.css +7 -2
- 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/package/package.json +0 -56
- package/package/src/sidebar/Sidebar.tsx +0 -208
- package/package/src/sidebar/sidebar.css +0 -104
- 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,7 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Largeur de référence pour les breakpoints des Col :
|
|
3
|
+
* - "app" (défaut) : le conteneur app-container
|
|
4
|
+
* - "viewport" : la fenêtre (@media)
|
|
5
|
+
* - "row" : la Row elle-même (utile pour une grid dans une card, un panneau...)
|
|
6
|
+
*/
|
|
7
|
+
export type GridResponsive = "app" | "viewport" | "row";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Nombre de colonnes sur 12, ou "auto" : la colonne partage la place restante
|
|
11
|
+
* de la ligne à parts égales avec les autres "auto" (ex. 5 champs sur une ligne).
|
|
12
|
+
*/
|
|
13
|
+
export type GridColumnSpan =
|
|
14
|
+
| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12
|
|
15
|
+
| "auto";
|
|
16
|
+
|
|
17
|
+
export interface GridBreakpoints {
|
|
18
|
+
xs?: GridColumnSpan;
|
|
19
|
+
sm?: GridColumnSpan;
|
|
20
|
+
md?: GridColumnSpan;
|
|
21
|
+
lg?: GridColumnSpan;
|
|
22
|
+
xl?: GridColumnSpan;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface GridInterface extends GridBreakpoints {
|
|
6
26
|
children: React.ReactNode;
|
|
7
27
|
}
|
package/src/grid/row/Row.tsx
CHANGED
|
@@ -1,12 +1,49 @@
|
|
|
1
|
-
import "
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
import { createContext } from "react";
|
|
2
|
+
import { GridResponsive } from "../grid.interface";
|
|
3
|
+
import "./row.css";
|
|
4
|
+
|
|
5
|
+
export type GridGap = boolean | number | string;
|
|
6
|
+
|
|
7
|
+
export const RowResponsiveContext = createContext<GridResponsive>("app");
|
|
8
|
+
|
|
9
|
+
type RowProps = {
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
className?: string;
|
|
12
|
+
scroll?: boolean;
|
|
13
|
+
/** true (défaut) : gap par défaut, false : pas de gap, number : px, string : valeur CSS ("1rem") */
|
|
14
|
+
gap?: GridGap;
|
|
15
|
+
/** Largeur sur laquelle se basent les breakpoints des Col (défaut : "app") */
|
|
16
|
+
responsive?: GridResponsive;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
const getGutter = (gap: GridGap) => {
|
|
20
|
+
if (gap === true) return undefined; // garde la valeur par défaut du CSS
|
|
21
|
+
if (gap === false) return "0px";
|
|
22
|
+
return typeof gap === "number" ? `${gap}px` : gap;
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const Row: React.FC<RowProps> = ({
|
|
26
|
+
children,
|
|
27
|
+
className,
|
|
28
|
+
scroll,
|
|
29
|
+
gap = true,
|
|
30
|
+
responsive = "app",
|
|
31
|
+
}) => {
|
|
32
|
+
const gutter = getGutter(gap);
|
|
33
|
+
return (
|
|
34
|
+
<RowResponsiveContext.Provider value={responsive}>
|
|
35
|
+
<div
|
|
36
|
+
className={`grid-row ${className ?? ""} ${scroll ? "scroll" : ""} ${
|
|
37
|
+
responsive === "row" ? "grid-row--responsive" : ""
|
|
38
|
+
}`}
|
|
39
|
+
style={
|
|
40
|
+
gutter
|
|
41
|
+
? ({ "--grid-gutter": gutter } as React.CSSProperties)
|
|
42
|
+
: undefined
|
|
43
|
+
}
|
|
44
|
+
>
|
|
45
|
+
{children}
|
|
46
|
+
</div>
|
|
47
|
+
</RowResponsiveContext.Provider>
|
|
48
|
+
);
|
|
49
|
+
};
|
package/src/grid/row/row.css
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
1
|
.grid-row {
|
|
2
|
+
--grid-gutter: 15px;
|
|
2
3
|
display: flex;
|
|
3
4
|
flex-wrap: wrap;
|
|
4
|
-
|
|
5
|
+
column-gap: var(--grid-gutter);
|
|
6
|
+
|
|
7
|
+
/* responsive="row" : les breakpoints des Col se basent sur la largeur de la Row.
|
|
8
|
+
Attention : la Row a alors une largeur min de contenu de 0 dans un parent flex. */
|
|
9
|
+
&.grid-row--responsive {
|
|
10
|
+
container: kelt-grid / inline-size;
|
|
11
|
+
}
|
|
12
|
+
|
|
5
13
|
&.scroll {
|
|
6
14
|
overflow-x: auto;
|
|
7
15
|
flex-wrap: nowrap;
|
|
8
16
|
}
|
|
9
17
|
}
|
|
10
18
|
|
|
11
|
-
@container (min-width: 998px) {
|
|
19
|
+
@container app-container (min-width: 998px) {
|
|
12
20
|
.grid-row {
|
|
13
21
|
&.scroll {
|
|
14
22
|
overflow-x: auto;
|
|
15
23
|
flex-wrap: wrap;
|
|
16
24
|
}
|
|
17
25
|
}
|
|
18
|
-
}
|
|
26
|
+
}
|
package/src/header/Header.tsx
CHANGED
|
@@ -11,6 +11,7 @@ export const Header = ({
|
|
|
11
11
|
onClickMenu,
|
|
12
12
|
userChildren,
|
|
13
13
|
positionFixed,
|
|
14
|
+
overlayClassName,
|
|
14
15
|
onClickLogo,
|
|
15
16
|
showBackNavigation,
|
|
16
17
|
onClickBackNavigation,
|
|
@@ -23,7 +24,7 @@ export const Header = ({
|
|
|
23
24
|
return (
|
|
24
25
|
<div className={`header ${positionFixed ? "header--fixed" : ""}`}>
|
|
25
26
|
<div className="flex-1 d-flex align-items-center">
|
|
26
|
-
<span onClick={onClickMenu}>
|
|
27
|
+
<span className="header-menu-btn" onClick={onClickMenu}>
|
|
27
28
|
<Icon size={IconSizeEnum.MEDIUM} classIcon="bi-list"></Icon>
|
|
28
29
|
</span>
|
|
29
30
|
{showBackNavigation && (
|
|
@@ -39,7 +40,7 @@ export const Header = ({
|
|
|
39
40
|
className={`header-logo ${onClickLogo && "cursor-pointer"} `}
|
|
40
41
|
onClick={onClickLogo}
|
|
41
42
|
>
|
|
42
|
-
{logo &&
|
|
43
|
+
{logo && logo}
|
|
43
44
|
</span>
|
|
44
45
|
</div>
|
|
45
46
|
<div className="d-flex align-items-center">
|
|
@@ -49,6 +50,7 @@ export const Header = ({
|
|
|
49
50
|
</div>
|
|
50
51
|
{openOverlay && refButton.current && (
|
|
51
52
|
<OverlayPanel
|
|
53
|
+
className={overlayClassName}
|
|
52
54
|
position="bottomRight"
|
|
53
55
|
show={openOverlay}
|
|
54
56
|
closeOverlay={setOpenOverlay}
|
package/src/header/header.css
CHANGED
|
@@ -23,4 +23,21 @@
|
|
|
23
23
|
.bi {
|
|
24
24
|
cursor: pointer;
|
|
25
25
|
}
|
|
26
|
+
|
|
27
|
+
.header-menu-btn {
|
|
28
|
+
display: inline-flex;
|
|
29
|
+
align-items: center;
|
|
30
|
+
justify-content: center;
|
|
31
|
+
position: relative;
|
|
32
|
+
cursor: pointer;
|
|
33
|
+
|
|
34
|
+
&::before {
|
|
35
|
+
content: "";
|
|
36
|
+
position: absolute;
|
|
37
|
+
top: -15px;
|
|
38
|
+
bottom: -15px;
|
|
39
|
+
left: -15px;
|
|
40
|
+
right: -15px;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
26
43
|
}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export interface HeaderInterface {
|
|
2
|
-
logo?:
|
|
2
|
+
logo?: React.ReactNode;
|
|
3
3
|
children?: React.ReactNode;
|
|
4
4
|
positionFixed?: boolean;
|
|
5
5
|
onClickMenu?: () => void;
|
|
6
6
|
userChildren?: React.ReactNode;
|
|
7
7
|
onClickLogo?: () => void;
|
|
8
|
+
overlayClassName?: string;
|
|
8
9
|
showBackNavigation?: boolean;
|
|
9
10
|
onClickBackNavigation?: () => void;
|
|
10
11
|
}
|
package/src/icon/Icon.tsx
CHANGED
|
@@ -1,10 +1,6 @@
|
|
|
1
1
|
import "./icon.css";
|
|
2
2
|
import { IconInterface } from "./icon.interface";
|
|
3
3
|
|
|
4
|
-
export const Icon = ({
|
|
5
|
-
classIcon
|
|
6
|
-
size,
|
|
7
|
-
onClick,
|
|
8
|
-
}: IconInterface): JSX.Element => {
|
|
9
|
-
return <i className={`bi ${classIcon} ${size ?? "sm"}`} onClick={onClick} />;
|
|
4
|
+
export const Icon = ({ classIcon, size }: IconInterface): JSX.Element => {
|
|
5
|
+
return <i className={`bi ${classIcon} ${size ?? "sm"}`} />;
|
|
10
6
|
};
|
package/src/index.css
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/* variables couleur */
|
|
2
2
|
:root {
|
|
3
|
-
--primary-color: #
|
|
4
|
-
--secondary-color: #
|
|
5
|
-
--tertiary-color: #
|
|
6
|
-
--quaternary-color: #
|
|
3
|
+
--primary-color: #123852;
|
|
4
|
+
--secondary-color: #EB5E3B;
|
|
5
|
+
--tertiary-color: #30B8C2;
|
|
6
|
+
--quaternary-color: #7dc2ef;
|
|
7
7
|
--success-color: #28a745;
|
|
8
8
|
--info-color: #17a2b8;
|
|
9
9
|
--warning-color: #ec942c;
|
|
@@ -17,7 +17,10 @@
|
|
|
17
17
|
html,
|
|
18
18
|
body {
|
|
19
19
|
margin: 0;
|
|
20
|
-
font-family: "
|
|
20
|
+
font-family: "Lexend", sans-serif;
|
|
21
|
+
font-optical-sizing: auto;
|
|
22
|
+
font-style: normal;
|
|
23
|
+
font-size: 18px;
|
|
21
24
|
-webkit-font-smoothing: antialiased;
|
|
22
25
|
-moz-osx-font-smoothing: grayscale;
|
|
23
26
|
height: 100%;
|
|
@@ -28,38 +31,48 @@ body {
|
|
|
28
31
|
width: 100%;
|
|
29
32
|
background-color: #fff;
|
|
30
33
|
}
|
|
34
|
+
|
|
31
35
|
.app {
|
|
32
36
|
container: app-container/ inline-size;
|
|
33
37
|
}
|
|
34
38
|
|
|
35
39
|
input[type="number"]::-webkit-outer-spin-button,
|
|
36
40
|
input[type="number"]::-webkit-inner-spin-button {
|
|
37
|
-
-webkit-appearance: none;
|
|
41
|
+
-webkit-appearance: none;
|
|
42
|
+
/* Chrome, Safari, Edge */
|
|
38
43
|
margin: 0;
|
|
39
44
|
}
|
|
45
|
+
|
|
40
46
|
/* flex properties */
|
|
41
47
|
|
|
42
48
|
.d-flex {
|
|
43
49
|
display: flex;
|
|
44
50
|
}
|
|
51
|
+
|
|
45
52
|
.justify-content-start {
|
|
46
53
|
justify-content: start;
|
|
47
54
|
}
|
|
55
|
+
|
|
48
56
|
.justify-content-end {
|
|
49
57
|
justify-content: end;
|
|
50
58
|
}
|
|
59
|
+
|
|
51
60
|
.justify-content-center {
|
|
52
61
|
justify-content: center;
|
|
53
62
|
}
|
|
63
|
+
|
|
54
64
|
.justify-content-between {
|
|
55
65
|
justify-content: space-between;
|
|
56
66
|
}
|
|
67
|
+
|
|
57
68
|
.justify-content-around {
|
|
58
69
|
justify-content: space-around;
|
|
59
70
|
}
|
|
71
|
+
|
|
60
72
|
.justify-content-evenly {
|
|
61
73
|
justify-content: space-evenly;
|
|
62
74
|
}
|
|
75
|
+
|
|
63
76
|
.align-items-start {
|
|
64
77
|
align-items: start;
|
|
65
78
|
}
|
|
@@ -310,63 +323,83 @@ a {
|
|
|
310
323
|
.mb-3 {
|
|
311
324
|
margin-bottom: 1rem;
|
|
312
325
|
}
|
|
326
|
+
|
|
313
327
|
.pb-0 {
|
|
314
328
|
padding-bottom: 0;
|
|
315
329
|
}
|
|
330
|
+
|
|
316
331
|
.pb-1 {
|
|
317
332
|
padding-bottom: 0.25rem;
|
|
318
333
|
}
|
|
334
|
+
|
|
319
335
|
.pb-2 {
|
|
320
336
|
padding-bottom: 0.5rem;
|
|
321
337
|
}
|
|
338
|
+
|
|
322
339
|
.pb-3 {
|
|
323
340
|
padding-bottom: 1rem;
|
|
324
341
|
}
|
|
342
|
+
|
|
325
343
|
.pt-0 {
|
|
326
344
|
padding-top: 0;
|
|
327
345
|
}
|
|
346
|
+
|
|
328
347
|
.pt-1 {
|
|
329
348
|
padding-top: 0.25rem;
|
|
330
349
|
}
|
|
350
|
+
|
|
331
351
|
.pt-2 {
|
|
332
352
|
padding-top: 0.5rem;
|
|
333
353
|
}
|
|
354
|
+
|
|
334
355
|
.pt-3 {
|
|
335
356
|
padding-top: 1rem;
|
|
336
357
|
}
|
|
358
|
+
|
|
337
359
|
.pl-0 {
|
|
338
360
|
padding-left: 0;
|
|
339
361
|
}
|
|
362
|
+
|
|
340
363
|
.pl-1 {
|
|
341
364
|
padding-left: 0.25rem;
|
|
342
365
|
}
|
|
366
|
+
|
|
343
367
|
.pl-2 {
|
|
344
368
|
padding-left: 0.5rem;
|
|
345
369
|
}
|
|
370
|
+
|
|
346
371
|
.pl-3 {
|
|
347
372
|
padding-left: 1rem;
|
|
348
373
|
}
|
|
374
|
+
|
|
349
375
|
.pr-0 {
|
|
350
376
|
padding-right: 0;
|
|
351
377
|
}
|
|
378
|
+
|
|
352
379
|
.pr-1 {
|
|
353
380
|
padding-right: 0.25rem;
|
|
354
381
|
}
|
|
382
|
+
|
|
355
383
|
.pr-2 {
|
|
356
384
|
padding-right: 0.5rem;
|
|
357
385
|
}
|
|
386
|
+
|
|
358
387
|
.pr-3 {
|
|
359
388
|
padding-right: 1rem;
|
|
360
389
|
}
|
|
390
|
+
|
|
361
391
|
.p-0 {
|
|
362
392
|
padding: 0;
|
|
363
393
|
}
|
|
394
|
+
|
|
364
395
|
.p-1 {
|
|
365
396
|
padding: 0.25rem;
|
|
366
397
|
}
|
|
398
|
+
|
|
367
399
|
.p-2 {
|
|
368
400
|
padding: 0.5rem;
|
|
369
401
|
}
|
|
402
|
+
|
|
370
403
|
.p-3 {
|
|
371
404
|
padding: 1rem;
|
|
372
405
|
}
|
|
@@ -375,25 +408,32 @@ a {
|
|
|
375
408
|
.border-bottom {
|
|
376
409
|
border-bottom: 1px solid #cfbdbd;
|
|
377
410
|
}
|
|
411
|
+
|
|
378
412
|
.border-top {
|
|
379
413
|
border-top: 1px solid #cfbdbd;
|
|
380
414
|
}
|
|
415
|
+
|
|
381
416
|
.border-left {
|
|
382
417
|
border-left: 1px solid #cfbdbd;
|
|
383
418
|
}
|
|
419
|
+
|
|
384
420
|
.border-right {
|
|
385
421
|
border-right: 1px solid #cfbdbd;
|
|
386
422
|
}
|
|
423
|
+
|
|
387
424
|
/* fonts */
|
|
388
425
|
.font-weight-bold {
|
|
389
426
|
font-weight: 600;
|
|
390
427
|
}
|
|
428
|
+
|
|
391
429
|
.font-weight-light {
|
|
392
430
|
font-weight: 300;
|
|
393
431
|
}
|
|
432
|
+
|
|
394
433
|
.font-weight-normal {
|
|
395
434
|
font-weight: 400;
|
|
396
435
|
}
|
|
436
|
+
|
|
397
437
|
.font-weight-italic {
|
|
398
438
|
font-style: italic;
|
|
399
439
|
}
|
|
@@ -402,32 +442,41 @@ a {
|
|
|
402
442
|
.visible {
|
|
403
443
|
visibility: visible;
|
|
404
444
|
}
|
|
445
|
+
|
|
405
446
|
.hidden {
|
|
406
447
|
visibility: hidden;
|
|
407
448
|
}
|
|
449
|
+
|
|
408
450
|
.position-relative {
|
|
409
451
|
position: relative;
|
|
410
452
|
}
|
|
453
|
+
|
|
411
454
|
.position-absolute {
|
|
412
455
|
position: absolute;
|
|
413
456
|
}
|
|
457
|
+
|
|
414
458
|
.cursor-pointer {
|
|
415
459
|
cursor: pointer;
|
|
416
460
|
}
|
|
461
|
+
|
|
417
462
|
.w-100 {
|
|
418
463
|
width: 100%;
|
|
419
464
|
}
|
|
465
|
+
|
|
420
466
|
.min-width-auto {
|
|
421
467
|
min-width: auto;
|
|
422
468
|
}
|
|
469
|
+
|
|
423
470
|
.disabled {
|
|
424
471
|
opacity: 0.5;
|
|
425
472
|
cursor: not-allowed;
|
|
426
473
|
pointer-events: none;
|
|
427
474
|
}
|
|
475
|
+
|
|
428
476
|
.overflow-auto {
|
|
429
477
|
overflow: auto;
|
|
430
478
|
}
|
|
479
|
+
|
|
431
480
|
.toggle-btn {
|
|
432
481
|
display: flex;
|
|
433
482
|
width: 100%;
|
|
@@ -492,11 +541,8 @@ a {
|
|
|
492
541
|
/* Couleurs : gris pour la barre, transparent pour le fond */
|
|
493
542
|
}
|
|
494
543
|
|
|
495
|
-
@media (min-width: 576px) {
|
|
496
|
-
}
|
|
544
|
+
@media (min-width: 576px) {}
|
|
497
545
|
|
|
498
|
-
@media (min-width: 768px) {
|
|
499
|
-
}
|
|
546
|
+
@media (min-width: 768px) {}
|
|
500
547
|
|
|
501
|
-
@media (min-width: 992px) {
|
|
502
|
-
}
|
|
548
|
+
@media (min-width: 992px) {}
|
package/src/index.ts
CHANGED
|
@@ -19,13 +19,13 @@ export { useIsMobile } from "./_core/hooks/useIsMobile";
|
|
|
19
19
|
export { useToken } from "./_core/hooks/useToken";
|
|
20
20
|
export { useValidate } from "./_core/hooks/useValidate";
|
|
21
21
|
export { WidgetSupport } from "./_core/hooks/widgetSupport";
|
|
22
|
-
|
|
23
22
|
export { ButtonAction } from "./action/ButtonAction";
|
|
23
|
+
export { AddressSearch } from "./addressSearch/AddressSearch";
|
|
24
|
+
export type { AddressSearchProps } from "./addressSearch/AddressSearch";
|
|
24
25
|
export { Badge } from "./badge/Badge";
|
|
25
26
|
export { Button } from "./button/Button";
|
|
26
27
|
export { ButtonActions } from "./button/buttonActions/ButtonActions";
|
|
27
28
|
export { ButtonFile } from "./button/buttonFile/ButtonFile";
|
|
28
|
-
export { ButtonFilters } from "./button/buttonFilters/ButtonFilters";
|
|
29
29
|
export { Card } from "./card/Card";
|
|
30
30
|
export { Carousel } from "./carousel/Carousel";
|
|
31
31
|
export { Damier } from "./damier/Damier";
|
|
@@ -35,11 +35,21 @@ export { Expands } from "./expands/Expands";
|
|
|
35
35
|
export { FilAriane } from "./filAriane/FilAriane";
|
|
36
36
|
export { DynamicForm } from "./form/Form";
|
|
37
37
|
export { TypeInputEnum } from "./form/form.enum";
|
|
38
|
+
export type { FormMode, FormSection } from "./form/form.interface";
|
|
38
39
|
export { Input } from "./form/input/Input";
|
|
39
40
|
export { InputNumber } from "./form/inputNumber/InputNumber";
|
|
40
41
|
export { InputPrice } from "./form/inputPrice/InputPrice";
|
|
41
42
|
export { TextArea } from "./form/textArea/TextArea";
|
|
42
43
|
export { Grid } from "./grid/Grid";
|
|
44
|
+
export {
|
|
45
|
+
GeocodingService,
|
|
46
|
+
geocodingService,
|
|
47
|
+
} from "./geocoding/GeocodingService";
|
|
48
|
+
export type {
|
|
49
|
+
GeocodedAddress,
|
|
50
|
+
GeocodingProvider,
|
|
51
|
+
GeocodingSearchOptions,
|
|
52
|
+
} from "./geocoding/geocoding.interface";
|
|
43
53
|
export { Header } from "./header/Header";
|
|
44
54
|
export { Icon } from "./icon/Icon";
|
|
45
55
|
export { IconSizeEnum } from "./icon/iconSize.enum";
|
package/src/menus/Menus.tsx
CHANGED
|
@@ -22,6 +22,7 @@ export const Menus = (props: ExpandProps) => {
|
|
|
22
22
|
<Menu
|
|
23
23
|
item={item}
|
|
24
24
|
onChange={onChange}
|
|
25
|
+
className={item.subMenu && item.subMenu.length > 0 ? "has-submenu" : ""}
|
|
25
26
|
active={currentItem?.id === item.id}
|
|
26
27
|
/>
|
|
27
28
|
{item.subMenu && item.subMenu.length > 0 && (
|
package/src/menus/menu/Menu.tsx
CHANGED
|
@@ -4,12 +4,13 @@ export type MenuProps = {
|
|
|
4
4
|
active: boolean;
|
|
5
5
|
item: MenuInterface;
|
|
6
6
|
onChange: (item: MenuInterface) => void;
|
|
7
|
+
className?: string;
|
|
7
8
|
};
|
|
8
9
|
export const Menu = (props: MenuProps): JSX.Element => {
|
|
9
10
|
return (
|
|
10
11
|
<div
|
|
11
12
|
onClick={() => props.onChange(props.item)}
|
|
12
|
-
className={props.active ? "expand
|
|
13
|
+
className={`expand ${props.active ? "expand--active" : ""} ${props.className || ""}`}
|
|
13
14
|
>
|
|
14
15
|
{props.item.children}
|
|
15
16
|
</div>
|
package/src/select/Select.tsx
CHANGED
|
@@ -10,6 +10,7 @@ export interface SelectProps {
|
|
|
10
10
|
label?: string;
|
|
11
11
|
title?: string;
|
|
12
12
|
disabled?: boolean;
|
|
13
|
+
style?: React.CSSProperties;
|
|
13
14
|
name?: string;
|
|
14
15
|
defaultValue?: string | string[];
|
|
15
16
|
multiple?: boolean;
|
|
@@ -33,6 +34,7 @@ export const Select = ({
|
|
|
33
34
|
options,
|
|
34
35
|
className,
|
|
35
36
|
disabled,
|
|
37
|
+
style,
|
|
36
38
|
multiple = false,
|
|
37
39
|
showOptions = false,
|
|
38
40
|
defaultValue,
|
|
@@ -151,6 +153,7 @@ export const Select = ({
|
|
|
151
153
|
ref={triggerRef}
|
|
152
154
|
id={`select-${id}`}
|
|
153
155
|
disabled={disabled}
|
|
156
|
+
style={style}
|
|
154
157
|
className="select-container-button"
|
|
155
158
|
onClick={(e) => {
|
|
156
159
|
setOverlayRef(e.currentTarget as HTMLElement);
|
|
@@ -203,9 +206,8 @@ export const Select = ({
|
|
|
203
206
|
<div
|
|
204
207
|
key={option.value}
|
|
205
208
|
aria-valuetext={option.label}
|
|
206
|
-
className={`select-overlay-option ${option.disabled ? "disabled" : ""} ${
|
|
207
|
-
|
|
208
|
-
}`}
|
|
209
|
+
className={`select-overlay-option ${option.disabled ? "disabled" : ""} ${selectedValues.includes(option.value) ? "selected" : ""
|
|
210
|
+
}`}
|
|
209
211
|
onClick={() =>
|
|
210
212
|
!option.disabled && handleOptionClick(option.value)
|
|
211
213
|
}
|