@andreagiugni/tailwind-dashboard-ui 1.0.26 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/index.cjs +90 -71
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +5 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +32 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -185,7 +185,7 @@ Legend: **(+native)** = also extends the element's native HTML attributes.
|
|
|
185
185
|
| `PollResults` | `options` (`{ label, value?, series? }[]`), `maxValue?`, `size` (sm/md/lg), `color`, `trackColor?`, `showValueLabel?`, `showSeriesLabels?`, `valueFormatter?`, `labelTextSize?`/`labelTextColor?`/`labelTextWeight?`, `valueTextSize?`/`valueTextColor?`/`valueTextWeight?`, `seriesLabelTextSize?`/`seriesLabelTextColor?`/`seriesLabelTextWeight?`, `seriesValueTextSize?`/`seriesValueTextColor?`/`seriesValueTextWeight?`, (+native div) (+override) |
|
|
186
186
|
| `Spinner` | `size` (sm/md/lg), `color`, `label?` |
|
|
187
187
|
| `Skeleton` | `isLoaded`, `width?`, `height?`, `className`, `children?` |
|
|
188
|
-
| `Toast` | `variant` (success/danger/warning/info), `title`, `message?`, `icon?`, `hideIcon?`, `showCloseButton?`, `onClose?`, `hideAccentBar?`, (+native div) (+override) |
|
|
188
|
+
| `Toast` | `variant` (success/danger/warning/info), `position?` (left/center/right), `duration?` (ms), `title`, `message?`, `icon?`, `hideIcon?`, `showCloseButton?`, `onClose?`, `hideAccentBar?`, (+native div) (+override) |
|
|
189
189
|
|
|
190
190
|
### Overlays
|
|
191
191
|
|
package/dist/index.cjs
CHANGED
|
@@ -10,14 +10,14 @@ var chunkTF3G3E72_cjs = require('./chunk-TF3G3E72.cjs');
|
|
|
10
10
|
var chunkYERNSNT4_cjs = require('./chunk-YERNSNT4.cjs');
|
|
11
11
|
var jsxRuntime = require('react/jsx-runtime');
|
|
12
12
|
var lucideReact = require('lucide-react');
|
|
13
|
-
var
|
|
13
|
+
var React6 = require('react');
|
|
14
14
|
var reactDom = require('react-dom');
|
|
15
15
|
var flatpickr = require('flatpickr');
|
|
16
16
|
require('flatpickr/dist/flatpickr.css');
|
|
17
17
|
|
|
18
18
|
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
19
19
|
|
|
20
|
-
var
|
|
20
|
+
var React6__default = /*#__PURE__*/_interopDefault(React6);
|
|
21
21
|
var flatpickr__default = /*#__PURE__*/_interopDefault(flatpickr);
|
|
22
22
|
|
|
23
23
|
// src/lib/styleOverride.ts
|
|
@@ -360,10 +360,10 @@ var Dropdown = ({
|
|
|
360
360
|
style,
|
|
361
361
|
...rest
|
|
362
362
|
}) => {
|
|
363
|
-
const dropdownRef =
|
|
364
|
-
const anchorRef =
|
|
365
|
-
const [position, setPosition] =
|
|
366
|
-
|
|
363
|
+
const dropdownRef = React6.useRef(null);
|
|
364
|
+
const anchorRef = React6.useRef(null);
|
|
365
|
+
const [position, setPosition] = React6.useState();
|
|
366
|
+
React6.useEffect(() => {
|
|
367
367
|
const handleClickOutside = (event) => {
|
|
368
368
|
const trigger = getTriggerElement(anchorRef.current, triggerRef);
|
|
369
369
|
if (dropdownRef.current && !dropdownRef.current.contains(event.target) && !trigger?.contains(event.target)) {
|
|
@@ -375,7 +375,7 @@ var Dropdown = ({
|
|
|
375
375
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
376
376
|
};
|
|
377
377
|
}, [onClose, triggerRef]);
|
|
378
|
-
|
|
378
|
+
React6.useLayoutEffect(() => {
|
|
379
379
|
if (!isOpen || !portal) return;
|
|
380
380
|
const updatePosition = () => {
|
|
381
381
|
const anchor = anchorRef.current;
|
|
@@ -481,8 +481,8 @@ var Dropzone = ({
|
|
|
481
481
|
browseLabel = "Browse File",
|
|
482
482
|
className
|
|
483
483
|
}) => {
|
|
484
|
-
const inputRef =
|
|
485
|
-
const [isDragActive, setIsDragActive] =
|
|
484
|
+
const inputRef = React6.useRef(null);
|
|
485
|
+
const [isDragActive, setIsDragActive] = React6.useState(false);
|
|
486
486
|
const handleFiles = (list) => {
|
|
487
487
|
if (list && list.length) onDrop?.(Array.from(list));
|
|
488
488
|
};
|
|
@@ -721,13 +721,13 @@ function DataDrivenTable({
|
|
|
721
721
|
emptyContent = "No matching records",
|
|
722
722
|
className
|
|
723
723
|
}) {
|
|
724
|
-
const [search, setSearch] =
|
|
725
|
-
const [pageSize, setPageSize] =
|
|
726
|
-
const [sortKey, setSortKey] =
|
|
727
|
-
const [sortDir, setSortDir] =
|
|
728
|
-
const [page, setPage] =
|
|
724
|
+
const [search, setSearch] = React6.useState("");
|
|
725
|
+
const [pageSize, setPageSize] = React6.useState(rowsPerPage);
|
|
726
|
+
const [sortKey, setSortKey] = React6.useState(defaultSortKey);
|
|
727
|
+
const [sortDir, setSortDir] = React6.useState(defaultSortDirection);
|
|
728
|
+
const [page, setPage] = React6.useState(1);
|
|
729
729
|
const showSearch = !!(searchKeys && searchKeys.length > 0);
|
|
730
|
-
const filtered =
|
|
730
|
+
const filtered = React6.useMemo(() => {
|
|
731
731
|
const q = search.trim().toLowerCase();
|
|
732
732
|
let rows = data;
|
|
733
733
|
if (showSearch && q) {
|
|
@@ -1000,7 +1000,7 @@ var ThemeToggleButton = ({
|
|
|
1000
1000
|
onClick,
|
|
1001
1001
|
...rest
|
|
1002
1002
|
}) => {
|
|
1003
|
-
const [internalTheme, setInternalTheme] =
|
|
1003
|
+
const [internalTheme, setInternalTheme] = React6.useState("light");
|
|
1004
1004
|
const isControlled = theme !== void 0;
|
|
1005
1005
|
const currentTheme = isControlled ? theme : internalTheme;
|
|
1006
1006
|
const handleClick = (e) => {
|
|
@@ -1102,6 +1102,11 @@ var variantIcons2 = {
|
|
|
1102
1102
|
warning: lucideReact.CircleAlert,
|
|
1103
1103
|
info: lucideReact.Info
|
|
1104
1104
|
};
|
|
1105
|
+
var positionStyles = {
|
|
1106
|
+
left: "bottom-6 left-4 right-4 sm:left-6 sm:right-auto sm:w-full",
|
|
1107
|
+
center: "bottom-6 left-1/2 w-[calc(100%-2rem)] -translate-x-1/2 sm:w-full",
|
|
1108
|
+
right: "bottom-6 left-4 right-4 sm:left-auto sm:right-6 sm:w-full"
|
|
1109
|
+
};
|
|
1105
1110
|
var Toast = ({
|
|
1106
1111
|
variant = "success",
|
|
1107
1112
|
title,
|
|
@@ -1111,6 +1116,8 @@ var Toast = ({
|
|
|
1111
1116
|
showCloseButton = true,
|
|
1112
1117
|
onClose,
|
|
1113
1118
|
hideAccentBar = false,
|
|
1119
|
+
position = "right",
|
|
1120
|
+
duration,
|
|
1114
1121
|
className,
|
|
1115
1122
|
bgColor,
|
|
1116
1123
|
textColor,
|
|
@@ -1120,12 +1127,24 @@ var Toast = ({
|
|
|
1120
1127
|
}) => {
|
|
1121
1128
|
const styles = variantStyles[variant];
|
|
1122
1129
|
const Icon = variantIcons2[variant];
|
|
1130
|
+
const [isVisible, setIsVisible] = React6.useState(true);
|
|
1131
|
+
const handleClose = React6.useCallback(() => {
|
|
1132
|
+
setIsVisible(false);
|
|
1133
|
+
onClose?.();
|
|
1134
|
+
}, [onClose]);
|
|
1135
|
+
React6.useEffect(() => {
|
|
1136
|
+
if (!duration || duration <= 0) return;
|
|
1137
|
+
const timer = window.setTimeout(handleClose, duration);
|
|
1138
|
+
return () => window.clearTimeout(timer);
|
|
1139
|
+
}, [duration, handleClose]);
|
|
1140
|
+
if (!isVisible) return null;
|
|
1123
1141
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1124
1142
|
"div",
|
|
1125
1143
|
{
|
|
1126
1144
|
role: "alert",
|
|
1127
1145
|
className: chunkYERNSNT4_cjs.cn(
|
|
1128
|
-
"
|
|
1146
|
+
"fixed z-9999 flex max-w-md items-center gap-3 overflow-hidden rounded-xl border border-gray-200 bg-white px-4 py-3.5 pr-10 shadow-theme-sm dark:border-gray-800 dark:bg-gray-900",
|
|
1147
|
+
positionStyles[position],
|
|
1129
1148
|
className
|
|
1130
1149
|
),
|
|
1131
1150
|
style: { ...styleOverride({ bgColor, textColor, borderColor }), ...style },
|
|
@@ -1150,7 +1169,7 @@ var Toast = ({
|
|
|
1150
1169
|
{
|
|
1151
1170
|
type: "button",
|
|
1152
1171
|
"aria-label": "Close",
|
|
1153
|
-
onClick:
|
|
1172
|
+
onClick: handleClose,
|
|
1154
1173
|
className: "absolute right-3 top-1/2 -translate-y-1/2 text-gray-400 transition hover:text-gray-700 dark:hover:text-gray-200",
|
|
1155
1174
|
children: /* @__PURE__ */ jsxRuntime.jsx(lucideReact.X, { className: "size-4", "aria-hidden": "true" })
|
|
1156
1175
|
}
|
|
@@ -1166,7 +1185,7 @@ var Toast = ({
|
|
|
1166
1185
|
}
|
|
1167
1186
|
);
|
|
1168
1187
|
};
|
|
1169
|
-
var AccordionContext =
|
|
1188
|
+
var AccordionContext = React6__default.default.createContext(null);
|
|
1170
1189
|
var ChevronIcon2 = ({ open }) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1171
1190
|
lucideReact.ChevronDown,
|
|
1172
1191
|
{
|
|
@@ -1186,7 +1205,7 @@ var AccordionItem = ({
|
|
|
1186
1205
|
className,
|
|
1187
1206
|
...rest
|
|
1188
1207
|
}) => {
|
|
1189
|
-
const ctx =
|
|
1208
|
+
const ctx = React6__default.default.useContext(AccordionContext);
|
|
1190
1209
|
if (!ctx) {
|
|
1191
1210
|
throw new Error("AccordionItem must be used within an Accordion");
|
|
1192
1211
|
}
|
|
@@ -1251,9 +1270,9 @@ var Accordion = ({
|
|
|
1251
1270
|
...rest
|
|
1252
1271
|
}) => {
|
|
1253
1272
|
const isControlled = expandedKeys !== void 0;
|
|
1254
|
-
const [internal, setInternal] =
|
|
1273
|
+
const [internal, setInternal] = React6.useState(defaultExpandedKeys);
|
|
1255
1274
|
const expanded = isControlled ? expandedKeys : internal;
|
|
1256
|
-
const toggle =
|
|
1275
|
+
const toggle = React6.useCallback(
|
|
1257
1276
|
(key) => {
|
|
1258
1277
|
const isOpen = expanded.includes(key);
|
|
1259
1278
|
let next;
|
|
@@ -1298,16 +1317,16 @@ var Tabs = ({
|
|
|
1298
1317
|
className,
|
|
1299
1318
|
...rest
|
|
1300
1319
|
}) => {
|
|
1301
|
-
const tabs =
|
|
1302
|
-
|
|
1320
|
+
const tabs = React6__default.default.Children.toArray(children).filter(
|
|
1321
|
+
React6__default.default.isValidElement
|
|
1303
1322
|
);
|
|
1304
1323
|
const firstKey = tabs[0]?.props.tabKey;
|
|
1305
1324
|
const isControlled = selectedKey !== void 0;
|
|
1306
|
-
const [internal, setInternal] =
|
|
1325
|
+
const [internal, setInternal] = React6.useState(
|
|
1307
1326
|
defaultSelectedKey ?? firstKey
|
|
1308
1327
|
);
|
|
1309
1328
|
const active = isControlled ? selectedKey : internal;
|
|
1310
|
-
const tabRefs =
|
|
1329
|
+
const tabRefs = React6.useRef({});
|
|
1311
1330
|
const select = (key) => {
|
|
1312
1331
|
if (!isControlled) setInternal(key);
|
|
1313
1332
|
onSelectionChange?.(key);
|
|
@@ -1425,9 +1444,9 @@ var Tooltip = ({
|
|
|
1425
1444
|
style,
|
|
1426
1445
|
...rest
|
|
1427
1446
|
}) => {
|
|
1428
|
-
const [visible, setVisible] =
|
|
1429
|
-
const tooltipId =
|
|
1430
|
-
const timeoutRef =
|
|
1447
|
+
const [visible, setVisible] = React6.useState(false);
|
|
1448
|
+
const tooltipId = React6.useId();
|
|
1449
|
+
const timeoutRef = React6.useRef(null);
|
|
1431
1450
|
const show = () => {
|
|
1432
1451
|
if (disabled) return;
|
|
1433
1452
|
if (delay > 0) {
|
|
@@ -1502,17 +1521,17 @@ var Popover = ({
|
|
|
1502
1521
|
className,
|
|
1503
1522
|
...rest
|
|
1504
1523
|
}) => {
|
|
1505
|
-
const [uncontrolledOpen, setUncontrolledOpen] =
|
|
1506
|
-
const [panelPosition, setPanelPosition] =
|
|
1524
|
+
const [uncontrolledOpen, setUncontrolledOpen] = React6.useState(defaultOpen);
|
|
1525
|
+
const [panelPosition, setPanelPosition] = React6.useState();
|
|
1507
1526
|
const isControlled = controlledOpen !== void 0;
|
|
1508
1527
|
const open = isControlled ? controlledOpen : uncontrolledOpen;
|
|
1509
|
-
const wrapperRef =
|
|
1510
|
-
const panelRef =
|
|
1528
|
+
const wrapperRef = React6.useRef(null);
|
|
1529
|
+
const panelRef = React6.useRef(null);
|
|
1511
1530
|
const setOpen = (next) => {
|
|
1512
1531
|
if (!isControlled) setUncontrolledOpen(next);
|
|
1513
1532
|
onOpenChange?.(next);
|
|
1514
1533
|
};
|
|
1515
|
-
|
|
1534
|
+
React6.useEffect(() => {
|
|
1516
1535
|
if (!open) return;
|
|
1517
1536
|
const handleClickOutside = (event) => {
|
|
1518
1537
|
if (closeOnOutsideClick && wrapperRef.current && !wrapperRef.current.contains(event.target) && !panelRef.current?.contains(event.target)) {
|
|
@@ -1531,7 +1550,7 @@ var Popover = ({
|
|
|
1531
1550
|
document.removeEventListener("keydown", handleEscape);
|
|
1532
1551
|
};
|
|
1533
1552
|
}, [open, closeOnOutsideClick, closeOnEsc]);
|
|
1534
|
-
const updatePanelPosition =
|
|
1553
|
+
const updatePanelPosition = React6.useCallback(() => {
|
|
1535
1554
|
const trigger2 = wrapperRef.current;
|
|
1536
1555
|
const panel2 = panelRef.current;
|
|
1537
1556
|
if (!trigger2 || !panel2) return;
|
|
@@ -1579,7 +1598,7 @@ var Popover = ({
|
|
|
1579
1598
|
)
|
|
1580
1599
|
});
|
|
1581
1600
|
}, [placement]);
|
|
1582
|
-
|
|
1601
|
+
React6.useLayoutEffect(() => {
|
|
1583
1602
|
if (!open || !portal) return;
|
|
1584
1603
|
updatePanelPosition();
|
|
1585
1604
|
window.addEventListener("resize", updatePanelPosition);
|
|
@@ -1657,7 +1676,7 @@ var Drawer = ({
|
|
|
1657
1676
|
size,
|
|
1658
1677
|
...rest
|
|
1659
1678
|
}) => {
|
|
1660
|
-
|
|
1679
|
+
React6.useEffect(() => {
|
|
1661
1680
|
const handleEscape = (event) => {
|
|
1662
1681
|
if (event.key === "Escape") {
|
|
1663
1682
|
onClose();
|
|
@@ -1670,7 +1689,7 @@ var Drawer = ({
|
|
|
1670
1689
|
document.removeEventListener("keydown", handleEscape);
|
|
1671
1690
|
};
|
|
1672
1691
|
}, [isOpen, onClose, closeOnEsc]);
|
|
1673
|
-
|
|
1692
|
+
React6.useEffect(() => {
|
|
1674
1693
|
if (isOpen) {
|
|
1675
1694
|
document.body.style.overflow = "hidden";
|
|
1676
1695
|
} else {
|
|
@@ -1879,9 +1898,9 @@ var Progress = ({
|
|
|
1879
1898
|
] });
|
|
1880
1899
|
};
|
|
1881
1900
|
var trackSizes = {
|
|
1882
|
-
sm: "h-2",
|
|
1883
|
-
md: "h-
|
|
1884
|
-
lg: "h-
|
|
1901
|
+
sm: "h-2.5",
|
|
1902
|
+
md: "h-3",
|
|
1903
|
+
lg: "h-4"
|
|
1885
1904
|
};
|
|
1886
1905
|
var colorStyles = {
|
|
1887
1906
|
primary: "bg-brand-500",
|
|
@@ -1975,7 +1994,7 @@ var PollResults = ({
|
|
|
1975
1994
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1976
1995
|
"div",
|
|
1977
1996
|
{
|
|
1978
|
-
className: chunkYERNSNT4_cjs.cn("w-full space-y-
|
|
1997
|
+
className: chunkYERNSNT4_cjs.cn("w-full space-y-5 text-gray-800 dark:text-white/90", className),
|
|
1979
1998
|
style: { ...styleOverride({ bgColor, textColor, borderColor }), ...style },
|
|
1980
1999
|
...rest,
|
|
1981
2000
|
children: options.map((option, optionIndex) => {
|
|
@@ -1991,7 +2010,7 @@ var PollResults = ({
|
|
|
1991
2010
|
const isGrouped = series.length > 1;
|
|
1992
2011
|
const singlePercent = toPercent(series[0]?.value ?? 0, safeMax);
|
|
1993
2012
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
|
|
1994
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-
|
|
2013
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center justify-between gap-4", children: [
|
|
1995
2014
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1996
2015
|
"span",
|
|
1997
2016
|
{
|
|
@@ -2009,7 +2028,7 @@ var PollResults = ({
|
|
|
2009
2028
|
}
|
|
2010
2029
|
)
|
|
2011
2030
|
] }),
|
|
2012
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkYERNSNT4_cjs.cn("flex flex-col", isGrouped ? "gap-
|
|
2031
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkYERNSNT4_cjs.cn("flex flex-col", isGrouped ? "gap-2.5" : "gap-0"), children: series.map((entry, seriesIndex) => {
|
|
2013
2032
|
const percent = toPercent(entry.value, safeMax);
|
|
2014
2033
|
const fillColor = entry.fillColor;
|
|
2015
2034
|
const entryColor = entry.color ?? (isGrouped ? defaultSeriesColorCycle[seriesIndex % defaultSeriesColorCycle.length] : option.color ?? defaultColorCycle[optionIndex % defaultColorCycle.length]) ?? color;
|
|
@@ -2203,7 +2222,7 @@ var Snippet = ({
|
|
|
2203
2222
|
style,
|
|
2204
2223
|
...rest
|
|
2205
2224
|
}) => {
|
|
2206
|
-
const [copied, setCopied] =
|
|
2225
|
+
const [copied, setCopied] = React6.useState(false);
|
|
2207
2226
|
const raw = code ?? children ?? "";
|
|
2208
2227
|
const lines = Array.isArray(raw) ? raw : raw.split("\n");
|
|
2209
2228
|
const text = lines.join("\n");
|
|
@@ -2485,7 +2504,7 @@ var Switch = ({
|
|
|
2485
2504
|
...rest
|
|
2486
2505
|
}) => {
|
|
2487
2506
|
const isControlled = checked !== void 0;
|
|
2488
|
-
const [internalChecked, setInternalChecked] =
|
|
2507
|
+
const [internalChecked, setInternalChecked] = React6.useState(defaultChecked);
|
|
2489
2508
|
const isChecked = isControlled ? checked : internalChecked;
|
|
2490
2509
|
const handleToggle = () => {
|
|
2491
2510
|
if (disabled) return;
|
|
@@ -2573,13 +2592,13 @@ var Select = ({
|
|
|
2573
2592
|
disabled = false,
|
|
2574
2593
|
portal = true
|
|
2575
2594
|
}) => {
|
|
2576
|
-
const [selectedValue, setSelectedValue] =
|
|
2577
|
-
const [isOpen, setIsOpen] =
|
|
2578
|
-
const rootRef =
|
|
2579
|
-
const triggerRef =
|
|
2580
|
-
const menuRef =
|
|
2581
|
-
const [menuPosition, setMenuPosition] =
|
|
2582
|
-
|
|
2595
|
+
const [selectedValue, setSelectedValue] = React6.useState(defaultValue);
|
|
2596
|
+
const [isOpen, setIsOpen] = React6.useState(false);
|
|
2597
|
+
const rootRef = React6.useRef(null);
|
|
2598
|
+
const triggerRef = React6.useRef(null);
|
|
2599
|
+
const menuRef = React6.useRef(null);
|
|
2600
|
+
const [menuPosition, setMenuPosition] = React6.useState();
|
|
2601
|
+
React6.useEffect(() => {
|
|
2583
2602
|
if (!isOpen) return;
|
|
2584
2603
|
const onPointerDown = (e) => {
|
|
2585
2604
|
const target = e.target;
|
|
@@ -2597,7 +2616,7 @@ var Select = ({
|
|
|
2597
2616
|
document.removeEventListener("keydown", onKeyDown);
|
|
2598
2617
|
};
|
|
2599
2618
|
}, [isOpen]);
|
|
2600
|
-
|
|
2619
|
+
React6.useLayoutEffect(() => {
|
|
2601
2620
|
if (!isOpen || !portal) return;
|
|
2602
2621
|
const updatePosition = () => {
|
|
2603
2622
|
const trigger = triggerRef.current;
|
|
@@ -2738,13 +2757,13 @@ var MultiSelect = ({
|
|
|
2738
2757
|
disabled = false,
|
|
2739
2758
|
portal = true
|
|
2740
2759
|
}) => {
|
|
2741
|
-
const [selectedOptions, setSelectedOptions] =
|
|
2742
|
-
const [isOpen, setIsOpen] =
|
|
2743
|
-
const rootRef =
|
|
2744
|
-
const triggerRef =
|
|
2745
|
-
const menuRef =
|
|
2746
|
-
const [menuPosition, setMenuPosition] =
|
|
2747
|
-
|
|
2760
|
+
const [selectedOptions, setSelectedOptions] = React6.useState(defaultSelected);
|
|
2761
|
+
const [isOpen, setIsOpen] = React6.useState(false);
|
|
2762
|
+
const rootRef = React6.useRef(null);
|
|
2763
|
+
const triggerRef = React6.useRef(null);
|
|
2764
|
+
const menuRef = React6.useRef(null);
|
|
2765
|
+
const [menuPosition, setMenuPosition] = React6.useState();
|
|
2766
|
+
React6.useEffect(() => {
|
|
2748
2767
|
if (!isOpen) return;
|
|
2749
2768
|
const onPointerDown = (event) => {
|
|
2750
2769
|
const target = event.target;
|
|
@@ -2762,7 +2781,7 @@ var MultiSelect = ({
|
|
|
2762
2781
|
document.removeEventListener("keydown", onKeyDown);
|
|
2763
2782
|
};
|
|
2764
2783
|
}, [isOpen]);
|
|
2765
|
-
|
|
2784
|
+
React6.useLayoutEffect(() => {
|
|
2766
2785
|
if (!isOpen || !portal) return;
|
|
2767
2786
|
const updatePosition = () => {
|
|
2768
2787
|
const trigger = triggerRef.current;
|
|
@@ -2934,7 +2953,7 @@ var DatePicker = ({
|
|
|
2934
2953
|
defaultDate,
|
|
2935
2954
|
placeholder
|
|
2936
2955
|
}) => {
|
|
2937
|
-
|
|
2956
|
+
React6.useEffect(() => {
|
|
2938
2957
|
const flatPickr = flatpickr__default.default(`#${id}`, {
|
|
2939
2958
|
mode: mode || "single",
|
|
2940
2959
|
appendTo: document.body,
|
|
@@ -2977,11 +2996,11 @@ var DateTimePicker = ({
|
|
|
2977
2996
|
defaultTime = "",
|
|
2978
2997
|
onChange
|
|
2979
2998
|
}) => {
|
|
2980
|
-
const dateRef =
|
|
2981
|
-
const [hh, setHh] =
|
|
2982
|
-
const [mm, setMm] =
|
|
2983
|
-
const hhRef =
|
|
2984
|
-
const mmRef =
|
|
2999
|
+
const dateRef = React6.useRef(void 0);
|
|
3000
|
+
const [hh, setHh] = React6.useState(defaultTime.split(":")[0] ?? "");
|
|
3001
|
+
const [mm, setMm] = React6.useState(defaultTime.split(":")[1] ?? "");
|
|
3002
|
+
const hhRef = React6.useRef(hh);
|
|
3003
|
+
const mmRef = React6.useRef(mm);
|
|
2985
3004
|
hhRef.current = hh;
|
|
2986
3005
|
mmRef.current = mm;
|
|
2987
3006
|
const emit = () => {
|
|
@@ -2990,7 +3009,7 @@ var DateTimePicker = ({
|
|
|
2990
3009
|
time: `${(hhRef.current || "0").padStart(2, "0")}:${(mmRef.current || "0").padStart(2, "0")}`
|
|
2991
3010
|
});
|
|
2992
3011
|
};
|
|
2993
|
-
|
|
3012
|
+
React6.useEffect(() => {
|
|
2994
3013
|
const flatPickr = flatpickr__default.default(`#${id}-date`, {
|
|
2995
3014
|
mode: "single",
|
|
2996
3015
|
appendTo: document.body,
|
|
@@ -3075,7 +3094,7 @@ var PasswordInput = ({
|
|
|
3075
3094
|
className,
|
|
3076
3095
|
...rest
|
|
3077
3096
|
}) => {
|
|
3078
|
-
const [show, setShow] =
|
|
3097
|
+
const [show, setShow] = React6.useState(false);
|
|
3079
3098
|
return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
|
|
3080
3099
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3081
3100
|
"input",
|
|
@@ -3154,7 +3173,7 @@ var Slider = ({
|
|
|
3154
3173
|
...rest
|
|
3155
3174
|
}) => {
|
|
3156
3175
|
const isControlled = value !== void 0;
|
|
3157
|
-
const [internalValue, setInternalValue] =
|
|
3176
|
+
const [internalValue, setInternalValue] = React6.useState(defaultValue);
|
|
3158
3177
|
const currentValue = isControlled ? value : internalValue;
|
|
3159
3178
|
const handleChange = (e) => {
|
|
3160
3179
|
const next = Number(e.target.value);
|