kelt-ui-kit-react 2.0.3 → 2.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (127) hide show
  1. package/README.md +26 -0
  2. package/dist/addressSearch/AddressSearch.d.ts +20 -0
  3. package/dist/addressSearch/AddressSearch.view.d.ts +1 -0
  4. package/dist/badge/Badge.d.ts +1 -3
  5. package/dist/button/Button.d.ts +1 -1
  6. package/dist/button/button.interface.d.ts +2 -1
  7. package/dist/card/Card.d.ts +4 -1
  8. package/dist/dataTable/DataTable.d.ts +14 -17
  9. package/dist/dataTable/dataTable.interface.d.ts +19 -24
  10. package/dist/dataTable/dataTableActions/DataTableAction.d.ts +5 -3
  11. package/dist/dataTable/dataTableColumn/DataTableColumn.d.ts +7 -13
  12. package/dist/dataTable/dataTableLoading/DataTableLoading.d.ts +3 -1
  13. package/dist/dataTable/dataTableRow/DataTableRow.d.ts +6 -5
  14. package/dist/expands/Expands.d.ts +1 -0
  15. package/dist/expands/expand/expand.d.ts +3 -2
  16. package/dist/form/Form.d.ts +10 -2
  17. package/dist/form/form.enum.d.ts +3 -2
  18. package/dist/form/form.interface.d.ts +22 -3
  19. package/dist/form/input/Input.d.ts +0 -3
  20. package/dist/form/inputNumber/InputNumber.d.ts +2 -0
  21. package/dist/geocoding/GeocodingService.d.ts +13 -0
  22. package/dist/geocoding/geocoding.interface.d.ts +20 -0
  23. package/dist/grid/Grid.d.ts +5 -2
  24. package/dist/grid/col/Col.d.ts +3 -6
  25. package/dist/grid/col/colStyled/ColStyled.d.ts +8 -5
  26. package/dist/grid/grid.interface.d.ts +20 -5
  27. package/dist/grid/row/Row.d.ts +7 -0
  28. package/dist/header/Header.d.ts +1 -1
  29. package/dist/header/header.interface.d.ts +2 -1
  30. package/dist/icon/Icon.d.ts +1 -1
  31. package/dist/icon/icon.interface.d.ts +0 -1
  32. package/dist/index.d.ts +5 -1
  33. package/dist/index.js +3724 -3628
  34. package/dist/menus/menu/Menu.d.ts +1 -0
  35. package/dist/select/Select.d.ts +2 -1
  36. package/dist/style.css +1 -1
  37. package/dist/tabs/Tabs.d.ts +1 -2
  38. package/dist/toaster/store/useToasterStore.d.ts +1 -0
  39. package/index.html +1 -2
  40. package/package.json +1 -1
  41. package/src/App.menu.tsx +8 -0
  42. package/src/addressSearch/AddressSearch.tsx +246 -0
  43. package/src/addressSearch/AddressSearch.view.tsx +52 -0
  44. package/src/addressSearch/addressSearch.css +133 -0
  45. package/src/badge/Badge.tsx +1 -9
  46. package/src/badge/badge.css +0 -4
  47. package/src/button/Button.tsx +3 -1
  48. package/src/button/button.css +2 -2
  49. package/src/button/button.interface.tsx +2 -1
  50. package/src/card/Card.tsx +37 -11
  51. package/src/card/card.css +7 -28
  52. package/src/card/cardAction/CardAction.tsx +4 -4
  53. package/src/damier/Damier.tsx +16 -7
  54. package/src/damier/damier.css +11 -4
  55. package/src/dataTable/DataTable.tsx +542 -685
  56. package/src/dataTable/DataTable.view.tsx +24 -48
  57. package/src/dataTable/dataTable.css +159 -134
  58. package/src/dataTable/dataTable.interface.ts +19 -25
  59. package/src/dataTable/dataTableActions/DataTableAction.tsx +25 -14
  60. package/src/dataTable/dataTableColumn/DataTableColumn.tsx +14 -64
  61. package/src/dataTable/dataTableLoading/DataTableLoading.tsx +15 -4
  62. package/src/dataTable/dataTableRow/DataTableRow.tsx +180 -64
  63. package/src/expands/Expands.tsx +18 -2
  64. package/src/expands/expand/expand.tsx +128 -5
  65. package/src/expands/expands.css +8 -3
  66. package/src/form/Form.tsx +294 -99
  67. package/src/form/Form.view.tsx +9 -1
  68. package/src/form/form.css +64 -1
  69. package/src/form/form.enum.ts +2 -1
  70. package/src/form/form.interface.tsx +31 -3
  71. package/src/form/input/Input.tsx +7 -61
  72. package/src/form/input/input.css +1 -19
  73. package/src/form/inputNumber/InputNumber.tsx +11 -6
  74. package/src/form/inputPrice/InputPrice.tsx +4 -2
  75. package/src/geocoding/GeocodingService.ts +89 -0
  76. package/src/geocoding/geocoding.interface.ts +25 -0
  77. package/src/grid/Grid.tsx +34 -21
  78. package/src/grid/col/Col.tsx +24 -15
  79. package/src/grid/col/col.css +3 -0
  80. package/src/grid/col/colStyled/ColStyled.tsx +59 -41
  81. package/src/grid/container/container.css +2 -2
  82. package/src/grid/grid.interface.tsx +25 -5
  83. package/src/grid/row/Row.tsx +49 -12
  84. package/src/grid/row/row.css +11 -3
  85. package/src/header/Header.tsx +4 -2
  86. package/src/header/header.css +17 -0
  87. package/src/header/header.interface.tsx +2 -1
  88. package/src/icon/Icon.tsx +2 -6
  89. package/src/icon/icon.interface.tsx +0 -1
  90. package/src/index.css +58 -12
  91. package/src/index.ts +12 -2
  92. package/src/menus/Menus.tsx +1 -0
  93. package/src/menus/menu/Menu.tsx +2 -1
  94. package/src/select/Select.tsx +5 -3
  95. package/src/sidebar/Sidebar.tsx +107 -5
  96. package/src/sidebar/sidebar.css +18 -1
  97. package/src/tabs/Tabs.tsx +1 -20
  98. package/src/tabs/tabs.css +9 -3
  99. package/src/toaster/Toaster.tsx +7 -2
  100. package/src/toaster/Toaster.view.tsx +1 -0
  101. package/src/toaster/store/useToasterStore.tsx +2 -0
  102. package/src/toaster/toaster.css +7 -2
  103. package/dist/_core/type/generiqueType.d.ts +0 -4
  104. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.d.ts +0 -10
  105. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.d.ts +0 -9
  106. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.d.ts +0 -9
  107. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.d.ts +0 -13
  108. package/dist/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.d.ts +0 -9
  109. package/dist/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.d.ts +0 -11
  110. package/dist/dataTable/dataTableFilters/DataTableFilters.d.ts +0 -7
  111. package/dist/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.d.ts +0 -12
  112. package/dist/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.d.ts +0 -11
  113. package/package/package.json +0 -56
  114. package/package/src/sidebar/Sidebar.tsx +0 -208
  115. package/package/src/sidebar/sidebar.css +0 -104
  116. package/src/_core/type/generiqueType.tsx +0 -4
  117. package/src/dataTable/dataTableColumn/dataTableColumnFilter/DataTableColumnFilter.tsx +0 -36
  118. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilter.css +0 -0
  119. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDate/DataTableColumnFilterDate.tsx +0 -39
  120. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterDateRange/dataTableColumnFilterDateRange.tsx +0 -80
  121. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterEnum/DataTableColumnFilterEnum.tsx +0 -89
  122. package/src/dataTable/dataTableColumn/dataTableColumnFilter/dataTableColumnFilterString/DataTableColumnFilterString.tsx +0 -37
  123. package/src/dataTable/dataTableColumn/dataTableColumnSort/DataTableColumnSort.tsx +0 -42
  124. package/src/dataTable/dataTableFilters/DataTableFilters.tsx +0 -91
  125. package/src/dataTable/dataTableFilters/dataTableFilters.css +0 -16
  126. package/src/dataTable/dataTableRow/dataTableRowOverlay/DataTableRowOverlay.tsx +0 -80
  127. package/src/dataTable/dataTableRow/dataTableRowValue/DataTableRowValue.tsx +0 -123
