@helpwave/hightide 0.8.10 → 0.8.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +293 -297
- package/dist/index.d.ts +293 -297
- package/dist/index.js +311 -167
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +273 -129
- package/dist/index.mjs.map +1 -1
- package/dist/style/globals.css +1 -1
- package/dist/style/uncompiled/theme/components/time-picker.css +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -14394,15 +14394,15 @@ var TableSortButton = ({
|
|
|
14394
14394
|
|
|
14395
14395
|
// src/components/layout/table/TableFilterButton.tsx
|
|
14396
14396
|
import { FilterIcon } from "lucide-react";
|
|
14397
|
-
import { useEffect as
|
|
14397
|
+
import { useEffect as useEffect40, useId as useId15, useMemo as useMemo29, useRef as useRef31, useState as useState35 } from "react";
|
|
14398
14398
|
|
|
14399
14399
|
// src/components/user-interaction/input/DateTimeInput.tsx
|
|
14400
|
-
import { forwardRef as forwardRef17, useCallback as useCallback26, useEffect as
|
|
14400
|
+
import { forwardRef as forwardRef17, useCallback as useCallback26, useEffect as useEffect39, useId as useId13, useImperativeHandle as useImperativeHandle11, useMemo as useMemo27, useRef as useRef30, useState as useState33 } from "react";
|
|
14401
14401
|
import { CalendarIcon } from "lucide-react";
|
|
14402
14402
|
import clsx24 from "clsx";
|
|
14403
14403
|
|
|
14404
14404
|
// src/components/user-interaction/date/TimePicker.tsx
|
|
14405
|
-
import { useEffect as useEffect28, useRef as useRef26 } from "react";
|
|
14405
|
+
import { useEffect as useEffect28, useMemo as useMemo22, useRef as useRef26 } from "react";
|
|
14406
14406
|
import { jsx as jsx60, jsxs as jsxs30 } from "react/jsx-runtime";
|
|
14407
14407
|
var TimePicker = ({
|
|
14408
14408
|
value: controlledValue,
|
|
@@ -14411,6 +14411,9 @@ var TimePicker = ({
|
|
|
14411
14411
|
onEditComplete,
|
|
14412
14412
|
is24HourFormat = true,
|
|
14413
14413
|
minuteIncrement = "5min",
|
|
14414
|
+
secondIncrement = "5s",
|
|
14415
|
+
millisecondIncrement = "100ms",
|
|
14416
|
+
precision = "minute",
|
|
14414
14417
|
className
|
|
14415
14418
|
}) => {
|
|
14416
14419
|
const [value, setValue] = useControlledState({
|
|
@@ -14422,22 +14425,58 @@ var TimePicker = ({
|
|
|
14422
14425
|
const hourRef = useRef26(null);
|
|
14423
14426
|
const isPM = value.getHours() > 11;
|
|
14424
14427
|
const hours = is24HourFormat ? range(24) : range(12);
|
|
14425
|
-
|
|
14426
|
-
|
|
14427
|
-
|
|
14428
|
-
|
|
14429
|
-
|
|
14430
|
-
|
|
14431
|
-
|
|
14432
|
-
|
|
14433
|
-
|
|
14434
|
-
|
|
14435
|
-
|
|
14436
|
-
|
|
14437
|
-
|
|
14438
|
-
|
|
14439
|
-
|
|
14440
|
-
|
|
14428
|
+
const minutes = useMemo22(() => {
|
|
14429
|
+
const full = range(60);
|
|
14430
|
+
switch (minuteIncrement) {
|
|
14431
|
+
case "5min":
|
|
14432
|
+
return full.filter((value2) => value2 % 5 === 0);
|
|
14433
|
+
case "10min":
|
|
14434
|
+
return full.filter((value2) => value2 % 10 === 0);
|
|
14435
|
+
case "15min":
|
|
14436
|
+
return full.filter((value2) => value2 % 15 === 0);
|
|
14437
|
+
case "30min":
|
|
14438
|
+
return full.filter((value2) => value2 % 30 === 0);
|
|
14439
|
+
}
|
|
14440
|
+
}, [minuteIncrement]);
|
|
14441
|
+
const seconds = useMemo22(() => {
|
|
14442
|
+
const full = range(60);
|
|
14443
|
+
switch (secondIncrement) {
|
|
14444
|
+
case "1s":
|
|
14445
|
+
return full.filter((value2) => value2 % 1 === 0);
|
|
14446
|
+
case "5s":
|
|
14447
|
+
return full.filter((value2) => value2 % 5 === 0);
|
|
14448
|
+
case "10s":
|
|
14449
|
+
return full.filter((value2) => value2 % 10 === 0);
|
|
14450
|
+
case "15s":
|
|
14451
|
+
return full.filter((value2) => value2 % 15 === 0);
|
|
14452
|
+
case "30s":
|
|
14453
|
+
return full.filter((value2) => value2 % 30 === 0);
|
|
14454
|
+
}
|
|
14455
|
+
}, [secondIncrement]);
|
|
14456
|
+
const milliseconds = useMemo22(() => {
|
|
14457
|
+
const full = range(1e3);
|
|
14458
|
+
switch (millisecondIncrement) {
|
|
14459
|
+
case "1ms":
|
|
14460
|
+
return full.filter((value2) => value2 % 1 === 0);
|
|
14461
|
+
case "5ms":
|
|
14462
|
+
return full.filter((value2) => value2 % 5 === 0);
|
|
14463
|
+
case "10ms":
|
|
14464
|
+
return full.filter((value2) => value2 % 10 === 0);
|
|
14465
|
+
case "25ms":
|
|
14466
|
+
return full.filter((value2) => value2 % 25 === 0);
|
|
14467
|
+
case "50ms":
|
|
14468
|
+
return full.filter((value2) => value2 % 50 === 0);
|
|
14469
|
+
case "100ms":
|
|
14470
|
+
return full.filter((value2) => value2 % 100 === 0);
|
|
14471
|
+
case "250ms":
|
|
14472
|
+
return full.filter((value2) => value2 % 250 === 0);
|
|
14473
|
+
case "500ms":
|
|
14474
|
+
return full.filter((value2) => value2 % 500 === 0);
|
|
14475
|
+
}
|
|
14476
|
+
}, [millisecondIncrement]);
|
|
14477
|
+
const closestMinute = useMemo22(() => closestMatch(minutes, (item1, item2) => Math.abs(item1 - value.getMinutes()) < Math.abs(item2 - value.getMinutes())), [minutes, value]);
|
|
14478
|
+
const closestSecond = useMemo22(() => closestMatch(seconds, (item1, item2) => Math.abs(item1 - value.getSeconds()) < Math.abs(item2 - value.getSeconds())), [seconds, value]);
|
|
14479
|
+
const closestMillisecond = useMemo22(() => closestMatch(milliseconds, (item1, item2) => Math.abs(item1 - value.getMilliseconds()) < Math.abs(item2 - value.getMilliseconds())), [milliseconds, value]);
|
|
14441
14480
|
const hour = value.getHours();
|
|
14442
14481
|
useEffect28(() => {
|
|
14443
14482
|
minuteRef.current?.scrollIntoView({
|
|
@@ -14488,6 +14527,36 @@ var TimePicker = ({
|
|
|
14488
14527
|
minute + minuteIncrement
|
|
14489
14528
|
);
|
|
14490
14529
|
}) }),
|
|
14530
|
+
/* @__PURE__ */ jsx60(Visibility, { isVisible: precision === "second" || precision === "millisecond", children: /* @__PURE__ */ jsx60("div", { "data-name": "time-picker-value-column", children: seconds.map((second) => {
|
|
14531
|
+
const isSelected = second === closestSecond;
|
|
14532
|
+
return /* @__PURE__ */ jsx60(
|
|
14533
|
+
Button,
|
|
14534
|
+
{
|
|
14535
|
+
size: "sm",
|
|
14536
|
+
color: isSelected ? "primary" : "neutral",
|
|
14537
|
+
ref: isSelected ? minuteRef : void 0,
|
|
14538
|
+
onClick: () => onChangeWrapper((newDate) => newDate.setSeconds(second)),
|
|
14539
|
+
className: "min-w-16",
|
|
14540
|
+
children: second.toString().padStart(2, "0")
|
|
14541
|
+
},
|
|
14542
|
+
second + secondIncrement
|
|
14543
|
+
);
|
|
14544
|
+
}) }) }),
|
|
14545
|
+
/* @__PURE__ */ jsx60(Visibility, { isVisible: precision === "millisecond", children: /* @__PURE__ */ jsx60("div", { "data-name": "time-picker-value-column", children: milliseconds.map((millisecond) => {
|
|
14546
|
+
const isSelected = millisecond === closestMillisecond;
|
|
14547
|
+
return /* @__PURE__ */ jsx60(
|
|
14548
|
+
Button,
|
|
14549
|
+
{
|
|
14550
|
+
size: "sm",
|
|
14551
|
+
color: isSelected ? "primary" : "neutral",
|
|
14552
|
+
ref: isSelected ? minuteRef : void 0,
|
|
14553
|
+
onClick: () => onChangeWrapper((newDate) => newDate.setMilliseconds(millisecond)),
|
|
14554
|
+
className: "min-w-16",
|
|
14555
|
+
children: millisecond.toString().padStart(2, "0")
|
|
14556
|
+
},
|
|
14557
|
+
millisecond + millisecondIncrement
|
|
14558
|
+
);
|
|
14559
|
+
}) }) }),
|
|
14491
14560
|
!is24HourFormat && /* @__PURE__ */ jsxs30("div", { "data-name": "time-picker-value-column", children: [
|
|
14492
14561
|
/* @__PURE__ */ jsx60(
|
|
14493
14562
|
Button,
|
|
@@ -14658,14 +14727,40 @@ var formatRelative = (date, locale) => {
|
|
|
14658
14727
|
if (Math.abs(diffInSeconds) < timesInSeconds.yearImprecise) return rtf.format(Math.round(diffInSeconds / timesInSeconds.monthImprecise), "month");
|
|
14659
14728
|
return rtf.format(Math.round(diffInSeconds / timesInSeconds.yearImprecise), "year");
|
|
14660
14729
|
};
|
|
14661
|
-
var toInputString = (date, format) => {
|
|
14730
|
+
var toInputString = (date, format, precision = "minute", isLocalTime = true) => {
|
|
14731
|
+
const pad = (n, l = 2) => String(n).padStart(l, "0");
|
|
14732
|
+
const parts = isLocalTime ? {
|
|
14733
|
+
y: date.getFullYear(),
|
|
14734
|
+
m: date.getMonth() + 1,
|
|
14735
|
+
d: date.getDate(),
|
|
14736
|
+
h: date.getHours(),
|
|
14737
|
+
min: date.getMinutes(),
|
|
14738
|
+
s: date.getSeconds(),
|
|
14739
|
+
ms: date.getMilliseconds()
|
|
14740
|
+
} : {
|
|
14741
|
+
y: date.getUTCFullYear(),
|
|
14742
|
+
m: date.getUTCMonth() + 1,
|
|
14743
|
+
d: date.getUTCDate(),
|
|
14744
|
+
h: date.getUTCHours(),
|
|
14745
|
+
min: date.getUTCMinutes(),
|
|
14746
|
+
s: date.getUTCSeconds(),
|
|
14747
|
+
ms: date.getUTCMilliseconds()
|
|
14748
|
+
};
|
|
14749
|
+
const dateStr = `${pad(parts.y, 4)}-${pad(parts.m)}-${pad(parts.d)}`;
|
|
14750
|
+
let timeStr = `${pad(parts.h)}:${pad(parts.min)}`;
|
|
14751
|
+
if (precision === "second" || precision === "millisecond") {
|
|
14752
|
+
timeStr += `:${pad(parts.s)}`;
|
|
14753
|
+
}
|
|
14754
|
+
if (precision === "millisecond") {
|
|
14755
|
+
timeStr += `.${pad(parts.ms, 3)}`;
|
|
14756
|
+
}
|
|
14662
14757
|
switch (format) {
|
|
14663
14758
|
case "date":
|
|
14664
|
-
return
|
|
14759
|
+
return dateStr;
|
|
14665
14760
|
case "time":
|
|
14666
|
-
return
|
|
14761
|
+
return timeStr;
|
|
14667
14762
|
case "dateTime":
|
|
14668
|
-
return
|
|
14763
|
+
return `${dateStr}T${timeStr}`;
|
|
14669
14764
|
}
|
|
14670
14765
|
};
|
|
14671
14766
|
var DateUtils = {
|
|
@@ -14686,7 +14781,7 @@ var DateUtils = {
|
|
|
14686
14781
|
import clsx23 from "clsx";
|
|
14687
14782
|
|
|
14688
14783
|
// src/components/user-interaction/date/DayPicker.tsx
|
|
14689
|
-
import { useCallback as useCallback23, useEffect as useEffect29, useMemo as
|
|
14784
|
+
import { useCallback as useCallback23, useEffect as useEffect29, useMemo as useMemo23, useRef as useRef27 } from "react";
|
|
14690
14785
|
import { jsx as jsx61, jsxs as jsxs31 } from "react/jsx-runtime";
|
|
14691
14786
|
var DayPicker = ({
|
|
14692
14787
|
displayedMonth: controlledDisplayedMonth,
|
|
@@ -14716,7 +14811,7 @@ var DayPicker = ({
|
|
|
14716
14811
|
const month = displayedMonth.getMonth();
|
|
14717
14812
|
const weeks = DateUtils.weeksForCalenderMonth(displayedMonth, weekStart);
|
|
14718
14813
|
const selectedButtonRef = useRef27(null);
|
|
14719
|
-
const isValueInDisplayedWeeks =
|
|
14814
|
+
const isValueInDisplayedWeeks = useMemo23(
|
|
14720
14815
|
() => !!value && weeks.some((week) => week.some((d) => DateUtils.equalDate(value, d))),
|
|
14721
14816
|
[value, weeks]
|
|
14722
14817
|
);
|
|
@@ -14728,11 +14823,11 @@ var DayPicker = ({
|
|
|
14728
14823
|
useEffect29(() => {
|
|
14729
14824
|
selectedButtonRef.current?.focus();
|
|
14730
14825
|
}, [focusTargetDate]);
|
|
14731
|
-
const end =
|
|
14826
|
+
const end = useMemo23(() => {
|
|
14732
14827
|
if (!providedEnd) return;
|
|
14733
14828
|
return new Date(providedEnd.getFullYear(), providedEnd.getMonth(), providedEnd.getDate());
|
|
14734
14829
|
}, [providedEnd]);
|
|
14735
|
-
const start =
|
|
14830
|
+
const start = useMemo23(() => {
|
|
14736
14831
|
if (!providedStart) return;
|
|
14737
14832
|
return new Date(providedStart.getFullYear(), providedStart.getMonth(), providedStart.getDate());
|
|
14738
14833
|
}, [providedStart]);
|
|
@@ -14782,7 +14877,8 @@ var DayPicker = ({
|
|
|
14782
14877
|
date.getDate(),
|
|
14783
14878
|
value.getHours(),
|
|
14784
14879
|
value.getMinutes(),
|
|
14785
|
-
value.getSeconds()
|
|
14880
|
+
value.getSeconds(),
|
|
14881
|
+
value.getMilliseconds()
|
|
14786
14882
|
);
|
|
14787
14883
|
setValue(newDate);
|
|
14788
14884
|
onEditComplete?.(newDate);
|
|
@@ -14806,7 +14902,7 @@ var DayPicker = ({
|
|
|
14806
14902
|
};
|
|
14807
14903
|
|
|
14808
14904
|
// src/components/user-interaction/date/YearMonthPicker.tsx
|
|
14809
|
-
import { memo, useCallback as useCallback24, useEffect as useEffect30, useMemo as
|
|
14905
|
+
import { memo, useCallback as useCallback24, useEffect as useEffect30, useMemo as useMemo24, useRef as useRef28, useState as useState26 } from "react";
|
|
14810
14906
|
import clsx22 from "clsx";
|
|
14811
14907
|
import { jsx as jsx62, jsxs as jsxs32 } from "react/jsx-runtime";
|
|
14812
14908
|
var YearRow = memo(function YearRow2({
|
|
@@ -14825,7 +14921,7 @@ var YearRow = memo(function YearRow2({
|
|
|
14825
14921
|
ref.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
|
|
14826
14922
|
}
|
|
14827
14923
|
}, [isSelectedYear]);
|
|
14828
|
-
const monthGrid =
|
|
14924
|
+
const monthGrid = useMemo24(() => equalSizeGroups([...DateUtils.monthsList], 3), []);
|
|
14829
14925
|
return /* @__PURE__ */ jsxs32(
|
|
14830
14926
|
ExpandableRoot,
|
|
14831
14927
|
{
|
|
@@ -14880,19 +14976,19 @@ var YearMonthPicker = ({
|
|
|
14880
14976
|
defaultValue: initialValue
|
|
14881
14977
|
});
|
|
14882
14978
|
const onEditCompleteStable = useEventCallbackStabilizer(onEditComplete);
|
|
14883
|
-
const monthNames =
|
|
14979
|
+
const monthNames = useMemo24(() => {
|
|
14884
14980
|
const formatter = new Intl.DateTimeFormat(locale, { month: "short" });
|
|
14885
14981
|
return Array.from({ length: 12 }, (_, i) => formatter.format(new Date(2e3, i, 1)));
|
|
14886
14982
|
}, [locale]);
|
|
14887
|
-
const years =
|
|
14983
|
+
const years = useMemo24(
|
|
14888
14984
|
() => range([start.getFullYear(), end.getFullYear()], { exclusiveEnd: false }),
|
|
14889
14985
|
[start, end]
|
|
14890
14986
|
);
|
|
14891
|
-
const minTimestamp =
|
|
14987
|
+
const minTimestamp = useMemo24(() => {
|
|
14892
14988
|
if (!start) return;
|
|
14893
14989
|
return new Date(start.getFullYear(), start.getMonth(), 1).getTime();
|
|
14894
14990
|
}, [start]);
|
|
14895
|
-
const maxTimestamp =
|
|
14991
|
+
const maxTimestamp = useMemo24(() => {
|
|
14896
14992
|
if (!end) return;
|
|
14897
14993
|
return new Date(end.getFullYear(), end.getMonth() + 1, 0).getTime();
|
|
14898
14994
|
}, [end]);
|
|
@@ -15056,6 +15152,9 @@ var DateTimePicker = ({
|
|
|
15056
15152
|
is24HourFormat,
|
|
15057
15153
|
minuteIncrement,
|
|
15058
15154
|
weekStart,
|
|
15155
|
+
secondIncrement,
|
|
15156
|
+
millisecondIncrement,
|
|
15157
|
+
precision,
|
|
15059
15158
|
onValueChange,
|
|
15060
15159
|
onEditComplete,
|
|
15061
15160
|
timePickerProps,
|
|
@@ -15093,6 +15192,9 @@ var DateTimePicker = ({
|
|
|
15093
15192
|
...timePickerProps,
|
|
15094
15193
|
is24HourFormat,
|
|
15095
15194
|
minuteIncrement,
|
|
15195
|
+
secondIncrement,
|
|
15196
|
+
millisecondIncrement,
|
|
15197
|
+
precision,
|
|
15096
15198
|
value,
|
|
15097
15199
|
onValueChange: setValue,
|
|
15098
15200
|
onEditComplete
|
|
@@ -15106,6 +15208,7 @@ var DateTimePicker = ({
|
|
|
15106
15208
|
};
|
|
15107
15209
|
|
|
15108
15210
|
// src/components/user-interaction/date/DateTimePickerDialog.tsx
|
|
15211
|
+
import { useEffect as useEffect31, useState as useState28 } from "react";
|
|
15109
15212
|
import { Fragment as Fragment6, jsx as jsx65, jsxs as jsxs35 } from "react/jsx-runtime";
|
|
15110
15213
|
var DateTimePickerDialog = ({
|
|
15111
15214
|
initialValue = null,
|
|
@@ -15115,6 +15218,15 @@ var DateTimePickerDialog = ({
|
|
|
15115
15218
|
onEditComplete,
|
|
15116
15219
|
mode = "date",
|
|
15117
15220
|
pickerProps,
|
|
15221
|
+
start,
|
|
15222
|
+
end,
|
|
15223
|
+
weekStart,
|
|
15224
|
+
markToday,
|
|
15225
|
+
is24HourFormat,
|
|
15226
|
+
minuteIncrement,
|
|
15227
|
+
secondIncrement,
|
|
15228
|
+
millisecondIncrement,
|
|
15229
|
+
precision,
|
|
15118
15230
|
labelId,
|
|
15119
15231
|
label
|
|
15120
15232
|
}) => {
|
|
@@ -15124,6 +15236,10 @@ var DateTimePickerDialog = ({
|
|
|
15124
15236
|
onValueChange,
|
|
15125
15237
|
defaultValue: initialValue
|
|
15126
15238
|
});
|
|
15239
|
+
const [pickerState, setPickerState] = useState28(state ?? /* @__PURE__ */ new Date());
|
|
15240
|
+
useEffect31(() => {
|
|
15241
|
+
setPickerState(state ?? /* @__PURE__ */ new Date());
|
|
15242
|
+
}, [state]);
|
|
15127
15243
|
return /* @__PURE__ */ jsxs35(Fragment6, { children: [
|
|
15128
15244
|
/* @__PURE__ */ jsx65("div", { className: "flex-row-2 justify-center w-full py-1", children: /* @__PURE__ */ jsx65(
|
|
15129
15245
|
"span",
|
|
@@ -15138,13 +15254,22 @@ var DateTimePickerDialog = ({
|
|
|
15138
15254
|
{
|
|
15139
15255
|
...pickerProps,
|
|
15140
15256
|
mode,
|
|
15141
|
-
value:
|
|
15142
|
-
onValueChange:
|
|
15143
|
-
onEditComplete:
|
|
15257
|
+
value: pickerState,
|
|
15258
|
+
onValueChange: setPickerState,
|
|
15259
|
+
onEditComplete: setPickerState,
|
|
15260
|
+
start,
|
|
15261
|
+
end,
|
|
15262
|
+
weekStart,
|
|
15263
|
+
markToday,
|
|
15264
|
+
is24HourFormat,
|
|
15265
|
+
minuteIncrement,
|
|
15266
|
+
secondIncrement,
|
|
15267
|
+
millisecondIncrement,
|
|
15268
|
+
precision
|
|
15144
15269
|
}
|
|
15145
15270
|
),
|
|
15146
15271
|
/* @__PURE__ */ jsxs35("div", { className: "flex-row-2 justify-end", children: [
|
|
15147
|
-
/* @__PURE__ */ jsx65(Visibility, { isVisible: allowRemove && !!
|
|
15272
|
+
/* @__PURE__ */ jsx65(Visibility, { isVisible: allowRemove && !!state, children: /* @__PURE__ */ jsx65(
|
|
15148
15273
|
Button,
|
|
15149
15274
|
{
|
|
15150
15275
|
size: "md",
|
|
@@ -15157,14 +15282,14 @@ var DateTimePickerDialog = ({
|
|
|
15157
15282
|
children: translation("clear")
|
|
15158
15283
|
}
|
|
15159
15284
|
) }),
|
|
15160
|
-
/* @__PURE__ */ jsx65(Visibility, { isVisible: !
|
|
15285
|
+
/* @__PURE__ */ jsx65(Visibility, { isVisible: !state, children: /* @__PURE__ */ jsx65(
|
|
15161
15286
|
Button,
|
|
15162
15287
|
{
|
|
15163
15288
|
size: "md",
|
|
15164
15289
|
color: "neutral",
|
|
15165
15290
|
onClick: () => {
|
|
15166
|
-
setState(
|
|
15167
|
-
onEditComplete?.(
|
|
15291
|
+
setState(state);
|
|
15292
|
+
onEditComplete?.(state);
|
|
15168
15293
|
},
|
|
15169
15294
|
className: "min-w-26",
|
|
15170
15295
|
children: translation("cancel")
|
|
@@ -15175,7 +15300,7 @@ var DateTimePickerDialog = ({
|
|
|
15175
15300
|
{
|
|
15176
15301
|
size: "md",
|
|
15177
15302
|
onClick: () => {
|
|
15178
|
-
onEditComplete?.(
|
|
15303
|
+
onEditComplete?.(pickerState);
|
|
15179
15304
|
},
|
|
15180
15305
|
className: "min-w-26",
|
|
15181
15306
|
children: translation("done")
|
|
@@ -15186,7 +15311,7 @@ var DateTimePickerDialog = ({
|
|
|
15186
15311
|
};
|
|
15187
15312
|
|
|
15188
15313
|
// src/hooks/focus/useFocusGuards.ts
|
|
15189
|
-
import { useEffect as
|
|
15314
|
+
import { useEffect as useEffect32 } from "react";
|
|
15190
15315
|
var selectorName = "data-hw-focus-guard";
|
|
15191
15316
|
function FocusGuard() {
|
|
15192
15317
|
const element = document.createElement("div");
|
|
@@ -15224,7 +15349,7 @@ var FocusGuardsService = class _FocusGuardsService {
|
|
|
15224
15349
|
}
|
|
15225
15350
|
};
|
|
15226
15351
|
var useFocusGuards = () => {
|
|
15227
|
-
|
|
15352
|
+
useEffect32(() => {
|
|
15228
15353
|
FocusGuardsService.getInstance().add();
|
|
15229
15354
|
return () => {
|
|
15230
15355
|
FocusGuardsService.getInstance().remove();
|
|
@@ -15233,10 +15358,10 @@ var useFocusGuards = () => {
|
|
|
15233
15358
|
};
|
|
15234
15359
|
|
|
15235
15360
|
// src/hooks/focus/useFocusOnceVisible.ts
|
|
15236
|
-
import React6, { useEffect as
|
|
15361
|
+
import React6, { useEffect as useEffect33 } from "react";
|
|
15237
15362
|
var useFocusOnceVisible = (ref, disable = false) => {
|
|
15238
15363
|
const [hasUsedFocus, setHasUsedFocus] = React6.useState(false);
|
|
15239
|
-
|
|
15364
|
+
useEffect33(() => {
|
|
15240
15365
|
if (disable || hasUsedFocus) {
|
|
15241
15366
|
return;
|
|
15242
15367
|
}
|
|
@@ -15256,11 +15381,11 @@ var useFocusOnceVisible = (ref, disable = false) => {
|
|
|
15256
15381
|
};
|
|
15257
15382
|
|
|
15258
15383
|
// src/hooks/focus/useIsMounted.ts
|
|
15259
|
-
import { useEffect as
|
|
15384
|
+
import { useEffect as useEffect34, useLayoutEffect as useLayoutEffect7, useState as useState29 } from "react";
|
|
15260
15385
|
var isClient = typeof window !== "undefined" && typeof document !== "undefined";
|
|
15261
|
-
var useIsomorphicEffect = isClient ? useLayoutEffect7 :
|
|
15386
|
+
var useIsomorphicEffect = isClient ? useLayoutEffect7 : useEffect34;
|
|
15262
15387
|
var useIsMounted = () => {
|
|
15263
|
-
const [isMounted, setIsMounted] =
|
|
15388
|
+
const [isMounted, setIsMounted] = useState29(false);
|
|
15264
15389
|
useIsomorphicEffect(() => {
|
|
15265
15390
|
setIsMounted(true);
|
|
15266
15391
|
return () => {
|
|
@@ -15271,10 +15396,10 @@ var useIsMounted = () => {
|
|
|
15271
15396
|
};
|
|
15272
15397
|
|
|
15273
15398
|
// src/hooks/useHandleRefs.ts
|
|
15274
|
-
import { useEffect as
|
|
15399
|
+
import { useEffect as useEffect35, useRef as useRef29 } from "react";
|
|
15275
15400
|
function useHandleRefs(handleRef) {
|
|
15276
15401
|
const refs = useRef29([]);
|
|
15277
|
-
|
|
15402
|
+
useEffect35(() => {
|
|
15278
15403
|
refs.current = Object.keys(handleRef?.current ?? {}).map(
|
|
15279
15404
|
() => ({ current: null })
|
|
15280
15405
|
);
|
|
@@ -15312,10 +15437,10 @@ function useLogUnstableDependencies(name, value) {
|
|
|
15312
15437
|
}
|
|
15313
15438
|
|
|
15314
15439
|
// src/hooks/useOverwritableState.ts
|
|
15315
|
-
import { useEffect as
|
|
15440
|
+
import { useEffect as useEffect36, useState as useState30 } from "react";
|
|
15316
15441
|
var useOverwritableState = (overwriteValue, onChange) => {
|
|
15317
|
-
const [state, setState] =
|
|
15318
|
-
|
|
15442
|
+
const [state, setState] = useState30(overwriteValue);
|
|
15443
|
+
useEffect36(() => {
|
|
15319
15444
|
setState(overwriteValue);
|
|
15320
15445
|
}, [overwriteValue]);
|
|
15321
15446
|
const onChangeWrapper = (action) => {
|
|
@@ -15333,7 +15458,7 @@ var useRerender = () => {
|
|
|
15333
15458
|
};
|
|
15334
15459
|
|
|
15335
15460
|
// src/hooks/useSearch.ts
|
|
15336
|
-
import { useCallback as useCallback25, useEffect as
|
|
15461
|
+
import { useCallback as useCallback25, useEffect as useEffect37, useMemo as useMemo25, useState as useState31 } from "react";
|
|
15337
15462
|
|
|
15338
15463
|
// src/utils/simpleSearch.ts
|
|
15339
15464
|
var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
|
|
@@ -15372,9 +15497,9 @@ var useSearch = ({
|
|
|
15372
15497
|
filter,
|
|
15373
15498
|
disabled = false
|
|
15374
15499
|
}) => {
|
|
15375
|
-
const [search, setSearch] =
|
|
15376
|
-
const [result, setResult] =
|
|
15377
|
-
const searchTags =
|
|
15500
|
+
const [search, setSearch] = useState31(initialSearch ?? "");
|
|
15501
|
+
const [result, setResult] = useState31(list);
|
|
15502
|
+
const searchTags = useMemo25(() => additionalSearchTags ?? [], [additionalSearchTags]);
|
|
15378
15503
|
const updateSearch = useCallback25((newSearch) => {
|
|
15379
15504
|
const usedSearch = newSearch ?? search;
|
|
15380
15505
|
if (newSearch) {
|
|
@@ -15382,24 +15507,24 @@ var useSearch = ({
|
|
|
15382
15507
|
}
|
|
15383
15508
|
setResult(MultiSubjectSearchWithMapping([usedSearch, ...searchTags], list, searchMapping));
|
|
15384
15509
|
}, [searchTags, list, search, searchMapping]);
|
|
15385
|
-
|
|
15510
|
+
useEffect37(() => {
|
|
15386
15511
|
if (isSearchInstant) {
|
|
15387
15512
|
setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping));
|
|
15388
15513
|
}
|
|
15389
15514
|
}, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags]);
|
|
15390
|
-
const filteredResult =
|
|
15515
|
+
const filteredResult = useMemo25(() => {
|
|
15391
15516
|
if (!filter) {
|
|
15392
15517
|
return result;
|
|
15393
15518
|
}
|
|
15394
15519
|
return result.filter(filter);
|
|
15395
15520
|
}, [result, filter]);
|
|
15396
|
-
const sortedAndFilteredResult =
|
|
15521
|
+
const sortedAndFilteredResult = useMemo25(() => {
|
|
15397
15522
|
if (!sortingFunction) {
|
|
15398
15523
|
return filteredResult;
|
|
15399
15524
|
}
|
|
15400
15525
|
return filteredResult.sort(sortingFunction);
|
|
15401
15526
|
}, [filteredResult, sortingFunction]);
|
|
15402
|
-
const usedResult =
|
|
15527
|
+
const usedResult = useMemo25(() => {
|
|
15403
15528
|
if (!disabled) {
|
|
15404
15529
|
return sortedAndFilteredResult;
|
|
15405
15530
|
}
|
|
@@ -15416,23 +15541,23 @@ var useSearch = ({
|
|
|
15416
15541
|
};
|
|
15417
15542
|
|
|
15418
15543
|
// src/hooks/useUpdatingDateString.ts
|
|
15419
|
-
import { useEffect as
|
|
15544
|
+
import { useEffect as useEffect38, useState as useState32 } from "react";
|
|
15420
15545
|
var useUpdatingDateString = ({ absoluteFormat = "dateTime", localeOverride, date }) => {
|
|
15421
15546
|
const { locale: contextLocale } = useLocale();
|
|
15422
15547
|
const locale = localeOverride ?? contextLocale;
|
|
15423
|
-
const [dateAndTimeStrings, setDateAndTimeStrings] =
|
|
15548
|
+
const [dateAndTimeStrings, setDateAndTimeStrings] = useState32({
|
|
15424
15549
|
compareDate: date,
|
|
15425
15550
|
absolute: DateUtils.formatAbsolute(date, locale, absoluteFormat),
|
|
15426
15551
|
relative: DateUtils.formatRelative(date, locale)
|
|
15427
15552
|
});
|
|
15428
|
-
|
|
15553
|
+
useEffect38(() => {
|
|
15429
15554
|
setDateAndTimeStrings({
|
|
15430
15555
|
compareDate: date,
|
|
15431
15556
|
absolute: DateUtils.formatAbsolute(date, locale, absoluteFormat),
|
|
15432
15557
|
relative: DateUtils.formatRelative(date, locale)
|
|
15433
15558
|
});
|
|
15434
15559
|
}, [date, absoluteFormat, locale]);
|
|
15435
|
-
|
|
15560
|
+
useEffect38(() => {
|
|
15436
15561
|
let timeoutId;
|
|
15437
15562
|
const startTimer = () => {
|
|
15438
15563
|
const now = /* @__PURE__ */ new Date();
|
|
@@ -15468,7 +15593,7 @@ var validateEmail = (email) => {
|
|
|
15468
15593
|
};
|
|
15469
15594
|
|
|
15470
15595
|
// src/hooks/useValidators.ts
|
|
15471
|
-
import { useMemo as
|
|
15596
|
+
import { useMemo as useMemo26 } from "react";
|
|
15472
15597
|
var notEmpty = (value) => {
|
|
15473
15598
|
if (!value) {
|
|
15474
15599
|
return "notEmpty";
|
|
@@ -15518,7 +15643,7 @@ var UseValidators = {
|
|
|
15518
15643
|
};
|
|
15519
15644
|
var useTranslatedValidators = () => {
|
|
15520
15645
|
const translation = useHightideTranslation();
|
|
15521
|
-
return
|
|
15646
|
+
return useMemo26(() => ({
|
|
15522
15647
|
notEmpty: (value) => {
|
|
15523
15648
|
const result = notEmpty(value);
|
|
15524
15649
|
if (result) {
|
|
@@ -15565,6 +15690,15 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15565
15690
|
pickerProps,
|
|
15566
15691
|
outsideClickCloses = true,
|
|
15567
15692
|
onDialogOpeningChange,
|
|
15693
|
+
start,
|
|
15694
|
+
end,
|
|
15695
|
+
weekStart,
|
|
15696
|
+
markToday,
|
|
15697
|
+
is24HourFormat,
|
|
15698
|
+
minuteIncrement,
|
|
15699
|
+
secondIncrement,
|
|
15700
|
+
millisecondIncrement,
|
|
15701
|
+
precision,
|
|
15568
15702
|
disabled = false,
|
|
15569
15703
|
readOnly = false,
|
|
15570
15704
|
invalid = false,
|
|
@@ -15572,19 +15706,19 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15572
15706
|
...props
|
|
15573
15707
|
}, forwardedRef) {
|
|
15574
15708
|
const translation = useHightideTranslation();
|
|
15575
|
-
const [isOpen, setIsOpen] =
|
|
15709
|
+
const [isOpen, setIsOpen] = useState33(false);
|
|
15576
15710
|
const [state, setState] = useControlledState({
|
|
15577
15711
|
value,
|
|
15578
15712
|
onValueChange,
|
|
15579
15713
|
defaultValue: initialValue
|
|
15580
15714
|
});
|
|
15581
|
-
const [dialogValue, setDialogValue] =
|
|
15582
|
-
const [stringInputState, setStringInputState] =
|
|
15583
|
-
state: state ? DateUtils.toInputString(state, mode) : "",
|
|
15715
|
+
const [dialogValue, setDialogValue] = useState33(state);
|
|
15716
|
+
const [stringInputState, setStringInputState] = useState33({
|
|
15717
|
+
state: state ? DateUtils.toInputString(state, mode, precision) : "",
|
|
15584
15718
|
date: void 0
|
|
15585
15719
|
});
|
|
15586
|
-
|
|
15587
|
-
setDialogValue(state
|
|
15720
|
+
useEffect39(() => {
|
|
15721
|
+
setDialogValue(state);
|
|
15588
15722
|
setStringInputState({
|
|
15589
15723
|
state: state ? DateUtils.toInputString(state, mode) : "",
|
|
15590
15724
|
date: void 0
|
|
@@ -15595,14 +15729,14 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15595
15729
|
setIsOpen(isOpen2);
|
|
15596
15730
|
}, [onDialogOpeningChange]);
|
|
15597
15731
|
const generatedId = useId13();
|
|
15598
|
-
const ids =
|
|
15732
|
+
const ids = useMemo27(() => ({
|
|
15599
15733
|
input: inputId ?? `date-time-input-${generatedId}`,
|
|
15600
15734
|
popup: `date-time-input-popup-${generatedId}`,
|
|
15601
15735
|
label: `date-time-input-label-${generatedId}`
|
|
15602
15736
|
}), [generatedId, inputId]);
|
|
15603
15737
|
const innerRef = useRef30(null);
|
|
15604
15738
|
useImperativeHandle11(forwardedRef, () => innerRef.current);
|
|
15605
|
-
|
|
15739
|
+
useEffect39(() => {
|
|
15606
15740
|
if (readOnly || disabled) {
|
|
15607
15741
|
changeOpenWrapper(false);
|
|
15608
15742
|
}
|
|
@@ -15621,8 +15755,9 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15621
15755
|
id: ids.input,
|
|
15622
15756
|
value: stringInputState.state,
|
|
15623
15757
|
onChange: (event) => {
|
|
15624
|
-
const date = event.target.
|
|
15625
|
-
|
|
15758
|
+
const date = new Date(event.target.value ?? "");
|
|
15759
|
+
const isValid = !isNaN(date.getTime());
|
|
15760
|
+
if (isValid) {
|
|
15626
15761
|
restartTimer(() => {
|
|
15627
15762
|
innerRef.current?.blur();
|
|
15628
15763
|
setState(date);
|
|
@@ -15633,7 +15768,7 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15633
15768
|
}
|
|
15634
15769
|
setStringInputState({
|
|
15635
15770
|
state: event.target.value,
|
|
15636
|
-
date:
|
|
15771
|
+
date: isValid ? date : void 0
|
|
15637
15772
|
});
|
|
15638
15773
|
},
|
|
15639
15774
|
onBlur: (event) => {
|
|
@@ -15709,7 +15844,16 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15709
15844
|
changeOpenWrapper(false);
|
|
15710
15845
|
},
|
|
15711
15846
|
pickerProps,
|
|
15712
|
-
mode
|
|
15847
|
+
mode,
|
|
15848
|
+
start,
|
|
15849
|
+
end,
|
|
15850
|
+
weekStart,
|
|
15851
|
+
markToday,
|
|
15852
|
+
is24HourFormat,
|
|
15853
|
+
minuteIncrement,
|
|
15854
|
+
secondIncrement,
|
|
15855
|
+
millisecondIncrement,
|
|
15856
|
+
precision
|
|
15713
15857
|
}
|
|
15714
15858
|
)
|
|
15715
15859
|
}
|
|
@@ -15718,7 +15862,7 @@ var DateTimeInput = forwardRef17(function DateTimeInput2({
|
|
|
15718
15862
|
});
|
|
15719
15863
|
|
|
15720
15864
|
// src/components/layout/table/TableFilterPopups.tsx
|
|
15721
|
-
import { useId as useId14, useMemo as
|
|
15865
|
+
import { useId as useId14, useMemo as useMemo28, useState as useState34 } from "react";
|
|
15722
15866
|
|
|
15723
15867
|
// src/components/user-interaction/select/MultiSelect.tsx
|
|
15724
15868
|
import { forwardRef as forwardRef18 } from "react";
|
|
@@ -15995,7 +16139,7 @@ var TextFilter = ({ filterValue, onFilterValueChange }) => {
|
|
|
15995
16139
|
const operator = filterValue?.operator ?? "textContains";
|
|
15996
16140
|
const parameter = filterValue?.parameter ?? {};
|
|
15997
16141
|
const id = useId14();
|
|
15998
|
-
const availableOperators =
|
|
16142
|
+
const availableOperators = useMemo28(() => [
|
|
15999
16143
|
...TableFilterOperator.text,
|
|
16000
16144
|
...TableFilterOperator.generic
|
|
16001
16145
|
], []);
|
|
@@ -16055,7 +16199,7 @@ var NumberFilter = ({ filterValue, onFilterValueChange }) => {
|
|
|
16055
16199
|
const translation = useHightideTranslation();
|
|
16056
16200
|
const operator = filterValue?.operator ?? "numberBetween";
|
|
16057
16201
|
const parameter = filterValue?.parameter ?? {};
|
|
16058
|
-
const availableOperators =
|
|
16202
|
+
const availableOperators = useMemo28(() => [
|
|
16059
16203
|
...TableFilterOperator.number,
|
|
16060
16204
|
...TableFilterOperator.generic
|
|
16061
16205
|
], []);
|
|
@@ -16146,9 +16290,9 @@ var DateFilter = ({ filterValue, onFilterValueChange }) => {
|
|
|
16146
16290
|
};
|
|
16147
16291
|
const operator = filterValue?.operator ?? "dateBetween";
|
|
16148
16292
|
const parameter = filterValue?.parameter ?? {};
|
|
16149
|
-
const [temporaryMinDateValue, setTemporaryMinDateValue] =
|
|
16150
|
-
const [temporaryMaxDateValue, setTemporaryMaxDateValue] =
|
|
16151
|
-
const availableOperators =
|
|
16293
|
+
const [temporaryMinDateValue, setTemporaryMinDateValue] = useState34(null);
|
|
16294
|
+
const [temporaryMaxDateValue, setTemporaryMaxDateValue] = useState34(null);
|
|
16295
|
+
const availableOperators = useMemo28(() => [
|
|
16152
16296
|
...TableFilterOperator.date,
|
|
16153
16297
|
...TableFilterOperator.generic
|
|
16154
16298
|
], []);
|
|
@@ -16271,9 +16415,9 @@ var DatetimeFilter = ({ filterValue, onFilterValueChange }) => {
|
|
|
16271
16415
|
};
|
|
16272
16416
|
const operator = filterValue?.operator ?? "dateTimeBetween";
|
|
16273
16417
|
const parameter = filterValue?.parameter ?? {};
|
|
16274
|
-
const [temporaryMinDateValue, setTemporaryMinDateValue] =
|
|
16275
|
-
const [temporaryMaxDateValue, setTemporaryMaxDateValue] =
|
|
16276
|
-
const availableOperators =
|
|
16418
|
+
const [temporaryMinDateValue, setTemporaryMinDateValue] = useState34(null);
|
|
16419
|
+
const [temporaryMaxDateValue, setTemporaryMaxDateValue] = useState34(null);
|
|
16420
|
+
const availableOperators = useMemo28(() => [
|
|
16277
16421
|
...TableFilterOperator.dateTime,
|
|
16278
16422
|
...TableFilterOperator.generic
|
|
16279
16423
|
], []);
|
|
@@ -16390,7 +16534,7 @@ var DatetimeFilter = ({ filterValue, onFilterValueChange }) => {
|
|
|
16390
16534
|
};
|
|
16391
16535
|
var BooleanFilter = ({ filterValue, onFilterValueChange }) => {
|
|
16392
16536
|
const operator = filterValue?.operator ?? "booleanIsTrue";
|
|
16393
|
-
const availableOperators =
|
|
16537
|
+
const availableOperators = useMemo28(() => [
|
|
16394
16538
|
...TableFilterOperator.boolean,
|
|
16395
16539
|
...TableFilterOperator.generic
|
|
16396
16540
|
], []);
|
|
@@ -16414,11 +16558,11 @@ var TagsFilter = ({ columnId, filterValue, onFilterValueChange }) => {
|
|
|
16414
16558
|
const { table } = useTableStateWithoutSizingContext();
|
|
16415
16559
|
const operator = filterValue?.operator ?? "tagsContains";
|
|
16416
16560
|
const parameter = filterValue?.parameter ?? {};
|
|
16417
|
-
const availableOperators =
|
|
16561
|
+
const availableOperators = useMemo28(() => [
|
|
16418
16562
|
...TableFilterOperator.multiTags,
|
|
16419
16563
|
...TableFilterOperator.generic
|
|
16420
16564
|
], []);
|
|
16421
|
-
const availableTags =
|
|
16565
|
+
const availableTags = useMemo28(() => {
|
|
16422
16566
|
const column = table.getColumn(columnId);
|
|
16423
16567
|
if (!column) return [];
|
|
16424
16568
|
return column.columnDef.meta?.filterData?.tags ?? [];
|
|
@@ -16465,11 +16609,11 @@ var TagsSingleFilter = ({ columnId, filterValue, onFilterValueChange }) => {
|
|
|
16465
16609
|
const { table } = useTableStateWithoutSizingContext();
|
|
16466
16610
|
const operator = filterValue?.operator ?? "tagsSingleContains";
|
|
16467
16611
|
const parameter = filterValue?.parameter ?? {};
|
|
16468
|
-
const availableOperators =
|
|
16612
|
+
const availableOperators = useMemo28(() => [
|
|
16469
16613
|
...TableFilterOperator.singleTag,
|
|
16470
16614
|
...TableFilterOperator.generic
|
|
16471
16615
|
], []);
|
|
16472
|
-
const availableTags =
|
|
16616
|
+
const availableTags = useMemo28(() => {
|
|
16473
16617
|
const column = table.getColumn(columnId);
|
|
16474
16618
|
if (!column) return [];
|
|
16475
16619
|
return column.columnDef.meta?.filterData?.tags ?? [];
|
|
@@ -16528,7 +16672,7 @@ var TagsSingleFilter = ({ columnId, filterValue, onFilterValueChange }) => {
|
|
|
16528
16672
|
};
|
|
16529
16673
|
var GenericFilter = ({ filterValue, onFilterValueChange }) => {
|
|
16530
16674
|
const operator = filterValue?.operator ?? "notUndefined";
|
|
16531
|
-
const availableOperators =
|
|
16675
|
+
const availableOperators = useMemo28(() => [
|
|
16532
16676
|
...TableFilterOperator.generic
|
|
16533
16677
|
], []);
|
|
16534
16678
|
return /* @__PURE__ */ jsx69("div", { className: "flex-col-2 gap-2", children: /* @__PURE__ */ jsx69(
|
|
@@ -16577,18 +16721,18 @@ var TableFilterButton = ({
|
|
|
16577
16721
|
}) => {
|
|
16578
16722
|
const translation = useHightideTranslation();
|
|
16579
16723
|
const columnFilterValue = column.getFilterValue();
|
|
16580
|
-
const [filterValue, setFilterValue] =
|
|
16724
|
+
const [filterValue, setFilterValue] = useState35(columnFilterValue);
|
|
16581
16725
|
const hasFilter = !!filterValue;
|
|
16582
16726
|
const anchorRef = useRef31(null);
|
|
16583
16727
|
const containerRef = useRef31(null);
|
|
16584
|
-
const [isOpen, setIsOpen] =
|
|
16728
|
+
const [isOpen, setIsOpen] = useState35(false);
|
|
16585
16729
|
const id = useId15();
|
|
16586
|
-
const ids =
|
|
16730
|
+
const ids = useMemo29(() => ({
|
|
16587
16731
|
button: `table-filter-button-${id}`,
|
|
16588
16732
|
popup: `table-filter-popup-${id}`,
|
|
16589
16733
|
label: `table-filter-label-${id}`
|
|
16590
16734
|
}), [id]);
|
|
16591
|
-
|
|
16735
|
+
useEffect40(() => {
|
|
16592
16736
|
setFilterValue(columnFilterValue);
|
|
16593
16737
|
}, [columnFilterValue]);
|
|
16594
16738
|
const isTagsFilter = filterType === "multiTags" || filterType === "singleTag";
|
|
@@ -16663,7 +16807,7 @@ var TableFilterButton = ({
|
|
|
16663
16807
|
};
|
|
16664
16808
|
|
|
16665
16809
|
// src/components/layout/table/TableHeader.tsx
|
|
16666
|
-
import { useCallback as useCallback28, useEffect as
|
|
16810
|
+
import { useCallback as useCallback28, useEffect as useEffect41 } from "react";
|
|
16667
16811
|
import { Fragment as Fragment9, jsx as jsx71, jsxs as jsxs41 } from "react/jsx-runtime";
|
|
16668
16812
|
var TableHeader = ({ isSticky = false }) => {
|
|
16669
16813
|
const { table } = useTableStateWithoutSizingContext();
|
|
@@ -16701,7 +16845,7 @@ var TableHeader = ({ isSticky = false }) => {
|
|
|
16701
16845
|
startSize: null
|
|
16702
16846
|
});
|
|
16703
16847
|
}, [table]);
|
|
16704
|
-
|
|
16848
|
+
useEffect41(() => {
|
|
16705
16849
|
window.addEventListener("pointermove", handleResizeMove);
|
|
16706
16850
|
window.addEventListener("pointerup", handleResizeEnd);
|
|
16707
16851
|
return () => {
|
|
@@ -16870,7 +17014,7 @@ var TablePagination = ({ allowChangingPageSize = true, pageSizeOptions, ...props
|
|
|
16870
17014
|
};
|
|
16871
17015
|
|
|
16872
17016
|
// src/components/layout/table/TableWithSelectionProvider.tsx
|
|
16873
|
-
import { useCallback as useCallback29, useMemo as
|
|
17017
|
+
import { useCallback as useCallback29, useMemo as useMemo30 } from "react";
|
|
16874
17018
|
import { jsx as jsx74 } from "react/jsx-runtime";
|
|
16875
17019
|
var TableWithSelectionProvider = ({
|
|
16876
17020
|
children,
|
|
@@ -16883,7 +17027,7 @@ var TableWithSelectionProvider = ({
|
|
|
16883
17027
|
...props
|
|
16884
17028
|
}) => {
|
|
16885
17029
|
const translation = useHightideTranslation();
|
|
16886
|
-
const columnDef =
|
|
17030
|
+
const columnDef = useMemo30(() => [
|
|
16887
17031
|
{
|
|
16888
17032
|
id: selectionRowId,
|
|
16889
17033
|
header: ({ table }) => {
|
|
@@ -16986,7 +17130,7 @@ var TableWithSelection = ({
|
|
|
16986
17130
|
};
|
|
16987
17131
|
|
|
16988
17132
|
// src/components/layout/table/TableColumn.tsx
|
|
16989
|
-
import { memo as memo2, useEffect as
|
|
17133
|
+
import { memo as memo2, useEffect as useEffect42, useMemo as useMemo31, useState as useState36 } from "react";
|
|
16990
17134
|
import { jsx as jsx76 } from "react/jsx-runtime";
|
|
16991
17135
|
var TableColumnComponent = ({
|
|
16992
17136
|
filterType,
|
|
@@ -16998,11 +17142,11 @@ var TableColumnComponent = ({
|
|
|
16998
17142
|
"TableColumn: For filterType === multiTags or singleTag, filterData.tags must be set.",
|
|
16999
17143
|
(filterType === "multiTags" || filterType === "singleTag") && props.meta?.filterData?.tags === void 0
|
|
17000
17144
|
);
|
|
17001
|
-
const [column] =
|
|
17145
|
+
const [column] = useState36({
|
|
17002
17146
|
...props,
|
|
17003
17147
|
filterFn
|
|
17004
17148
|
});
|
|
17005
|
-
|
|
17149
|
+
useEffect42(() => {
|
|
17006
17150
|
const unsubscribe = registerColumn(column);
|
|
17007
17151
|
return () => {
|
|
17008
17152
|
unsubscribe();
|
|
@@ -17017,12 +17161,12 @@ var TableColumnFactory = () => memo2(
|
|
|
17017
17161
|
}
|
|
17018
17162
|
);
|
|
17019
17163
|
var TableColumn = (props) => {
|
|
17020
|
-
const TableColumnComponent2 =
|
|
17164
|
+
const TableColumnComponent2 = useMemo31(() => TableColumnFactory(), []);
|
|
17021
17165
|
return /* @__PURE__ */ jsx76(TableColumnComponent2, { ...props });
|
|
17022
17166
|
};
|
|
17023
17167
|
|
|
17024
17168
|
// src/components/layout/table/TableColumnSwitcher.tsx
|
|
17025
|
-
import { useMemo as
|
|
17169
|
+
import { useMemo as useMemo32, useRef as useRef32, useId as useId16 } from "react";
|
|
17026
17170
|
import { ChevronUp as ChevronUp3, ChevronDown as ChevronDown5, ChevronLeft as ChevronLeft5, ChevronRight as ChevronRight5, Eye, EyeOff, Pin, PinOff, ArrowLeftRightIcon } from "lucide-react";
|
|
17027
17171
|
import { Fragment as Fragment10, jsx as jsx77, jsxs as jsxs45 } from "react/jsx-runtime";
|
|
17028
17172
|
var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
@@ -17030,14 +17174,14 @@ var TableColumnSwitcherPopUp = ({ ...props }) => {
|
|
|
17030
17174
|
const translation = useHightideTranslation();
|
|
17031
17175
|
const containerRef = useRef32(null);
|
|
17032
17176
|
const generatedId = useId16();
|
|
17033
|
-
const ids =
|
|
17177
|
+
const ids = useMemo32(() => ({
|
|
17034
17178
|
popup: props.id ?? `table-column-picker-popup-${generatedId}`,
|
|
17035
17179
|
label: `table-column-picker-label-${generatedId}`
|
|
17036
17180
|
}), [generatedId, props.id]);
|
|
17037
17181
|
const tableState = table.getState();
|
|
17038
17182
|
const columnOrder = tableState.columnOrder;
|
|
17039
17183
|
const columnPinning = tableState.columnPinning;
|
|
17040
|
-
const columns =
|
|
17184
|
+
const columns = useMemo32(() => {
|
|
17041
17185
|
const allColumns = table.getAllColumns();
|
|
17042
17186
|
const leftPinned = [];
|
|
17043
17187
|
const unpinned = [];
|
|
@@ -17295,7 +17439,7 @@ var TableColumnSwitcher = ({ buttonProps, ...props }) => {
|
|
|
17295
17439
|
};
|
|
17296
17440
|
|
|
17297
17441
|
// src/components/user-interaction/CopyToClipboardWrapper.tsx
|
|
17298
|
-
import { useState as
|
|
17442
|
+
import { useState as useState37 } from "react";
|
|
17299
17443
|
import { clsx as clsx28 } from "clsx";
|
|
17300
17444
|
|
|
17301
17445
|
// src/utils/writeToClipboard.ts
|
|
@@ -17318,7 +17462,7 @@ var CopyToClipboardWrapper = ({
|
|
|
17318
17462
|
...props
|
|
17319
17463
|
}) => {
|
|
17320
17464
|
const translation = useHightideTranslation();
|
|
17321
|
-
const [isShowingConfirmation, setIsShowingConfirmation] =
|
|
17465
|
+
const [isShowingConfirmation, setIsShowingConfirmation] = useState37(false);
|
|
17322
17466
|
return /* @__PURE__ */ jsxs46(
|
|
17323
17467
|
TooltipRoot,
|
|
17324
17468
|
{
|
|
@@ -17367,7 +17511,7 @@ var CopyToClipboardWrapper = ({
|
|
|
17367
17511
|
};
|
|
17368
17512
|
|
|
17369
17513
|
// src/components/user-interaction/Menu.tsx
|
|
17370
|
-
import { useCallback as useCallback30, useRef as useRef33, useState as
|
|
17514
|
+
import { useCallback as useCallback30, useRef as useRef33, useState as useState38 } from "react";
|
|
17371
17515
|
import clsx29 from "clsx";
|
|
17372
17516
|
import { Fragment as Fragment11, jsx as jsx79, jsxs as jsxs47 } from "react/jsx-runtime";
|
|
17373
17517
|
var MenuItem = ({
|
|
@@ -17394,7 +17538,7 @@ var Menu = ({
|
|
|
17394
17538
|
...props
|
|
17395
17539
|
}) => {
|
|
17396
17540
|
const triggerRef = useRef33(null);
|
|
17397
|
-
const [isOpen, setIsOpen] =
|
|
17541
|
+
const [isOpen, setIsOpen] = useState38(false);
|
|
17398
17542
|
const bag = {
|
|
17399
17543
|
isOpen,
|
|
17400
17544
|
close: () => setIsOpen(false),
|
|
@@ -17424,7 +17568,7 @@ var Menu = ({
|
|
|
17424
17568
|
};
|
|
17425
17569
|
|
|
17426
17570
|
// src/components/user-interaction/ScrollPicker.tsx
|
|
17427
|
-
import { useCallback as useCallback31, useEffect as
|
|
17571
|
+
import { useCallback as useCallback31, useEffect as useEffect43, useState as useState39 } from "react";
|
|
17428
17572
|
import clsx30 from "clsx";
|
|
17429
17573
|
import { jsx as jsx80, jsxs as jsxs48 } from "react/jsx-runtime";
|
|
17430
17574
|
var up = 1;
|
|
@@ -17445,7 +17589,7 @@ var ScrollPicker = ({
|
|
|
17445
17589
|
transition,
|
|
17446
17590
|
items,
|
|
17447
17591
|
lastTimeStamp
|
|
17448
|
-
}, setAnimation] =
|
|
17592
|
+
}, setAnimation] = useState39({
|
|
17449
17593
|
targetIndex: selectedIndex,
|
|
17450
17594
|
currentIndex: disabled ? selectedIndex : 0,
|
|
17451
17595
|
velocity: 0,
|
|
@@ -17544,7 +17688,7 @@ var ScrollPicker = ({
|
|
|
17544
17688
|
};
|
|
17545
17689
|
});
|
|
17546
17690
|
}, [disabled, getDirection, onChange]);
|
|
17547
|
-
|
|
17691
|
+
useEffect43(() => {
|
|
17548
17692
|
requestAnimationFrame((timestamp) => animate(timestamp, lastTimeStamp));
|
|
17549
17693
|
});
|
|
17550
17694
|
const opacity = (transition2, index, itemsCount) => {
|
|
@@ -17808,7 +17952,7 @@ var TimeDisplay = ({
|
|
|
17808
17952
|
|
|
17809
17953
|
// src/components/user-interaction/input/InsideLabelInput.tsx
|
|
17810
17954
|
import { useId as useId18 } from "react";
|
|
17811
|
-
import { forwardRef as forwardRef20, useState as
|
|
17955
|
+
import { forwardRef as forwardRef20, useState as useState40 } from "react";
|
|
17812
17956
|
import clsx32 from "clsx";
|
|
17813
17957
|
import { jsx as jsx84, jsxs as jsxs50 } from "react/jsx-runtime";
|
|
17814
17958
|
var InsideLabelInput = forwardRef20(function InsideLabelInput2({
|
|
@@ -17824,7 +17968,7 @@ var InsideLabelInput = forwardRef20(function InsideLabelInput2({
|
|
|
17824
17968
|
onValueChange,
|
|
17825
17969
|
defaultValue: initialValue
|
|
17826
17970
|
});
|
|
17827
|
-
const [isFocused, setIsFocused] =
|
|
17971
|
+
const [isFocused, setIsFocused] = useState40(false);
|
|
17828
17972
|
const generatedId = useId18();
|
|
17829
17973
|
const id = customId ?? generatedId;
|
|
17830
17974
|
return /* @__PURE__ */ jsxs50("div", { className: clsx32("relative"), children: [
|
|
@@ -17914,7 +18058,7 @@ var SearchBar = ({
|
|
|
17914
18058
|
};
|
|
17915
18059
|
|
|
17916
18060
|
// src/components/user-interaction/input/ToggleableInput.tsx
|
|
17917
|
-
import { forwardRef as forwardRef21, useEffect as
|
|
18061
|
+
import { forwardRef as forwardRef21, useEffect as useEffect44, useImperativeHandle as useImperativeHandle12, useRef as useRef34, useState as useState41 } from "react";
|
|
17918
18062
|
import { Pencil } from "lucide-react";
|
|
17919
18063
|
import clsx34 from "clsx";
|
|
17920
18064
|
import { jsx as jsx86, jsxs as jsxs52 } from "react/jsx-runtime";
|
|
@@ -17931,10 +18075,10 @@ var ToggleableInput = forwardRef21(function ToggleableInput2({
|
|
|
17931
18075
|
onValueChange,
|
|
17932
18076
|
defaultValue: initialValue
|
|
17933
18077
|
});
|
|
17934
|
-
const [isEditing, setIsEditing] =
|
|
18078
|
+
const [isEditing, setIsEditing] = useState41(initialState !== "display");
|
|
17935
18079
|
const innerRef = useRef34(null);
|
|
17936
18080
|
useImperativeHandle12(forwardedRef, () => innerRef.current);
|
|
17937
|
-
|
|
18081
|
+
useEffect44(() => {
|
|
17938
18082
|
if (isEditing) {
|
|
17939
18083
|
innerRef.current?.focus();
|
|
17940
18084
|
}
|
|
@@ -18144,7 +18288,7 @@ var DateProperty = ({
|
|
|
18144
18288
|
import { List } from "lucide-react";
|
|
18145
18289
|
|
|
18146
18290
|
// src/components/user-interaction/select/MultiSelectChipDisplay.tsx
|
|
18147
|
-
import { forwardRef as forwardRef22, useEffect as
|
|
18291
|
+
import { forwardRef as forwardRef22, useEffect as useEffect45, useImperativeHandle as useImperativeHandle13, useRef as useRef35 } from "react";
|
|
18148
18292
|
import { XIcon as XIcon2, Plus } from "lucide-react";
|
|
18149
18293
|
import { jsx as jsx90, jsxs as jsxs55 } from "react/jsx-runtime";
|
|
18150
18294
|
var MultiSelectChipDisplayButton = forwardRef22(function MultiSelectChipDisplayButton2({
|
|
@@ -18154,7 +18298,7 @@ var MultiSelectChipDisplayButton = forwardRef22(function MultiSelectChipDisplayB
|
|
|
18154
18298
|
const translation = useHightideTranslation();
|
|
18155
18299
|
const { state, trigger, item, ids, setIds } = useSelectContext();
|
|
18156
18300
|
const { register, unregister, toggleOpen } = trigger;
|
|
18157
|
-
|
|
18301
|
+
useEffect45(() => {
|
|
18158
18302
|
if (id) {
|
|
18159
18303
|
setIds((prev) => ({
|
|
18160
18304
|
...prev,
|
|
@@ -18164,7 +18308,7 @@ var MultiSelectChipDisplayButton = forwardRef22(function MultiSelectChipDisplayB
|
|
|
18164
18308
|
}, [id, setIds]);
|
|
18165
18309
|
const innerRef = useRef35(null);
|
|
18166
18310
|
useImperativeHandle13(ref, () => innerRef.current);
|
|
18167
|
-
|
|
18311
|
+
useEffect45(() => {
|
|
18168
18312
|
register(innerRef);
|
|
18169
18313
|
return () => unregister();
|
|
18170
18314
|
}, [register, unregister]);
|
|
@@ -18450,16 +18594,16 @@ var TextProperty = ({
|
|
|
18450
18594
|
};
|
|
18451
18595
|
|
|
18452
18596
|
// src/components/utils/Transition.tsx
|
|
18453
|
-
import { useEffect as
|
|
18597
|
+
import { useEffect as useEffect46, useState as useState42 } from "react";
|
|
18454
18598
|
function Transition({
|
|
18455
18599
|
children,
|
|
18456
18600
|
show,
|
|
18457
18601
|
includeAnimation = true
|
|
18458
18602
|
}) {
|
|
18459
|
-
const [isOpen, setIsOpen] =
|
|
18460
|
-
const [isTransitioning, setIsTransitioning] =
|
|
18603
|
+
const [isOpen, setIsOpen] = useState42(show);
|
|
18604
|
+
const [isTransitioning, setIsTransitioning] = useState42(!isOpen);
|
|
18461
18605
|
const isUsingReducedMotion = typeof window !== "undefined" && typeof window.matchMedia === "function" ? window.matchMedia("(prefers-reduced-motion: reduce)").matches : true;
|
|
18462
|
-
|
|
18606
|
+
useEffect46(() => {
|
|
18463
18607
|
setIsOpen(show);
|
|
18464
18608
|
setIsTransitioning(true);
|
|
18465
18609
|
}, [show]);
|