kelt-ui-kit-react 1.2.4 → 1.2.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.
Files changed (215) hide show
  1. package/README.md +46 -46
  2. package/dist/App.d.ts +3 -2
  3. package/dist/App.menu.d.ts +10 -10
  4. package/dist/App.routes.d.ts +1 -1
  5. package/dist/_core/hooks/ImageChecker.d.ts +6 -5
  6. package/dist/_core/hooks/useIsMobile.d.ts +1 -1
  7. package/dist/action/Action.view.d.ts +1 -1
  8. package/dist/action/ButtonAction.d.ts +9 -8
  9. package/dist/badge/Badge.d.ts +9 -8
  10. package/dist/badge/Badge.view.d.ts +1 -1
  11. package/dist/button/Button.d.ts +2 -1
  12. package/dist/button/Button.view.d.ts +1 -1
  13. package/dist/button/button.interface.d.ts +18 -17
  14. package/dist/button/buttonActions/ButtonActions.d.ts +11 -10
  15. package/dist/card/Card.d.ts +13 -12
  16. package/dist/card/Card.view.d.ts +1 -1
  17. package/dist/card/card.interface.d.ts +10 -10
  18. package/dist/card/cardAction/CardAction.d.ts +14 -13
  19. package/dist/card/cardAction.interface.d.ts +9 -8
  20. package/dist/card/hook/useCardInteractions.d.ts +8 -8
  21. package/dist/carousel/Carousel.d.ts +15 -14
  22. package/dist/carousel/Carousel.view.d.ts +1 -1
  23. package/dist/damier/Damier.d.ts +10 -9
  24. package/dist/damier/Damier.view.d.ts +1 -1
  25. package/dist/damier/damierCell/DamierCell.d.ts +7 -6
  26. package/dist/damier/damierCell/damierCell.interface.d.ts +6 -6
  27. package/dist/dataTable/DataTable.d.ts +18 -17
  28. package/dist/dataTable/DataTable.view.d.ts +1 -1
  29. package/dist/dataTable/dataTable.interface.d.ts +31 -30
  30. package/dist/datePicker/DatePicker.d.ts +8 -7
  31. package/dist/datePicker/DatePicker.view.d.ts +1 -1
  32. package/dist/expands/Expands.d.ts +10 -9
  33. package/dist/expands/Expands.view.d.ts +1 -1
  34. package/dist/expands/expand/expand.d.ts +9 -8
  35. package/dist/expands/expand/expand.interface.d.ts +9 -9
  36. package/dist/filAriane/FilAriane.d.ts +9 -8
  37. package/dist/filAriane/FilAriane.view.d.ts +1 -1
  38. package/dist/filAriane/filAriane.interface.d.ts +6 -6
  39. package/dist/form/Form.d.ts +24 -23
  40. package/dist/form/Form.view.d.ts +1 -1
  41. package/dist/form/form.enum.d.ts +11 -11
  42. package/dist/form/form.interface.d.ts +30 -29
  43. package/dist/form/textArea/TextArea.d.ts +13 -12
  44. package/dist/form/textArea/TextArea.view.d.ts +1 -1
  45. package/dist/grid/Grid.d.ts +8 -7
  46. package/dist/grid/Grid.view.d.ts +1 -1
  47. package/dist/grid/col/Col.d.ts +10 -10
  48. package/dist/grid/col/colStyled/ColStyled.d.ts +9 -9
  49. package/dist/grid/container/Container.d.ts +6 -5
  50. package/dist/grid/grid.interface.d.ts +8 -8
  51. package/dist/grid/row/Row.d.ts +8 -7
  52. package/dist/header/Header.d.ts +2 -1
  53. package/dist/header/Header.view.d.ts +1 -1
  54. package/dist/header/header.interface.d.ts +9 -9
  55. package/dist/home/Home.d.ts +1 -1
  56. package/dist/icon/Icon.d.ts +2 -1
  57. package/dist/icon/Icons.view.d.ts +1 -1
  58. package/dist/icon/icon.interface.d.ts +5 -4
  59. package/dist/icon/iconSize.enum.d.ts +7 -7
  60. package/dist/index.d.ts +32 -31
  61. package/dist/index.html +18 -18
  62. package/dist/index.js +1 -1
  63. package/dist/loader/Loader.d.ts +8 -7
  64. package/dist/loader/Loader.view.d.ts +1 -1
  65. package/dist/main.d.ts +1 -0
  66. package/dist/manifest.json +25 -25
  67. package/dist/menus/Menus.d.ts +6 -5
  68. package/dist/menus/Menus.view.d.ts +1 -1
  69. package/dist/menus/menu/Menu.d.ts +7 -6
  70. package/dist/menus/menu/menu.interface.d.ts +10 -10
  71. package/dist/modal/Modal.d.ts +13 -12
  72. package/dist/modal/Modal.view.d.ts +1 -1
  73. package/dist/notFound/NotFound.d.ts +1 -1
  74. package/dist/overlayPanel/OverlayPanel.d.ts +19 -18
  75. package/dist/overlayPanel/OverlayPanel.view.d.ts +1 -1
  76. package/dist/overlayPanel/overlay.context.d.ts +10 -9
  77. package/dist/overlayPanel/overlayPanelStyled/OverlayPanelStyled.d.ts +7 -7
  78. package/dist/quantity/Quantity.d.ts +11 -10
  79. package/dist/robots.txt +3 -3
  80. package/dist/search/Search.d.ts +22 -21
  81. package/dist/search/Search.view.d.ts +1 -1
  82. package/dist/select/Select.d.ts +14 -13
  83. package/dist/select/Select.view.d.ts +1 -1
  84. package/dist/select/selectOption.interface.d.ts +4 -4
  85. package/dist/sidebar/Sidebar.d.ts +13 -12
  86. package/dist/sidebar/Sidebar.view.d.ts +1 -1
  87. package/dist/sidebarData/SidebarData.d.ts +7 -6
  88. package/dist/sidebarData/SidebarData.view.d.ts +1 -1
  89. package/dist/style.css +1 -1
  90. package/dist/toaster/Toaster.d.ts +2 -1
  91. package/dist/toaster/Toaster.view.d.ts +1 -1
  92. package/dist/toaster/store/useToasterStore.d.ts +18 -18
  93. package/index.html +19 -19
  94. package/package.json +55 -55
  95. package/public/index.html +18 -18
  96. package/public/manifest.json +25 -25
  97. package/public/robots.txt +3 -3
  98. package/src/App.css +11 -11
  99. package/src/App.menu.tsx +209 -209
  100. package/src/App.routes.tsx +16 -16
  101. package/src/App.tsx +28 -28
  102. package/src/_core/hooks/ImageChecker.tsx +26 -26
  103. package/src/_core/hooks/useIsMobile.ts +18 -18
  104. package/src/action/Action.view.tsx +21 -21
  105. package/src/action/ButtonAction.tsx +32 -32
  106. package/src/action/action.css +20 -20
  107. package/src/badge/Badge.tsx +34 -34
  108. package/src/badge/Badge.view.tsx +15 -15
  109. package/src/badge/badge.css +55 -55
  110. package/src/button/Button.tsx +44 -44
  111. package/src/button/Button.view.tsx +61 -61
  112. package/src/button/button.css +53 -53
  113. package/src/button/button.interface.tsx +20 -20
  114. package/src/button/buttonActions/ButtonActions.tsx +101 -101
  115. package/src/card/Card.tsx +125 -125
  116. package/src/card/Card.view.tsx +73 -73
  117. package/src/card/card.css +145 -145
  118. package/src/card/card.interface.tsx +9 -9
  119. package/src/card/cardAction/CardAction.tsx +135 -135
  120. package/src/card/cardAction/cardAction.css +10 -10
  121. package/src/card/cardAction.interface.tsx +10 -10
  122. package/src/card/hook/useCardInteractions.tsx +30 -30
  123. package/src/carousel/Carousel.css +44 -44
  124. package/src/carousel/Carousel.tsx +115 -115
  125. package/src/carousel/Carousel.view.tsx +13 -13
  126. package/src/damier/Damier.tsx +55 -55
  127. package/src/damier/Damier.view.tsx +31 -31
  128. package/src/damier/damier.css +44 -44
  129. package/src/damier/damierCell/DamierCell.tsx +18 -18
  130. package/src/damier/damierCell/damierCell.interface.tsx +5 -5
  131. package/src/dataTable/DataTable.tsx +241 -241
  132. package/src/dataTable/DataTable.view.tsx +59 -59
  133. package/src/dataTable/dataTable.css +17 -17
  134. package/src/dataTable/dataTable.interface.ts +29 -29
  135. package/src/datePicker/DatePicker.tsx +110 -110
  136. package/src/datePicker/DatePicker.view.tsx +9 -9
  137. package/src/datePicker/datePicker.css +77 -77
  138. package/src/expands/Expands.tsx +42 -42
  139. package/src/expands/Expands.view.tsx +90 -90
  140. package/src/expands/expand/expand.interface.tsx +8 -8
  141. package/src/expands/expand/expand.tsx +75 -75
  142. package/src/expands/expands.css +97 -97
  143. package/src/filAriane/FilAriane.tsx +57 -57
  144. package/src/filAriane/FilAriane.view.tsx +28 -28
  145. package/src/filAriane/filAriane.css +22 -22
  146. package/src/filAriane/filAriane.interface.tsx +6 -6
  147. package/src/form/Form.tsx +175 -175
  148. package/src/form/Form.view.tsx +47 -47
  149. package/src/form/form.css +37 -37
  150. package/src/form/form.enum.ts +11 -11
  151. package/src/form/form.interface.tsx +31 -31
  152. package/src/form/textArea/TextArea.tsx +53 -53
  153. package/src/form/textArea/TextArea.view.tsx +34 -34
  154. package/src/form/textArea/textArea.css +9 -9
  155. package/src/grid/Grid.tsx +21 -21
  156. package/src/grid/Grid.view.tsx +24 -24
  157. package/src/grid/col/Col.tsx +15 -15
  158. package/src/grid/col/colStyled/ColStyled.tsx +41 -41
  159. package/src/grid/container/Container.tsx +8 -8
  160. package/src/grid/container/container.css +5 -5
  161. package/src/grid/grid.interface.tsx +7 -7
  162. package/src/grid/row/Row.tsx +12 -12
  163. package/src/grid/row/row.css +18 -18
  164. package/src/header/Header.tsx +51 -51
  165. package/src/header/Header.view.tsx +5 -5
  166. package/src/header/header.css +26 -26
  167. package/src/header/header.interface.tsx +8 -8
  168. package/src/home/Home.tsx +3 -3
  169. package/src/icon/Icon.tsx +6 -6
  170. package/src/icon/Icons.view.tsx +29 -29
  171. package/src/icon/icon.css +20 -20
  172. package/src/icon/icon.interface.tsx +6 -6
  173. package/src/icon/iconSize.enum.ts +7 -7
  174. package/src/index.css +502 -502
  175. package/src/index.ts +33 -33
  176. package/src/loader/Loader.tsx +37 -37
  177. package/src/loader/Loader.view.tsx +20 -20
  178. package/src/loader/loader.css +30 -30
  179. package/src/main.tsx +10 -10
  180. package/src/menus/Menus.tsx +42 -42
  181. package/src/menus/Menus.view.tsx +39 -39
  182. package/src/menus/menu/Menu.tsx +17 -17
  183. package/src/menus/menu/menu.interface.tsx +9 -9
  184. package/src/menus/menus.css +47 -47
  185. package/src/modal/Modal.tsx +53 -53
  186. package/src/modal/Modal.view.tsx +25 -25
  187. package/src/modal/modal.css +71 -70
  188. package/src/notFound/NotFound.tsx +3 -3
  189. package/src/overlayPanel/OverlayPanel.tsx +189 -189
  190. package/src/overlayPanel/OverlayPanel.view.tsx +25 -25
  191. package/src/overlayPanel/overlay.context.tsx +28 -28
  192. package/src/overlayPanel/overlayPanel.css +35 -35
  193. package/src/overlayPanel/overlayPanelStyled/OverlayPanelStyled.tsx +18 -18
  194. package/src/quantity/Quantity.tsx +103 -103
  195. package/src/quantity/quantity.css +26 -26
  196. package/src/search/Search.tsx +161 -161
  197. package/src/search/Search.view.tsx +14 -14
  198. package/src/search/search.css +59 -59
  199. package/src/select/Select.tsx +53 -53
  200. package/src/select/Select.view.tsx +71 -71
  201. package/src/select/select.css +51 -51
  202. package/src/select/selectOption.interface.ts +4 -4
  203. package/src/sidebar/Sidebar.tsx +111 -111
  204. package/src/sidebar/Sidebar.view.tsx +17 -17
  205. package/src/sidebar/sidebar.css +87 -87
  206. package/src/sidebarData/SidebarData.tsx +19 -19
  207. package/src/sidebarData/SidebarData.view.tsx +19 -19
  208. package/src/sidebarData/sidebarData.css +27 -27
  209. package/src/toaster/Toaster.tsx +47 -47
  210. package/src/toaster/Toaster.view.tsx +3 -3
  211. package/src/toaster/store/useToasterStore.tsx +39 -39
  212. package/src/toaster/toaster.css +57 -57
  213. package/tsconfig.json +28 -28
  214. package/vite.config.ts +20 -20
  215. package/vite.config.ts.timestamp-1733262892554-a13dfef6e8a29.mjs +24 -24
