kelt-ui-kit-react 1.9.0 → 1.9.2

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 (125) hide show
  1. package/dist/dataTable/DataTable.d.ts +5 -0
  2. package/dist/dataTable/dataTable.interface.d.ts +1 -0
  3. package/dist/dataTable/dataTableRow/DataTableRow.d.ts +3 -1
  4. package/dist/index.js +5543 -50
  5. package/dist/style.css +1 -1
  6. package/package.json +1 -1
  7. package/src/dataTable/DataTable.tsx +242 -4
  8. package/src/dataTable/DataTable.view.tsx +9 -1
  9. package/src/dataTable/dataTable.css +57 -0
  10. package/src/dataTable/dataTable.interface.ts +1 -0
  11. package/src/dataTable/dataTableRow/DataTableRow.tsx +17 -1
  12. package/dist/App.js +0 -22
  13. package/dist/App.menu.js +0 -251
  14. package/dist/App.routes.js +0 -8
  15. package/dist/_core/hooks/HistoryProvider.js +0 -29
  16. package/dist/_core/hooks/ImageChecker.js +0 -68
  17. package/dist/_core/hooks/imageExist.js +0 -5
  18. package/dist/_core/hooks/isEAN13.js +0 -10
  19. package/dist/_core/hooks/objectToQueryParams.js +0 -28
  20. package/dist/_core/hooks/useCurrency.js +0 -12
  21. package/dist/_core/hooks/useDateutils.js +0 -59
  22. package/dist/_core/hooks/useIsMobile.js +0 -13
  23. package/dist/_core/hooks/useToken.js +0 -17
  24. package/dist/_core/hooks/useValidate.js +0 -15
  25. package/dist/_core/hooks/widgetSupport.js +0 -18
  26. package/dist/action/Action.view.js +0 -22
  27. package/dist/action/ButtonAction.js +0 -25
  28. package/dist/badge/Badge.js +0 -25
  29. package/dist/badge/Badge.view.js +0 -5
  30. package/dist/button/Button.js +0 -25
  31. package/dist/button/Button.view.js +0 -74
  32. package/dist/button/button.interface.js +0 -1
  33. package/dist/button/buttonActions/ButtonActions.js +0 -55
  34. package/dist/button/buttonFile/ButtonFile.js +0 -37
  35. package/dist/button/buttonFile/ButtonFile.view.js +0 -35
  36. package/dist/button/buttonFilters/ButtonFilters.js +0 -47
  37. package/dist/card/Card.js +0 -57
  38. package/dist/card/Card.view.js +0 -60
  39. package/dist/card/card.interface.js +0 -1
  40. package/dist/card/cardAction/CardAction.js +0 -66
  41. package/dist/card/cardAction.interface.js +0 -1
  42. package/dist/card/hook/useCardInteractions.js +0 -25
  43. package/dist/carousel/Carousel.js +0 -67
  44. package/dist/carousel/Carousel.view.js +0 -16
  45. package/dist/damier/Damier.js +0 -48
  46. package/dist/damier/Damier.view.js +0 -22
  47. package/dist/damier/damierCell/DamierCell.js +0 -21
  48. package/dist/damier/damierCell/damierCell.interface.js +0 -1
  49. package/dist/dataTable/DataTable.js +0 -117
  50. package/dist/dataTable/DataTable.view.js +0 -48
  51. package/dist/dataTable/dataTable.interface.js +0 -1
  52. package/dist/dataTable/dataTableActions/DataTableAction.js +0 -26
  53. package/dist/dataTable/dataTableColumn/DataTableColumn.js +0 -21
  54. package/dist/dataTable/dataTableLoading/DataTableLoading.js +0 -16
  55. package/dist/dataTable/dataTableRow/DataTableRow.js +0 -39
  56. package/dist/datePicker/DatePicker.js +0 -64
  57. package/dist/datePicker/DatePicker.view.js +0 -5
  58. package/dist/expands/Expands.js +0 -28
  59. package/dist/expands/Expands.view.js +0 -67
  60. package/dist/expands/expand/expand.interface.js +0 -1
  61. package/dist/expands/expand/expand.js +0 -40
  62. package/dist/filAriane/FilAriane.js +0 -28
  63. package/dist/filAriane/FilAriane.view.js +0 -28
  64. package/dist/filAriane/filAriane.interface.js +0 -1
  65. package/dist/form/Form.js +0 -135
  66. package/dist/form/Form.view.js +0 -50
  67. package/dist/form/form.enum.js +0 -14
  68. package/dist/form/form.interface.js +0 -1
  69. package/dist/form/input/Input.js +0 -26
  70. package/dist/form/inputNumber/InputNumber.js +0 -57
  71. package/dist/form/inputNumber/InputNumber.view.js +0 -7
  72. package/dist/form/inputPrice/InputPrice.js +0 -36
  73. package/dist/form/inputPrice/InputPrice.view.js +0 -7
  74. package/dist/form/textArea/TextArea.js +0 -18
  75. package/dist/form/textArea/TextArea.view.js +0 -15
  76. package/dist/grid/Grid.js +0 -19
  77. package/dist/grid/Grid.view.js +0 -22
  78. package/dist/grid/col/Col.js +0 -17
  79. package/dist/grid/col/colStyled/ColStyled.js +0 -26
  80. package/dist/grid/container/Container.js +0 -17
  81. package/dist/grid/grid.interface.js +0 -1
  82. package/dist/grid/row/Row.js +0 -17
  83. package/dist/header/Header.js +0 -26
  84. package/dist/header/Header.view.js +0 -5
  85. package/dist/header/header.interface.js +0 -1
  86. package/dist/home/Home.js +0 -4
  87. package/dist/icon/Icon.js +0 -6
  88. package/dist/icon/Icons.view.js +0 -27
  89. package/dist/icon/icon.interface.js +0 -1
  90. package/dist/icon/iconSize.enum.js +0 -8
  91. package/dist/loader/Loader.js +0 -20
  92. package/dist/loader/Loader.view.js +0 -9
  93. package/dist/main.js +0 -7
  94. package/dist/menus/Menus.js +0 -23
  95. package/dist/menus/Menus.view.js +0 -48
  96. package/dist/menus/menu/Menu.js +0 -15
  97. package/dist/menus/menu/menu.interface.js +0 -1
  98. package/dist/message/Message.js +0 -33
  99. package/dist/message/Message.view.js +0 -11
  100. package/dist/modal/Modal.js +0 -27
  101. package/dist/modal/Modal.view.js +0 -22
  102. package/dist/notFound/NotFound.js +0 -4
  103. package/dist/overlayPanel/OverlayPanel.js +0 -132
  104. package/dist/overlayPanel/OverlayPanel.view.js +0 -20
  105. package/dist/overlayPanel/overlay.context.js +0 -26
  106. package/dist/overlayPanel/overlayPanelStyled/OverlayPanelStyled.js +0 -13
  107. package/dist/pdfViewer/PdfViewer.js +0 -71
  108. package/dist/pdfViewer/PdfViewer.view.js +0 -5
  109. package/dist/quantity/Quantity.js +0 -60
  110. package/dist/quantity/Quantity.view.js +0 -1
  111. package/dist/search/Search.js +0 -80
  112. package/dist/search/Search.view.js +0 -8
  113. package/dist/select/Select.js +0 -41
  114. package/dist/select/Select.view.js +0 -75
  115. package/dist/select/selectOption.interface.js +0 -1
  116. package/dist/sidebar/Sidebar.js +0 -132
  117. package/dist/sidebar/Sidebar.view.js +0 -11
  118. package/dist/sidebarData/SidebarData.js +0 -17
  119. package/dist/sidebarData/SidebarData.view.js +0 -14
  120. package/dist/tabs/Tabs.js +0 -41
  121. package/dist/tabs/Tabs.view.js +0 -26
  122. package/dist/toaster/Toaster.js +0 -37
  123. package/dist/toaster/Toaster.view.js +0 -16
  124. package/dist/toaster/store/useToasterStore.js +0 -22
  125. package/vite.config.ts.timestamp-1787675603363-8ddae73d076bd.mjs +0 -28