@@ -15,6 +15,9 @@ export interface SidebarProps {
15
15
  onClose?: (close: boolean) => void;
16
16
  }
17
17
 
18
+ const SWIPE_CLOSE_THRESHOLD = 60; // px à parcourir pour fermer
19
+ const SWIPE_AXIS_LOCK_THRESHOLD = 10; // px pour déterminer l'axe du geste
20
+
18
21
  export const Sidebar = ({
19
22
  open,
20
23
  children,
@@ -27,8 +30,13 @@ export const Sidebar = ({
27
30
  displayOverlay = true,
28
31
  }: SidebarProps): JSX.Element => {
29
32
  const [isOpen, setIsOpen] = useState(open || false);
33
+ const [dragX, setDragX] = useState(0);
34
+ const [isDragging, setIsDragging] = useState(false);
30
35
  const sidebarRef = useRef<HTMLDivElement | null>(null);
31
36
  const rootRef = useRef<HTMLDivElement | null>(null);
37
+ const touchStartX = useRef(0);
38
+ const touchStartY = useRef(0);
39
+ const axisLocked = useRef<"x" | "y" | null>(null);
32
40
 
33
41
  // Créer le conteneur une seule fois
34
42
  useEffect(() => {
@@ -60,7 +68,7 @@ export const Sidebar = ({
60
68
  }, [onClose]);
61
69
 
62
70
  const handleClickOutside = useCallback(
63
- (event: MouseEvent) => {
71
+ (event: MouseEvent | TouchEvent) => {
64
72
  if (!closeOnClickOutside) return;
65
73
  if (
66
74
  sidebarRef.current &&
@@ -69,18 +77,98 @@ export const Sidebar = ({
69
77
  toggleSidebar();
70
78
  }
71
79
  },
72
- [toggleSidebar, closeOnClickOutside]
80
+ [toggleSidebar, closeOnClickOutside],
81
+ );
82
+
83
+ const handleTouchStart = useCallback((event: React.TouchEvent) => {
84
+ const touch = event.touches[0];
85
+ touchStartX.current = touch.clientX;
86
+ touchStartY.current = touch.clientY;
87
+ axisLocked.current = null;
88
+ setIsDragging(false);
89
+ setDragX(0);
90
+ }, []);
91
+
92
+ const handleTouchMove = useCallback(
93
+ (event: React.TouchEvent) => {
94
+ if (!isOpen) return;
95
+
96
+ const touch = event.touches[0];
97
+ const deltaX = touch.clientX - touchStartX.current;
98
+ const deltaY = touch.clientY - touchStartY.current;
99
+
100
+ // Détermine l'axe du geste une seule fois, dès qu'on a un déplacement suffisant
101
+ if (!axisLocked.current) {
102
+ if (
103
+ Math.abs(deltaX) < SWIPE_AXIS_LOCK_THRESHOLD &&
104
+ Math.abs(deltaY) < SWIPE_AXIS_LOCK_THRESHOLD
105
+ ) {
106
+ return; // pas encore assez de mouvement pour trancher
107
+ }
108
+ axisLocked.current = Math.abs(deltaX) > Math.abs(deltaY) ? "x" : "y";
109
+ }
110
+
111
+ if (axisLocked.current !== "x") {
112
+ return;
113
+ }
114
+
115
+ // Ignore les petits mouvements horizontaux
116
+ if (deltaX < 20) {
117
+ return;
118
+ }
119
+
120
+ event.preventDefault();
121
+
122
+ setIsDragging(true);
123
+ setDragX(Math.max(0, deltaX));
124
+ },
125
+ [isOpen],
126
+ );
127
+
128
+ const handleTouchEnd = useCallback(
129
+ (event: React.TouchEvent) => {
130
+ if (!isOpen) {
131
+ return;
132
+ }
133
+
134
+ if (axisLocked.current === "x") {
135
+ const touch = event.changedTouches[0];
136
+ const deltaX = touch.clientX - touchStartX.current;
137
+
138
+ if (deltaX > SWIPE_CLOSE_THRESHOLD) {
139
+ toggleSidebar();
140
+ }
141
+ }
142
+
143
+ setIsDragging(false);
144
+ setDragX(0);
145
+ axisLocked.current = null;
146
+ },
147
+ [isOpen, toggleSidebar],
148
+ );
149
+
150
+ const handleOverlayTouchEnd = useCallback(
151
+ (event: React.TouchEvent) => {
152
+ event.preventDefault();
153
+ toggleSidebar();
154
+ },
155
+ [toggleSidebar],
73
156
  );
74
157
 
75
158
  useEffect(() => {
76
159
  if (isOpen) {
77
160
  document.addEventListener("mousedown", handleClickOutside);
161
+ document.addEventListener("touchstart", handleClickOutside, {
162
+ passive: true,
163
+ });
78
164
  } else {
79
165
  document.removeEventListener("mousedown", handleClickOutside);
166
+ document.removeEventListener("touchstart", handleClickOutside);
80
167
  }
81
168
 
82
169
  return () => {
83
170
  document.removeEventListener("mousedown", handleClickOutside);
171
+ document.removeEventListener("touchstart", handleClickOutside);
84
172
  };
85
173
  }, [isOpen, handleClickOutside]);
86
174
 
@@ -90,11 +178,25 @@ export const Sidebar = ({
90
178
 
91
179
  return ReactDOM.createPortal(
92
180
  <>
93
- {isOpen && displayOverlay && <div className="overlay"></div>}
181
+ {isOpen && displayOverlay && (
182
+ <div
183
+ className="overlay"
184
+ onClick={toggleSidebar}
185
+ onTouchEnd={handleOverlayTouchEnd}
186
+ ></div>
187
+ )}
94
188
  <div
95
189
  ref={sidebarRef}
96
- style={width ? { width: width } : {}}
190
+ style={{
191
+ ...(width ? { width } : {}),
192
+ transform: dragX ? `translateX(${dragX}px)` : undefined,
193
+ transition: isDragging ? "none" : undefined,
194
+ }}
97
195
  className={`sidebar ${isOpen ? "open" : "closed"} ${className ?? ""}`}
196
+ onClick={(event) => event.stopPropagation()}
197
+ onTouchStart={handleTouchStart}
198
+ onTouchMove={handleTouchMove}
199
+ onTouchEnd={handleTouchEnd}
98
200
  >
99
201
  <div className="sidebar-header">
100
202
  {title && <h2 className="flex-1">{title}</h2>}
@@ -106,6 +208,6 @@ export const Sidebar = ({
106
208
  {children && children}
107
209
  </div>
108
210
  </>,
109
- rootRef.current
211
+ rootRef.current,
110
212
  );
111
213
  };
@@ -1,3 +1,18 @@
1
+ .sidebar {
2
+ touch-action: pan-y;
3
+ /* laisse le scroll vertical natif, gère le X nous-même */
4
+ will-change: transform;
5
+ }
6
+
7
+ .overlay {
8
+ touch-action: none;
9
+ }
10
+
11
+ .toggle-btn {
12
+ -webkit-tap-highlight-color: transparent;
13
+ touch-action: manipulation;
14
+ }
15
+
1
16
  .sidebar {
2
17
  width: 200px;
3
18
  height: 100vh;
@@ -10,6 +25,8 @@
10
25
  transform: translateX(0);
11
26
  z-index: 2;
12
27
 
28
+
29
+
13
30
  &:not(.full) {
14
31
  inset: 0;
15
32
  }
@@ -84,4 +101,4 @@
84
101
  width: 40vw;
85
102
  }
86
103
  }
87
- }
104
+ }
package/src/tabs/Tabs.tsx CHANGED
@@ -15,7 +15,6 @@ export type TabsProps = {
15
15
  className?: string;
16
16
  tabClassName?: string;
17
17
  panelClassName?: string;
18
- keepMountedVisited?: boolean;
19
18
  };
20
19
 
21
20
  export const Tabs = ({
@@ -26,14 +25,9 @@ export const Tabs = ({
26
25
  className = "",
27
26
  tabClassName = "",
28
27
  panelClassName = "",
29
- keepMountedVisited = false,
30
28
  }: TabsProps) => {
31
29
  const isControlled = typeof index === "number";
32
30
  const [active, setActive] = useState<number>(defaultIndex);
33
- // En mode contrôlé, seul l'onglet réellement affiché est considéré comme visité
34
- const [visitedTabs, setVisitedTabs] = useState<Set<number>>(
35
- () => new Set([isControlled ? (index as number) : defaultIndex]),
36
- );
37
31
  const current = isControlled ? (index as number) : active;
38
32
 
39
33
  useEffect(() => {
@@ -43,18 +37,6 @@ export const Tabs = ({
43
37
  }
44
38
  }, [defaultIndex, items.length, isControlled]);
45
39
 
46
- useEffect(() => {
47
- setVisitedTabs((prev) => {
48
- if (prev.has(current)) {
49
- return prev;
50
- }
51
-
52
- const next = new Set(prev);
53
- next.add(current);
54
- return next;
55
- });
56
- }, [current]);
57
-
58
40
  const tabsRef = useRef<Array<HTMLButtonElement | null>>([]);
59
41
 
60
42
  const activate = (next: number) => {
@@ -100,8 +82,7 @@ export const Tabs = ({
100
82
  hidden={current !== i}
101
83
  className={`${panelClassName} mt-3`}
102
84
  >
103
- {(current === i || (keepMountedVisited && visitedTabs.has(i))) &&
104
- t.panel}
85
+ {current === i && t.panel}
105
86
  </div>
106
87
  ))}
107
88
  </div>
package/src/tabs/tabs.css CHANGED
@@ -1,24 +1,30 @@
1
1
  .tabs-root {
2
2
  height: 100%;
3
+
3
4
  .tabs-header {
4
5
  display: flex;
5
6
  border-bottom: 1px solid #b2a1a1;
7
+
6
8
  .tab-button {
7
9
  padding: 0.5rem 0.75rem;
8
10
  border: 0px;
9
11
  outline: none;
10
12
  background-color: transparent;
11
- color: #1e293b; /* slate-800 */
13
+ color: #1e293b;
14
+ /* slate-800 */
12
15
  cursor: pointer;
13
16
 
14
17
  &.tab-button--active {
15
- border-bottom: 2px solid var(--primary-color); /* slate-800 */
18
+ border-bottom: 2px solid var(--primary-color);
19
+ /* slate-800 */
16
20
  border-radius: 0px;
21
+ font-weight: bold;
17
22
  }
23
+
18
24
  &.tab-button--disabled {
19
25
  opacity: 0.5;
20
26
  cursor: not-allowed;
21
27
  }
22
28
  }
23
29
  }
24
- }
30
+ }
@@ -34,9 +34,14 @@ export const Toaster = () => {
34
34
  return ReactDOM.createPortal(
35
35
  <div className={`toaster toaster-${severity}`}>
36
36
  {close && (
37
- <div className="toaster--close" onClick={onClose}>
37
+ <button
38
+ type="button"
39
+ className="toaster--close"
40
+ onClick={onClose}
41
+ aria-label="Fermer la notification"
42
+ >
38
43
  <Icon classIcon="bi-x" />
39
- </div>
44
+ </button>
40
45
  )}
41
46
  <div>
42
47
  {severity === "info" && <Icon classIcon="bi-info-circle" />}
@@ -9,6 +9,7 @@ export const ToasterView = (): JSX.Element => {
9
9
  description: "This is a description for the toast message.",
10
10
  severity: "warning",
11
11
  duration: 10000,
12
+ close: true,
12
13
  children: <div>Additional content can go here.</div>,
13
14
  });
14
15
  }, [showToast]);
@@ -15,6 +15,7 @@ type ToasterState = {
15
15
  severity?: "info" | "success" | "error" | "warning";
16
16
  duration?: number;
17
17
  children?: React.ReactNode;
18
+ close?: boolean;
18
19
  }
19
20
  ) => void;
20
21
  hideToast: () => void;
@@ -36,6 +37,7 @@ export const useToasterStore = create<ToasterState>((set) => ({
36
37
  duration: options.duration || 2500,
37
38
  visible: true,
38
39
  children: options.children || null,
40
+ close: options.close ?? true,
39
41
  })),
40
42
  hideToast: () => set(() => ({ visible: false })),
41
43
  }));
@@ -15,7 +15,12 @@
15
15
  position: absolute;
16
16
  top: 2px;
17
17
  right: 2px;
18
+ margin: 0;
19
+ padding: 0;
20
+ border: 0;
21
+ background: transparent;
18
22
  color: #333;
23
+ min-width: auto;
19
24
  cursor: pointer;
20
25
  .bi {
21
26
  font-size: 1.2rem;
@@ -55,7 +60,7 @@
55
60
  }
56
61
  .title {
57
62
  font-weight: 500;
58
- font-size: 16px;
63
+ font-size: 18px;
59
64
  &.title-info {
60
65
  color: var(--primary-color);
61
66
  }
@@ -70,7 +75,7 @@
70
75
  }
71
76
  }
72
77
  .subtitle {
73
- font-size: 14px;
78
+ font-size: 16px;
74
79
  }
75
80
  .bi-info-circle {
76
81
  color: var(--primary-color);
@@ -1,4 +0,0 @@
1
- export interface EnumerableType {
2
- label: string;
3
- value: string;
4
- }
@@ -1,10 +0,0 @@
1
- import { DataTableColumnsInterface } from '../../dataTable.interface';
2
-
3
- type DataTableColumnFilterProps<T> = {
4
- className?: string;
5
- column: DataTableColumnsInterface<T>;
6
- isFilterVisible?: boolean;
7
- onToggleVisibility?: (column: DataTableColumnsInterface<T>) => void;
8
- };
9
- export declare const DataTableColumnFilter: <T>({ className, column, isFilterVisible, onToggleVisibility, }: DataTableColumnFilterProps<T>) => import("react/jsx-runtime").JSX.Element;
10
- export {};
@@ -1,9 +0,0 @@
1
- type DataTableColumnFilterDateProps = {
2
- id: string;
3
- name: string;
4
- label: string;
5
- onChange: (value: string) => void;
6
- currentValue?: string;
7
- };
8
- export declare const DataTableColumnFilterDate: ({ id, name, label, onChange, currentValue, }: DataTableColumnFilterDateProps) => import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,9 +0,0 @@
1
- type DataTableColumnFilterDateRangeProps = {
2
- id: string;
3
- name: string;
4
- onChange: (startDate: string, endDate: string) => void;
5
- currentStartValue?: string;
6
- currentEndValue?: string;
7
- };
8
- export declare const DataTableColumnFilterDateRange: ({ id, name, onChange, currentStartValue, currentEndValue, }: DataTableColumnFilterDateRangeProps) => import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,13 +0,0 @@
1
- import { EnumerableType } from '../../../../_core/type/generiqueType';
2
- import { TypeInputEnum } from '../../../../form/form.enum';
3
-
4
- type DataTableColumnFilterEnumProps = {
5
- type: TypeInputEnum;
6
- id: string;
7
- name?: string;
8
- data: EnumerableType[];
9
- onChange: (value: string) => void;
10
- currentValue?: string;
11
- };
12
- export declare const DataTableColumnFilterEnum: ({ type, id, onChange, name, data, currentValue, }: DataTableColumnFilterEnumProps) => import("react/jsx-runtime").JSX.Element;
13
- export {};
@@ -1,9 +0,0 @@
1
- type DataTableColumnFilterStringProps = {
2
- id: string;
3
- name: string;
4
- label: string;
5
- onChange: (value: string) => void;
6
- currentValue?: string;
7
- };
8
- export declare const DataTableColumnFilterString: ({ id, name, label, onChange, currentValue, }: DataTableColumnFilterStringProps) => import("react/jsx-runtime").JSX.Element;
9
- export {};
@@ -1,11 +0,0 @@
1
- import { DataTableSortDirection } from '../../DataTable';
2
- import { DataTableColumnsInterface } from '../../dataTable.interface';
3
-
4
- type DataTableColumnSortProps<T> = {
5
- className?: string;
6
- column: DataTableColumnsInterface<T>;
7
- sortDirection?: DataTableSortDirection | null;
8
- onToggleSort?: (column: DataTableColumnsInterface<T>) => void;
9
- };
10
- export declare const DataTableColumnSort: <T>({ className, column, sortDirection, onToggleSort, }: DataTableColumnSortProps<T>) => import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1,7 +0,0 @@
1
- import { DataTableFilterState } from '../DataTable';
2
-
3
- export type DataTableFiltersProps = {
4
- currentFilters: DataTableFilterState;
5
- setCurrentFilters: React.Dispatch<React.SetStateAction<DataTableFilterState>>;
6
- };
7
- export declare const DataTableFilters: ({ currentFilters, setCurrentFilters, }: DataTableFiltersProps) => import("react/jsx-runtime").JSX.Element | null;
@@ -1,12 +0,0 @@
1
- import { DataTableColumnsInterface } from '../../dataTable.interface';
2
-
3
- type DataTableRowOverlayProps = {
4
- row: any;
5
- column: DataTableColumnsInterface<any>;
6
- value: string;
7
- refRow: React.RefObject<HTMLTableCellElement>;
8
- onClose?: (close: boolean) => void;
9
- onEditColumnByOverlay?: (newRow: any) => void;
10
- };
11
- export declare const DataTableRowOverlay: ({ row, refRow, value, onClose, column, onEditColumnByOverlay, }: DataTableRowOverlayProps) => import("react/jsx-runtime").JSX.Element;
12
- export {};
@@ -1,11 +0,0 @@
1
- import { DataTableColumnsInterface } from '../../dataTable.interface';
2
-
3
- type DataTableRowValueProps = {
4
- column: DataTableColumnsInterface<any>;
5
- value: any;
6
- row: any;
7
- editable?: boolean;
8
- onChange?: (value: any) => void;
9
- };
10
- export declare const DataTableRowValue: ({ column, row, value, editable, onChange, }: DataTableRowValueProps) => import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1,56 +0,0 @@
1
- {
2
- "name": "kelt-ui-kit-react",
3
- "type": "module",
4
- "version": "1.8.2",
5
- "private": false,
6
- "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
8
- "dependencies": {
9
- "@types/node": "^22.5.5",
10
- "@vitejs/plugin-react": "^4.3.1",
11
- "bootstrap-icons": "^1.11.3",
12
- "jwt-decode": "^4.0.0",
13
- "react-date-picker": "^11.0.0",
14
- "styled-components": "^6.1.13",
15
- "vite": "^5.4.6",
16
- "vite-plugin-dts": "^4.2.2",
17
- "vite-plugin-eslint": "^1.8.1",
18
- "web-vitals": "^2.1.4",
19
- "zustand": "^5.0.5"
20
- },
21
- "peerDependencies": {
22
- "react": "^18.3.1",
23
- "react-dom": "^18.3.1",
24
- "react-router-dom": "^6.26.2"
25
- },
26
- "scripts": {
27
- "dev": "vite",
28
- "build": "tsc -b && vite build",
29
- "lint": "eslint .",
30
- "preview": "vite preview"
31
- },
32
- "eslintConfig": {
33
- "extends": [
34
- "react-app",
35
- "react-app/jest"
36
- ]
37
- },
38
- "browserslist": {
39
- "production": [
40
- ">0.2%",
41
- "not dead",
42
- "not op_mini all"
43
- ],
44
- "development": [
45
- "last 1 chrome version",
46
- "last 1 firefox version",
47
- "last 1 safari version"
48
- ]
49
- },
50
- "devDependencies": {
51
- "@types/react-dom": "^18.3.0",
52
- "@types/react-router-dom": "^5.3.3",
53
- "typescript": "^4.9.5",
54
- "vite-plugin-checker": "^0.8.0"
55
- }
56
- }