@@ -1,29 +1,29 @@
1
- import { HTMLInputTypeAttribute } from "react";
2
-
3
- export interface dataTableColumnsInterface<T> {
4
- id: string;
5
- label: string;
6
- minWidth?: number;
7
- maxWidth?: number;
8
- width?: number;
9
- align?: "right" | "left" | "center";
10
- format?: (value: any) => string;
11
- sortable?: boolean;
12
- filterable?: boolean;
13
- filterValue?: string;
14
- editable?: boolean;
15
- options?: { label: string; value: string }[];
16
- onEdit?: (value: any, row: T) => void;
17
- type: HTMLInputTypeAttribute | "select";
18
- }
19
- export interface dataTableActionsInterface<T> {
20
- id: string;
21
- label: string;
22
- type: "button" | "link" | "icon";
23
- classIcon?: string;
24
- onClick: (row: T) => void;
25
- shouldDisplay?: (row: T) => boolean;
26
- disabled?: boolean;
27
- labelButton?: (row: T) => string;
28
- visible?: boolean;
29
- }
1
+ import { HTMLInputTypeAttribute } from "react";
2
+
3
+ export interface dataTableColumnsInterface<T> {
4
+ id: string;
5
+ label: string;
6
+ minWidth?: number;
7
+ maxWidth?: number;
8
+ width?: number;
9
+ align?: "right" | "left" | "center";
10
+ format?: (value: any) => string;
11
+ sortable?: boolean;
12
+ filterable?: boolean;
13
+ filterValue?: string;
14
+ editable?: boolean;
15
+ options?: { label: string; value: string }[];
16
+ onEdit?: (value: any, row: T) => void;
17
+ type: HTMLInputTypeAttribute | "select";
18
+ }
19
+ export interface dataTableActionsInterface<T> {
20
+ id: string;
21
+ label: string;
22
+ type: "button" | "link" | "icon";
23
+ classIcon?: string;
24
+ onClick: (row: T) => void;
25
+ shouldDisplay?: (row: T) => boolean;
26
+ disabled?: boolean;
27
+ labelButton?: (row: T) => string;
28
+ visible?: boolean;
29
+ }
@@ -1,110 +1,110 @@
1
- import { useCallback, useEffect, useRef, useState } from "react";
2
- import Calendar from "react-calendar";
3
- import { Value } from "react-calendar/dist/cjs/shared/types";
4
- import { Icon } from "../icon/Icon";
5
- import { IconSizeEnum } from "../icon/iconSize.enum";
6
- import "./datePicker.css"; // Assuming you have some styles for the DatePicker
7
- export type DatePickerProps = {
8
- value?: Value;
9
- maxDate?: Date;
10
- onChange?: (date: Value) => void;
11
- children?: React.ReactNode;
12
- };
13
- export const DatePicker = ({
14
- value,
15
- onChange,
16
- maxDate,
17
- children,
18
- }: DatePickerProps) => {
19
- const [dateCalendar, setDateCalendar] = useState<Value>(value ?? new Date());
20
- const [showCalendar, setShowCalendar] = useState(false);
21
-
22
- const calendarRef = useRef<HTMLDivElement>(null);
23
-
24
- const handleChange = useCallback(
25
- (val: Value) => {
26
- setDateCalendar(val);
27
- if (onChange) {
28
- onChange(val);
29
- }
30
- setShowCalendar(false);
31
- },
32
- [onChange]
33
- );
34
-
35
- const toggleCalendar = () => setShowCalendar(!showCalendar);
36
-
37
- const handleClickOutside = useCallback((event: MouseEvent) => {
38
- if (
39
- calendarRef.current &&
40
- !calendarRef.current.contains(event.target as Node)
41
- ) {
42
- setShowCalendar(false);
43
- }
44
- }, []);
45
-
46
- useEffect(() => {
47
- if (showCalendar) {
48
- document.addEventListener("mousedown", handleClickOutside);
49
- } else {
50
- document.removeEventListener("mousedown", handleClickOutside);
51
- }
52
-
53
- // Nettoyage
54
- return () => {
55
- document.removeEventListener("mousedown", handleClickOutside);
56
- };
57
- }, [showCalendar, handleClickOutside]);
58
- const [currentMonth, setCurrentMonth] = useState<Value>();
59
-
60
- const handleActiveStartDateChange = ({
61
- activeStartDate,
62
- }: {
63
- activeStartDate: Value;
64
- }) => {
65
- setCurrentMonth(activeStartDate);
66
- };
67
- return (
68
- <div>
69
- <div className="calendar" ref={calendarRef}>
70
- {children && <div onClick={toggleCalendar}>{children}</div>}
71
- {!children && (
72
- <button className="calendar-button" onClick={toggleCalendar}>
73
- <Icon
74
- classIcon=" bi-calendar4-event"
75
- size={IconSizeEnum.EXTRA_LARGE}
76
- />
77
- </button>
78
- )}
79
- {showCalendar && (
80
- <div className="calendar-popup">
81
- <div
82
- onClick={() => setShowCalendar(false)}
83
- className="calendar-popup-close"
84
- >
85
- <Icon
86
- classIcon="bi-x-lg close-icon"
87
- size={IconSizeEnum.EXTRA_SMALL}
88
- />
89
- </div>
90
- <Calendar
91
- onActiveStartDateChange={handleActiveStartDateChange}
92
- maxDate={maxDate ?? new Date()}
93
- onChange={handleChange}
94
- value={dateCalendar}
95
- tileClassName={({ date: day, view }) => {
96
- if (view === "month" && (currentMonth as Date)) {
97
- const curr = currentMonth as Date;
98
- return day.getMonth() !== curr?.getMonth()
99
- ? "out-of-month"
100
- : null;
101
- }
102
- return null;
103
- }}
104
- />
105
- </div>
106
- )}
107
- </div>
108
- </div>
109
- );
110
- };
1
+ import { useCallback, useEffect, useRef, useState } from "react";
2
+ import Calendar from "react-calendar";
3
+ import { Value } from "react-calendar/dist/cjs/shared/types";
4
+ import { Icon } from "../icon/Icon";
5
+ import { IconSizeEnum } from "../icon/iconSize.enum";
6
+ import "./datePicker.css"; // Assuming you have some styles for the DatePicker
7
+ export type DatePickerProps = {
8
+ value?: Value;
9
+ maxDate?: Date;
10
+ onChange?: (date: Value) => void;
11
+ children?: React.ReactNode;
12
+ };
13
+ export const DatePicker = ({
14
+ value,
15
+ onChange,
16
+ maxDate,
17
+ children,
18
+ }: DatePickerProps) => {
19
+ const [dateCalendar, setDateCalendar] = useState<Value>(value ?? new Date());
20
+ const [showCalendar, setShowCalendar] = useState(false);
21
+
22
+ const calendarRef = useRef<HTMLDivElement>(null);
23
+
24
+ const handleChange = useCallback(
25
+ (val: Value) => {
26
+ setDateCalendar(val);
27
+ if (onChange) {
28
+ onChange(val);
29
+ }
30
+ setShowCalendar(false);
31
+ },
32
+ [onChange]
33
+ );
34
+
35
+ const toggleCalendar = () => setShowCalendar(!showCalendar);
36
+
37
+ const handleClickOutside = useCallback((event: MouseEvent) => {
38
+ if (
39
+ calendarRef.current &&
40
+ !calendarRef.current.contains(event.target as Node)
41
+ ) {
42
+ setShowCalendar(false);
43
+ }
44
+ }, []);
45
+
46
+ useEffect(() => {
47
+ if (showCalendar) {
48
+ document.addEventListener("mousedown", handleClickOutside);
49
+ } else {
50
+ document.removeEventListener("mousedown", handleClickOutside);
51
+ }
52
+
53
+ // Nettoyage
54
+ return () => {
55
+ document.removeEventListener("mousedown", handleClickOutside);
56
+ };
57
+ }, [showCalendar, handleClickOutside]);
58
+ const [currentMonth, setCurrentMonth] = useState<Value>();
59
+
60
+ const handleActiveStartDateChange = ({
61
+ activeStartDate,
62
+ }: {
63
+ activeStartDate: Value;
64
+ }) => {
65
+ setCurrentMonth(activeStartDate);
66
+ };
67
+ return (
68
+ <div>
69
+ <div className="calendar" ref={calendarRef}>
70
+ {children && <div onClick={toggleCalendar}>{children}</div>}
71
+ {!children && (
72
+ <button className="calendar-button" onClick={toggleCalendar}>
73
+ <Icon
74
+ classIcon=" bi-calendar4-event"
75
+ size={IconSizeEnum.EXTRA_LARGE}
76
+ />
77
+ </button>
78
+ )}
79
+ {showCalendar && (
80
+ <div className="calendar-popup">
81
+ <div
82
+ onClick={() => setShowCalendar(false)}
83
+ className="calendar-popup-close"
84
+ >
85
+ <Icon
86
+ classIcon="bi-x-lg close-icon"
87
+ size={IconSizeEnum.EXTRA_SMALL}
88
+ />
89
+ </div>
90
+ <Calendar
91
+ onActiveStartDateChange={handleActiveStartDateChange}
92
+ maxDate={maxDate ?? new Date()}
93
+ onChange={handleChange}
94
+ value={dateCalendar}
95
+ tileClassName={({ date: day, view }) => {
96
+ if (view === "month" && (currentMonth as Date)) {
97
+ const curr = currentMonth as Date;
98
+ return day.getMonth() !== curr?.getMonth()
99
+ ? "out-of-month"
100
+ : null;
101
+ }
102
+ return null;
103
+ }}
104
+ />
105
+ </div>
106
+ )}
107
+ </div>
108
+ </div>
109
+ );
110
+ };
@@ -1,9 +1,9 @@
1
- import { DatePicker } from "./DatePicker";
2
-
3
- export const DatePickerView = () => {
4
- return (
5
- <div>
6
- <DatePicker />
7
- </div>
8
- );
9
- };
1
+ import { DatePicker } from "./DatePicker";
2
+
3
+ export const DatePickerView = () => {
4
+ return (
5
+ <div>
6
+ <DatePicker />
7
+ </div>
8
+ );
9
+ };
@@ -1,77 +1,77 @@
1
- .calendar {
2
- position: relative;
3
- .calendar-button {
4
- width: 40px;
5
- max-width: 40px;
6
- min-width: 40px;
7
- background-color: transparent;
8
- i {
9
- color: #333;
10
- font-size: 1.6rem;
11
- }
12
- }
13
- .calendar-popup {
14
- position: absolute;
15
- z-index: 5;
16
- border-color: #cfbdbd;
17
- border-style: solid;
18
- border-width: 1px;
19
- max-width: 300px;
20
- min-width: 250px;
21
- background-color: #fff;
22
- font-size: 0.8rem;
23
- border-radius: 4px;
24
- .out-of-month {
25
- opacity: 0.4;
26
- }
27
- .calendar-popup-close {
28
- display: flex;
29
- justify-content: flex-end;
30
- margin-right: 0.25rem;
31
- margin-top: 0.35rem;
32
- cursor: pointer;
33
- i {
34
- line-height: 0;
35
- font-size: 0.8rem;
36
- }
37
- }
38
- .react-calendar {
39
- border: 0px;
40
- button {
41
- background-color: #fff;
42
- color: #333;
43
- min-width: auto;
44
- width: auto;
45
- font-size: 0.8rem;
46
- padding: 0.5rem;
47
- }
48
- .react-calendar__month-view__weekdays__weekday {
49
- text-align: center;
50
- }
51
- .react-calendar__navigation {
52
- display: flex;
53
- }
54
-
55
- .react-calendar__tile--active {
56
- background-color: #007bff;
57
- color: #fff;
58
- }
59
- .react-calendar__tile--now {
60
- background-color: #f0f0f0;
61
- color: #000;
62
- }
63
- .react-calendar__tile--active:hover {
64
- background-color: #0056b3;
65
- color: #fff;
66
- }
67
- .react-calendar__tile--now:hover {
68
- background-color: #e0e0e0;
69
- color: #000;
70
- }
71
- .react-calendar__tile--disabled {
72
- background-color: #f8f9fa;
73
- color: #6c757d;
74
- }
75
- }
76
- }
77
- }
1
+ .calendar {
2
+ position: relative;
3
+ .calendar-button {
4
+ width: 40px;
5
+ max-width: 40px;
6
+ min-width: 40px;
7
+ background-color: transparent;
8
+ i {
9
+ color: #333;
10
+ font-size: 1.6rem;
11
+ }
12
+ }
13
+ .calendar-popup {
14
+ position: absolute;
15
+ z-index: 5;
16
+ border-color: #cfbdbd;
17
+ border-style: solid;
18
+ border-width: 1px;
19
+ max-width: 300px;
20
+ min-width: 250px;
21
+ background-color: #fff;
22
+ font-size: 0.8rem;
23
+ border-radius: 4px;
24
+ .out-of-month {
25
+ opacity: 0.4;
26
+ }
27
+ .calendar-popup-close {
28
+ display: flex;
29
+ justify-content: flex-end;
30
+ margin-right: 0.25rem;
31
+ margin-top: 0.35rem;
32
+ cursor: pointer;
33
+ i {
34
+ line-height: 0;
35
+ font-size: 0.8rem;
36
+ }
37
+ }
38
+ .react-calendar {
39
+ border: 0px;
40
+ button {
41
+ background-color: #fff;
42
+ color: #333;
43
+ min-width: auto;
44
+ width: auto;
45
+ font-size: 0.8rem;
46
+ padding: 0.5rem;
47
+ }
48
+ .react-calendar__month-view__weekdays__weekday {
49
+ text-align: center;
50
+ }
51
+ .react-calendar__navigation {
52
+ display: flex;
53
+ }
54
+
55
+ .react-calendar__tile--active {
56
+ background-color: #007bff;
57
+ color: #fff;
58
+ }
59
+ .react-calendar__tile--now {
60
+ background-color: #f0f0f0;
61
+ color: #000;
62
+ }
63
+ .react-calendar__tile--active:hover {
64
+ background-color: #0056b3;
65
+ color: #fff;
66
+ }
67
+ .react-calendar__tile--now:hover {
68
+ background-color: #e0e0e0;
69
+ color: #000;
70
+ }
71
+ .react-calendar__tile--disabled {
72
+ background-color: #f8f9fa;
73
+ color: #6c757d;
74
+ }
75
+ }
76
+ }
77
+ }
@@ -1,42 +1,42 @@
1
- import { useCallback, useEffect, useState } from "react";
2
- import { Expand } from "./expand/expand";
3
- import { ExpandInterface } from "./expand/expand.interface";
4
- import "./expands.css";
5
-
6
- type ExpandProps = {
7
- items: ExpandInterface[];
8
- className?: string;
9
- onChange?: (item: ExpandInterface) => void;
10
- currentItem?: ExpandInterface;
11
- showArrow?: boolean;
12
- };
13
-
14
- export const Expands = (props: ExpandProps) => {
15
- const [currentExpand, setCurrentExpand] = useState<ExpandInterface>();
16
- const onChangeExpand = useCallback(
17
- (item: ExpandInterface) => {
18
- if (props.onChange) {
19
- props.onChange(item);
20
- }
21
- setCurrentExpand(item);
22
- },
23
- [setCurrentExpand, props.onChange]
24
- );
25
- useEffect(() => {
26
- setCurrentExpand(props.currentItem);
27
- }, [props.currentItem, setCurrentExpand, document.activeElement]);
28
- return (
29
- <div className={`expands ${props.className || ""}`}>
30
- {props.items.map((item: ExpandInterface) => (
31
- <Expand
32
- key={item.id}
33
- item={item}
34
- showArrow={props.showArrow}
35
- onChange={onChangeExpand}
36
- currentExpand={currentExpand}
37
- />
38
- ))}
39
- </div>
40
- );
41
- };
42
- export type { ExpandProps };
1
+ import { useCallback, useEffect, useState } from "react";
2
+ import { Expand } from "./expand/expand";
3
+ import { ExpandInterface } from "./expand/expand.interface";
4
+ import "./expands.css";
5
+
6
+ type ExpandProps = {
7
+ items: ExpandInterface[];
8
+ className?: string;
9
+ onChange?: (item: ExpandInterface) => void;
10
+ currentItem?: ExpandInterface;
11
+ showArrow?: boolean;
12
+ };
13
+
14
+ export const Expands = (props: ExpandProps) => {
15
+ const [currentExpand, setCurrentExpand] = useState<ExpandInterface>();
16
+ const onChangeExpand = useCallback(
17
+ (item: ExpandInterface) => {
18
+ if (props.onChange) {
19
+ props.onChange(item);
20
+ }
21
+ setCurrentExpand(item);
22
+ },
23
+ [setCurrentExpand, props.onChange]
24
+ );
25
+ useEffect(() => {
26
+ setCurrentExpand(props.currentItem);
27
+ }, [props.currentItem, setCurrentExpand, document.activeElement]);
28
+ return (
29
+ <div className={`expands ${props.className || ""}`}>
30
+ {props.items.map((item: ExpandInterface) => (
31
+ <Expand
32
+ key={item.id}
33
+ item={item}
34
+ showArrow={props.showArrow}
35
+ onChange={onChangeExpand}
36
+ currentExpand={currentExpand}
37
+ />
38
+ ))}
39
+ </div>
40
+ );
41
+ };
42
+ export type { ExpandProps };