@@ -1,41 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useCallback, useRef } from "react";
14
- import { Icon } from "../icon/Icon";
15
- import "./select.css";
16
- export var Select = function (_a) {
17
- var _b;
18
- var id = _a.id, label = _a.label, options = _a.options, className = _a.className, disabled = _a.disabled, style = _a.style, _c = _a.multiple, multiple = _c === void 0 ? false : _c, _d = _a.required, required = _d === void 0 ? false : _d, defaultValue = _a.defaultValue, name = _a.name, onChange = _a.onChange, onChangeMultiple = _a.onChangeMultiple, value = _a.value, placeholder = _a.placeholder;
19
- var inputRefs = useRef({});
20
- var handleChange = function (event) {
21
- var selectedValue;
22
- if (multiple) {
23
- selectedValue = Array.from(event.target.selectedOptions, function (opt) { return opt.value; });
24
- if (onChangeMultiple) {
25
- onChangeMultiple(selectedValue);
26
- }
27
- }
28
- else {
29
- selectedValue = event.target.value;
30
- if (onChange) {
31
- onChange(selectedValue);
32
- }
33
- }
34
- };
35
- var resetValue = useCallback(function () {
36
- if (onChange) {
37
- onChange("");
38
- }
39
- }, [onChange]);
40
- return (_jsxs("div", __assign({ id: id, className: "select-container ".concat(className ? className : "") }, { children: [label && (_jsx("label", __assign({ htmlFor: "select-".concat(id), className: "select-container-label" }, { children: label }))), _jsxs("select", __assign({ defaultValue: "", required: required, name: name, style: style, disabled: disabled, id: "select-".concat(id), className: "select-container-select", value: (_b = value !== null && value !== void 0 ? value : defaultValue) !== null && _b !== void 0 ? _b : (multiple ? [] : ""), onChange: handleChange, multiple: multiple, ref: function (el) { return (inputRefs.current[id !== null && id !== void 0 ? id : "select"] = el); } }, { children: [placeholder && !defaultValue && !multiple && (_jsx("option", __assign({ selected: true, disabled: true, hidden: true, value: "" }, { children: placeholder }))), options.map(function (option, index) { return (_jsx("option", __assign({ value: option.value }, { children: option.label }), index)); })] })), value !== "" && placeholder && (_jsx("div", __assign({ className: "clear-btn", onClick: resetValue, "aria-label": "R\u00E9initialiser" }, { children: _jsx(Icon, { classIcon: "bi-x" }) })))] })));
41
- };
@@ -1,75 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
13
- import { useMemo } from "react";
14
- import { Select } from "./Select";
15
- export var SelectView = function () {
16
- var selectData = useMemo(function () {
17
- return [
18
- {
19
- id: "select",
20
- title: "Select",
21
- className: "select-component",
22
- options: [
23
- { value: "option1", label: "Option 1" },
24
- { value: "option2", label: "Option 2" },
25
- { value: "option3", label: "Option 3" },
26
- ],
27
- },
28
- {
29
- id: "select-disabled",
30
- title: "Select Disabled",
31
- className: "select-component",
32
- disabled: true,
33
- options: [
34
- { value: "option1", label: "Option 1" },
35
- { value: "option2", label: "Option 2" },
36
- { value: "option3", label: "Option 3" },
37
- ],
38
- },
39
- {
40
- id: "select-placeholder",
41
- title: "Select Placeholder",
42
- className: "select-component",
43
- placeholder: "Select an option",
44
- options: [
45
- { value: "option1", label: "Option 1" },
46
- { value: "option2", label: "Option 2" },
47
- { value: "option3", label: "Option 3" },
48
- ],
49
- },
50
- {
51
- id: "select-default-value",
52
- title: "Select Default Value",
53
- className: "select-component",
54
- defaultValue: "option2",
55
- options: [
56
- { value: "option1", label: "Option 1" },
57
- { value: "option2", label: "Option 2" },
58
- { value: "option3", label: "Option 3" },
59
- ],
60
- },
61
- {
62
- id: "select-value",
63
- title: "Select Value",
64
- className: "select-component",
65
- value: "option3",
66
- options: [
67
- { value: "option1", label: "Option 1" },
68
- { value: "option2", label: "Option 2" },
69
- { value: "option3", label: "Option 3" },
70
- ],
71
- },
72
- ];
73
- }, []);
74
- return (_jsx(_Fragment, { children: selectData.map(function (data) { return (_jsx(Select, __assign({}, data), data.id)); }) }));
75
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,132 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useCallback, useEffect, useRef, useState } from "react";
14
- import ReactDOM from "react-dom";
15
- import { Icon } from "../icon/Icon";
16
- import "./sidebar.css";
17
- var SWIPE_CLOSE_THRESHOLD = 60; // px à parcourir pour fermer
18
- var SWIPE_AXIS_LOCK_THRESHOLD = 10; // px pour déterminer l'axe du geste
19
- export var Sidebar = function (_a) {
20
- var open = _a.open, children = _a.children, title = _a.title, onClose = _a.onClose, className = _a.className, id = _a.id, width = _a.width, _b = _a.closeOnClickOutside, closeOnClickOutside = _b === void 0 ? true : _b, _c = _a.displayOverlay, displayOverlay = _c === void 0 ? true : _c;
21
- var _d = useState(open || false), isOpen = _d[0], setIsOpen = _d[1];
22
- var _e = useState(0), dragX = _e[0], setDragX = _e[1];
23
- var _f = useState(false), isDragging = _f[0], setIsDragging = _f[1];
24
- var sidebarRef = useRef(null);
25
- var rootRef = useRef(null);
26
- var touchStartX = useRef(0);
27
- var touchStartY = useRef(0);
28
- var axisLocked = useRef(null);
29
- // Créer le conteneur une seule fois
30
- useEffect(function () {
31
- if (!rootRef.current) {
32
- rootRef.current = document.createElement("div");
33
- rootRef.current.id = "sidebar-root-".concat(id || crypto.randomUUID());
34
- document.body.appendChild(rootRef.current);
35
- }
36
- return function () {
37
- // Nettoyage lors du démontage
38
- if (rootRef.current && rootRef.current.parentNode) {
39
- document.body.removeChild(rootRef.current);
40
- rootRef.current = null;
41
- }
42
- };
43
- }, [id]);
44
- // Synchroniser l'état `isOpen` avec la prop `open`
45
- useEffect(function () {
46
- setIsOpen(open || false);
47
- }, [open]);
48
- var toggleSidebar = useCallback(function () {
49
- setIsOpen(false);
50
- if (onClose) {
51
- onClose(false);
52
- }
53
- }, [onClose]);
54
- var handleClickOutside = useCallback(function (event) {
55
- if (!closeOnClickOutside)
56
- return;
57
- if (sidebarRef.current &&
58
- !sidebarRef.current.contains(event.target)) {
59
- toggleSidebar();
60
- }
61
- }, [toggleSidebar, closeOnClickOutside]);
62
- var handleTouchStart = useCallback(function (event) {
63
- var touch = event.touches[0];
64
- touchStartX.current = touch.clientX;
65
- touchStartY.current = touch.clientY;
66
- axisLocked.current = null;
67
- setIsDragging(false);
68
- setDragX(0);
69
- }, []);
70
- var handleTouchMove = useCallback(function (event) {
71
- if (!isOpen)
72
- return;
73
- var touch = event.touches[0];
74
- var deltaX = touch.clientX - touchStartX.current;
75
- var deltaY = touch.clientY - touchStartY.current;
76
- // Détermine l'axe du geste une seule fois, dès qu'on a un déplacement suffisant
77
- if (!axisLocked.current) {
78
- if (Math.abs(deltaX) < SWIPE_AXIS_LOCK_THRESHOLD &&
79
- Math.abs(deltaY) < SWIPE_AXIS_LOCK_THRESHOLD) {
80
- return; // pas encore assez de mouvement pour trancher
81
- }
82
- axisLocked.current = Math.abs(deltaX) > Math.abs(deltaY) ? "x" : "y";
83
- }
84
- if (axisLocked.current !== "x")
85
- return; // c'est un scroll vertical, on laisse faire
86
- // On gère le swipe horizontal nous-mêmes : on empêche le scroll natif
87
- // et on bloque le bounce/scroll de la page pendant le drag
88
- event.preventDefault();
89
- setIsDragging(true);
90
- // On ne permet que le swipe vers la droite (fermeture), pas de drag négatif
91
- setDragX(Math.max(0, deltaX));
92
- }, [isOpen]);
93
- var handleTouchEnd = useCallback(function (event) {
94
- if (!isOpen) {
95
- return;
96
- }
97
- if (axisLocked.current === "x") {
98
- var touch = event.changedTouches[0];
99
- var deltaX = touch.clientX - touchStartX.current;
100
- if (deltaX > SWIPE_CLOSE_THRESHOLD) {
101
- toggleSidebar();
102
- }
103
- }
104
- setIsDragging(false);
105
- setDragX(0);
106
- axisLocked.current = null;
107
- }, [isOpen, toggleSidebar]);
108
- var handleOverlayTouchEnd = useCallback(function (event) {
109
- event.preventDefault();
110
- toggleSidebar();
111
- }, [toggleSidebar]);
112
- useEffect(function () {
113
- if (isOpen) {
114
- document.addEventListener("mousedown", handleClickOutside);
115
- document.addEventListener("touchstart", handleClickOutside, {
116
- passive: true,
117
- });
118
- }
119
- else {
120
- document.removeEventListener("mousedown", handleClickOutside);
121
- document.removeEventListener("touchstart", handleClickOutside);
122
- }
123
- return function () {
124
- document.removeEventListener("mousedown", handleClickOutside);
125
- document.removeEventListener("touchstart", handleClickOutside);
126
- };
127
- }, [isOpen, handleClickOutside]);
128
- if (!rootRef.current) {
129
- return _jsx(_Fragment, {}); // Ne pas tenter de rendre si le conteneur n'existe pas
130
- }
131
- return ReactDOM.createPortal(_jsxs(_Fragment, { children: [isOpen && displayOverlay && (_jsx("div", { className: "overlay", onClick: toggleSidebar, onTouchEnd: handleOverlayTouchEnd })), _jsxs("div", __assign({ ref: sidebarRef, style: __assign(__assign({}, (width ? { width: width } : {})), { transform: dragX ? "translateX(".concat(dragX, "px)") : undefined, transition: isDragging ? "none" : undefined }), className: "sidebar ".concat(isOpen ? "open" : "closed", " ").concat(className !== null && className !== void 0 ? className : ""), onTouchStart: handleTouchStart, onTouchMove: handleTouchMove, onTouchEnd: handleTouchEnd }, { children: [_jsxs("div", __assign({ className: "sidebar-header" }, { children: [title && _jsx("h2", __assign({ className: "flex-1" }, { children: title })), _jsx("button", __assign({ className: "toggle-btn", onClick: toggleSidebar }, { children: _jsx(Icon, { classIcon: "bi-x-lg" }) }))] })), children && children] }))] }), rootRef.current);
132
- };
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useState } from "react";
3
- import { Button } from "../button/Button";
4
- import { Sidebar } from "./Sidebar";
5
- export var SidebarView = function () {
6
- var _a = useState(false), isOpen = _a[0], setIsOpen = _a[1];
7
- var onClick = useCallback(function () {
8
- setIsOpen(true);
9
- }, [setIsOpen]);
10
- return (_jsxs(_Fragment, { children: [_jsx(Button, { title: "open me", onClick: onClick }), _jsx(Sidebar, { onClose: setIsOpen, title: "Menu", open: isOpen })] }));
11
- };
@@ -1,17 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx } from "react/jsx-runtime";
13
- import { Sidebar } from "../sidebar/Sidebar";
14
- import "./sidebarData.css";
15
- export var SidebarData = function (props) {
16
- return (_jsx(Sidebar, __assign({}, props, { className: "full sidebar-data ".concat(props.className) }, { children: props.children && (_jsx("div", __assign({ className: "sidebar-data-content ".concat(props.classNameContent, " ") }, { children: props.children }))) })));
17
- };
@@ -1,14 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useCallback, useState } from "react";
3
- import { Button } from "../button/Button";
4
- import { SidebarData } from "./SidebarData";
5
- export var SidebarDataView = function () {
6
- var _a = useState(false), isOpen = _a[0], setIsOpen = _a[1];
7
- var onClick = useCallback(function () {
8
- setIsOpen(true);
9
- }, [setIsOpen]);
10
- var onClose = useCallback(function () {
11
- setIsOpen(false);
12
- }, [setIsOpen]);
13
- return (_jsxs(_Fragment, { children: [_jsx(Button, { title: "open me", onClick: onClick }), _jsx(SidebarData, { onClose: onClose, width: "20vw", title: "Infos", open: isOpen })] }));
14
- };
package/dist/tabs/Tabs.js DELETED
@@ -1,41 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useEffect, useRef, useState } from "react";
14
- import "./tabs.css";
15
- export var Tabs = function (_a) {
16
- var items = _a.items, _b = _a.defaultIndex, defaultIndex = _b === void 0 ? 0 : _b, index = _a.index, onChange = _a.onChange, _c = _a.className, className = _c === void 0 ? "" : _c, _d = _a.tabClassName, tabClassName = _d === void 0 ? "" : _d, _e = _a.panelClassName, panelClassName = _e === void 0 ? "" : _e;
17
- var isControlled = typeof index === "number";
18
- var _f = useState(defaultIndex), active = _f[0], setActive = _f[1];
19
- var current = isControlled ? index : active;
20
- useEffect(function () {
21
- // clamp
22
- if (!isControlled && (defaultIndex < 0 || defaultIndex >= items.length)) {
23
- setActive(0);
24
- }
25
- }, [defaultIndex, items.length, isControlled]);
26
- var tabsRef = useRef([]);
27
- var activate = function (next) {
28
- var _a, _b;
29
- if ((_a = items[next]) === null || _a === void 0 ? void 0 : _a.disabled)
30
- return;
31
- if (isControlled) {
32
- onChange === null || onChange === void 0 ? void 0 : onChange(next);
33
- }
34
- else {
35
- setActive(next);
36
- onChange === null || onChange === void 0 ? void 0 : onChange(next);
37
- }
38
- (_b = tabsRef.current[next]) === null || _b === void 0 ? void 0 : _b.focus();
39
- };
40
- return (_jsxs("div", __assign({ className: "tabs-root ".concat(className) }, { children: [_jsx("div", __assign({ role: "tablist", className: "tabs-header" }, { children: items.map(function (t, i) { return (_jsx("button", __assign({ ref: function (r) { return (tabsRef.current[i] = r); }, role: "tab", id: "tab-".concat(t.key), "aria-selected": current === i, "aria-controls": "panel-".concat(t.key), tabIndex: current === i ? 0 : -1, disabled: t.disabled, onClick: function () { return activate(i); }, className: "".concat(tabClassName, " tab-button ").concat(current === i ? "tab-button--active" : "", " ").concat(t.disabled ? "tab-button--disabled" : "") }, { children: t.title }), "tab-".concat(t.key))); }) })), items.map(function (t, i) { return (_jsx("div", __assign({ role: "tabpanel", id: "panel-".concat(t.key), "aria-labelledby": "tab-".concat(t.key), hidden: current !== i, className: "".concat(panelClassName, " mt-3") }, { children: current === i && t.panel }), "panel-".concat(t.key))); })] })));
41
- };
@@ -1,26 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { Tabs } from "./Tabs";
14
- export var TabsView = function () {
15
- var items = [
16
- { key: "first", title: "Info", panel: _jsx("div", { children: "Contenu 1" }) },
17
- { key: "second", title: "Détails", panel: _jsx("div", { children: "Contenu 2" }) },
18
- {
19
- key: "third",
20
- title: "Paramètres",
21
- panel: _jsx("div", { children: "Contenu 3" }),
22
- disabled: false,
23
- },
24
- ];
25
- return (_jsxs("div", { children: [_jsx("h2", __assign({ className: "text-xl mb-4" }, { children: "Exemple de Tabs" })), _jsx(Tabs, { items: items, defaultIndex: 0 })] }));
26
- };
@@ -1,37 +0,0 @@
1
- var __assign = (this && this.__assign) || function () {
2
- __assign = Object.assign || function(t) {
3
- for (var s, i = 1, n = arguments.length; i < n; i++) {
4
- s = arguments[i];
5
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
- t[p] = s[p];
7
- }
8
- return t;
9
- };
10
- return __assign.apply(this, arguments);
11
- };
12
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
- import { useCallback, useEffect } from "react";
14
- import ReactDOM from "react-dom";
15
- import { Icon } from "../icon/Icon";
16
- import { useToasterStore } from "./store/useToasterStore";
17
- import "./toaster.css";
18
- export var Toaster = function () {
19
- var _a = useToasterStore(), title = _a.title, description = _a.description, _b = _a.severity, severity = _b === void 0 ? "info" : _b, visible = _a.visible, children = _a.children, duration = _a.duration, hideToast = _a.hideToast, close = _a.close;
20
- var onClose = useCallback(function () {
21
- hideToast();
22
- }, [hideToast]);
23
- useEffect(function () {
24
- if (!visible)
25
- return;
26
- var timer = setTimeout(function () {
27
- hideToast();
28
- }, duration);
29
- return function () { return clearTimeout(timer); };
30
- }, [visible, duration, hideToast]);
31
- if (!visible)
32
- return null;
33
- var toasterRoot = document.getElementById("toaster-root");
34
- if (!toasterRoot)
35
- return null;
36
- return ReactDOM.createPortal(_jsxs("div", __assign({ className: "toaster toaster-".concat(severity) }, { children: [close && (_jsx("div", __assign({ className: "toaster--close", onClick: onClose }, { children: _jsx(Icon, { classIcon: "bi-x" }) }))), _jsxs("div", { children: [severity === "info" && _jsx(Icon, { classIcon: "bi-info-circle" }), severity === "success" && _jsx(Icon, { classIcon: "bi-check-circle" }), severity === "error" && _jsx(Icon, { classIcon: "bi-x-circle" }), severity === "warning" && _jsx(Icon, { classIcon: "bi-exclamation-triangle" })] }), _jsxs("div", { children: [_jsx("div", __assign({ className: "title title-".concat(severity) }, { children: title })), description && _jsx("div", __assign({ className: "subtitle" }, { children: description })), children] })] })), toasterRoot);
37
- };
@@ -1,16 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useCallback } from "react";
3
- import { Button } from "../button/Button";
4
- import { useToasterStore } from "./store/useToasterStore";
5
- export var ToasterView = function () {
6
- var showToast = useToasterStore().showToast;
7
- var handleClickToast = useCallback(function () {
8
- showToast("This is a toast message", {
9
- description: "This is a description for the toast message.",
10
- severity: "warning",
11
- duration: 10000,
12
- children: _jsx("div", { children: "Additional content can go here." }),
13
- });
14
- }, [showToast]);
15
- return (_jsx("div", { children: _jsx(Button, { title: "Show Toast", onClick: handleClickToast, className: "btn btn-primary" }) }));
16
- };
@@ -1,22 +0,0 @@
1
- import { create } from "zustand";
2
- export var useToasterStore = create(function (set) { return ({
3
- title: "",
4
- description: "",
5
- severity: "info",
6
- visible: false,
7
- duration: 2500,
8
- close: true,
9
- children: null,
10
- showToast: function (title, options) {
11
- if (options === void 0) { options = {}; }
12
- return set(function () { return ({
13
- title: title,
14
- description: options.description,
15
- severity: options.severity || "info",
16
- duration: options.duration || 2500,
17
- visible: true,
18
- children: options.children || null,
19
- }); });
20
- },
21
- hideToast: function () { return set(function () { return ({ visible: false }); }); },
22
- }); });
@@ -1,28 +0,0 @@
1
- // vite.config.ts
2
- import { defineConfig } from "file:///C:/Users/alex/Documents/workspace/ui-kit-react/node_modules/vite/dist/node/index.js";
3
- import checker from "file:///C:/Users/alex/Documents/workspace/ui-kit-react/node_modules/vite-plugin-checker/dist/esm/main.js";
4
- import dts from "file:///C:/Users/alex/Documents/workspace/ui-kit-react/node_modules/vite-plugin-dts/dist/index.mjs";
5
- var vite_config_default = defineConfig({
6
- plugins: [dts(), checker({ typescript: true })],
7
- server: {
8
- port: 2552
9
- // Remplace 3000 par le port souhaité
10
- },
11
- build: {
12
- lib: {
13
- entry: "./src/index.ts",
14
- // Remplacer par l'entrée correcte
15
- formats: ["es"],
16
- // Génère un module ES
17
- name: "kelt-ui-kit-react",
18
- fileName: "index"
19
- },
20
- rollupOptions: {
21
- external: ["react", "react-dom"]
22
- }
23
- }
24
- });
25
- export {
26
- vite_config_default as default
27
- };
28
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxhbGV4XFxcXERvY3VtZW50c1xcXFx3b3Jrc3BhY2VcXFxcdWkta2l0LXJlYWN0XCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxhbGV4XFxcXERvY3VtZW50c1xcXFx3b3Jrc3BhY2VcXFxcdWkta2l0LXJlYWN0XFxcXHZpdGUuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9DOi9Vc2Vycy9hbGV4L0RvY3VtZW50cy93b3Jrc3BhY2UvdWkta2l0LXJlYWN0L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcclxuaW1wb3J0IGNoZWNrZXIgZnJvbSBcInZpdGUtcGx1Z2luLWNoZWNrZXJcIjtcclxuaW1wb3J0IGR0cyBmcm9tIFwidml0ZS1wbHVnaW4tZHRzXCI7XHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZyh7XHJcbiAgcGx1Z2luczogW2R0cygpLCBjaGVja2VyKHsgdHlwZXNjcmlwdDogdHJ1ZSB9KV0sXHJcbiAgc2VydmVyOiB7XHJcbiAgICBwb3J0OiAyNTUyLCAvLyBSZW1wbGFjZSAzMDAwIHBhciBsZSBwb3J0IHNvdWhhaXRcdTAwRTlcclxuICB9LFxyXG4gIGJ1aWxkOiB7XHJcbiAgICBsaWI6IHtcclxuICAgICAgZW50cnk6IFwiLi9zcmMvaW5kZXgudHNcIiwgLy8gUmVtcGxhY2VyIHBhciBsJ2VudHJcdTAwRTllIGNvcnJlY3RlXHJcbiAgICAgIGZvcm1hdHM6IFtcImVzXCJdLCAvLyBHXHUwMEU5blx1MDBFOHJlIHVuIG1vZHVsZSBFU1xyXG4gICAgICBuYW1lOiBcImtlbHQtdWkta2l0LXJlYWN0XCIsXHJcbiAgICAgIGZpbGVOYW1lOiBcImluZGV4XCIsXHJcbiAgICB9LFxyXG4gICAgcm9sbHVwT3B0aW9uczoge1xyXG4gICAgICBleHRlcm5hbDogW1wicmVhY3RcIiwgXCJyZWFjdC1kb21cIl0sXHJcbiAgICB9LFxyXG4gIH0sXHJcbn0pO1xyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXdVLFNBQVMsb0JBQW9CO0FBQ3JXLE9BQU8sYUFBYTtBQUNwQixPQUFPLFNBQVM7QUFDaEIsSUFBTyxzQkFBUSxhQUFhO0FBQUEsRUFDMUIsU0FBUyxDQUFDLElBQUksR0FBRyxRQUFRLEVBQUUsWUFBWSxLQUFLLENBQUMsQ0FBQztBQUFBLEVBQzlDLFFBQVE7QUFBQSxJQUNOLE1BQU07QUFBQTtBQUFBLEVBQ1I7QUFBQSxFQUNBLE9BQU87QUFBQSxJQUNMLEtBQUs7QUFBQSxNQUNILE9BQU87QUFBQTtBQUFBLE1BQ1AsU0FBUyxDQUFDLElBQUk7QUFBQTtBQUFBLE1BQ2QsTUFBTTtBQUFBLE1BQ04sVUFBVTtBQUFBLElBQ1o7QUFBQSxJQUNBLGVBQWU7QUFBQSxNQUNiLFVBQVUsQ0FBQyxTQUFTLFdBQVc7QUFBQSxJQUNqQztBQUFBLEVBQ0Y7QUFDRixDQUFDOyIsCiAgIm5hbWVzIjogW10KfQo=