@sustaina/shared-ui 1.41.0 → 1.42.0
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 +24 -10
- package/dist/index.d.ts +24 -10
- package/dist/index.js +767 -564
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +608 -406
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as
|
|
2
|
-
import
|
|
1
|
+
import * as React27 from 'react';
|
|
2
|
+
import React27__default, { forwardRef, useRef, useMemo, useCallback, useState, isValidElement, useEffect, useLayoutEffect, createElement } from 'react';
|
|
3
3
|
import { useRouter } from '@tanstack/react-router';
|
|
4
4
|
import { create } from 'zustand';
|
|
5
5
|
import clsx2, { clsx } from 'clsx';
|
|
@@ -18,6 +18,7 @@ import * as PopoverPrimitive from '@radix-ui/react-popover';
|
|
|
18
18
|
import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
|
|
19
19
|
import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
|
|
20
20
|
import { reSplitAlphaNumeric, useReactTable, getCoreRowModel, getGroupedRowModel, getExpandedRowModel, getSortedRowModel, getFilteredRowModel, flexRender } from '@tanstack/react-table';
|
|
21
|
+
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
21
22
|
import * as SheetPrimitive from '@radix-ui/react-dialog';
|
|
22
23
|
import { initReactI18next, useTranslation, I18nextProvider } from 'react-i18next';
|
|
23
24
|
import i18n from 'i18next';
|
|
@@ -60,7 +61,6 @@ import { z } from 'zod';
|
|
|
60
61
|
import Cropper from 'react-easy-crop';
|
|
61
62
|
import { NumericFormat } from 'react-number-format';
|
|
62
63
|
import { Command as Command$1 } from 'cmdk';
|
|
63
|
-
import { useVirtualizer } from '@tanstack/react-virtual';
|
|
64
64
|
|
|
65
65
|
var __defProp = Object.defineProperty;
|
|
66
66
|
var __export = (target, all) => {
|
|
@@ -2542,7 +2542,7 @@ var OPERATOR_LABEL = {
|
|
|
2542
2542
|
containsAll: "Contains all of"
|
|
2543
2543
|
};
|
|
2544
2544
|
var OperatorSelect = ({ row, operators, onChangeOperator, error }) => {
|
|
2545
|
-
|
|
2545
|
+
React27__default.useEffect(() => {
|
|
2546
2546
|
if (!operators.length) return;
|
|
2547
2547
|
if (!operators.includes(row.operator)) {
|
|
2548
2548
|
onChangeOperator(operators[0]);
|
|
@@ -2578,15 +2578,15 @@ function Label2({ className, ...props }) {
|
|
|
2578
2578
|
);
|
|
2579
2579
|
}
|
|
2580
2580
|
var Form = FormProvider;
|
|
2581
|
-
var FormFieldContext =
|
|
2581
|
+
var FormFieldContext = React27.createContext({});
|
|
2582
2582
|
var FormField = ({
|
|
2583
2583
|
...props
|
|
2584
2584
|
}) => {
|
|
2585
2585
|
return /* @__PURE__ */ jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsx(Controller, { ...props }) });
|
|
2586
2586
|
};
|
|
2587
2587
|
var useFormField = () => {
|
|
2588
|
-
const fieldContext =
|
|
2589
|
-
const itemContext =
|
|
2588
|
+
const fieldContext = React27.useContext(FormFieldContext);
|
|
2589
|
+
const itemContext = React27.useContext(FormItemContext);
|
|
2590
2590
|
const { getFieldState } = useFormContext();
|
|
2591
2591
|
const formState = useFormState({ name: fieldContext.name });
|
|
2592
2592
|
const fieldState = getFieldState(fieldContext.name, formState);
|
|
@@ -2603,9 +2603,9 @@ var useFormField = () => {
|
|
|
2603
2603
|
...fieldState
|
|
2604
2604
|
};
|
|
2605
2605
|
};
|
|
2606
|
-
var FormItemContext =
|
|
2606
|
+
var FormItemContext = React27.createContext({});
|
|
2607
2607
|
function FormItem({ className, ...props }) {
|
|
2608
|
-
const id =
|
|
2608
|
+
const id = React27.useId();
|
|
2609
2609
|
return /* @__PURE__ */ jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsx("div", { "data-slot": "form-item", className: cn("grid gap-2", className), ...props }) });
|
|
2610
2610
|
}
|
|
2611
2611
|
function FormLabel({ className, ...props }) {
|
|
@@ -2709,7 +2709,7 @@ var Spinner = ({ className, variant, size = "default", ...props }) => /* @__PURE
|
|
|
2709
2709
|
]
|
|
2710
2710
|
}
|
|
2711
2711
|
);
|
|
2712
|
-
var InputPrimitive =
|
|
2712
|
+
var InputPrimitive = React27.forwardRef(
|
|
2713
2713
|
({ className, type = "text", ...props }, ref) => {
|
|
2714
2714
|
return /* @__PURE__ */ jsx(
|
|
2715
2715
|
"input",
|
|
@@ -2748,7 +2748,7 @@ var inputVariants = cva("", {
|
|
|
2748
2748
|
appearance: "filled"
|
|
2749
2749
|
}
|
|
2750
2750
|
});
|
|
2751
|
-
var Input =
|
|
2751
|
+
var Input = React27.forwardRef(
|
|
2752
2752
|
({
|
|
2753
2753
|
className,
|
|
2754
2754
|
wrapperClassName,
|
|
@@ -2781,8 +2781,8 @@ var Input = React26.forwardRef(
|
|
|
2781
2781
|
onChange: onChangeProp
|
|
2782
2782
|
} = rest;
|
|
2783
2783
|
const ariaInvalid = invalid ?? ariaInvalidProp;
|
|
2784
|
-
const messageId =
|
|
2785
|
-
const handleChange =
|
|
2784
|
+
const messageId = React27.useId();
|
|
2785
|
+
const handleChange = React27.useCallback(
|
|
2786
2786
|
(event) => {
|
|
2787
2787
|
onChangeProp?.(event);
|
|
2788
2788
|
onValueChange?.(event.target.value);
|
|
@@ -3170,20 +3170,20 @@ function DatePicker({
|
|
|
3170
3170
|
className,
|
|
3171
3171
|
...props
|
|
3172
3172
|
}) {
|
|
3173
|
-
const today =
|
|
3174
|
-
const [displayed, setDisplayed] =
|
|
3173
|
+
const today = React27.useMemo(() => startOfDay(/* @__PURE__ */ new Date()), []);
|
|
3174
|
+
const [displayed, setDisplayed] = React27.useState(
|
|
3175
3175
|
selectedDate ? new Date(selectedDate) : /* @__PURE__ */ new Date()
|
|
3176
3176
|
);
|
|
3177
3177
|
minDate = clampToDay(minDate);
|
|
3178
3178
|
maxDate = clampToDay(maxDate);
|
|
3179
|
-
const disabledSet =
|
|
3179
|
+
const disabledSet = React27.useMemo(() => {
|
|
3180
3180
|
const s = /* @__PURE__ */ new Set();
|
|
3181
3181
|
disabledDates?.forEach((d) => s.add(startOfDay(d).toISOString()));
|
|
3182
3182
|
return s;
|
|
3183
3183
|
}, [disabledDates]);
|
|
3184
3184
|
const displayYear = displayed.getFullYear();
|
|
3185
3185
|
const displayMonth = displayed.getMonth();
|
|
3186
|
-
const weekdays =
|
|
3186
|
+
const weekdays = React27.useMemo(() => {
|
|
3187
3187
|
const labels = [];
|
|
3188
3188
|
for (let i = 0; i < 7; i++) {
|
|
3189
3189
|
const idx = i;
|
|
@@ -3192,7 +3192,7 @@ function DatePicker({
|
|
|
3192
3192
|
}
|
|
3193
3193
|
return labels;
|
|
3194
3194
|
}, [callbacks]);
|
|
3195
|
-
const grid =
|
|
3195
|
+
const grid = React27.useMemo(() => buildCalendarGrid(displayed, true), [displayed]);
|
|
3196
3196
|
const isDateDisabled = (date) => {
|
|
3197
3197
|
const d = startOfDay(date);
|
|
3198
3198
|
if (minDate && d < minDate) return true;
|
|
@@ -3202,7 +3202,7 @@ function DatePicker({
|
|
|
3202
3202
|
};
|
|
3203
3203
|
const minYear = minDate?.getFullYear();
|
|
3204
3204
|
const maxYear = maxDate?.getFullYear();
|
|
3205
|
-
const getMonthLabel =
|
|
3205
|
+
const getMonthLabel = React27.useCallback(
|
|
3206
3206
|
(year, monthIndex) => {
|
|
3207
3207
|
const label = callbacks?.monthLabel?.(year, monthIndex);
|
|
3208
3208
|
if (label === null || label === void 0) {
|
|
@@ -3212,7 +3212,7 @@ function DatePicker({
|
|
|
3212
3212
|
},
|
|
3213
3213
|
[callbacks]
|
|
3214
3214
|
);
|
|
3215
|
-
const getYearLabel =
|
|
3215
|
+
const getYearLabel = React27.useCallback(
|
|
3216
3216
|
(year) => {
|
|
3217
3217
|
const label = callbacks?.yearLabel?.(year);
|
|
3218
3218
|
if (label === null || label === void 0) return String(year);
|
|
@@ -3220,7 +3220,7 @@ function DatePicker({
|
|
|
3220
3220
|
},
|
|
3221
3221
|
[callbacks]
|
|
3222
3222
|
);
|
|
3223
|
-
const clampMonthToBounds =
|
|
3223
|
+
const clampMonthToBounds = React27.useCallback(
|
|
3224
3224
|
(year, monthIndex) => {
|
|
3225
3225
|
let output = monthIndex;
|
|
3226
3226
|
if (typeof minYear === "number" && year === minYear && minDate) {
|
|
@@ -3235,7 +3235,7 @@ function DatePicker({
|
|
|
3235
3235
|
},
|
|
3236
3236
|
[maxDate, minDate, maxYear, minYear]
|
|
3237
3237
|
);
|
|
3238
|
-
const yearOptions =
|
|
3238
|
+
const yearOptions = React27.useMemo(() => {
|
|
3239
3239
|
const fallbackWindow = 50;
|
|
3240
3240
|
const start = typeof minYear === "number" ? minYear : displayYear - fallbackWindow;
|
|
3241
3241
|
const end = typeof maxYear === "number" ? maxYear : displayYear + fallbackWindow;
|
|
@@ -3256,7 +3256,7 @@ function DatePicker({
|
|
|
3256
3256
|
}
|
|
3257
3257
|
return years;
|
|
3258
3258
|
}, [displayYear, maxYear, minYear, selectedDate]);
|
|
3259
|
-
const monthOptions =
|
|
3259
|
+
const monthOptions = React27.useMemo(() => {
|
|
3260
3260
|
const months = Array.from({ length: 12 }, (_, monthIndex) => {
|
|
3261
3261
|
const disabled = typeof minYear === "number" && displayYear === minYear && minDate && monthIndex < minDate.getMonth() || typeof maxYear === "number" && displayYear === maxYear && maxDate && monthIndex > maxDate.getMonth();
|
|
3262
3262
|
return {
|
|
@@ -3275,7 +3275,7 @@ function DatePicker({
|
|
|
3275
3275
|
}
|
|
3276
3276
|
return months.sort((a, b) => a.value - b.value).filter((option, index, arr) => index === 0 || option.value !== arr[index - 1].value);
|
|
3277
3277
|
}, [displayMonth, displayYear, getMonthLabel, maxDate, maxYear, minDate, minYear]);
|
|
3278
|
-
const handleMonthSelect =
|
|
3278
|
+
const handleMonthSelect = React27.useCallback((nextValue) => {
|
|
3279
3279
|
const nextMonth = Number.parseInt(nextValue, 10);
|
|
3280
3280
|
if (Number.isNaN(nextMonth)) return;
|
|
3281
3281
|
setDisplayed((prev) => {
|
|
@@ -3285,7 +3285,7 @@ function DatePicker({
|
|
|
3285
3285
|
return next;
|
|
3286
3286
|
});
|
|
3287
3287
|
}, []);
|
|
3288
|
-
const handleYearSelect =
|
|
3288
|
+
const handleYearSelect = React27.useCallback(
|
|
3289
3289
|
(nextValue) => {
|
|
3290
3290
|
const nextYear = Number.parseInt(nextValue, 10);
|
|
3291
3291
|
if (Number.isNaN(nextYear)) return;
|
|
@@ -3433,14 +3433,14 @@ var DatePicker2 = ({
|
|
|
3433
3433
|
ariaLabel,
|
|
3434
3434
|
...calendarProps
|
|
3435
3435
|
}) => {
|
|
3436
|
-
const [open, setOpen] =
|
|
3437
|
-
const parser =
|
|
3438
|
-
const outputFormatter =
|
|
3439
|
-
const labelFormatter =
|
|
3436
|
+
const [open, setOpen] = React27__default.useState(false);
|
|
3437
|
+
const parser = React27__default.useMemo(() => valueParser ?? defaultValueParser, [valueParser]);
|
|
3438
|
+
const outputFormatter = React27__default.useMemo(() => valueFormatter ?? defaultValueFormatter, [valueFormatter]);
|
|
3439
|
+
const labelFormatter = React27__default.useMemo(
|
|
3440
3440
|
() => displayFormatter ?? defaultDisplayFormatter,
|
|
3441
3441
|
[displayFormatter]
|
|
3442
3442
|
);
|
|
3443
|
-
const parsedValue =
|
|
3443
|
+
const parsedValue = React27__default.useMemo(() => {
|
|
3444
3444
|
if (value === null || value === void 0) return void 0;
|
|
3445
3445
|
if (value instanceof Date) return value;
|
|
3446
3446
|
const parsed = parser(value);
|
|
@@ -3449,26 +3449,26 @@ var DatePicker2 = ({
|
|
|
3449
3449
|
const buttonLabel = parsedValue ? labelFormatter(parsedValue) : placeholder2;
|
|
3450
3450
|
const buttonAriaLabel = ariaLabel ?? (parsedValue ? `Change date, current selection ${labelFormatter(parsedValue)}` : "Open date picker");
|
|
3451
3451
|
const shouldShowClear = allowClear && !disabled && !!parsedValue;
|
|
3452
|
-
const handleClose =
|
|
3453
|
-
const emitChange =
|
|
3452
|
+
const handleClose = React27__default.useCallback(() => setOpen(false), []);
|
|
3453
|
+
const emitChange = React27__default.useCallback(
|
|
3454
3454
|
(next) => {
|
|
3455
3455
|
onChange?.(next);
|
|
3456
3456
|
onValueChange?.(next ? outputFormatter(next) : void 0);
|
|
3457
3457
|
},
|
|
3458
3458
|
[onChange, onValueChange, outputFormatter]
|
|
3459
3459
|
);
|
|
3460
|
-
const handleSelect =
|
|
3460
|
+
const handleSelect = React27__default.useCallback(
|
|
3461
3461
|
(next) => {
|
|
3462
3462
|
emitChange(next);
|
|
3463
3463
|
if (closeOnSelect && next) handleClose();
|
|
3464
3464
|
},
|
|
3465
3465
|
[closeOnSelect, emitChange, handleClose]
|
|
3466
3466
|
);
|
|
3467
|
-
const handleClear =
|
|
3467
|
+
const handleClear = React27__default.useCallback(() => {
|
|
3468
3468
|
emitChange(void 0);
|
|
3469
3469
|
handleClose();
|
|
3470
3470
|
}, [emitChange, handleClose]);
|
|
3471
|
-
const handleOpenChange =
|
|
3471
|
+
const handleOpenChange = React27__default.useCallback(
|
|
3472
3472
|
(nextOpen) => {
|
|
3473
3473
|
if (disabled && nextOpen) return;
|
|
3474
3474
|
setOpen(nextOpen);
|
|
@@ -3658,15 +3658,15 @@ function MonthCal({
|
|
|
3658
3658
|
onYearBackward,
|
|
3659
3659
|
onYearForward
|
|
3660
3660
|
}) {
|
|
3661
|
-
const today =
|
|
3661
|
+
const today = React27.useMemo(() => {
|
|
3662
3662
|
const now = /* @__PURE__ */ new Date();
|
|
3663
3663
|
now.setDate(1);
|
|
3664
3664
|
now.setHours(0, 0, 0, 0);
|
|
3665
3665
|
return now;
|
|
3666
3666
|
}, []);
|
|
3667
|
-
const selectedMonthDate =
|
|
3668
|
-
const min =
|
|
3669
|
-
const max =
|
|
3667
|
+
const selectedMonthDate = React27.useMemo(() => normalizeMonth(selectedDate), [selectedDate]);
|
|
3668
|
+
const min = React27.useMemo(() => normalizeMonth(minDate), [minDate]);
|
|
3669
|
+
const max = React27.useMemo(() => normalizeMonth(maxDate), [maxDate]);
|
|
3670
3670
|
let effectiveMin = min;
|
|
3671
3671
|
if (min && max && min > max) {
|
|
3672
3672
|
effectiveMin = max;
|
|
@@ -3675,10 +3675,10 @@ function MonthCal({
|
|
|
3675
3675
|
const minMonth = effectiveMin?.getMonth();
|
|
3676
3676
|
const maxYear = max?.getFullYear();
|
|
3677
3677
|
const maxMonth = max?.getMonth();
|
|
3678
|
-
const [menuYear, setMenuYear] =
|
|
3678
|
+
const [menuYear, setMenuYear] = React27.useState(
|
|
3679
3679
|
() => selectedMonthDate?.getFullYear() ?? today.getFullYear()
|
|
3680
3680
|
);
|
|
3681
|
-
|
|
3681
|
+
React27.useEffect(() => {
|
|
3682
3682
|
if (selectedMonthDate) {
|
|
3683
3683
|
const year = selectedMonthDate.getFullYear();
|
|
3684
3684
|
if (year !== menuYear) {
|
|
@@ -3686,7 +3686,7 @@ function MonthCal({
|
|
|
3686
3686
|
}
|
|
3687
3687
|
}
|
|
3688
3688
|
}, [selectedMonthDate, menuYear]);
|
|
3689
|
-
|
|
3689
|
+
React27.useEffect(() => {
|
|
3690
3690
|
if (typeof minYear === "number" && menuYear < minYear) {
|
|
3691
3691
|
setMenuYear(minYear);
|
|
3692
3692
|
return;
|
|
@@ -3697,7 +3697,7 @@ function MonthCal({
|
|
|
3697
3697
|
}, [minYear, maxYear, menuYear]);
|
|
3698
3698
|
const disablePrevYear = typeof minYear === "number" ? menuYear <= minYear : false;
|
|
3699
3699
|
const disableNextYear = typeof maxYear === "number" ? menuYear >= maxYear : false;
|
|
3700
|
-
const yearOptions =
|
|
3700
|
+
const yearOptions = React27.useMemo(() => {
|
|
3701
3701
|
const fallbackWindow = 50;
|
|
3702
3702
|
const start = typeof minYear === "number" ? minYear : menuYear - fallbackWindow;
|
|
3703
3703
|
const end = typeof maxYear === "number" ? maxYear : menuYear + fallbackWindow;
|
|
@@ -3711,7 +3711,7 @@ function MonthCal({
|
|
|
3711
3711
|
}
|
|
3712
3712
|
return years;
|
|
3713
3713
|
}, [maxYear, menuYear, minYear]);
|
|
3714
|
-
const formatYearLabel =
|
|
3714
|
+
const formatYearLabel = React27.useCallback(
|
|
3715
3715
|
(year) => {
|
|
3716
3716
|
const raw = callbacks?.yearLabel?.(year);
|
|
3717
3717
|
if (raw === null || raw === void 0) return String(year);
|
|
@@ -3719,7 +3719,7 @@ function MonthCal({
|
|
|
3719
3719
|
},
|
|
3720
3720
|
[callbacks]
|
|
3721
3721
|
);
|
|
3722
|
-
const handleYearSelect =
|
|
3722
|
+
const handleYearSelect = React27.useCallback(
|
|
3723
3723
|
(nextValue) => {
|
|
3724
3724
|
const nextYear = Number.parseInt(nextValue, 10);
|
|
3725
3725
|
if (Number.isNaN(nextYear)) return;
|
|
@@ -3729,7 +3729,7 @@ function MonthCal({
|
|
|
3729
3729
|
},
|
|
3730
3730
|
[maxYear, minYear]
|
|
3731
3731
|
);
|
|
3732
|
-
const disabledPairs =
|
|
3732
|
+
const disabledPairs = React27.useMemo(() => {
|
|
3733
3733
|
if (!disabledDates?.length) return [];
|
|
3734
3734
|
const pairs = [];
|
|
3735
3735
|
disabledDates.forEach((date) => {
|
|
@@ -3874,14 +3874,14 @@ var MonthPicker2 = ({
|
|
|
3874
3874
|
ariaLabel,
|
|
3875
3875
|
...calendarProps
|
|
3876
3876
|
}) => {
|
|
3877
|
-
const [open, setOpen] =
|
|
3878
|
-
const parser =
|
|
3879
|
-
const outputFormatter =
|
|
3880
|
-
const labelFormatter =
|
|
3877
|
+
const [open, setOpen] = React27__default.useState(false);
|
|
3878
|
+
const parser = React27__default.useMemo(() => valueParser ?? defaultValueParser2, [valueParser]);
|
|
3879
|
+
const outputFormatter = React27__default.useMemo(() => valueFormatter ?? defaultValueFormatter2, [valueFormatter]);
|
|
3880
|
+
const labelFormatter = React27__default.useMemo(
|
|
3881
3881
|
() => displayFormatter ?? defaultDisplayFormatter2,
|
|
3882
3882
|
[displayFormatter]
|
|
3883
3883
|
);
|
|
3884
|
-
const parsedValue =
|
|
3884
|
+
const parsedValue = React27__default.useMemo(() => {
|
|
3885
3885
|
if (value === null || value === void 0) return void 0;
|
|
3886
3886
|
if (value instanceof Date) return normalizeMonth2(value);
|
|
3887
3887
|
if (typeof value === "string") {
|
|
@@ -3893,8 +3893,8 @@ var MonthPicker2 = ({
|
|
|
3893
3893
|
const buttonLabel = parsedValue ? labelFormatter(parsedValue) : placeholder2;
|
|
3894
3894
|
const buttonAriaLabel = ariaLabel ?? (parsedValue ? `Change month, current selection ${labelFormatter(parsedValue)}` : "Open month picker");
|
|
3895
3895
|
const shouldShowClear = allowClear && !disabled && !!parsedValue;
|
|
3896
|
-
const handleClose =
|
|
3897
|
-
const emitChange =
|
|
3896
|
+
const handleClose = React27__default.useCallback(() => setOpen(false), []);
|
|
3897
|
+
const emitChange = React27__default.useCallback(
|
|
3898
3898
|
(next) => {
|
|
3899
3899
|
const normalized = next ? normalizeMonth2(next) : void 0;
|
|
3900
3900
|
onChange?.(normalized);
|
|
@@ -3902,18 +3902,18 @@ var MonthPicker2 = ({
|
|
|
3902
3902
|
},
|
|
3903
3903
|
[onChange, onValueChange, outputFormatter]
|
|
3904
3904
|
);
|
|
3905
|
-
const handleSelect =
|
|
3905
|
+
const handleSelect = React27__default.useCallback(
|
|
3906
3906
|
(next) => {
|
|
3907
3907
|
emitChange(next);
|
|
3908
3908
|
if (closeOnSelect && next) handleClose();
|
|
3909
3909
|
},
|
|
3910
3910
|
[closeOnSelect, emitChange, handleClose]
|
|
3911
3911
|
);
|
|
3912
|
-
const handleClear =
|
|
3912
|
+
const handleClear = React27__default.useCallback(() => {
|
|
3913
3913
|
emitChange(void 0);
|
|
3914
3914
|
handleClose();
|
|
3915
3915
|
}, [emitChange, handleClose]);
|
|
3916
|
-
const handleOpenChange =
|
|
3916
|
+
const handleOpenChange = React27__default.useCallback(
|
|
3917
3917
|
(nextOpen) => {
|
|
3918
3918
|
if (disabled && nextOpen) return;
|
|
3919
3919
|
setOpen(nextOpen);
|
|
@@ -5189,7 +5189,7 @@ var AdvanceSearch = ({
|
|
|
5189
5189
|
defaultValues: {}
|
|
5190
5190
|
});
|
|
5191
5191
|
const { handleSubmit, unregister, resetField, getValues, clearErrors, setError } = form;
|
|
5192
|
-
const [operatorErrors, setOperatorErrors] =
|
|
5192
|
+
const [operatorErrors, setOperatorErrors] = React27__default.useState({});
|
|
5193
5193
|
const clearOperatorError = useCallback(
|
|
5194
5194
|
(rowId) => {
|
|
5195
5195
|
setOperatorErrors((prev) => {
|
|
@@ -5610,14 +5610,14 @@ var useControllableState = ({
|
|
|
5610
5610
|
value
|
|
5611
5611
|
}) => {
|
|
5612
5612
|
const isControlled = typeof value !== "undefined";
|
|
5613
|
-
const [internalValue, setInternalValue] =
|
|
5613
|
+
const [internalValue, setInternalValue] = React27.useState(() => {
|
|
5614
5614
|
return isControlled ? value : defaultValue;
|
|
5615
5615
|
});
|
|
5616
|
-
|
|
5616
|
+
React27.useEffect(() => {
|
|
5617
5617
|
if (!isControlled) return;
|
|
5618
5618
|
setInternalValue(value);
|
|
5619
5619
|
}, [isControlled, value]);
|
|
5620
|
-
const setValue =
|
|
5620
|
+
const setValue = React27.useCallback(
|
|
5621
5621
|
(nextValue) => {
|
|
5622
5622
|
if (isControlled) return;
|
|
5623
5623
|
setInternalValue(nextValue);
|
|
@@ -5632,6 +5632,16 @@ var useControllableState = ({
|
|
|
5632
5632
|
};
|
|
5633
5633
|
var useControllableState_default = useControllableState;
|
|
5634
5634
|
var useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
5635
|
+
var useBindRef = ({ ref, value }) => {
|
|
5636
|
+
React27.useEffect(() => {
|
|
5637
|
+
if (!ref) return;
|
|
5638
|
+
ref.current = value;
|
|
5639
|
+
return () => {
|
|
5640
|
+
ref.current = null;
|
|
5641
|
+
};
|
|
5642
|
+
}, [ref, value]);
|
|
5643
|
+
};
|
|
5644
|
+
var useBindRef_default = useBindRef;
|
|
5635
5645
|
var HeaderCell = ({
|
|
5636
5646
|
rootClassName,
|
|
5637
5647
|
labelClassName,
|
|
@@ -5798,38 +5808,6 @@ function TableCaption({ className, ...props }) {
|
|
|
5798
5808
|
}
|
|
5799
5809
|
);
|
|
5800
5810
|
}
|
|
5801
|
-
var ColumnResizer = ({ header, className, style }) => {
|
|
5802
|
-
if (!header.column.getCanResize()) {
|
|
5803
|
-
return null;
|
|
5804
|
-
}
|
|
5805
|
-
const resizeHandler = header.getResizeHandler();
|
|
5806
|
-
return /* @__PURE__ */ jsx(
|
|
5807
|
-
"div",
|
|
5808
|
-
{
|
|
5809
|
-
className: cn(
|
|
5810
|
-
"z-[2] absolute top-0 right-0 h-full w-1 select-none touch-none cursor-col-resize hover:bg-[#41875c]/45 active:bg-[#41875c]",
|
|
5811
|
-
className
|
|
5812
|
-
),
|
|
5813
|
-
onDoubleClick: () => header.column.resetSize(),
|
|
5814
|
-
onTouchStart: resizeHandler,
|
|
5815
|
-
onMouseDown: resizeHandler,
|
|
5816
|
-
style
|
|
5817
|
-
}
|
|
5818
|
-
);
|
|
5819
|
-
};
|
|
5820
|
-
var ColumnResizer_default = ColumnResizer;
|
|
5821
|
-
var ColumnSeparator = ({ show, className, ...props }) => {
|
|
5822
|
-
if (!show) return null;
|
|
5823
|
-
return /* @__PURE__ */ jsx(
|
|
5824
|
-
"span",
|
|
5825
|
-
{
|
|
5826
|
-
"data-slot": "table-head-separator",
|
|
5827
|
-
className: cn("absolute right-0 top-1/2 h-4 w-px -translate-y-1/2 bg-gray-300", className),
|
|
5828
|
-
...props
|
|
5829
|
-
}
|
|
5830
|
-
);
|
|
5831
|
-
};
|
|
5832
|
-
var ColumnSeparator_default = React26__default.memo(ColumnSeparator);
|
|
5833
5811
|
var StatusContentSlot = ({
|
|
5834
5812
|
content,
|
|
5835
5813
|
icon,
|
|
@@ -5848,7 +5826,7 @@ var StatusContentSlot = ({
|
|
|
5848
5826
|
content
|
|
5849
5827
|
] });
|
|
5850
5828
|
};
|
|
5851
|
-
var StatusContentSlot_default =
|
|
5829
|
+
var StatusContentSlot_default = React27__default.memo(StatusContentSlot);
|
|
5852
5830
|
var stateOptions = [
|
|
5853
5831
|
"columnFilters",
|
|
5854
5832
|
"globalFilter",
|
|
@@ -6014,45 +5992,8 @@ var DataTableDevTool = ({ table }) => {
|
|
|
6014
5992
|
] });
|
|
6015
5993
|
};
|
|
6016
5994
|
var DataTableDevTool_default = DataTableDevTool;
|
|
6017
|
-
|
|
6018
|
-
// src/components/data-table/helpers.ts
|
|
6019
|
-
function getColumnPinningInfo(column) {
|
|
6020
|
-
const isPinned = column.getIsPinned();
|
|
6021
|
-
const isLastLeftPinnedColumn = isPinned === "left" && column.getIsLastColumn("left");
|
|
6022
|
-
const isFirstRightPinnedColumn = isPinned === "right" && column.getIsFirstColumn("right");
|
|
6023
|
-
return { isPinned, isLastLeftPinnedColumn, isFirstRightPinnedColumn };
|
|
6024
|
-
}
|
|
6025
|
-
function getColumnPinningStyles(column) {
|
|
6026
|
-
const { isPinned, isFirstRightPinnedColumn, isLastLeftPinnedColumn } = getColumnPinningInfo(column);
|
|
6027
|
-
const classes = cn(
|
|
6028
|
-
isPinned ? "sticky" : "relative",
|
|
6029
|
-
isPinned ? "z-[1]" : "z-0",
|
|
6030
|
-
isLastLeftPinnedColumn && "shadow-[inset_-1px_0_0_0_black]",
|
|
6031
|
-
isFirstRightPinnedColumn && "shadow-[inset_1px_0_0_0_black]"
|
|
6032
|
-
);
|
|
6033
|
-
const style = {
|
|
6034
|
-
left: isPinned === "left" ? column.getStart("left") : void 0,
|
|
6035
|
-
right: isPinned === "right" ? column.getAfter("right") : void 0
|
|
6036
|
-
};
|
|
6037
|
-
return { classes, style };
|
|
6038
|
-
}
|
|
6039
|
-
function getRowClickHandlers(handler, { rowData, row, table }) {
|
|
6040
|
-
const handleClick = (event) => {
|
|
6041
|
-
if (event.detail === 1) {
|
|
6042
|
-
handler(rowData, { event, row, table, clickType: "single" });
|
|
6043
|
-
}
|
|
6044
|
-
if (event.detail >= 2) {
|
|
6045
|
-
handler(rowData, { event, row, table, clickType: "double" });
|
|
6046
|
-
}
|
|
6047
|
-
};
|
|
6048
|
-
return {
|
|
6049
|
-
onClick: handleClick
|
|
6050
|
-
};
|
|
6051
|
-
}
|
|
6052
5995
|
var fallbackData = [];
|
|
6053
|
-
var
|
|
6054
|
-
tableRef,
|
|
6055
|
-
isInitialLoading,
|
|
5996
|
+
var useTableController = ({
|
|
6056
5997
|
columns,
|
|
6057
5998
|
data,
|
|
6058
5999
|
filters,
|
|
@@ -6064,14 +6005,8 @@ var DataTable = ({
|
|
|
6064
6005
|
columnResizing,
|
|
6065
6006
|
rowSelection,
|
|
6066
6007
|
rowExpansion,
|
|
6067
|
-
scrollFetch,
|
|
6068
|
-
activeStatusContent,
|
|
6069
|
-
statusContent,
|
|
6070
6008
|
rowIdKey,
|
|
6071
|
-
childrenKey
|
|
6072
|
-
onRowClick,
|
|
6073
|
-
debug,
|
|
6074
|
-
components
|
|
6009
|
+
childrenKey
|
|
6075
6010
|
}) => {
|
|
6076
6011
|
const table = useReactTable({
|
|
6077
6012
|
// required properties
|
|
@@ -6124,7 +6059,6 @@ var DataTable = ({
|
|
|
6124
6059
|
getSortedRowModel: !sorting?.manual && sorting?.enabled ? getSortedRowModel() : void 0,
|
|
6125
6060
|
manualSorting: sorting?.enabled && (sorting?.manual ?? false),
|
|
6126
6061
|
enableSorting: sorting?.enabled ?? false,
|
|
6127
|
-
// default behavior: column with type number is sort by desc and string sort by asc first, we fix force always asc
|
|
6128
6062
|
sortDescFirst: sorting?.enabled ? sorting?.sortDescFirst ?? false : false,
|
|
6129
6063
|
onSortingChange: sorting?.enabled ? sorting?.onSortingChange : void 0,
|
|
6130
6064
|
// ordering
|
|
@@ -6139,10 +6073,7 @@ var DataTable = ({
|
|
|
6139
6073
|
enableMultiRowSelection: rowSelection?.enabled ? rowSelection?.multiSelect ?? true : true,
|
|
6140
6074
|
onRowSelectionChange: rowSelection?.enabled ? rowSelection?.onSelectionChange : void 0,
|
|
6141
6075
|
// row expanded
|
|
6142
|
-
getExpandedRowModel: (
|
|
6143
|
-
// when grouping is use then we should open this
|
|
6144
|
-
!rowExpansion?.manual && rowExpansion?.enabled ? getExpandedRowModel() : void 0
|
|
6145
|
-
),
|
|
6076
|
+
getExpandedRowModel: !rowExpansion?.manual && rowExpansion?.enabled ? getExpandedRowModel() : void 0,
|
|
6146
6077
|
manualExpanding: rowExpansion?.enabled && (rowExpansion?.manual ?? false),
|
|
6147
6078
|
enableExpanding: rowExpansion?.enabled ?? false,
|
|
6148
6079
|
getIsRowExpanded: rowExpansion?.enabled ? rowExpansion?.isRowExpanded : void 0,
|
|
@@ -6160,13 +6091,93 @@ var DataTable = ({
|
|
|
6160
6091
|
columnResizeMode: columnResizing?.enabled ? columnResizing?.resizeMode ?? "onChange" : "onChange"
|
|
6161
6092
|
})
|
|
6162
6093
|
});
|
|
6163
|
-
|
|
6094
|
+
return table;
|
|
6095
|
+
};
|
|
6096
|
+
var useScrollFetch = ({ scrollFetch, containerRef }) => {
|
|
6097
|
+
const fetchMoreOnScrollReached = useCallback(
|
|
6098
|
+
(containerRefElement) => {
|
|
6099
|
+
if (!scrollFetch?.enabled || !containerRefElement || scrollFetch?.isFetchingMore || !scrollFetch?.hasMore || !scrollFetch?.fetchMore) {
|
|
6100
|
+
return;
|
|
6101
|
+
}
|
|
6102
|
+
const { scrollHeight, scrollTop, clientHeight } = containerRefElement;
|
|
6103
|
+
const scrollableHeight = scrollHeight - clientHeight;
|
|
6104
|
+
const distanceToBottom = scrollableHeight - scrollTop;
|
|
6105
|
+
const ratioToBottom = scrollableHeight > 0 ? scrollTop / scrollableHeight : 1;
|
|
6106
|
+
const info = {
|
|
6107
|
+
scrollTop,
|
|
6108
|
+
scrollHeight,
|
|
6109
|
+
clientHeight,
|
|
6110
|
+
scrollableHeight,
|
|
6111
|
+
distanceToBottom,
|
|
6112
|
+
ratioToBottom,
|
|
6113
|
+
isTopReached: scrollTop === 0,
|
|
6114
|
+
isBottomReached: distanceToBottom <= 0
|
|
6115
|
+
};
|
|
6116
|
+
let shouldTrigger = false;
|
|
6117
|
+
if (typeof scrollFetch.scrollThreshold === "number") {
|
|
6118
|
+
shouldTrigger = info.ratioToBottom >= scrollFetch.scrollThreshold;
|
|
6119
|
+
} else if (typeof scrollFetch.scrollThreshold === "function") {
|
|
6120
|
+
shouldTrigger = scrollFetch.scrollThreshold(info);
|
|
6121
|
+
} else {
|
|
6122
|
+
shouldTrigger = info.ratioToBottom >= 0.7;
|
|
6123
|
+
}
|
|
6124
|
+
if (shouldTrigger) {
|
|
6125
|
+
scrollFetch.fetchMore();
|
|
6126
|
+
}
|
|
6127
|
+
},
|
|
6128
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
6129
|
+
[scrollFetch?.enabled, scrollFetch?.isFetchingMore, scrollFetch?.hasMore, scrollFetch?.fetchMore]
|
|
6130
|
+
);
|
|
6131
|
+
useEffect(() => {
|
|
6132
|
+
fetchMoreOnScrollReached(containerRef.current);
|
|
6133
|
+
}, [fetchMoreOnScrollReached, containerRef]);
|
|
6134
|
+
return fetchMoreOnScrollReached;
|
|
6135
|
+
};
|
|
6136
|
+
var DEFAULT_ROW_HEIGHT = 40;
|
|
6137
|
+
var DEFAULT_OVER_SCAN = 10;
|
|
6138
|
+
var useTableVirtualizer = ({
|
|
6139
|
+
enabled,
|
|
6140
|
+
table,
|
|
6141
|
+
containerRef,
|
|
6142
|
+
virtual
|
|
6143
|
+
}) => {
|
|
6144
|
+
const rowModel = table.getRowModel().rows;
|
|
6145
|
+
const virtualizer = useVirtualizer({
|
|
6146
|
+
count: enabled ? rowModel.length : 0,
|
|
6147
|
+
useFlushSync: false,
|
|
6148
|
+
getScrollElement: () => containerRef.current,
|
|
6149
|
+
estimateSize: () => DEFAULT_ROW_HEIGHT,
|
|
6150
|
+
measureElement: typeof window !== "undefined" && navigator.userAgent.indexOf("Firefox") === -1 ? (element) => element?.getBoundingClientRect().height : void 0,
|
|
6151
|
+
overscan: virtual?.overscan ?? DEFAULT_OVER_SCAN
|
|
6152
|
+
});
|
|
6153
|
+
const virtualItems = enabled ? virtualizer.getVirtualItems() : [];
|
|
6154
|
+
const paddingTop = enabled && virtualItems.length > 0 ? virtualItems[0].start : 0;
|
|
6155
|
+
const paddingBottom = enabled && virtualItems.length > 0 ? virtualizer.getTotalSize() - virtualItems[virtualItems.length - 1].end : 0;
|
|
6156
|
+
return {
|
|
6157
|
+
virtualizer,
|
|
6158
|
+
virtualItems,
|
|
6159
|
+
paddingTop,
|
|
6160
|
+
paddingBottom,
|
|
6161
|
+
rowModel
|
|
6162
|
+
};
|
|
6163
|
+
};
|
|
6164
|
+
function useComputedTableState({
|
|
6165
|
+
table,
|
|
6166
|
+
rowModel,
|
|
6167
|
+
isInitialLoading,
|
|
6168
|
+
scrollFetch,
|
|
6169
|
+
activeStatusContent
|
|
6170
|
+
}) {
|
|
6164
6171
|
const isTableEmpty = table.getCoreRowModel().rows.length === 0;
|
|
6165
|
-
const isTableEmptyAfterFiltering =
|
|
6172
|
+
const isTableEmptyAfterFiltering = rowModel.length === 0;
|
|
6166
6173
|
const isFiltering = table.getState().columnFilters.length > 0 || !!table.getState().globalFilter;
|
|
6167
6174
|
const leftVisibleLeftColumns = table.getLeftVisibleLeafColumns();
|
|
6168
6175
|
const centerVisibleLeafColumns = table.getCenterVisibleLeafColumns();
|
|
6169
6176
|
const rightVisibleLeafColumns = table.getRightVisibleLeafColumns();
|
|
6177
|
+
const visibleColumnCount = Math.max(
|
|
6178
|
+
leftVisibleLeftColumns.length + centerVisibleLeafColumns.length + rightVisibleLeafColumns.length,
|
|
6179
|
+
1
|
|
6180
|
+
);
|
|
6170
6181
|
const { isSomeColumnsFilterable, filterableColumns } = useMemo(() => {
|
|
6171
6182
|
const mergedColumns = [
|
|
6172
6183
|
...leftVisibleLeftColumns,
|
|
@@ -6203,50 +6214,329 @@ var DataTable = ({
|
|
|
6203
6214
|
}
|
|
6204
6215
|
return activeStatusContent;
|
|
6205
6216
|
}, [activeStatusContent, autoStatusKey]);
|
|
6206
|
-
|
|
6207
|
-
|
|
6208
|
-
|
|
6209
|
-
|
|
6210
|
-
|
|
6211
|
-
|
|
6212
|
-
|
|
6213
|
-
|
|
6214
|
-
|
|
6215
|
-
|
|
6216
|
-
|
|
6217
|
-
|
|
6218
|
-
|
|
6219
|
-
|
|
6220
|
-
|
|
6221
|
-
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6225
|
-
|
|
6226
|
-
|
|
6227
|
-
|
|
6228
|
-
|
|
6229
|
-
|
|
6230
|
-
|
|
6231
|
-
|
|
6217
|
+
return {
|
|
6218
|
+
isTableEmpty,
|
|
6219
|
+
isTableEmptyAfterFiltering,
|
|
6220
|
+
isFiltering,
|
|
6221
|
+
leftVisibleLeftColumns,
|
|
6222
|
+
centerVisibleLeafColumns,
|
|
6223
|
+
rightVisibleLeafColumns,
|
|
6224
|
+
visibleColumnCount,
|
|
6225
|
+
isSomeColumnsFilterable,
|
|
6226
|
+
filterableColumns,
|
|
6227
|
+
activeStatusContentComputed
|
|
6228
|
+
};
|
|
6229
|
+
}
|
|
6230
|
+
var ColumnResizer = ({ header, className, style }) => {
|
|
6231
|
+
if (!header.column.getCanResize()) {
|
|
6232
|
+
return null;
|
|
6233
|
+
}
|
|
6234
|
+
const resizeHandler = header.getResizeHandler();
|
|
6235
|
+
return /* @__PURE__ */ jsx(
|
|
6236
|
+
"div",
|
|
6237
|
+
{
|
|
6238
|
+
className: cn(
|
|
6239
|
+
"z-[2] absolute top-0 right-0 h-full w-1 select-none touch-none cursor-col-resize hover:bg-[#41875c]/45 active:bg-[#41875c]",
|
|
6240
|
+
className
|
|
6241
|
+
),
|
|
6242
|
+
onDoubleClick: () => header.column.resetSize(),
|
|
6243
|
+
onTouchStart: resizeHandler,
|
|
6244
|
+
onMouseDown: resizeHandler,
|
|
6245
|
+
style
|
|
6246
|
+
}
|
|
6247
|
+
);
|
|
6248
|
+
};
|
|
6249
|
+
var ColumnResizer_default = ColumnResizer;
|
|
6250
|
+
var ColumnSeparator = ({ show, className, ...props }) => {
|
|
6251
|
+
if (!show) return null;
|
|
6252
|
+
return /* @__PURE__ */ jsx(
|
|
6253
|
+
"span",
|
|
6254
|
+
{
|
|
6255
|
+
"data-slot": "table-head-separator",
|
|
6256
|
+
className: cn("absolute right-0 top-1/2 h-4 w-px -translate-y-1/2 bg-gray-300", className),
|
|
6257
|
+
...props
|
|
6258
|
+
}
|
|
6259
|
+
);
|
|
6260
|
+
};
|
|
6261
|
+
var ColumnSeparator_default = React27__default.memo(ColumnSeparator);
|
|
6262
|
+
|
|
6263
|
+
// src/components/data-table/helpers.ts
|
|
6264
|
+
function getColumnPinningInfo(column) {
|
|
6265
|
+
const isPinned = column.getIsPinned();
|
|
6266
|
+
const isLastLeftPinnedColumn = isPinned === "left" && column.getIsLastColumn("left");
|
|
6267
|
+
const isFirstRightPinnedColumn = isPinned === "right" && column.getIsFirstColumn("right");
|
|
6268
|
+
return { isPinned, isLastLeftPinnedColumn, isFirstRightPinnedColumn };
|
|
6269
|
+
}
|
|
6270
|
+
function getColumnPinningStyles(column) {
|
|
6271
|
+
const { isPinned, isFirstRightPinnedColumn, isLastLeftPinnedColumn } = getColumnPinningInfo(column);
|
|
6272
|
+
const classes = cn(isPinned ? "sticky" : "relative");
|
|
6273
|
+
const style = {
|
|
6274
|
+
left: isPinned === "left" ? column.getStart("left") : void 0,
|
|
6275
|
+
right: isPinned === "right" ? column.getAfter("right") : void 0,
|
|
6276
|
+
zIndex: isPinned ? 1 : 0,
|
|
6277
|
+
boxShadow: isLastLeftPinnedColumn ? "inset -1px 0 0 0 black" : isFirstRightPinnedColumn ? "inset 1px 0 0 0 black" : void 0
|
|
6278
|
+
};
|
|
6279
|
+
return { classes, style };
|
|
6280
|
+
}
|
|
6281
|
+
function getRowClickHandlers(handler, { rowData, row, table }) {
|
|
6282
|
+
const handleClick = (event) => {
|
|
6283
|
+
if (event.detail === 1) {
|
|
6284
|
+
handler(rowData, { event, row, table, clickType: "single" });
|
|
6285
|
+
}
|
|
6286
|
+
if (event.detail >= 2) {
|
|
6287
|
+
handler(rowData, { event, row, table, clickType: "double" });
|
|
6288
|
+
}
|
|
6289
|
+
};
|
|
6290
|
+
return {
|
|
6291
|
+
onClick: handleClick
|
|
6292
|
+
};
|
|
6293
|
+
}
|
|
6294
|
+
var TableHeaderRows = ({
|
|
6295
|
+
table,
|
|
6296
|
+
columnResizing,
|
|
6297
|
+
virtual,
|
|
6298
|
+
components
|
|
6299
|
+
}) => {
|
|
6300
|
+
return /* @__PURE__ */ jsx(Fragment, { children: table.getHeaderGroups().map((headerGroup) => {
|
|
6301
|
+
return /* @__PURE__ */ jsx(TableRow, { children: headerGroup.headers.map((header) => {
|
|
6302
|
+
const { classes, style } = getColumnPinningStyles(header.column);
|
|
6303
|
+
const useColumnSizing = header.column.columnDef?.meta?.useColumnSizing ?? columnResizing?.enabled ?? virtual?.enabled ?? false;
|
|
6304
|
+
const tableHeadCellProps = typeof components?.tableHeadCellProps === "function" ? components?.tableHeadCellProps({ header, table }) : components?.tableHeadCellProps;
|
|
6305
|
+
const nextHeader = headerGroup.headers?.[header.index + 1] || header;
|
|
6306
|
+
const { isLastLeftPinnedColumn } = getColumnPinningInfo(header.column);
|
|
6307
|
+
const { isFirstRightPinnedColumn } = getColumnPinningInfo(nextHeader.column);
|
|
6308
|
+
const headerGroupLength = header.headerGroup.headers.length;
|
|
6309
|
+
const showSeparator = header.index !== headerGroupLength - 1 && !isLastLeftPinnedColumn && !isFirstRightPinnedColumn;
|
|
6310
|
+
return /* @__PURE__ */ jsxs(
|
|
6311
|
+
TableHead,
|
|
6312
|
+
{
|
|
6313
|
+
"data-testid": `table-head-${header.id}`,
|
|
6314
|
+
colSpan: header.colSpan,
|
|
6315
|
+
...tableHeadCellProps,
|
|
6316
|
+
...header.column.columnDef?.meta?.headerProps,
|
|
6317
|
+
className: cn(
|
|
6318
|
+
classes,
|
|
6319
|
+
tableHeadCellProps?.className,
|
|
6320
|
+
header.column.columnDef?.meta?.headerProps?.className
|
|
6321
|
+
),
|
|
6322
|
+
style: {
|
|
6323
|
+
...style,
|
|
6324
|
+
width: useColumnSizing ? header.column.getSize() : void 0,
|
|
6325
|
+
minWidth: useColumnSizing ? header.column.columnDef.minSize : void 0,
|
|
6326
|
+
maxWidth: useColumnSizing ? header.column.columnDef.maxSize : void 0,
|
|
6327
|
+
...tableHeadCellProps?.style,
|
|
6328
|
+
...header.column.columnDef?.meta?.headerProps?.style
|
|
6329
|
+
},
|
|
6330
|
+
children: [
|
|
6331
|
+
header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()),
|
|
6332
|
+
/* @__PURE__ */ jsx(
|
|
6333
|
+
ColumnSeparator_default,
|
|
6334
|
+
{
|
|
6335
|
+
...components?.columnSeparatorProps?.headerCell,
|
|
6336
|
+
...header.column.columnDef?.meta?.columnSeparatorProps,
|
|
6337
|
+
show: header.column.columnDef?.meta?.columnSeparatorProps?.show ?? components?.columnSeparatorProps?.headerCell?.show ?? showSeparator
|
|
6338
|
+
}
|
|
6339
|
+
),
|
|
6340
|
+
/* @__PURE__ */ jsx(ColumnResizer_default, { header, ...components?.columnResizerProps })
|
|
6341
|
+
]
|
|
6342
|
+
},
|
|
6343
|
+
header.id
|
|
6344
|
+
);
|
|
6345
|
+
}) }, headerGroup.id);
|
|
6346
|
+
}) });
|
|
6347
|
+
};
|
|
6348
|
+
var TableFilterRow = ({
|
|
6349
|
+
table,
|
|
6350
|
+
filterableColumns,
|
|
6351
|
+
isSomeColumnsFilterable,
|
|
6352
|
+
columnResizing,
|
|
6353
|
+
virtual,
|
|
6354
|
+
components
|
|
6355
|
+
}) => {
|
|
6356
|
+
if (!isSomeColumnsFilterable) return null;
|
|
6357
|
+
return /* @__PURE__ */ jsx(TableRow, { "data-testid": "table-filter-row", children: filterableColumns.map((column) => {
|
|
6358
|
+
const { classes, style } = getColumnPinningStyles(column);
|
|
6359
|
+
const useColumnSizing = column.columnDef.meta?.useColumnSizing ?? columnResizing?.enabled ?? virtual?.enabled ?? false;
|
|
6360
|
+
const tableFilterCellProps = typeof components?.tableFilterCellProps === "function" ? components?.tableFilterCellProps({ column, table }) : components?.tableFilterCellProps;
|
|
6361
|
+
return /* @__PURE__ */ jsx(
|
|
6362
|
+
TableCell,
|
|
6363
|
+
{
|
|
6364
|
+
"data-testid": `table-filter-cell-${column.id}`,
|
|
6365
|
+
...tableFilterCellProps,
|
|
6366
|
+
...column.columnDef?.meta?.filterCellProps,
|
|
6367
|
+
className: cn(
|
|
6368
|
+
"bg-white border-b",
|
|
6369
|
+
classes,
|
|
6370
|
+
tableFilterCellProps?.className,
|
|
6371
|
+
column.columnDef?.meta?.filterCellProps?.className
|
|
6372
|
+
),
|
|
6373
|
+
style: {
|
|
6374
|
+
...style,
|
|
6375
|
+
width: useColumnSizing ? column.getSize() : void 0,
|
|
6376
|
+
minWidth: useColumnSizing ? column.columnDef.minSize : void 0,
|
|
6377
|
+
maxWidth: useColumnSizing ? column.columnDef.maxSize : void 0,
|
|
6378
|
+
...tableFilterCellProps?.style,
|
|
6379
|
+
...column.columnDef?.meta?.filterCellProps?.style
|
|
6380
|
+
},
|
|
6381
|
+
children: column.getCanFilter() && column.columnDef.meta?.renderColumnFilter?.({
|
|
6382
|
+
column,
|
|
6383
|
+
table
|
|
6384
|
+
})
|
|
6385
|
+
},
|
|
6386
|
+
column.id
|
|
6387
|
+
);
|
|
6388
|
+
}) });
|
|
6389
|
+
};
|
|
6390
|
+
var TableDataRows = ({
|
|
6391
|
+
table,
|
|
6392
|
+
rowModel,
|
|
6393
|
+
virtualEnabled,
|
|
6394
|
+
virtualItems,
|
|
6395
|
+
virtualizer,
|
|
6396
|
+
paddingTop,
|
|
6397
|
+
paddingBottom,
|
|
6398
|
+
visibleColumnCount,
|
|
6399
|
+
columnResizing,
|
|
6400
|
+
virtual,
|
|
6401
|
+
onRowClick,
|
|
6402
|
+
components
|
|
6403
|
+
}) => {
|
|
6404
|
+
const config = virtualEnabled ? { items: virtualItems, isVirtualize: true, rowModel } : { items: rowModel, isVirtualize: false };
|
|
6405
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6406
|
+
virtualEnabled && paddingTop > 0 && /* @__PURE__ */ jsx(TableRow, { "aria-hidden": "true", "data-testid": "table-virtual-padding-top", children: /* @__PURE__ */ jsx(
|
|
6407
|
+
TableCell,
|
|
6408
|
+
{
|
|
6409
|
+
className: "border-b-0 p-0 h-auto",
|
|
6410
|
+
colSpan: visibleColumnCount,
|
|
6411
|
+
style: { height: `${paddingTop}px` }
|
|
6232
6412
|
}
|
|
6233
|
-
|
|
6234
|
-
|
|
6413
|
+
) }),
|
|
6414
|
+
config.items.map((item) => {
|
|
6415
|
+
const row = config.isVirtualize ? config.rowModel[item.index] : item;
|
|
6416
|
+
if (!row) return null;
|
|
6417
|
+
const virtualIndex = config.isVirtualize ? item.index : void 0;
|
|
6418
|
+
const tableDataRowProps = typeof components?.tableDataRowProps === "function" ? components.tableDataRowProps({ row, table }) || {} : components?.tableDataRowProps || {};
|
|
6419
|
+
return /* @__PURE__ */ createElement(
|
|
6420
|
+
TableRow,
|
|
6421
|
+
{
|
|
6422
|
+
"data-testid": `table-data-row-${row.id}`,
|
|
6423
|
+
"data-index": virtualIndex,
|
|
6424
|
+
ref: config.isVirtualize ? (node) => virtualizer.measureElement(node) : void 0,
|
|
6425
|
+
...tableDataRowProps,
|
|
6426
|
+
key: row.id,
|
|
6427
|
+
className: cn("group", tableDataRowProps?.className),
|
|
6428
|
+
"data-state": row.getIsSelected() ? "selected" : "non-selected",
|
|
6429
|
+
...getRowClickHandlers(onRowClick ?? (() => {
|
|
6430
|
+
}), {
|
|
6431
|
+
rowData: row.original,
|
|
6432
|
+
row,
|
|
6433
|
+
table
|
|
6434
|
+
})
|
|
6435
|
+
},
|
|
6436
|
+
row.getVisibleCells().map((cell) => {
|
|
6437
|
+
const { classes, style } = getColumnPinningStyles(cell.column);
|
|
6438
|
+
const useColumnSizing = cell.column.columnDef.meta?.useColumnSizing ?? columnResizing?.enabled ?? virtual?.enabled ?? false;
|
|
6439
|
+
const tableDataCellProps = typeof components?.tableDataCellProps === "function" ? components?.tableDataCellProps({ row, cell, table }) : components?.tableDataCellProps;
|
|
6440
|
+
return /* @__PURE__ */ jsx(
|
|
6441
|
+
TableCell,
|
|
6442
|
+
{
|
|
6443
|
+
"data-testid": `table-data-cell-${cell.id}`,
|
|
6444
|
+
"data-row-id": row.id,
|
|
6445
|
+
"data-column-id": cell.column.id,
|
|
6446
|
+
...tableDataCellProps,
|
|
6447
|
+
...cell.column.columnDef?.meta?.cellProps,
|
|
6448
|
+
className: cn(
|
|
6449
|
+
{
|
|
6450
|
+
"bg-[#dfeae3]": row.getIsSelected(),
|
|
6451
|
+
"bg-white group-hover:bg-sus-primary-3-hover": !row.getIsSelected()
|
|
6452
|
+
},
|
|
6453
|
+
classes,
|
|
6454
|
+
tableDataCellProps?.className,
|
|
6455
|
+
cell.column.columnDef?.meta?.cellProps?.className
|
|
6456
|
+
),
|
|
6457
|
+
style: {
|
|
6458
|
+
...style,
|
|
6459
|
+
width: useColumnSizing ? cell.column.getSize() : void 0,
|
|
6460
|
+
minWidth: useColumnSizing ? cell.column.columnDef.minSize : void 0,
|
|
6461
|
+
maxWidth: useColumnSizing ? cell.column.columnDef.maxSize : void 0,
|
|
6462
|
+
...tableDataCellProps?.style,
|
|
6463
|
+
...cell.column.columnDef?.meta?.cellProps?.style
|
|
6464
|
+
},
|
|
6465
|
+
children: flexRender(cell.column.columnDef.cell, cell.getContext())
|
|
6466
|
+
},
|
|
6467
|
+
cell.id
|
|
6468
|
+
);
|
|
6469
|
+
})
|
|
6470
|
+
);
|
|
6471
|
+
}),
|
|
6472
|
+
virtualEnabled && paddingBottom > 0 && /* @__PURE__ */ jsx(TableRow, { "aria-hidden": "true", "data-testid": "table-virtual-padding-bottom", children: /* @__PURE__ */ jsx(
|
|
6473
|
+
TableCell,
|
|
6474
|
+
{
|
|
6475
|
+
className: "border-b-0 p-0 h-auto",
|
|
6476
|
+
colSpan: visibleColumnCount,
|
|
6477
|
+
style: { height: `${paddingBottom}px` }
|
|
6235
6478
|
}
|
|
6236
|
-
}
|
|
6237
|
-
|
|
6238
|
-
|
|
6239
|
-
|
|
6240
|
-
|
|
6241
|
-
|
|
6242
|
-
|
|
6243
|
-
|
|
6244
|
-
|
|
6245
|
-
|
|
6246
|
-
|
|
6247
|
-
|
|
6248
|
-
|
|
6249
|
-
|
|
6479
|
+
) })
|
|
6480
|
+
] });
|
|
6481
|
+
};
|
|
6482
|
+
var DataTable = ({
|
|
6483
|
+
tableRef,
|
|
6484
|
+
virtualizerRef,
|
|
6485
|
+
isInitialLoading,
|
|
6486
|
+
columns,
|
|
6487
|
+
data,
|
|
6488
|
+
filters,
|
|
6489
|
+
sorting,
|
|
6490
|
+
columnOrder,
|
|
6491
|
+
columnVisibility,
|
|
6492
|
+
columnPinning,
|
|
6493
|
+
columnGrouping,
|
|
6494
|
+
columnResizing,
|
|
6495
|
+
rowSelection,
|
|
6496
|
+
rowExpansion,
|
|
6497
|
+
virtual,
|
|
6498
|
+
scrollFetch,
|
|
6499
|
+
activeStatusContent,
|
|
6500
|
+
statusContent,
|
|
6501
|
+
rowIdKey,
|
|
6502
|
+
childrenKey,
|
|
6503
|
+
onRowClick,
|
|
6504
|
+
debug,
|
|
6505
|
+
components
|
|
6506
|
+
}) => {
|
|
6507
|
+
const virtualEnabled = virtual?.enabled ?? false;
|
|
6508
|
+
const tableContainerRef = useRef(null);
|
|
6509
|
+
const table = useTableController({
|
|
6510
|
+
columns,
|
|
6511
|
+
data,
|
|
6512
|
+
filters,
|
|
6513
|
+
sorting,
|
|
6514
|
+
columnOrder,
|
|
6515
|
+
columnVisibility,
|
|
6516
|
+
columnPinning,
|
|
6517
|
+
columnGrouping,
|
|
6518
|
+
columnResizing,
|
|
6519
|
+
rowSelection,
|
|
6520
|
+
rowExpansion,
|
|
6521
|
+
rowIdKey,
|
|
6522
|
+
childrenKey
|
|
6523
|
+
});
|
|
6524
|
+
const { virtualizer, virtualItems, paddingTop, paddingBottom, rowModel } = useTableVirtualizer({
|
|
6525
|
+
enabled: virtualEnabled,
|
|
6526
|
+
table,
|
|
6527
|
+
containerRef: tableContainerRef,
|
|
6528
|
+
virtual
|
|
6529
|
+
});
|
|
6530
|
+
const { visibleColumnCount, isSomeColumnsFilterable, filterableColumns, activeStatusContentComputed } = useComputedTableState({
|
|
6531
|
+
table,
|
|
6532
|
+
rowModel,
|
|
6533
|
+
isInitialLoading,
|
|
6534
|
+
scrollFetch,
|
|
6535
|
+
activeStatusContent
|
|
6536
|
+
});
|
|
6537
|
+
const fetchMoreOnScrollReached = useScrollFetch({ scrollFetch, containerRef: tableContainerRef });
|
|
6538
|
+
useBindRef_default({ ref: tableRef, value: table });
|
|
6539
|
+
useBindRef_default({ ref: virtualizerRef, value: virtualizer });
|
|
6250
6540
|
return /* @__PURE__ */ jsxs(
|
|
6251
6541
|
TableContainer,
|
|
6252
6542
|
{
|
|
@@ -6283,149 +6573,61 @@ var DataTable = ({
|
|
|
6283
6573
|
defaultIcon: /* @__PURE__ */ jsx(empty_data_default, { size: 128 })
|
|
6284
6574
|
}
|
|
6285
6575
|
) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6286
|
-
/* @__PURE__ */ jsxs(
|
|
6287
|
-
|
|
6288
|
-
|
|
6289
|
-
|
|
6290
|
-
|
|
6291
|
-
|
|
6292
|
-
|
|
6293
|
-
|
|
6294
|
-
|
|
6295
|
-
|
|
6296
|
-
|
|
6297
|
-
|
|
6298
|
-
|
|
6299
|
-
|
|
6300
|
-
const { isFirstRightPinnedColumn } = getColumnPinningInfo(nextHeader.column);
|
|
6301
|
-
const headerGroupLength = header.headerGroup.headers.length;
|
|
6302
|
-
const showSeparator = header.index !== headerGroupLength - 1 && !isLastLeftPinnedColumn && !isFirstRightPinnedColumn;
|
|
6303
|
-
return /* @__PURE__ */ jsxs(
|
|
6304
|
-
TableHead,
|
|
6305
|
-
{
|
|
6306
|
-
"data-testid": `table-head-${header.id}`,
|
|
6307
|
-
colSpan: header.colSpan,
|
|
6308
|
-
...tableHeadCellProps,
|
|
6309
|
-
...header.column.columnDef?.meta?.headerProps,
|
|
6310
|
-
className: cn(
|
|
6311
|
-
classes,
|
|
6312
|
-
tableHeadCellProps?.className,
|
|
6313
|
-
header.column.columnDef?.meta?.headerProps?.className
|
|
6314
|
-
),
|
|
6315
|
-
style: {
|
|
6316
|
-
...style,
|
|
6317
|
-
width: useColumnSizing ? header.column.getSize() : void 0,
|
|
6318
|
-
minWidth: useColumnSizing ? header.column.columnDef.minSize : void 0,
|
|
6319
|
-
maxWidth: useColumnSizing ? header.column.columnDef.maxSize : void 0,
|
|
6320
|
-
...tableHeadCellProps?.style,
|
|
6321
|
-
...header.column.columnDef?.meta?.headerProps?.style
|
|
6322
|
-
},
|
|
6323
|
-
children: [
|
|
6324
|
-
header.isPlaceholder ? null : flexRender(header.column.columnDef.header, header.getContext()),
|
|
6325
|
-
/* @__PURE__ */ jsx(
|
|
6326
|
-
ColumnSeparator_default,
|
|
6327
|
-
{
|
|
6328
|
-
...components?.columnSeparatorProps?.headerCell,
|
|
6329
|
-
...header.column.columnDef?.meta?.columnSeparatorProps,
|
|
6330
|
-
show: header.column.columnDef?.meta?.columnSeparatorProps?.show ?? components?.columnSeparatorProps?.headerCell?.show ?? showSeparator
|
|
6331
|
-
}
|
|
6332
|
-
),
|
|
6333
|
-
/* @__PURE__ */ jsx(ColumnResizer_default, { header, ...components?.columnResizerProps })
|
|
6334
|
-
]
|
|
6335
|
-
},
|
|
6336
|
-
header.id
|
|
6337
|
-
);
|
|
6338
|
-
}) }, headerGroup.id);
|
|
6339
|
-
}),
|
|
6340
|
-
isSomeColumnsFilterable && /* @__PURE__ */ jsx(TableRow, { "data-testid": "table-filter-row", children: filterableColumns.map((column) => {
|
|
6341
|
-
const { classes, style } = getColumnPinningStyles(column);
|
|
6342
|
-
const useColumnSizing = column.columnDef.meta?.useColumnSizing ?? columnResizing?.enabled ?? false;
|
|
6343
|
-
const tableFilterCellProps = typeof components?.tableFilterCellProps === "function" ? components?.tableFilterCellProps({ column, table }) : components?.tableFilterCellProps;
|
|
6344
|
-
return /* @__PURE__ */ jsx(
|
|
6345
|
-
TableCell,
|
|
6346
|
-
{
|
|
6347
|
-
"data-testid": `table-filter-cell-${column.id}`,
|
|
6348
|
-
...tableFilterCellProps,
|
|
6349
|
-
...column.columnDef?.meta?.filterCellProps,
|
|
6350
|
-
className: cn(
|
|
6351
|
-
"bg-white border-b",
|
|
6352
|
-
classes,
|
|
6353
|
-
tableFilterCellProps?.className,
|
|
6354
|
-
column.columnDef?.meta?.filterCellProps?.className
|
|
6355
|
-
),
|
|
6356
|
-
style: {
|
|
6357
|
-
...style,
|
|
6358
|
-
width: useColumnSizing ? column.getSize() : void 0,
|
|
6359
|
-
minWidth: useColumnSizing ? column.columnDef.minSize : void 0,
|
|
6360
|
-
maxWidth: useColumnSizing ? column.columnDef.maxSize : void 0,
|
|
6361
|
-
...tableFilterCellProps?.style,
|
|
6362
|
-
...column.columnDef?.meta?.filterCellProps?.style
|
|
6363
|
-
},
|
|
6364
|
-
children: column.getCanFilter() && column.columnDef.meta?.renderColumnFilter?.({
|
|
6365
|
-
column,
|
|
6366
|
-
table
|
|
6367
|
-
})
|
|
6368
|
-
},
|
|
6369
|
-
column.id
|
|
6370
|
-
);
|
|
6371
|
-
}) })
|
|
6372
|
-
]
|
|
6373
|
-
}
|
|
6374
|
-
),
|
|
6375
|
-
/* @__PURE__ */ jsx(TableBody, { ...components?.tableBodyProps, children: table.getRowModel().rows.map((row) => {
|
|
6376
|
-
const tableDataRowProps = typeof components?.tableDataRowProps === "function" ? components.tableDataRowProps({ row, table }) || {} : components?.tableDataRowProps || {};
|
|
6377
|
-
return /* @__PURE__ */ createElement(
|
|
6378
|
-
TableRow,
|
|
6379
|
-
{
|
|
6380
|
-
"data-testid": `table-data-row-${row.id}`,
|
|
6381
|
-
...tableDataRowProps,
|
|
6382
|
-
key: row.id,
|
|
6383
|
-
className: cn("group", tableDataRowProps?.className),
|
|
6384
|
-
"data-state": row.getIsSelected() ? "selected" : "non-selected",
|
|
6385
|
-
...getRowClickHandlers(onRowClick ?? (() => {
|
|
6386
|
-
}), {
|
|
6387
|
-
rowData: row.original,
|
|
6388
|
-
row,
|
|
6389
|
-
table
|
|
6390
|
-
})
|
|
6391
|
-
},
|
|
6392
|
-
row.getVisibleCells().map((cell) => {
|
|
6393
|
-
const { classes, style } = getColumnPinningStyles(cell.column);
|
|
6394
|
-
const useColumnSizing = cell.column.columnDef.meta?.useColumnSizing ?? columnResizing?.enabled ?? false;
|
|
6395
|
-
const tableDataCellProps = typeof components?.tableDataCellProps === "function" ? components?.tableDataCellProps({ row, cell, table }) : components?.tableDataCellProps;
|
|
6396
|
-
return /* @__PURE__ */ jsx(
|
|
6397
|
-
TableCell,
|
|
6398
|
-
{
|
|
6399
|
-
"data-testid": `table-data-cell-${cell.id}`,
|
|
6400
|
-
"data-row-id": row.id,
|
|
6401
|
-
"data-column-id": cell.column.id,
|
|
6402
|
-
...tableDataCellProps,
|
|
6403
|
-
...cell.column.columnDef?.meta?.cellProps,
|
|
6404
|
-
className: cn(
|
|
6576
|
+
/* @__PURE__ */ jsxs(
|
|
6577
|
+
Table,
|
|
6578
|
+
{
|
|
6579
|
+
...components?.tableProps,
|
|
6580
|
+
style: { tableLayout: virtualEnabled ? "fixed" : "auto", ...components?.tableProps?.style },
|
|
6581
|
+
children: [
|
|
6582
|
+
/* @__PURE__ */ jsxs(
|
|
6583
|
+
TableHeader,
|
|
6584
|
+
{
|
|
6585
|
+
className: cn("sticky top-0 z-10 bg-white", components?.tableHeaderProps?.className),
|
|
6586
|
+
...components?.tableHeaderProps,
|
|
6587
|
+
children: [
|
|
6588
|
+
/* @__PURE__ */ jsx(
|
|
6589
|
+
TableHeaderRows,
|
|
6405
6590
|
{
|
|
6406
|
-
|
|
6407
|
-
|
|
6408
|
-
|
|
6409
|
-
|
|
6410
|
-
|
|
6411
|
-
cell.column.columnDef?.meta?.cellProps?.className
|
|
6591
|
+
table,
|
|
6592
|
+
columnResizing,
|
|
6593
|
+
virtual,
|
|
6594
|
+
components
|
|
6595
|
+
}
|
|
6412
6596
|
),
|
|
6413
|
-
|
|
6414
|
-
|
|
6415
|
-
|
|
6416
|
-
|
|
6417
|
-
|
|
6418
|
-
|
|
6419
|
-
|
|
6420
|
-
|
|
6421
|
-
|
|
6422
|
-
|
|
6423
|
-
|
|
6424
|
-
|
|
6425
|
-
|
|
6426
|
-
|
|
6427
|
-
|
|
6428
|
-
|
|
6597
|
+
/* @__PURE__ */ jsx(
|
|
6598
|
+
TableFilterRow,
|
|
6599
|
+
{
|
|
6600
|
+
table,
|
|
6601
|
+
filterableColumns,
|
|
6602
|
+
isSomeColumnsFilterable,
|
|
6603
|
+
columnResizing,
|
|
6604
|
+
virtual,
|
|
6605
|
+
components
|
|
6606
|
+
}
|
|
6607
|
+
)
|
|
6608
|
+
]
|
|
6609
|
+
}
|
|
6610
|
+
),
|
|
6611
|
+
/* @__PURE__ */ jsx(TableBody, { ...components?.tableBodyProps, children: /* @__PURE__ */ jsx(
|
|
6612
|
+
TableDataRows,
|
|
6613
|
+
{
|
|
6614
|
+
table,
|
|
6615
|
+
rowModel,
|
|
6616
|
+
virtualEnabled,
|
|
6617
|
+
virtualItems,
|
|
6618
|
+
virtualizer,
|
|
6619
|
+
paddingTop,
|
|
6620
|
+
paddingBottom,
|
|
6621
|
+
visibleColumnCount,
|
|
6622
|
+
columnResizing,
|
|
6623
|
+
virtual,
|
|
6624
|
+
onRowClick,
|
|
6625
|
+
components
|
|
6626
|
+
}
|
|
6627
|
+
) })
|
|
6628
|
+
]
|
|
6629
|
+
}
|
|
6630
|
+
),
|
|
6429
6631
|
activeStatusContentComputed === "emptyFilteredData" && /* @__PURE__ */ jsx(
|
|
6430
6632
|
StatusContentSlot_default,
|
|
6431
6633
|
{
|
|
@@ -7372,8 +7574,8 @@ var DISALLOWED_MARKS = ["bold", "italic", "link"];
|
|
|
7372
7574
|
var SUGGESTION_DEBOUNCE = 200;
|
|
7373
7575
|
var DEFAULT_CHIP_CLASS = "outline-1 outline-muted bg-muted/40 text-foreground";
|
|
7374
7576
|
var TokenView = ({ node, editor, getPos }) => {
|
|
7375
|
-
const [isFocused, setIsFocused] =
|
|
7376
|
-
|
|
7577
|
+
const [isFocused, setIsFocused] = React27__default.useState(false);
|
|
7578
|
+
React27__default.useEffect(() => {
|
|
7377
7579
|
const handler = () => {
|
|
7378
7580
|
const { from, to } = editor.state.selection;
|
|
7379
7581
|
const position = getPos();
|
|
@@ -8565,7 +8767,7 @@ function ToolbarPlugin({
|
|
|
8565
8767
|
isLink: hasLink
|
|
8566
8768
|
}));
|
|
8567
8769
|
}, []);
|
|
8568
|
-
|
|
8770
|
+
React27.useEffect(() => {
|
|
8569
8771
|
return mergeRegister(
|
|
8570
8772
|
editor.registerCommand(
|
|
8571
8773
|
CAN_UNDO_COMMAND,
|
|
@@ -9151,7 +9353,7 @@ function ControlledValuePlugin({
|
|
|
9151
9353
|
trackAppliedValue
|
|
9152
9354
|
}) {
|
|
9153
9355
|
const [editor] = useLexicalComposerContext();
|
|
9154
|
-
|
|
9356
|
+
React27.useEffect(() => {
|
|
9155
9357
|
if (value == null || trackAppliedValue.current === value) {
|
|
9156
9358
|
return;
|
|
9157
9359
|
}
|
|
@@ -9175,14 +9377,14 @@ function ControlledValuePlugin({
|
|
|
9175
9377
|
}
|
|
9176
9378
|
function EditableStatePlugin({ editable }) {
|
|
9177
9379
|
const [editor] = useLexicalComposerContext();
|
|
9178
|
-
|
|
9380
|
+
React27.useEffect(() => {
|
|
9179
9381
|
editor.setEditable(editable);
|
|
9180
9382
|
}, [editor, editable]);
|
|
9181
9383
|
return null;
|
|
9182
9384
|
}
|
|
9183
9385
|
function ImagesPlugin() {
|
|
9184
9386
|
const [editor] = useLexicalComposerContext();
|
|
9185
|
-
|
|
9387
|
+
React27.useEffect(() => {
|
|
9186
9388
|
return editor.registerCommand(
|
|
9187
9389
|
INSERT_IMAGE_COMMAND,
|
|
9188
9390
|
(payload) => {
|
|
@@ -9463,9 +9665,9 @@ var SIDEBAR_WIDTH = "16rem";
|
|
|
9463
9665
|
var SIDEBAR_WIDTH_MOBILE = "18rem";
|
|
9464
9666
|
var SIDEBAR_WIDTH_ICON = "3rem";
|
|
9465
9667
|
var SIDEBAR_KEYBOARD_SHORTCUT = "b";
|
|
9466
|
-
var SidebarContext =
|
|
9668
|
+
var SidebarContext = React27.createContext(null);
|
|
9467
9669
|
function useSidebar() {
|
|
9468
|
-
const context =
|
|
9670
|
+
const context = React27.useContext(SidebarContext);
|
|
9469
9671
|
if (!context) {
|
|
9470
9672
|
throw new Error("useSidebar must be used within a SidebarProvider.");
|
|
9471
9673
|
}
|
|
@@ -9481,10 +9683,10 @@ function SidebarProvider({
|
|
|
9481
9683
|
...props
|
|
9482
9684
|
}) {
|
|
9483
9685
|
const isMobile = useIsMobile();
|
|
9484
|
-
const [openMobile, setOpenMobile] =
|
|
9485
|
-
const [_open, _setOpen] =
|
|
9686
|
+
const [openMobile, setOpenMobile] = React27.useState(false);
|
|
9687
|
+
const [_open, _setOpen] = React27.useState(defaultOpen);
|
|
9486
9688
|
const open = openProp ?? _open;
|
|
9487
|
-
const setOpen =
|
|
9689
|
+
const setOpen = React27.useCallback(
|
|
9488
9690
|
(value) => {
|
|
9489
9691
|
const openState = typeof value === "function" ? value(open) : value;
|
|
9490
9692
|
if (setOpenProp) {
|
|
@@ -9496,10 +9698,10 @@ function SidebarProvider({
|
|
|
9496
9698
|
},
|
|
9497
9699
|
[setOpenProp, open]
|
|
9498
9700
|
);
|
|
9499
|
-
const toggleSidebar =
|
|
9701
|
+
const toggleSidebar = React27.useCallback(() => {
|
|
9500
9702
|
return isMobile ? setOpenMobile((open2) => !open2) : setOpen((open2) => !open2);
|
|
9501
9703
|
}, [isMobile, setOpen, setOpenMobile]);
|
|
9502
|
-
|
|
9704
|
+
React27.useEffect(() => {
|
|
9503
9705
|
const handleKeyDown = (event) => {
|
|
9504
9706
|
if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
|
|
9505
9707
|
event.preventDefault();
|
|
@@ -9510,7 +9712,7 @@ function SidebarProvider({
|
|
|
9510
9712
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
9511
9713
|
}, [toggleSidebar]);
|
|
9512
9714
|
const state = open ? "expanded" : "collapsed";
|
|
9513
|
-
const contextValue =
|
|
9715
|
+
const contextValue = React27.useMemo(
|
|
9514
9716
|
() => ({
|
|
9515
9717
|
state,
|
|
9516
9718
|
open,
|
|
@@ -9952,7 +10154,7 @@ function SidebarMenuSkeleton({
|
|
|
9952
10154
|
showIcon = false,
|
|
9953
10155
|
...props
|
|
9954
10156
|
}) {
|
|
9955
|
-
const width =
|
|
10157
|
+
const width = React27.useMemo(() => {
|
|
9956
10158
|
return `${Math.floor(Math.random() * 40) + 50}%`;
|
|
9957
10159
|
}, []);
|
|
9958
10160
|
return /* @__PURE__ */ jsxs(
|
|
@@ -10422,7 +10624,7 @@ function SortableRow({
|
|
|
10422
10624
|
id: value,
|
|
10423
10625
|
disabled: name === "columns.0.id"
|
|
10424
10626
|
});
|
|
10425
|
-
const style =
|
|
10627
|
+
const style = React27.useMemo(
|
|
10426
10628
|
() => ({
|
|
10427
10629
|
transform: CSS.Transform.toString(transform),
|
|
10428
10630
|
transition
|
|
@@ -10824,7 +11026,7 @@ function getCandidateWidths({
|
|
|
10824
11026
|
}
|
|
10825
11027
|
return DEVICE_SIZES;
|
|
10826
11028
|
}
|
|
10827
|
-
var Image2 =
|
|
11029
|
+
var Image2 = React27.forwardRef(function Image3({
|
|
10828
11030
|
src,
|
|
10829
11031
|
alt,
|
|
10830
11032
|
width,
|
|
@@ -10854,34 +11056,34 @@ var Image2 = React26.forwardRef(function Image3({
|
|
|
10854
11056
|
} = imgProps;
|
|
10855
11057
|
const widthNumber = toNumber(width);
|
|
10856
11058
|
const heightNumber = toNumber(height);
|
|
10857
|
-
|
|
11059
|
+
React27.useEffect(() => {
|
|
10858
11060
|
if (!fill && (!widthNumber || !heightNumber)) {
|
|
10859
11061
|
console.warn(
|
|
10860
11062
|
"[Image] When `fill` is false you should provide both `width` and `height` to prevent layout shifts."
|
|
10861
11063
|
);
|
|
10862
11064
|
}
|
|
10863
11065
|
}, [fill, heightNumber, widthNumber]);
|
|
10864
|
-
const candidateWidths =
|
|
11066
|
+
const candidateWidths = React27.useMemo(
|
|
10865
11067
|
() => getCandidateWidths({ width: widthNumber, sizes, fill }),
|
|
10866
11068
|
[fill, sizes, widthNumber]
|
|
10867
11069
|
);
|
|
10868
11070
|
const largestWidth = candidateWidths[candidateWidths.length - 1] ?? widthNumber ?? DEVICE_SIZES[DEVICE_SIZES.length - 1];
|
|
10869
|
-
const computedSrc =
|
|
11071
|
+
const computedSrc = React27.useMemo(() => {
|
|
10870
11072
|
if (unoptimized) {
|
|
10871
11073
|
return src;
|
|
10872
11074
|
}
|
|
10873
11075
|
return loader({ src, width: largestWidth, quality });
|
|
10874
11076
|
}, [largestWidth, loader, quality, src, unoptimized]);
|
|
10875
|
-
const computedSrcSet =
|
|
11077
|
+
const computedSrcSet = React27.useMemo(() => {
|
|
10876
11078
|
if (unoptimized) {
|
|
10877
11079
|
return void 0;
|
|
10878
11080
|
}
|
|
10879
11081
|
return candidateWidths.map((currentWidth) => `${loader({ src, width: currentWidth, quality })} ${currentWidth}w`).join(", ");
|
|
10880
11082
|
}, [candidateWidths, loader, quality, src, unoptimized]);
|
|
10881
11083
|
const sizesValue = sizes ?? (fill ? "100vw" : widthNumber ? `${widthNumber}px` : void 0);
|
|
10882
|
-
const [isLoaded, setIsLoaded] =
|
|
10883
|
-
const internalRef =
|
|
10884
|
-
const setRefs =
|
|
11084
|
+
const [isLoaded, setIsLoaded] = React27.useState(false);
|
|
11085
|
+
const internalRef = React27.useRef(null);
|
|
11086
|
+
const setRefs = React27.useCallback(
|
|
10885
11087
|
(node) => {
|
|
10886
11088
|
internalRef.current = node;
|
|
10887
11089
|
if (!ref) {
|
|
@@ -10895,7 +11097,7 @@ var Image2 = React26.forwardRef(function Image3({
|
|
|
10895
11097
|
},
|
|
10896
11098
|
[ref]
|
|
10897
11099
|
);
|
|
10898
|
-
|
|
11100
|
+
React27.useEffect(() => {
|
|
10899
11101
|
const image = internalRef.current;
|
|
10900
11102
|
if (!image) {
|
|
10901
11103
|
return;
|
|
@@ -10907,7 +11109,7 @@ var Image2 = React26.forwardRef(function Image3({
|
|
|
10907
11109
|
setIsLoaded(false);
|
|
10908
11110
|
}
|
|
10909
11111
|
}, [onLoadingComplete, src]);
|
|
10910
|
-
const handleLoad =
|
|
11112
|
+
const handleLoad = React27.useCallback(
|
|
10911
11113
|
(event) => {
|
|
10912
11114
|
setIsLoaded(true);
|
|
10913
11115
|
onLoadProp?.(event);
|
|
@@ -10919,7 +11121,7 @@ var Image2 = React26.forwardRef(function Image3({
|
|
|
10919
11121
|
const fetchPriority = priority ? "high" : fetchPriorityProp;
|
|
10920
11122
|
const decoding = decodingProp ?? "async";
|
|
10921
11123
|
const resolvedObjectFit = objectFit ?? (fill ? "cover" : void 0);
|
|
10922
|
-
const wrapperStyle =
|
|
11124
|
+
const wrapperStyle = React27.useMemo(
|
|
10923
11125
|
() => ({
|
|
10924
11126
|
position: "relative",
|
|
10925
11127
|
display: fill ? "block" : "inline-block",
|
|
@@ -10929,7 +11131,7 @@ var Image2 = React26.forwardRef(function Image3({
|
|
|
10929
11131
|
}),
|
|
10930
11132
|
[fill, height, width]
|
|
10931
11133
|
);
|
|
10932
|
-
const imageStyle =
|
|
11134
|
+
const imageStyle = React27.useMemo(
|
|
10933
11135
|
() => ({
|
|
10934
11136
|
width: fill ? "100%" : formatDimension(width) ?? void 0,
|
|
10935
11137
|
height: fill ? "100%" : formatDimension(height) ?? void 0,
|
|
@@ -11078,7 +11280,7 @@ var InfoIcon = ({ size = "1em", className, ...props }) => {
|
|
|
11078
11280
|
}
|
|
11079
11281
|
);
|
|
11080
11282
|
};
|
|
11081
|
-
var InfoIcon_default =
|
|
11283
|
+
var InfoIcon_default = React27__default.memo(InfoIcon);
|
|
11082
11284
|
var Navbar = ({
|
|
11083
11285
|
className,
|
|
11084
11286
|
title,
|
|
@@ -11210,7 +11412,7 @@ var Navbar = ({
|
|
|
11210
11412
|
}
|
|
11211
11413
|
);
|
|
11212
11414
|
};
|
|
11213
|
-
var navbar_default =
|
|
11415
|
+
var navbar_default = React27__default.memo(Navbar);
|
|
11214
11416
|
var usePreventPageLeaveStore = create((set) => ({
|
|
11215
11417
|
isPreventing: false,
|
|
11216
11418
|
setPreventing: (value) => set({ isPreventing: value })
|
|
@@ -11250,7 +11452,7 @@ var DefaultHeader = ({
|
|
|
11250
11452
|
classNames,
|
|
11251
11453
|
rightActions
|
|
11252
11454
|
}) => {
|
|
11253
|
-
const titleRef =
|
|
11455
|
+
const titleRef = React27.useRef(null);
|
|
11254
11456
|
const isTruncated = useTruncated_default({ elementRef: titleRef });
|
|
11255
11457
|
const textElement = title ? /* @__PURE__ */ jsx(
|
|
11256
11458
|
"span",
|
|
@@ -11589,7 +11791,7 @@ function isFragment(object) {
|
|
|
11589
11791
|
var isValidText = (val) => ["string", "number"].includes(typeof val);
|
|
11590
11792
|
function toArray(children, option = {}) {
|
|
11591
11793
|
let ret = [];
|
|
11592
|
-
|
|
11794
|
+
React27.Children.forEach(children, (child) => {
|
|
11593
11795
|
if ((child === void 0 || child === null) && !option.keepEmpty) {
|
|
11594
11796
|
return;
|
|
11595
11797
|
}
|
|
@@ -11603,9 +11805,9 @@ function toArray(children, option = {}) {
|
|
|
11603
11805
|
});
|
|
11604
11806
|
return ret;
|
|
11605
11807
|
}
|
|
11606
|
-
var MeasureText =
|
|
11607
|
-
const spanRef =
|
|
11608
|
-
|
|
11808
|
+
var MeasureText = React27.forwardRef(({ style, children }, ref) => {
|
|
11809
|
+
const spanRef = React27.useRef(null);
|
|
11810
|
+
React27.useImperativeHandle(ref, () => ({
|
|
11609
11811
|
isExceed: () => {
|
|
11610
11812
|
const span = spanRef.current;
|
|
11611
11813
|
return span.scrollHeight > span.clientHeight;
|
|
@@ -11663,19 +11865,19 @@ var lineClipStyle = {
|
|
|
11663
11865
|
};
|
|
11664
11866
|
function EllipsisMeasure(props) {
|
|
11665
11867
|
const { enableMeasure, width, text, children, rows, expanded, miscDeps, onEllipsis } = props;
|
|
11666
|
-
const nodeList =
|
|
11667
|
-
const nodeLen =
|
|
11668
|
-
const fullContent =
|
|
11669
|
-
const [ellipsisCutIndex, setEllipsisCutIndex] =
|
|
11670
|
-
const cutMidRef =
|
|
11671
|
-
const measureWhiteSpaceRef =
|
|
11672
|
-
const needEllipsisRef =
|
|
11673
|
-
const descRowsEllipsisRef =
|
|
11674
|
-
const symbolRowEllipsisRef =
|
|
11675
|
-
const [canEllipsis, setCanEllipsis] =
|
|
11676
|
-
const [needEllipsis, setNeedEllipsis] =
|
|
11677
|
-
const [ellipsisHeight, setEllipsisHeight] =
|
|
11678
|
-
const [parentWhiteSpace, setParentWhiteSpace] =
|
|
11868
|
+
const nodeList = React27.useMemo(() => toArray(text), [text]);
|
|
11869
|
+
const nodeLen = React27.useMemo(() => getNodesLen(nodeList), [text]);
|
|
11870
|
+
const fullContent = React27.useMemo(() => children(nodeList, false), [text]);
|
|
11871
|
+
const [ellipsisCutIndex, setEllipsisCutIndex] = React27.useState(null);
|
|
11872
|
+
const cutMidRef = React27.useRef(null);
|
|
11873
|
+
const measureWhiteSpaceRef = React27.useRef(null);
|
|
11874
|
+
const needEllipsisRef = React27.useRef(null);
|
|
11875
|
+
const descRowsEllipsisRef = React27.useRef(null);
|
|
11876
|
+
const symbolRowEllipsisRef = React27.useRef(null);
|
|
11877
|
+
const [canEllipsis, setCanEllipsis] = React27.useState(false);
|
|
11878
|
+
const [needEllipsis, setNeedEllipsis] = React27.useState(STATUS_MEASURE_NONE);
|
|
11879
|
+
const [ellipsisHeight, setEllipsisHeight] = React27.useState(0);
|
|
11880
|
+
const [parentWhiteSpace, setParentWhiteSpace] = React27.useState(null);
|
|
11679
11881
|
useIsomorphicLayoutEffect(() => {
|
|
11680
11882
|
if (enableMeasure && width && nodeLen) {
|
|
11681
11883
|
setNeedEllipsis(STATUS_MEASURE_PREPARE);
|
|
@@ -11718,7 +11920,7 @@ function EllipsisMeasure(props) {
|
|
|
11718
11920
|
setEllipsisCutIndex(isOverflow ? [minIndex, targetMidIndex] : [targetMidIndex, maxIndex]);
|
|
11719
11921
|
}
|
|
11720
11922
|
}, [ellipsisCutIndex, cutMidIndex]);
|
|
11721
|
-
const finalContent =
|
|
11923
|
+
const finalContent = React27.useMemo(() => {
|
|
11722
11924
|
if (!enableMeasure) {
|
|
11723
11925
|
return children(nodeList, false);
|
|
11724
11926
|
}
|
|
@@ -11809,10 +12011,10 @@ var Truncated = ({
|
|
|
11809
12011
|
tooltipProps,
|
|
11810
12012
|
tooltipContentProps
|
|
11811
12013
|
}) => {
|
|
11812
|
-
const elementRef =
|
|
11813
|
-
const [open, setOpen] =
|
|
11814
|
-
const [isTruncated, setIsTruncated] =
|
|
11815
|
-
const [measureWidth, setMeasureWidth] =
|
|
12014
|
+
const elementRef = React27.useRef(null);
|
|
12015
|
+
const [open, setOpen] = React27.useState(false);
|
|
12016
|
+
const [isTruncated, setIsTruncated] = React27.useState(false);
|
|
12017
|
+
const [measureWidth, setMeasureWidth] = React27.useState(0);
|
|
11816
12018
|
const Comp = as;
|
|
11817
12019
|
const normalizedChildren = typeof children === "string" ? children.replace(/>/g, ">\u200B") : children;
|
|
11818
12020
|
const lineClampLines = typeof ellipsis === "number" ? ellipsis : typeof ellipsis === "object" ? ellipsis?.lineClamp ?? 3 : null;
|
|
@@ -11837,13 +12039,13 @@ var Truncated = ({
|
|
|
11837
12039
|
setIsTruncated(false);
|
|
11838
12040
|
}
|
|
11839
12041
|
}, [enableMeasure]);
|
|
11840
|
-
const truncationClass =
|
|
12042
|
+
const truncationClass = React27.useMemo(() => {
|
|
11841
12043
|
if (!ellipsis) return "";
|
|
11842
12044
|
if (typeof ellipsis === "number") return `line-clamp-${ellipsis}`;
|
|
11843
12045
|
if (typeof ellipsis === "object") return `line-clamp-${lineClampLines ?? 3}`;
|
|
11844
12046
|
return "truncate";
|
|
11845
12047
|
}, [ellipsis, lineClampLines]);
|
|
11846
|
-
const clampedStyle =
|
|
12048
|
+
const clampedStyle = React27.useMemo(() => {
|
|
11847
12049
|
if (!lineClampLines) return style;
|
|
11848
12050
|
return {
|
|
11849
12051
|
...style,
|
|
@@ -11905,7 +12107,7 @@ var Truncated = ({
|
|
|
11905
12107
|
);
|
|
11906
12108
|
};
|
|
11907
12109
|
var truncated_default = Truncated;
|
|
11908
|
-
var InputPrimitive2 =
|
|
12110
|
+
var InputPrimitive2 = React27.forwardRef(
|
|
11909
12111
|
({ className, type = "text", ...props }, ref) => {
|
|
11910
12112
|
return /* @__PURE__ */ jsx(
|
|
11911
12113
|
"input",
|
|
@@ -11944,7 +12146,7 @@ var inputVariants2 = cva("", {
|
|
|
11944
12146
|
appearance: "filled"
|
|
11945
12147
|
}
|
|
11946
12148
|
});
|
|
11947
|
-
var Input2 =
|
|
12149
|
+
var Input2 = React27.forwardRef(
|
|
11948
12150
|
({
|
|
11949
12151
|
className,
|
|
11950
12152
|
wrapperClassName,
|
|
@@ -11977,8 +12179,8 @@ var Input2 = React26.forwardRef(
|
|
|
11977
12179
|
onChange: onChangeProp
|
|
11978
12180
|
} = rest;
|
|
11979
12181
|
const ariaInvalid = invalid ?? ariaInvalidProp;
|
|
11980
|
-
const messageId =
|
|
11981
|
-
const handleChange =
|
|
12182
|
+
const messageId = React27.useId();
|
|
12183
|
+
const handleChange = React27.useCallback(
|
|
11982
12184
|
(event) => {
|
|
11983
12185
|
onChangeProp?.(event);
|
|
11984
12186
|
onValueChange?.(event.target.value);
|
|
@@ -12372,13 +12574,13 @@ var useFieldNames = ({
|
|
|
12372
12574
|
fieldNames
|
|
12373
12575
|
}) => {
|
|
12374
12576
|
const { label: labelFieldKey = "label", value: valueFieldKey = "value" } = fieldNames || {};
|
|
12375
|
-
const getLabelField =
|
|
12577
|
+
const getLabelField = React27__default.useCallback(
|
|
12376
12578
|
(option) => {
|
|
12377
12579
|
return option?.[labelFieldKey];
|
|
12378
12580
|
},
|
|
12379
12581
|
[labelFieldKey]
|
|
12380
12582
|
);
|
|
12381
|
-
const getValueField =
|
|
12583
|
+
const getValueField = React27__default.useCallback(
|
|
12382
12584
|
(option) => {
|
|
12383
12585
|
return option?.[valueFieldKey];
|
|
12384
12586
|
},
|
|
@@ -12410,11 +12612,11 @@ var VirtualizedCommand = ({
|
|
|
12410
12612
|
onFocus
|
|
12411
12613
|
}) => {
|
|
12412
12614
|
const { getLabelField, getValueField } = useFieldNames_default({ fieldNames });
|
|
12413
|
-
const internalOptions =
|
|
12414
|
-
const [filteredOptions, setFilteredOptions] =
|
|
12415
|
-
const [focusedIndex, setFocusedIndex] =
|
|
12416
|
-
const [isKeyboardNavActive, setIsKeyboardNavActive] =
|
|
12417
|
-
const parentRef =
|
|
12615
|
+
const internalOptions = React27.useMemo(() => options ?? [], [options]);
|
|
12616
|
+
const [filteredOptions, setFilteredOptions] = React27.useState(internalOptions);
|
|
12617
|
+
const [focusedIndex, setFocusedIndex] = React27.useState(0);
|
|
12618
|
+
const [isKeyboardNavActive, setIsKeyboardNavActive] = React27.useState(false);
|
|
12619
|
+
const parentRef = React27.useRef(null);
|
|
12418
12620
|
const virtualizer = useVirtualizer({
|
|
12419
12621
|
count: filteredOptions.length,
|
|
12420
12622
|
getScrollElement: () => parentRef.current,
|
|
@@ -12422,14 +12624,14 @@ var VirtualizedCommand = ({
|
|
|
12422
12624
|
overscan: 2
|
|
12423
12625
|
});
|
|
12424
12626
|
const virtualOptions = virtualizer.getVirtualItems();
|
|
12425
|
-
const dynamicHeight =
|
|
12627
|
+
const dynamicHeight = React27.useMemo(() => {
|
|
12426
12628
|
const contentHeight = filteredOptions.length * ROW_HEIGHT;
|
|
12427
12629
|
if (contentHeight <= 0) {
|
|
12428
12630
|
return MIN_HEIGHT_EMPTY;
|
|
12429
12631
|
}
|
|
12430
12632
|
return Math.max(ROW_HEIGHT, Math.min(height, contentHeight));
|
|
12431
12633
|
}, [filteredOptions.length, height]);
|
|
12432
|
-
const scrollToIndex =
|
|
12634
|
+
const scrollToIndex = React27.useCallback(
|
|
12433
12635
|
(index) => {
|
|
12434
12636
|
virtualizer.scrollToIndex(index, {
|
|
12435
12637
|
align: "center"
|
|
@@ -12437,7 +12639,7 @@ var VirtualizedCommand = ({
|
|
|
12437
12639
|
},
|
|
12438
12640
|
[virtualizer]
|
|
12439
12641
|
);
|
|
12440
|
-
const handleSearch =
|
|
12642
|
+
const handleSearch = React27.useCallback(
|
|
12441
12643
|
(search) => {
|
|
12442
12644
|
setIsKeyboardNavActive(false);
|
|
12443
12645
|
setFilteredOptions(
|
|
@@ -12452,7 +12654,7 @@ var VirtualizedCommand = ({
|
|
|
12452
12654
|
},
|
|
12453
12655
|
[filterOption, getLabelField, internalOptions]
|
|
12454
12656
|
);
|
|
12455
|
-
const handleKeyDown =
|
|
12657
|
+
const handleKeyDown = React27.useCallback(
|
|
12456
12658
|
(event) => {
|
|
12457
12659
|
switch (event.key) {
|
|
12458
12660
|
case "ArrowDown": {
|
|
@@ -12487,7 +12689,7 @@ var VirtualizedCommand = ({
|
|
|
12487
12689
|
},
|
|
12488
12690
|
[filteredOptions, focusedIndex, getValueField, onSelect, scrollToIndex]
|
|
12489
12691
|
);
|
|
12490
|
-
|
|
12692
|
+
React27.useEffect(() => {
|
|
12491
12693
|
if (value) {
|
|
12492
12694
|
const option = filteredOptions.find((option2) => {
|
|
12493
12695
|
const optionValue = getValueField(option2);
|
|
@@ -12614,13 +12816,13 @@ var ComboboxInner = ({
|
|
|
12614
12816
|
defaultValue,
|
|
12615
12817
|
value
|
|
12616
12818
|
});
|
|
12617
|
-
const currentSelectedOption =
|
|
12819
|
+
const currentSelectedOption = React27.useMemo(() => {
|
|
12618
12820
|
return options?.find((option) => {
|
|
12619
12821
|
const optionValue = getValueField(option);
|
|
12620
12822
|
return optionValue === selectedValue;
|
|
12621
12823
|
});
|
|
12622
12824
|
}, [getValueField, options, selectedValue]);
|
|
12623
|
-
const renderValue =
|
|
12825
|
+
const renderValue = React27.useMemo(() => {
|
|
12624
12826
|
if (!selectedValue) return placeholder2;
|
|
12625
12827
|
if (currentSelectedOption) {
|
|
12626
12828
|
return getLabelField(currentSelectedOption);
|
|
@@ -12630,7 +12832,7 @@ var ComboboxInner = ({
|
|
|
12630
12832
|
}
|
|
12631
12833
|
return null;
|
|
12632
12834
|
}, [currentSelectedOption, getLabelField, placeholder2, selectedValue, showValueWhenNoMatch]);
|
|
12633
|
-
const handleSelect =
|
|
12835
|
+
const handleSelect = React27.useCallback(
|
|
12634
12836
|
(selected, option) => {
|
|
12635
12837
|
setSelectedValue(selected);
|
|
12636
12838
|
setOpenPopover(false);
|
|
@@ -12643,7 +12845,7 @@ var ComboboxInner = ({
|
|
|
12643
12845
|
},
|
|
12644
12846
|
[onOpenChange, onSelect, setOpenPopover, setSelectedValue]
|
|
12645
12847
|
);
|
|
12646
|
-
const handleOpenPopover =
|
|
12848
|
+
const handleOpenPopover = React27.useCallback(
|
|
12647
12849
|
(isOpen) => {
|
|
12648
12850
|
if (disabled) return;
|
|
12649
12851
|
setOpenPopover(isOpen);
|
|
@@ -12653,7 +12855,7 @@ var ComboboxInner = ({
|
|
|
12653
12855
|
},
|
|
12654
12856
|
[disabled, onOpenChange, setOpenPopover]
|
|
12655
12857
|
);
|
|
12656
|
-
const handleClear =
|
|
12858
|
+
const handleClear = React27.useCallback(
|
|
12657
12859
|
(event) => {
|
|
12658
12860
|
event.stopPropagation();
|
|
12659
12861
|
setSelectedValue(void 0);
|
|
@@ -12742,7 +12944,7 @@ var ComboboxInner = ({
|
|
|
12742
12944
|
)
|
|
12743
12945
|
] });
|
|
12744
12946
|
};
|
|
12745
|
-
var Combobox =
|
|
12947
|
+
var Combobox = React27.forwardRef(ComboboxInner);
|
|
12746
12948
|
var Combobox_default = Combobox;
|
|
12747
12949
|
var TruncatedMouseEnterDiv = ({
|
|
12748
12950
|
value,
|
|
@@ -12867,6 +13069,6 @@ var TabSelect = ({
|
|
|
12867
13069
|
);
|
|
12868
13070
|
};
|
|
12869
13071
|
|
|
12870
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionMenu, AdministrationIcon, AdvanceSearch_default as AdvanceSearch, AnalyticsIcon, application_log_default as ApplicationLogIcon, arrow_default as ArrowIcon, AuditFooter, Button, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Combobox_default as Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CropperModal, CropperModalError, custom_action_status_default as CustomActionStatusIcon, custom_field_default as CustomFieldIcon, DIALOG_ALERT_I18N_SUBNAMESPACE, DIALOG_ALERT_TEMPLATES, DashboardIcon, DataEntryIcon, DataTable_default as DataTable, DatePicker2 as DatePicker, decrease_default as DecreaseIcon, Dialog, DialogAlert, DialogAlertProvider, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger, ErrorCompression, ErrorCreateCanvas, ErrorGeneratingBlob, ErrorInvalidSVG, ErrorSVGExceedSize, filters_default as FiltersIcon, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormulaEditor, GridSettingsModal_default as GridSettingsModal, HamburgerMenuIcon, HandymanIcon, HeaderCell_default as HeaderCell, Image2 as Image, information_default as InformationIcon, Input, InputNumber_default as InputNumber, Label2 as Label, LookupSelect, MailIcon, MainListContainer_default as MainListContainer, ManIcon, ManagementIcon, MenuIcon, MonthPicker2 as MonthPicker, navbar_default as Navbar, not_found_default as NotFoundIcon, plus_default as PlusIcon, Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger, PowerIcon, PreventPageLeave_default as PreventPageLeave, QuestionIcon, RadioGroupItem, RadioGroupRoot, RadioLabel, RichText, RightPanelContainer_default as RightPanelContainer, role_default as RoleIcon, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, SetupIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, calendar_default as SuiCalendarIcon, calendar2_default as SuiCalendarIcon2, check_default as SuiCheckIcon, dots_vertical_default as SuiDotsVerticalIcon, empty_data_default as SuiEmptyDataIcon, expand_default as SuiExpandIcon, filter_default as SuiFilterIcon, setting_default as SuiSettingIcon, triangle_down_default as SuiTriangleDownIcon, warning_default as SuiWarningIcon, Switch, TabSelect, Textarea, ToolBoxIcon, Tooltip2 as Tooltip, TooltipArrow, TooltipContent2 as TooltipContent, TooltipProvider2 as TooltipProvider, TooltipTrigger2 as TooltipTrigger, trash_default as TrashIcon, truncated_default as Truncated, truncatedMouseEnterDiv_default as TruncatedMouseEnterDiv, ui_exports as UI, user_alone_default as UserAloneIcon, user_friend_default as UserFriendIcon, user_default as UserIcon, VirtualizedCommand_default as VirtualizedCommand, booleanToSelectValue, buildPrefixMap, buttonVariants, cn, compareAlphanumeric, debounce, defaultOperatorShortcuts, defaultOperators, formatISODate, getDialogAlertControls, inputVariants, isDefined, isEmptyObject, isValidParentheses, mapTokensToOutput, parseFormula, parseFormulaToToken, resetVisibleTableState, selectValueToBoolean, spinnerVariants, splitOperators, stripNullishObject, throttle, tokenizeFormulaString, useControllableState_default as useControllableState, useDraftGuardStore, useFormField, useGridSettingsStore_default as useGridSettingsStore, useHover_default as useHover, useIntersectionObserver_default as useIntersectionObserver, useIsomorphicLayoutEffect, useMediaQuery_default as useMediaQuery, usePreventPageLeave_default as usePreventPageLeave, usePreventPageLeaveStore_default as usePreventPageLeaveStore, useSafeBlocker, useScreenSize_default as useScreenSize, useSidebar, useTruncated_default as useTruncated, validateTokenPrefixes };
|
|
13072
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, ActionMenu, AdministrationIcon, AdvanceSearch_default as AdvanceSearch, AnalyticsIcon, application_log_default as ApplicationLogIcon, arrow_default as ArrowIcon, AuditFooter, Button, Checkbox, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, Combobox_default as Combobox, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, CropperModal, CropperModalError, custom_action_status_default as CustomActionStatusIcon, custom_field_default as CustomFieldIcon, DIALOG_ALERT_I18N_SUBNAMESPACE, DIALOG_ALERT_TEMPLATES, DashboardIcon, DataEntryIcon, DataTable_default as DataTable, DatePicker2 as DatePicker, decrease_default as DecreaseIcon, Dialog, DialogAlert, DialogAlertProvider, DialogContent, DialogDescription, DialogFooter, DialogTitle, DialogTrigger, ErrorCompression, ErrorCreateCanvas, ErrorGeneratingBlob, ErrorInvalidSVG, ErrorSVGExceedSize, filters_default as FiltersIcon, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, FormulaEditor, GridSettingsModal_default as GridSettingsModal, HamburgerMenuIcon, HandymanIcon, HeaderCell_default as HeaderCell, Image2 as Image, information_default as InformationIcon, Input, InputNumber_default as InputNumber, Label2 as Label, LookupSelect, MailIcon, MainListContainer_default as MainListContainer, ManIcon, ManagementIcon, MenuIcon, MonthPicker2 as MonthPicker, navbar_default as Navbar, not_found_default as NotFoundIcon, plus_default as PlusIcon, Popover, PopoverAnchor, PopoverArrow, PopoverContent, PopoverTrigger, PowerIcon, PreventPageLeave_default as PreventPageLeave, QuestionIcon, RadioGroupItem, RadioGroupRoot, RadioLabel, RichText, RightPanelContainer_default as RightPanelContainer, role_default as RoleIcon, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator2 as Separator, SetupIcon, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarLayout, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Spinner, calendar_default as SuiCalendarIcon, calendar2_default as SuiCalendarIcon2, check_default as SuiCheckIcon, dots_vertical_default as SuiDotsVerticalIcon, empty_data_default as SuiEmptyDataIcon, expand_default as SuiExpandIcon, filter_default as SuiFilterIcon, setting_default as SuiSettingIcon, triangle_down_default as SuiTriangleDownIcon, warning_default as SuiWarningIcon, Switch, TabSelect, Textarea, ToolBoxIcon, Tooltip2 as Tooltip, TooltipArrow, TooltipContent2 as TooltipContent, TooltipProvider2 as TooltipProvider, TooltipTrigger2 as TooltipTrigger, trash_default as TrashIcon, truncated_default as Truncated, truncatedMouseEnterDiv_default as TruncatedMouseEnterDiv, ui_exports as UI, user_alone_default as UserAloneIcon, user_friend_default as UserFriendIcon, user_default as UserIcon, VirtualizedCommand_default as VirtualizedCommand, booleanToSelectValue, buildPrefixMap, buttonVariants, cn, compareAlphanumeric, debounce, defaultOperatorShortcuts, defaultOperators, formatISODate, getDialogAlertControls, inputVariants, isDefined, isEmptyObject, isValidParentheses, mapTokensToOutput, parseFormula, parseFormulaToToken, resetVisibleTableState, selectValueToBoolean, spinnerVariants, splitOperators, stripNullishObject, throttle, tokenizeFormulaString, useBindRef_default as useBindRef, useControllableState_default as useControllableState, useDraftGuardStore, useFormField, useGridSettingsStore_default as useGridSettingsStore, useHover_default as useHover, useIntersectionObserver_default as useIntersectionObserver, useIsomorphicLayoutEffect, useMediaQuery_default as useMediaQuery, usePreventPageLeave_default as usePreventPageLeave, usePreventPageLeaveStore_default as usePreventPageLeaveStore, useSafeBlocker, useScreenSize_default as useScreenSize, useSidebar, useTruncated_default as useTruncated, validateTokenPrefixes };
|
|
12871
13073
|
//# sourceMappingURL=index.mjs.map
|
|
12872
13074
|
//# sourceMappingURL=index.mjs.map
|