kelt-ui-kit-react 2.0.1 → 2.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_core/type/generiqueType.d.ts +4 -0
- package/dist/badge/Badge.d.ts +3 -1
- package/dist/button/Button.d.ts +1 -1
- package/dist/button/button.interface.d.ts +1 -2
- package/dist/dataTable/DataTable.d.ts +17 -14
- package/dist/dataTable/dataTable.interface.d.ts +24 -19
- package/dist/dataTable/dataTableActions/DataTableAction.d.ts +3 -5
- package/dist/dataTable/dataTableColumn/DataTableColumn.d.ts +13 -7
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.d.ts +10 -0
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.d.ts +9 -0
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.d.ts +9 -0
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.d.ts +13 -0
- package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.d.ts +9 -0
- package/dist/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.d.ts +11 -0
- package/dist/dataTable/dataTableFilters/DataTableFilters.d.ts +7 -0
- package/dist/dataTable/dataTableLoading/DataTableLoading.d.ts +1 -3
- package/dist/dataTable/dataTableRow/DataTableRow.d.ts +5 -6
- package/dist/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.d.ts +12 -0
- package/dist/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.d.ts +11 -0
- package/dist/expands/expand/expand.d.ts +1 -1
- package/dist/form/Form.d.ts +1 -2
- package/dist/form/form.enum.d.ts +2 -2
- package/dist/form/form.interface.d.ts +2 -4
- package/dist/form/input/Input.d.ts +3 -0
- package/dist/form/inputNumber/InputNumber.d.ts +0 -2
- package/dist/grid/col/Col.d.ts +6 -3
- package/dist/grid/col/colStyled/ColStyled.d.ts +5 -7
- package/dist/grid/grid.interface.d.ts +5 -9
- package/dist/header/Header.d.ts +1 -1
- package/dist/header/header.interface.d.ts +1 -2
- package/dist/icon/Icon.d.ts +1 -1
- package/dist/icon/icon.interface.d.ts +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +3740 -3443
- package/dist/menus/menu/Menu.d.ts +0 -1
- package/dist/overlayPanel/OverlayPanel.d.ts +4 -2
- package/dist/overlayPanel/overlayPanelStyled/OverlayPanelStyled.d.ts +2 -0
- package/dist/select/Select.d.ts +6 -2
- package/dist/select/selectOption.interface.d.ts +1 -0
- package/dist/style.css +1 -1
- package/dist/tabs/Tabs.d.ts +2 -1
- package/dist/toaster/store/useToasterStore.d.ts +0 -1
- package/index.html +2 -1
- package/package/package.json +56 -0
- package/package/src/sidebar/Sidebar.tsx +208 -0
- package/package/src/sidebar/sidebar.css +104 -0
- package/package.json +1 -1
- package/src/_core/type/generiqueType.tsx +4 -0
- package/src/badge/Badge.tsx +9 -1
- package/src/badge/badge.css +4 -0
- package/src/button/Button.tsx +1 -3
- package/src/button/button.css +2 -2
- package/src/button/button.interface.tsx +1 -2
- package/src/card/card.css +25 -5
- package/src/card/cardAction/CardAction.tsx +4 -4
- package/src/damier/Damier.tsx +7 -16
- package/src/damier/damier.css +4 -11
- package/src/dataTable/DataTable.tsx +685 -542
- package/src/dataTable/DataTable.view.tsx +48 -24
- package/src/dataTable/dataTable.css +134 -159
- package/src/dataTable/dataTable.interface.ts +25 -19
- package/src/dataTable/dataTableActions/DataTableAction.tsx +14 -25
- package/src/dataTable/dataTableColumn/DataTableColumn.tsx +64 -14
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.tsx +36 -0
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilter.css +0 -0
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.tsx +39 -0
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.tsx +80 -0
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.tsx +89 -0
- package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.tsx +37 -0
- package/src/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.tsx +42 -0
- package/src/dataTable/dataTableFilters/DataTableFilters.tsx +91 -0
- package/src/dataTable/dataTableFilters/dataTableFilters.css +16 -0
- package/src/dataTable/dataTableLoading/DataTableLoading.tsx +4 -15
- package/src/dataTable/dataTableRow/DataTableRow.tsx +64 -180
- package/src/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.tsx +80 -0
- package/src/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.tsx +123 -0
- package/src/expands/Expands.tsx +2 -16
- package/src/expands/expand/expand.tsx +5 -122
- package/src/expands/expands.css +3 -8
- package/src/form/Form.tsx +25 -125
- package/src/form/Form.view.tsx +1 -9
- package/src/form/form.css +1 -38
- package/src/form/form.enum.ts +1 -1
- package/src/form/form.interface.tsx +2 -7
- package/src/form/input/Input.tsx +61 -7
- package/src/form/input/input.css +23 -1
- package/src/form/inputNumber/InputNumber.tsx +6 -11
- package/src/form/inputPrice/InputPrice.tsx +2 -4
- package/src/grid/col/Col.tsx +7 -5
- package/src/grid/col/colStyled/ColStyled.tsx +7 -21
- package/src/grid/grid.interface.tsx +5 -11
- package/src/header/Header.tsx +2 -4
- package/src/header/header.css +0 -17
- package/src/header/header.interface.tsx +1 -2
- package/src/icon/Icon.tsx +6 -2
- package/src/icon/icon.interface.tsx +1 -0
- package/src/index.css +12 -58
- package/src/index.ts +2 -1
- package/src/menus/Menus.tsx +0 -1
- package/src/menus/menu/Menu.tsx +1 -2
- package/src/overlayPanel/OverlayPanel.tsx +71 -18
- package/src/overlayPanel/overlay.context.tsx +6 -4
- package/src/overlayPanel/overlayPanel.css +10 -1
- package/src/overlayPanel/overlayPanelStyled/OverlayPanelStyled.tsx +7 -2
- package/src/select/Select.tsx +178 -41
- package/src/select/select.css +94 -13
- package/src/select/selectOption.interface.ts +1 -0
- package/src/sidebar/Sidebar.tsx +5 -107
- package/src/sidebar/sidebar.css +1 -18
- package/src/tabs/Tabs.tsx +20 -1
- package/src/tabs/tabs.css +3 -9
- package/src/toaster/Toaster.tsx +2 -7
- package/src/toaster/Toaster.view.tsx +0 -1
- package/src/toaster/store/useToasterStore.tsx +0 -2
- package/src/toaster/toaster.css +2 -7
|
@@ -8,10 +8,8 @@ export type InputNumberProps = {
|
|
|
8
8
|
value?: string; // ⚠️ string pour gérer la saisie manuelle
|
|
9
9
|
placeholder?: string;
|
|
10
10
|
className?: string;
|
|
11
|
-
pattern?: string; // regex pour validation (ex: "^-?\\d*[.,]?\\d*$" pour nombre décimal)
|
|
12
11
|
disabled?: boolean;
|
|
13
12
|
required?: boolean;
|
|
14
|
-
inputMode?: "numeric" | "decimal";
|
|
15
13
|
autoFocus?: boolean;
|
|
16
14
|
maxLength?: number;
|
|
17
15
|
autoComplete?: string;
|
|
@@ -19,7 +17,7 @@ export type InputNumberProps = {
|
|
|
19
17
|
onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
20
18
|
onChange?: (
|
|
21
19
|
e: React.ChangeEvent<HTMLInputElement>,
|
|
22
|
-
valueFormat?: string
|
|
20
|
+
valueFormat?: string
|
|
23
21
|
) => void;
|
|
24
22
|
onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
|
|
25
23
|
onClick?: (e: React.MouseEvent<HTMLInputElement>) => void;
|
|
@@ -40,15 +38,13 @@ export const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(
|
|
|
40
38
|
maxLength = 10,
|
|
41
39
|
autoComplete = "off",
|
|
42
40
|
tabIndex = 0,
|
|
43
|
-
inputMode = "numeric",
|
|
44
|
-
pattern,
|
|
45
41
|
onChange,
|
|
46
42
|
onBlur,
|
|
47
43
|
onClick,
|
|
48
44
|
onKeyDown,
|
|
49
45
|
onFocus,
|
|
50
46
|
},
|
|
51
|
-
ref
|
|
47
|
+
ref
|
|
52
48
|
) => {
|
|
53
49
|
const handleChange = useCallback(
|
|
54
50
|
(e: React.ChangeEvent<HTMLInputElement>) => {
|
|
@@ -66,7 +62,7 @@ export const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(
|
|
|
66
62
|
|
|
67
63
|
onChange?.(e, newValue);
|
|
68
64
|
},
|
|
69
|
-
[onChange, maxLength]
|
|
65
|
+
[onChange, maxLength]
|
|
70
66
|
);
|
|
71
67
|
|
|
72
68
|
const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
|
|
@@ -76,7 +72,7 @@ export const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(
|
|
|
76
72
|
// ✅ Autoriser chiffres, contrôle, ., , et -
|
|
77
73
|
const allowed =
|
|
78
74
|
/[0-9]|Backspace|Delete|ArrowLeft|ArrowRight|Tab|Enter|Home|End/.test(
|
|
79
|
-
e.key
|
|
75
|
+
e.key
|
|
80
76
|
) ||
|
|
81
77
|
e.key === "." ||
|
|
82
78
|
e.key === "," ||
|
|
@@ -109,9 +105,8 @@ export const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(
|
|
|
109
105
|
required={required}
|
|
110
106
|
autoFocus={autoFocus}
|
|
111
107
|
autoComplete={autoComplete}
|
|
112
|
-
pattern={pattern}
|
|
113
108
|
tabIndex={tabIndex}
|
|
114
|
-
inputMode=
|
|
109
|
+
inputMode="numeric" // mobile keyboard adaptatif
|
|
115
110
|
spellCheck="false"
|
|
116
111
|
className={`input-field ${className ?? ""}`}
|
|
117
112
|
onChange={handleChange}
|
|
@@ -126,7 +121,7 @@ export const InputNumber = forwardRef<HTMLInputElement, InputNumberProps>(
|
|
|
126
121
|
/>
|
|
127
122
|
</div>
|
|
128
123
|
);
|
|
129
|
-
}
|
|
124
|
+
}
|
|
130
125
|
);
|
|
131
126
|
|
|
132
127
|
InputNumber.displayName = "InputNumber";
|
|
@@ -18,7 +18,7 @@ export const InputPrice = forwardRef<HTMLInputElement, InputPriceProps>(
|
|
|
18
18
|
onChange,
|
|
19
19
|
...props
|
|
20
20
|
},
|
|
21
|
-
ref
|
|
21
|
+
ref
|
|
22
22
|
) => {
|
|
23
23
|
const handleBlur = useCallback(() => {
|
|
24
24
|
if (onChange) {
|
|
@@ -31,12 +31,10 @@ export const InputPrice = forwardRef<HTMLInputElement, InputPriceProps>(
|
|
|
31
31
|
<InputNumber
|
|
32
32
|
{...props}
|
|
33
33
|
ref={ref}
|
|
34
|
-
pattern="[0-9]*[.,]?[0-9]*"
|
|
35
|
-
inputMode="decimal" // mobile keyboard adaptatif
|
|
36
34
|
value={value ?? ""}
|
|
37
35
|
onChange={(e) => onChange?.(e.target.value)}
|
|
38
36
|
onBlur={handleBlur} // Force le formatage à 2 décimales en sortie
|
|
39
37
|
/>
|
|
40
38
|
);
|
|
41
|
-
}
|
|
39
|
+
}
|
|
42
40
|
);
|
package/src/grid/col/Col.tsx
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import { ColStyled } from "./colStyled/ColStyled";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
type ColProps = {
|
|
3
|
+
xs?: number;
|
|
4
|
+
sm?: number;
|
|
5
|
+
md?: number;
|
|
6
|
+
lg?: number;
|
|
5
7
|
children: React.ReactNode;
|
|
6
8
|
};
|
|
7
|
-
export const Col: React.FC<ColProps> = ({ xs, sm, md, lg,
|
|
9
|
+
export const Col: React.FC<ColProps> = ({ xs, sm, md, lg, children }) => {
|
|
8
10
|
return (
|
|
9
|
-
<ColStyled $xs={xs} $sm={sm} $md={md} $lg={lg}
|
|
11
|
+
<ColStyled $xs={xs} $sm={sm} $md={md} $lg={lg}>
|
|
10
12
|
{children}
|
|
11
13
|
</ColStyled>
|
|
12
14
|
);
|
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
import styled, { css } from "styled-components";
|
|
2
|
-
import { GridColumnSpan } from "../../grid.interface";
|
|
3
|
-
|
|
4
2
|
const getColWidth = (size = 12) => `${(size / 12) * 100}%`;
|
|
5
3
|
type ColStyledProps = {
|
|
6
|
-
$xs?:
|
|
7
|
-
$sm?:
|
|
8
|
-
$md?:
|
|
9
|
-
$lg?:
|
|
10
|
-
$xl?: GridColumnSpan;
|
|
4
|
+
$xs?: number;
|
|
5
|
+
$sm?: number;
|
|
6
|
+
$md?: number;
|
|
7
|
+
$lg?: number;
|
|
11
8
|
};
|
|
12
9
|
export const ColStyled = styled.div<ColStyledProps>`
|
|
13
|
-
box-sizing: border-box;
|
|
14
|
-
min-width: 0;
|
|
15
10
|
padding: 0 15px;
|
|
16
11
|
flex: 0 0 ${({ $xs }) => getColWidth($xs)};
|
|
17
12
|
max-width: ${({ $xs }) => getColWidth($xs)};
|
|
@@ -20,7 +15,7 @@ export const ColStyled = styled.div<ColStyledProps>`
|
|
|
20
15
|
${({ $sm }) =>
|
|
21
16
|
$sm &&
|
|
22
17
|
css`
|
|
23
|
-
@
|
|
18
|
+
@container (min-width: 576px) {
|
|
24
19
|
flex: 0 0 ${getColWidth($sm)};
|
|
25
20
|
max-width: ${getColWidth($sm)};
|
|
26
21
|
}
|
|
@@ -29,7 +24,7 @@ export const ColStyled = styled.div<ColStyledProps>`
|
|
|
29
24
|
${({ $md }) =>
|
|
30
25
|
$md &&
|
|
31
26
|
css`
|
|
32
|
-
@
|
|
27
|
+
@container (min-width: 768px) {
|
|
33
28
|
flex: 0 0 ${getColWidth($md)};
|
|
34
29
|
max-width: ${getColWidth($md)};
|
|
35
30
|
}
|
|
@@ -38,18 +33,9 @@ export const ColStyled = styled.div<ColStyledProps>`
|
|
|
38
33
|
${({ $lg }) =>
|
|
39
34
|
$lg &&
|
|
40
35
|
css`
|
|
41
|
-
@
|
|
36
|
+
@container (min-width: 992px) {
|
|
42
37
|
flex: 0 0 ${getColWidth($lg)};
|
|
43
38
|
max-width: ${getColWidth($lg)};
|
|
44
39
|
}
|
|
45
40
|
`}
|
|
46
|
-
|
|
47
|
-
${({ $xl }) =>
|
|
48
|
-
$xl &&
|
|
49
|
-
css`
|
|
50
|
-
@media (min-width: 1200px) {
|
|
51
|
-
flex: 0 0 ${getColWidth($xl)};
|
|
52
|
-
max-width: ${getColWidth($xl)};
|
|
53
|
-
}
|
|
54
|
-
`}
|
|
55
41
|
`;
|
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
md?: GridColumnSpan;
|
|
7
|
-
lg?: GridColumnSpan;
|
|
8
|
-
xl?: GridColumnSpan;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export interface GridInterface extends GridBreakpoints {
|
|
1
|
+
export interface GridInterface {
|
|
2
|
+
sm?: number;
|
|
3
|
+
xs?: number;
|
|
4
|
+
md?: number;
|
|
5
|
+
lg?: number;
|
|
12
6
|
children: React.ReactNode;
|
|
13
7
|
}
|
package/src/header/Header.tsx
CHANGED
|
@@ -11,7 +11,6 @@ export const Header = ({
|
|
|
11
11
|
onClickMenu,
|
|
12
12
|
userChildren,
|
|
13
13
|
positionFixed,
|
|
14
|
-
overlayClassName,
|
|
15
14
|
onClickLogo,
|
|
16
15
|
showBackNavigation,
|
|
17
16
|
onClickBackNavigation,
|
|
@@ -24,7 +23,7 @@ export const Header = ({
|
|
|
24
23
|
return (
|
|
25
24
|
<div className={`header ${positionFixed ? "header--fixed" : ""}`}>
|
|
26
25
|
<div className="flex-1 d-flex align-items-center">
|
|
27
|
-
<span
|
|
26
|
+
<span onClick={onClickMenu}>
|
|
28
27
|
<Icon size={IconSizeEnum.MEDIUM} classIcon="bi-list"></Icon>
|
|
29
28
|
</span>
|
|
30
29
|
{showBackNavigation && (
|
|
@@ -40,7 +39,7 @@ export const Header = ({
|
|
|
40
39
|
className={`header-logo ${onClickLogo && "cursor-pointer"} `}
|
|
41
40
|
onClick={onClickLogo}
|
|
42
41
|
>
|
|
43
|
-
{logo && logo}
|
|
42
|
+
{logo && <img src={logo} alt="logo" />}
|
|
44
43
|
</span>
|
|
45
44
|
</div>
|
|
46
45
|
<div className="d-flex align-items-center">
|
|
@@ -50,7 +49,6 @@ export const Header = ({
|
|
|
50
49
|
</div>
|
|
51
50
|
{openOverlay && refButton.current && (
|
|
52
51
|
<OverlayPanel
|
|
53
|
-
className={overlayClassName}
|
|
54
52
|
position="bottomRight"
|
|
55
53
|
show={openOverlay}
|
|
56
54
|
closeOverlay={setOpenOverlay}
|
package/src/header/header.css
CHANGED
|
@@ -23,21 +23,4 @@
|
|
|
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
|
-
}
|
|
43
26
|
}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
export interface HeaderInterface {
|
|
2
|
-
logo?:
|
|
2
|
+
logo?: string;
|
|
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;
|
|
9
8
|
showBackNavigation?: boolean;
|
|
10
9
|
onClickBackNavigation?: () => void;
|
|
11
10
|
}
|
package/src/icon/Icon.tsx
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import "./icon.css";
|
|
2
2
|
import { IconInterface } from "./icon.interface";
|
|
3
3
|
|
|
4
|
-
export const Icon = ({
|
|
5
|
-
|
|
4
|
+
export const Icon = ({
|
|
5
|
+
classIcon,
|
|
6
|
+
size,
|
|
7
|
+
onClick,
|
|
8
|
+
}: IconInterface): JSX.Element => {
|
|
9
|
+
return <i className={`bi ${classIcon} ${size ?? "sm"}`} onClick={onClick} />;
|
|
6
10
|
};
|
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: #004aad;
|
|
4
|
+
--secondary-color: #ff914d;
|
|
5
|
+
--tertiary-color: #00ada1;
|
|
6
|
+
--quaternary-color: #0082ad;
|
|
7
7
|
--success-color: #28a745;
|
|
8
8
|
--info-color: #17a2b8;
|
|
9
9
|
--warning-color: #ec942c;
|
|
@@ -17,10 +17,7 @@
|
|
|
17
17
|
html,
|
|
18
18
|
body {
|
|
19
19
|
margin: 0;
|
|
20
|
-
font-family: "
|
|
21
|
-
font-optical-sizing: auto;
|
|
22
|
-
font-style: normal;
|
|
23
|
-
font-size: 18px;
|
|
20
|
+
font-family: "Raleway", sans-serif !important;
|
|
24
21
|
-webkit-font-smoothing: antialiased;
|
|
25
22
|
-moz-osx-font-smoothing: grayscale;
|
|
26
23
|
height: 100%;
|
|
@@ -31,48 +28,38 @@ body {
|
|
|
31
28
|
width: 100%;
|
|
32
29
|
background-color: #fff;
|
|
33
30
|
}
|
|
34
|
-
|
|
35
31
|
.app {
|
|
36
32
|
container: app-container/ inline-size;
|
|
37
33
|
}
|
|
38
34
|
|
|
39
35
|
input[type="number"]::-webkit-outer-spin-button,
|
|
40
36
|
input[type="number"]::-webkit-inner-spin-button {
|
|
41
|
-
-webkit-appearance: none;
|
|
42
|
-
/* Chrome, Safari, Edge */
|
|
37
|
+
-webkit-appearance: none; /* Chrome, Safari, Edge */
|
|
43
38
|
margin: 0;
|
|
44
39
|
}
|
|
45
|
-
|
|
46
40
|
/* flex properties */
|
|
47
41
|
|
|
48
42
|
.d-flex {
|
|
49
43
|
display: flex;
|
|
50
44
|
}
|
|
51
|
-
|
|
52
45
|
.justify-content-start {
|
|
53
46
|
justify-content: start;
|
|
54
47
|
}
|
|
55
|
-
|
|
56
48
|
.justify-content-end {
|
|
57
49
|
justify-content: end;
|
|
58
50
|
}
|
|
59
|
-
|
|
60
51
|
.justify-content-center {
|
|
61
52
|
justify-content: center;
|
|
62
53
|
}
|
|
63
|
-
|
|
64
54
|
.justify-content-between {
|
|
65
55
|
justify-content: space-between;
|
|
66
56
|
}
|
|
67
|
-
|
|
68
57
|
.justify-content-around {
|
|
69
58
|
justify-content: space-around;
|
|
70
59
|
}
|
|
71
|
-
|
|
72
60
|
.justify-content-evenly {
|
|
73
61
|
justify-content: space-evenly;
|
|
74
62
|
}
|
|
75
|
-
|
|
76
63
|
.align-items-start {
|
|
77
64
|
align-items: start;
|
|
78
65
|
}
|
|
@@ -323,83 +310,63 @@ a {
|
|
|
323
310
|
.mb-3 {
|
|
324
311
|
margin-bottom: 1rem;
|
|
325
312
|
}
|
|
326
|
-
|
|
327
313
|
.pb-0 {
|
|
328
314
|
padding-bottom: 0;
|
|
329
315
|
}
|
|
330
|
-
|
|
331
316
|
.pb-1 {
|
|
332
317
|
padding-bottom: 0.25rem;
|
|
333
318
|
}
|
|
334
|
-
|
|
335
319
|
.pb-2 {
|
|
336
320
|
padding-bottom: 0.5rem;
|
|
337
321
|
}
|
|
338
|
-
|
|
339
322
|
.pb-3 {
|
|
340
323
|
padding-bottom: 1rem;
|
|
341
324
|
}
|
|
342
|
-
|
|
343
325
|
.pt-0 {
|
|
344
326
|
padding-top: 0;
|
|
345
327
|
}
|
|
346
|
-
|
|
347
328
|
.pt-1 {
|
|
348
329
|
padding-top: 0.25rem;
|
|
349
330
|
}
|
|
350
|
-
|
|
351
331
|
.pt-2 {
|
|
352
332
|
padding-top: 0.5rem;
|
|
353
333
|
}
|
|
354
|
-
|
|
355
334
|
.pt-3 {
|
|
356
335
|
padding-top: 1rem;
|
|
357
336
|
}
|
|
358
|
-
|
|
359
337
|
.pl-0 {
|
|
360
338
|
padding-left: 0;
|
|
361
339
|
}
|
|
362
|
-
|
|
363
340
|
.pl-1 {
|
|
364
341
|
padding-left: 0.25rem;
|
|
365
342
|
}
|
|
366
|
-
|
|
367
343
|
.pl-2 {
|
|
368
344
|
padding-left: 0.5rem;
|
|
369
345
|
}
|
|
370
|
-
|
|
371
346
|
.pl-3 {
|
|
372
347
|
padding-left: 1rem;
|
|
373
348
|
}
|
|
374
|
-
|
|
375
349
|
.pr-0 {
|
|
376
350
|
padding-right: 0;
|
|
377
351
|
}
|
|
378
|
-
|
|
379
352
|
.pr-1 {
|
|
380
353
|
padding-right: 0.25rem;
|
|
381
354
|
}
|
|
382
|
-
|
|
383
355
|
.pr-2 {
|
|
384
356
|
padding-right: 0.5rem;
|
|
385
357
|
}
|
|
386
|
-
|
|
387
358
|
.pr-3 {
|
|
388
359
|
padding-right: 1rem;
|
|
389
360
|
}
|
|
390
|
-
|
|
391
361
|
.p-0 {
|
|
392
362
|
padding: 0;
|
|
393
363
|
}
|
|
394
|
-
|
|
395
364
|
.p-1 {
|
|
396
365
|
padding: 0.25rem;
|
|
397
366
|
}
|
|
398
|
-
|
|
399
367
|
.p-2 {
|
|
400
368
|
padding: 0.5rem;
|
|
401
369
|
}
|
|
402
|
-
|
|
403
370
|
.p-3 {
|
|
404
371
|
padding: 1rem;
|
|
405
372
|
}
|
|
@@ -408,32 +375,25 @@ a {
|
|
|
408
375
|
.border-bottom {
|
|
409
376
|
border-bottom: 1px solid #cfbdbd;
|
|
410
377
|
}
|
|
411
|
-
|
|
412
378
|
.border-top {
|
|
413
379
|
border-top: 1px solid #cfbdbd;
|
|
414
380
|
}
|
|
415
|
-
|
|
416
381
|
.border-left {
|
|
417
382
|
border-left: 1px solid #cfbdbd;
|
|
418
383
|
}
|
|
419
|
-
|
|
420
384
|
.border-right {
|
|
421
385
|
border-right: 1px solid #cfbdbd;
|
|
422
386
|
}
|
|
423
|
-
|
|
424
387
|
/* fonts */
|
|
425
388
|
.font-weight-bold {
|
|
426
389
|
font-weight: 600;
|
|
427
390
|
}
|
|
428
|
-
|
|
429
391
|
.font-weight-light {
|
|
430
392
|
font-weight: 300;
|
|
431
393
|
}
|
|
432
|
-
|
|
433
394
|
.font-weight-normal {
|
|
434
395
|
font-weight: 400;
|
|
435
396
|
}
|
|
436
|
-
|
|
437
397
|
.font-weight-italic {
|
|
438
398
|
font-style: italic;
|
|
439
399
|
}
|
|
@@ -442,41 +402,32 @@ a {
|
|
|
442
402
|
.visible {
|
|
443
403
|
visibility: visible;
|
|
444
404
|
}
|
|
445
|
-
|
|
446
405
|
.hidden {
|
|
447
406
|
visibility: hidden;
|
|
448
407
|
}
|
|
449
|
-
|
|
450
408
|
.position-relative {
|
|
451
409
|
position: relative;
|
|
452
410
|
}
|
|
453
|
-
|
|
454
411
|
.position-absolute {
|
|
455
412
|
position: absolute;
|
|
456
413
|
}
|
|
457
|
-
|
|
458
414
|
.cursor-pointer {
|
|
459
415
|
cursor: pointer;
|
|
460
416
|
}
|
|
461
|
-
|
|
462
417
|
.w-100 {
|
|
463
418
|
width: 100%;
|
|
464
419
|
}
|
|
465
|
-
|
|
466
420
|
.min-width-auto {
|
|
467
421
|
min-width: auto;
|
|
468
422
|
}
|
|
469
|
-
|
|
470
423
|
.disabled {
|
|
471
424
|
opacity: 0.5;
|
|
472
425
|
cursor: not-allowed;
|
|
473
426
|
pointer-events: none;
|
|
474
427
|
}
|
|
475
|
-
|
|
476
428
|
.overflow-auto {
|
|
477
429
|
overflow: auto;
|
|
478
430
|
}
|
|
479
|
-
|
|
480
431
|
.toggle-btn {
|
|
481
432
|
display: flex;
|
|
482
433
|
width: 100%;
|
|
@@ -541,8 +492,11 @@ a {
|
|
|
541
492
|
/* Couleurs : gris pour la barre, transparent pour le fond */
|
|
542
493
|
}
|
|
543
494
|
|
|
544
|
-
@media (min-width: 576px) {
|
|
495
|
+
@media (min-width: 576px) {
|
|
496
|
+
}
|
|
545
497
|
|
|
546
|
-
@media (min-width: 768px) {
|
|
498
|
+
@media (min-width: 768px) {
|
|
499
|
+
}
|
|
547
500
|
|
|
548
|
-
@media (min-width: 992px) {
|
|
501
|
+
@media (min-width: 992px) {
|
|
502
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -19,11 +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
|
+
|
|
22
23
|
export { ButtonAction } from "./action/ButtonAction";
|
|
23
24
|
export { Badge } from "./badge/Badge";
|
|
24
25
|
export { Button } from "./button/Button";
|
|
25
26
|
export { ButtonActions } from "./button/buttonActions/ButtonActions";
|
|
26
27
|
export { ButtonFile } from "./button/buttonFile/ButtonFile";
|
|
28
|
+
export { ButtonFilters } from "./button/buttonFilters/ButtonFilters";
|
|
27
29
|
export { Card } from "./card/Card";
|
|
28
30
|
export { Carousel } from "./carousel/Carousel";
|
|
29
31
|
export { Damier } from "./damier/Damier";
|
|
@@ -33,7 +35,6 @@ export { Expands } from "./expands/Expands";
|
|
|
33
35
|
export { FilAriane } from "./filAriane/FilAriane";
|
|
34
36
|
export { DynamicForm } from "./form/Form";
|
|
35
37
|
export { TypeInputEnum } from "./form/form.enum";
|
|
36
|
-
export type { FormMode } from "./form/form.interface";
|
|
37
38
|
export { Input } from "./form/input/Input";
|
|
38
39
|
export { InputNumber } from "./form/inputNumber/InputNumber";
|
|
39
40
|
export { InputPrice } from "./form/inputPrice/InputPrice";
|
package/src/menus/Menus.tsx
CHANGED
|
@@ -22,7 +22,6 @@ 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" : ""}
|
|
26
25
|
active={currentItem?.id === item.id}
|
|
27
26
|
/>
|
|
28
27
|
{item.subMenu && item.subMenu.length > 0 && (
|
package/src/menus/menu/Menu.tsx
CHANGED
|
@@ -4,13 +4,12 @@ export type MenuProps = {
|
|
|
4
4
|
active: boolean;
|
|
5
5
|
item: MenuInterface;
|
|
6
6
|
onChange: (item: MenuInterface) => void;
|
|
7
|
-
className?: string;
|
|
8
7
|
};
|
|
9
8
|
export const Menu = (props: MenuProps): JSX.Element => {
|
|
10
9
|
return (
|
|
11
10
|
<div
|
|
12
11
|
onClick={() => props.onChange(props.item)}
|
|
13
|
-
className={
|
|
12
|
+
className={props.active ? "expand expand--active" : "expand"}
|
|
14
13
|
>
|
|
15
14
|
{props.item.children}
|
|
16
15
|
</div>
|