@dmsi/wedgekit-react 0.0.476 → 0.0.477
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/{chunk-HSJ34DOK.js → chunk-WIDUWFLX.js} +748 -34
- package/dist/components/CalendarRange.cjs +452 -152
- package/dist/components/CalendarRange.js +1 -2
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.cjs +916 -151
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.js +1 -1
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.cjs +926 -161
- package/dist/components/DataGrid/ColumnSelectorHeaderCell/index.js +1 -1
- package/dist/components/DataGrid/PinnedColumns.cjs +941 -176
- package/dist/components/DataGrid/PinnedColumns.js +1 -1
- package/dist/components/DataGrid/TableBody/LoadingCell.cjs +917 -152
- package/dist/components/DataGrid/TableBody/LoadingCell.js +1 -1
- package/dist/components/DataGrid/TableBody/TableBodyRow.cjs +923 -158
- package/dist/components/DataGrid/TableBody/TableBodyRow.js +1 -1
- package/dist/components/DataGrid/TableBody/index.cjs +938 -173
- package/dist/components/DataGrid/TableBody/index.js +1 -1
- package/dist/components/DataGrid/index.cjs +1027 -262
- package/dist/components/DataGrid/index.js +1 -1
- package/dist/components/DataGrid/utils.cjs +917 -152
- package/dist/components/DataGrid/utils.js +1 -1
- package/dist/components/DateInput.js +7 -254
- package/dist/components/DateRangeInput.cjs +406 -176
- package/dist/components/DateRangeInput.js +1 -2
- package/dist/components/MobileDataGrid/ColumnSelector/index.cjs +923 -158
- package/dist/components/MobileDataGrid/ColumnSelector/index.js +1 -1
- package/dist/components/MobileDataGrid/MobileDataGridHeader.cjs +921 -156
- package/dist/components/MobileDataGrid/MobileDataGridHeader.js +1 -1
- package/dist/components/MobileDataGrid/index.cjs +971 -206
- package/dist/components/MobileDataGrid/index.js +1 -1
- package/dist/components/index.cjs +1145 -378
- package/dist/components/index.js +3 -1
- package/package.json +1 -1
- package/src/components/index.ts +1 -0
- package/dist/chunk-X35NLL3N.js +0 -493
|
@@ -146,6 +146,76 @@ function formatCurrencyDisplay(value) {
|
|
|
146
146
|
}
|
|
147
147
|
|
|
148
148
|
// src/utils/date.ts
|
|
149
|
+
function parseInputDate(input) {
|
|
150
|
+
const match = input.match(/^(\d{1,2})\/(\d{1,2})\/(\d{4})$/);
|
|
151
|
+
if (!match) {
|
|
152
|
+
return null;
|
|
153
|
+
}
|
|
154
|
+
const [, month, day, year] = match;
|
|
155
|
+
const paddedMonth = month.padStart(2, "0");
|
|
156
|
+
const paddedDay = day.padStart(2, "0");
|
|
157
|
+
return `${year}-${paddedMonth}-${paddedDay}`;
|
|
158
|
+
}
|
|
159
|
+
function isValidDate(dateString) {
|
|
160
|
+
const date = new Date(dateString);
|
|
161
|
+
return date instanceof Date && !isNaN(date.getTime()) && dateString === date.toISOString().split("T")[0];
|
|
162
|
+
}
|
|
163
|
+
function formatInputValue(value) {
|
|
164
|
+
const digits = value.replace(/\D/g, "");
|
|
165
|
+
if (digits.length < 2) {
|
|
166
|
+
return digits;
|
|
167
|
+
}
|
|
168
|
+
if (digits.length >= 4) {
|
|
169
|
+
return `${digits.slice(0, 2)}/${digits.slice(2, 4)}/${digits.slice(4, 8)}`;
|
|
170
|
+
}
|
|
171
|
+
return `${digits.slice(0, 2)}/${digits.slice(2)}`;
|
|
172
|
+
}
|
|
173
|
+
function isDigit(character) {
|
|
174
|
+
return /\d/.test(character);
|
|
175
|
+
}
|
|
176
|
+
function isSlash(character) {
|
|
177
|
+
return character === "/";
|
|
178
|
+
}
|
|
179
|
+
function countDigitsUpToCursor(value, cursorPosition) {
|
|
180
|
+
let digitCount = 0;
|
|
181
|
+
for (let i = 0; i < cursorPosition && i < value.length; i++) {
|
|
182
|
+
if (!isDigit(value[i])) {
|
|
183
|
+
continue;
|
|
184
|
+
}
|
|
185
|
+
digitCount++;
|
|
186
|
+
}
|
|
187
|
+
return digitCount;
|
|
188
|
+
}
|
|
189
|
+
function findPositionAfterDigitCount(formattedValue, targetDigitCount) {
|
|
190
|
+
let currentDigitCount = 0;
|
|
191
|
+
for (let i = 0; i < formattedValue.length; i++) {
|
|
192
|
+
if (!isDigit(formattedValue[i])) {
|
|
193
|
+
continue;
|
|
194
|
+
}
|
|
195
|
+
currentDigitCount++;
|
|
196
|
+
if (currentDigitCount !== targetDigitCount) {
|
|
197
|
+
continue;
|
|
198
|
+
}
|
|
199
|
+
const positionAfterDigit = i + 1;
|
|
200
|
+
const nextCharacter = formattedValue[positionAfterDigit];
|
|
201
|
+
if (nextCharacter && isSlash(nextCharacter)) {
|
|
202
|
+
return positionAfterDigit + 1;
|
|
203
|
+
}
|
|
204
|
+
return positionAfterDigit;
|
|
205
|
+
}
|
|
206
|
+
return formattedValue.length;
|
|
207
|
+
}
|
|
208
|
+
function calculateCursorPosition(originalValue, formattedValue, originalPosition) {
|
|
209
|
+
const targetDigitCount = countDigitsUpToCursor(
|
|
210
|
+
originalValue,
|
|
211
|
+
originalPosition
|
|
212
|
+
);
|
|
213
|
+
const newPosition = findPositionAfterDigitCount(
|
|
214
|
+
formattedValue,
|
|
215
|
+
targetDigitCount
|
|
216
|
+
);
|
|
217
|
+
return Math.min(newPosition, formattedValue.length);
|
|
218
|
+
}
|
|
149
219
|
function parseDateParts(dateString) {
|
|
150
220
|
const [yearStr, monthStr, dayStr] = dateString.split("-");
|
|
151
221
|
if (!yearStr || !monthStr || !dayStr) {
|
|
@@ -2925,23 +2995,718 @@ var Tooltip = ({
|
|
|
2925
2995
|
};
|
|
2926
2996
|
Tooltip.displayName = "Tooltip";
|
|
2927
2997
|
|
|
2928
|
-
// src/components/
|
|
2929
|
-
var
|
|
2998
|
+
// src/components/DateInput.tsx
|
|
2999
|
+
var import_react15 = require("react");
|
|
3000
|
+
var import_react_dom3 = require("react-dom");
|
|
2930
3001
|
|
|
2931
|
-
// src/components/
|
|
3002
|
+
// src/components/CalendarRange.tsx
|
|
2932
3003
|
var import_clsx14 = __toESM(require("clsx"), 1);
|
|
3004
|
+
var import_react14 = __toESM(require("react"), 1);
|
|
3005
|
+
var import_polyfill = require("@js-temporal/polyfill");
|
|
2933
3006
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
3007
|
+
function DateCell(_a) {
|
|
3008
|
+
var _b = _a, {
|
|
3009
|
+
date,
|
|
3010
|
+
isInMonth,
|
|
3011
|
+
isToday,
|
|
3012
|
+
isSelected,
|
|
3013
|
+
inRange,
|
|
3014
|
+
isDisabled,
|
|
3015
|
+
isRangeStart,
|
|
3016
|
+
isRangeEnd,
|
|
3017
|
+
onClick,
|
|
3018
|
+
onMouseEnter,
|
|
3019
|
+
onMouseLeave,
|
|
3020
|
+
cellPadding = "",
|
|
3021
|
+
isRangeDisabled = false,
|
|
3022
|
+
id,
|
|
3023
|
+
testid
|
|
3024
|
+
} = _b, props = __objRest(_b, [
|
|
3025
|
+
"date",
|
|
3026
|
+
"isInMonth",
|
|
3027
|
+
"isToday",
|
|
3028
|
+
"isSelected",
|
|
3029
|
+
"inRange",
|
|
3030
|
+
"isDisabled",
|
|
3031
|
+
"isRangeStart",
|
|
3032
|
+
"isRangeEnd",
|
|
3033
|
+
"onClick",
|
|
3034
|
+
"onMouseEnter",
|
|
3035
|
+
"onMouseLeave",
|
|
3036
|
+
"cellPadding",
|
|
3037
|
+
"isRangeDisabled",
|
|
3038
|
+
"id",
|
|
3039
|
+
"testid"
|
|
3040
|
+
]);
|
|
3041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3042
|
+
"span",
|
|
3043
|
+
__spreadProps(__spreadValues({}, props), {
|
|
3044
|
+
id,
|
|
3045
|
+
"data-testid": testid,
|
|
3046
|
+
className: (0, import_clsx14.default)(
|
|
3047
|
+
"flex items-center justify-center aspect-square select-none transition-colors border duration-100 font-medium",
|
|
3048
|
+
typography.caption,
|
|
3049
|
+
cellPadding,
|
|
3050
|
+
!isToday && !isSelected && !inRange && !isDisabled && !isRangeStart && !isRangeEnd && "border-transparent",
|
|
3051
|
+
!isInMonth && "border-transparent",
|
|
3052
|
+
// Today: subtle border ring
|
|
3053
|
+
isToday && !isSelected && !inRange && "rounded-full border-border-primary-normal ",
|
|
3054
|
+
// Selected: Figma blue, white text, strong shadow
|
|
3055
|
+
isSelected && "bg-action-400 text-white border-action-400 z-10",
|
|
3056
|
+
!isSelected && !inRange && "rounded-base",
|
|
3057
|
+
// When range is disabled OR when only 'from' is selected (no range yet), apply rounded corners
|
|
3058
|
+
(isRangeDisabled || !inRange && isSelected) && "rounded-base",
|
|
3059
|
+
inRange && isSelected && "hover:border-action-500",
|
|
3060
|
+
// In range: Figma light blue background
|
|
3061
|
+
inRange && !isSelected && "bg-action-100 text-text-primary-normal border-y-action-400 border-x-0 ",
|
|
3062
|
+
// Disabled: Figma gray, no pointer, no hover
|
|
3063
|
+
isDisabled && !inRange ? "text-text-primary-disabled bg-transparent pointer-events-none opacity-40 border-transparent" : [
|
|
3064
|
+
"text-text-primary-normal cursor-pointer",
|
|
3065
|
+
// Figma hover: blue bg, blue text (or red text if selected)
|
|
3066
|
+
isSelected ? "hover:bg-background-action-primary-hover hover:text-white" : "hover:bg-action-100 hover:text-text-action-primary-hover",
|
|
3067
|
+
// Figma active: darker blue bg, white text
|
|
3068
|
+
"active:bg-action-300 active:text-white",
|
|
3069
|
+
// Figma focus: ring
|
|
3070
|
+
"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-action-400"
|
|
3071
|
+
],
|
|
3072
|
+
isRangeStart && "rounded-l",
|
|
3073
|
+
isRangeEnd && "rounded-r"
|
|
3074
|
+
),
|
|
3075
|
+
tabIndex: isDisabled ? -1 : 0,
|
|
3076
|
+
"aria-disabled": isDisabled,
|
|
3077
|
+
onClick: () => !isDisabled && isInMonth && onClick(),
|
|
3078
|
+
onMouseEnter: () => isInMonth && onMouseEnter(),
|
|
3079
|
+
onMouseLeave: () => isInMonth && onMouseLeave(),
|
|
3080
|
+
children: isInMonth ? date.day : ""
|
|
3081
|
+
})
|
|
3082
|
+
);
|
|
3083
|
+
}
|
|
3084
|
+
function CalendarRange({
|
|
3085
|
+
from,
|
|
3086
|
+
to,
|
|
3087
|
+
onChange,
|
|
3088
|
+
isDateAvailable,
|
|
3089
|
+
mode = "double",
|
|
3090
|
+
cardStyle = false,
|
|
3091
|
+
disableRange = false,
|
|
3092
|
+
id,
|
|
3093
|
+
testid
|
|
3094
|
+
}) {
|
|
3095
|
+
const weekDays = ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"];
|
|
3096
|
+
const parseDate = (d) => {
|
|
3097
|
+
if (!d) {
|
|
3098
|
+
return void 0;
|
|
3099
|
+
}
|
|
3100
|
+
try {
|
|
3101
|
+
if (typeof d === "number") {
|
|
3102
|
+
return import_polyfill.Temporal.PlainDate.from(new Date(d).toISOString().slice(0, 10));
|
|
3103
|
+
}
|
|
3104
|
+
if (typeof d === "string") {
|
|
3105
|
+
return import_polyfill.Temporal.PlainDate.from(d);
|
|
3106
|
+
}
|
|
3107
|
+
return void 0;
|
|
3108
|
+
} catch (error) {
|
|
3109
|
+
console.error("Invalid date format:", d, error);
|
|
3110
|
+
return import_polyfill.Temporal.Now.plainDateISO();
|
|
3111
|
+
}
|
|
3112
|
+
};
|
|
3113
|
+
const fromDate = parseDate(from);
|
|
3114
|
+
const toDate = parseDate(to);
|
|
3115
|
+
const today = import_polyfill.Temporal.Now.plainDateISO();
|
|
3116
|
+
const [baseMonth, setBaseMonth] = (0, import_react14.useState)(
|
|
3117
|
+
fromDate != null ? fromDate : today.with({ day: 1 })
|
|
3118
|
+
);
|
|
3119
|
+
const [selecting, setSelecting] = (0, import_react14.useState)("from");
|
|
3120
|
+
const [pendingFrom, setPendingFrom] = (0, import_react14.useState)(void 0);
|
|
3121
|
+
const [hoveredDate, setHoveredDate] = (0, import_react14.useState)(void 0);
|
|
3122
|
+
(0, import_react14.useEffect)(() => {
|
|
3123
|
+
if (fromDate) {
|
|
3124
|
+
setBaseMonth(fromDate.with({ day: 1 }));
|
|
3125
|
+
} else if (toDate) {
|
|
3126
|
+
setBaseMonth(toDate.with({ day: 1 }));
|
|
3127
|
+
}
|
|
3128
|
+
}, [from, to]);
|
|
3129
|
+
(0, import_react14.useEffect)(() => {
|
|
3130
|
+
if (fromDate && toDate) {
|
|
3131
|
+
setSelecting("from");
|
|
3132
|
+
setPendingFrom(void 0);
|
|
3133
|
+
setHoveredDate(void 0);
|
|
3134
|
+
}
|
|
3135
|
+
}, [from, to]);
|
|
3136
|
+
function getMonthData(monthOffset) {
|
|
3137
|
+
const monthDate = baseMonth.add({ months: monthOffset }).with({ day: 1 });
|
|
3138
|
+
const days = monthDate.daysInMonth;
|
|
3139
|
+
const firstDayOffset = monthDate.dayOfWeek % 7;
|
|
3140
|
+
return {
|
|
3141
|
+
name: monthDate.toLocaleString("en-US", { month: "long" }),
|
|
3142
|
+
year: monthDate.year,
|
|
3143
|
+
days,
|
|
3144
|
+
firstDayOffset,
|
|
3145
|
+
date: monthDate
|
|
3146
|
+
};
|
|
3147
|
+
}
|
|
3148
|
+
function getMonthDataWith(monthOffset) {
|
|
3149
|
+
const monthDate = baseMonth.with({ month: monthOffset }).with({ day: 1 });
|
|
3150
|
+
const days = monthDate.daysInMonth;
|
|
3151
|
+
const firstDayOffset = monthDate.dayOfWeek % 7;
|
|
3152
|
+
return {
|
|
3153
|
+
name: monthDate.toLocaleString("en-US", { month: "long" }),
|
|
3154
|
+
year: monthDate.year,
|
|
3155
|
+
days,
|
|
3156
|
+
firstDayOffset,
|
|
3157
|
+
date: monthDate
|
|
3158
|
+
};
|
|
3159
|
+
}
|
|
3160
|
+
function handleDayClick(date) {
|
|
3161
|
+
if (isDateAvailable && !isDateAvailable(date)) return;
|
|
3162
|
+
if (mode === "single" && disableRange) {
|
|
3163
|
+
if (onChange) {
|
|
3164
|
+
onChange(date.toString(), date.toString());
|
|
3165
|
+
}
|
|
3166
|
+
return;
|
|
3167
|
+
}
|
|
3168
|
+
if (selecting === "from") {
|
|
3169
|
+
setPendingFrom(date);
|
|
3170
|
+
setSelecting("to");
|
|
3171
|
+
setHoveredDate(void 0);
|
|
3172
|
+
} else if (pendingFrom) {
|
|
3173
|
+
if (onChange) {
|
|
3174
|
+
const [start, end] = import_polyfill.Temporal.PlainDate.compare(date, pendingFrom) < 0 ? [date, pendingFrom] : [pendingFrom, date];
|
|
3175
|
+
onChange(start.toString(), end.toString());
|
|
3176
|
+
}
|
|
3177
|
+
setPendingFrom(void 0);
|
|
3178
|
+
setSelecting("from");
|
|
3179
|
+
setHoveredDate(void 0);
|
|
3180
|
+
}
|
|
3181
|
+
}
|
|
3182
|
+
function isInRange(date) {
|
|
3183
|
+
if (mode === "single" && disableRange) {
|
|
3184
|
+
return false;
|
|
3185
|
+
}
|
|
3186
|
+
if (pendingFrom && selecting === "to" && hoveredDate) {
|
|
3187
|
+
const [start, end] = import_polyfill.Temporal.PlainDate.compare(hoveredDate, pendingFrom) < 0 ? [hoveredDate, pendingFrom] : [pendingFrom, hoveredDate];
|
|
3188
|
+
return import_polyfill.Temporal.PlainDate.compare(date, start) >= 0 && import_polyfill.Temporal.PlainDate.compare(date, end) <= 0;
|
|
3189
|
+
}
|
|
3190
|
+
if (!pendingFrom && fromDate && toDate) {
|
|
3191
|
+
return import_polyfill.Temporal.PlainDate.compare(date, fromDate) >= 0 && import_polyfill.Temporal.PlainDate.compare(date, toDate) <= 0;
|
|
3192
|
+
}
|
|
3193
|
+
return false;
|
|
3194
|
+
}
|
|
3195
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3196
|
+
"div",
|
|
3197
|
+
{
|
|
3198
|
+
id,
|
|
3199
|
+
"data-testid": testid,
|
|
3200
|
+
className: (0, import_clsx14.default)(
|
|
3201
|
+
"relative bg-background-grouped-primary-normal rounded-base w-fit",
|
|
3202
|
+
layoutPaddding,
|
|
3203
|
+
layoutGap,
|
|
3204
|
+
cardStyle && "shadow-4",
|
|
3205
|
+
// baseTransition,
|
|
3206
|
+
"overflow-hidden"
|
|
3207
|
+
),
|
|
3208
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3209
|
+
"div",
|
|
3210
|
+
{
|
|
3211
|
+
className: (0, import_clsx14.default)(
|
|
3212
|
+
"flex flex-row items-start justify-start bg-background-primary-normal overflow-clip",
|
|
3213
|
+
layoutGap
|
|
3214
|
+
),
|
|
3215
|
+
children: (mode === "double" ? [0, 1] : [0]).map((offset, idx) => {
|
|
3216
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3217
|
+
CalendarPane,
|
|
3218
|
+
{
|
|
3219
|
+
getMonthData,
|
|
3220
|
+
getMonthDataWith,
|
|
3221
|
+
offset,
|
|
3222
|
+
idx,
|
|
3223
|
+
id,
|
|
3224
|
+
testid,
|
|
3225
|
+
baseMonth,
|
|
3226
|
+
setBaseMonth,
|
|
3227
|
+
mode,
|
|
3228
|
+
pendingFrom,
|
|
3229
|
+
weekDays,
|
|
3230
|
+
fromDate,
|
|
3231
|
+
toDate,
|
|
3232
|
+
isDateAvailable,
|
|
3233
|
+
disableRange,
|
|
3234
|
+
hoveredDate,
|
|
3235
|
+
isInRange,
|
|
3236
|
+
today,
|
|
3237
|
+
setHoveredDate,
|
|
3238
|
+
handleDayClick
|
|
3239
|
+
},
|
|
3240
|
+
idx
|
|
3241
|
+
);
|
|
3242
|
+
})
|
|
3243
|
+
}
|
|
3244
|
+
)
|
|
3245
|
+
}
|
|
3246
|
+
);
|
|
3247
|
+
}
|
|
3248
|
+
function CalendarPane({
|
|
3249
|
+
getMonthData,
|
|
3250
|
+
getMonthDataWith,
|
|
3251
|
+
offset,
|
|
3252
|
+
idx,
|
|
3253
|
+
id,
|
|
3254
|
+
testid,
|
|
3255
|
+
baseMonth,
|
|
3256
|
+
setBaseMonth,
|
|
3257
|
+
mode,
|
|
3258
|
+
pendingFrom,
|
|
3259
|
+
weekDays,
|
|
3260
|
+
fromDate,
|
|
3261
|
+
toDate,
|
|
3262
|
+
isDateAvailable,
|
|
3263
|
+
disableRange,
|
|
3264
|
+
hoveredDate,
|
|
3265
|
+
isInRange,
|
|
3266
|
+
today,
|
|
3267
|
+
setHoveredDate,
|
|
3268
|
+
handleDayClick
|
|
3269
|
+
}) {
|
|
3270
|
+
const months = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11];
|
|
3271
|
+
const years = Array.from({ length: 100 }).map(
|
|
3272
|
+
(_, i) => baseMonth.year - 50 + i
|
|
3273
|
+
);
|
|
3274
|
+
const [monthMenuOpen, setMonthMenuOpen] = (0, import_react14.useState)(false);
|
|
3275
|
+
const [yearMenuOpen, setYearMenuOpen] = (0, import_react14.useState)(false);
|
|
3276
|
+
const monthMenuRef = (0, import_react14.useRef)(null);
|
|
3277
|
+
const yearMenuRef = (0, import_react14.useRef)(null);
|
|
3278
|
+
const month = getMonthData(offset);
|
|
3279
|
+
const totalCells = 42;
|
|
3280
|
+
const emptyCells = month.firstDayOffset;
|
|
3281
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_react14.default.Fragment, { children: [
|
|
3282
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
3283
|
+
"div",
|
|
3284
|
+
{
|
|
3285
|
+
className: (0, import_clsx14.default)("flex flex-col"),
|
|
3286
|
+
children: [
|
|
3287
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(
|
|
3288
|
+
"div",
|
|
3289
|
+
{
|
|
3290
|
+
className: (0, import_clsx14.default)(
|
|
3291
|
+
"flex flex-row items-center justify-between",
|
|
3292
|
+
typography.label,
|
|
3293
|
+
"text-text-action-primary-normal"
|
|
3294
|
+
),
|
|
3295
|
+
children: [
|
|
3296
|
+
idx === 0 ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3297
|
+
"button",
|
|
3298
|
+
{
|
|
3299
|
+
id: id ? `${id}-prev-month-button` : void 0,
|
|
3300
|
+
"data-testid": testid ? `${testid}-prev-month-button` : void 0,
|
|
3301
|
+
type: "button",
|
|
3302
|
+
className: (0, import_clsx14.default)(
|
|
3303
|
+
"flex items-center justify-center rounded-base hover:bg-action-100 active:bg-action-300 text-icon-action-primary-normal",
|
|
3304
|
+
componentPadding
|
|
3305
|
+
),
|
|
3306
|
+
"aria-label": "Previous month",
|
|
3307
|
+
onClick: () => setBaseMonth(baseMonth.subtract({ months: 1 })),
|
|
3308
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { name: "chevron_left", size: 24 })
|
|
3309
|
+
}
|
|
3310
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: (0, import_clsx14.default)(componentPadding, "mr-1") }),
|
|
3311
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex gap-desktop-compact-component-padding", children: [
|
|
3312
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3313
|
+
"button",
|
|
3314
|
+
{
|
|
3315
|
+
ref: (el) => {
|
|
3316
|
+
monthMenuRef.current = el;
|
|
3317
|
+
},
|
|
3318
|
+
type: "button",
|
|
3319
|
+
onClick: () => {
|
|
3320
|
+
setMonthMenuOpen(true);
|
|
3321
|
+
setYearMenuOpen(false);
|
|
3322
|
+
},
|
|
3323
|
+
className: "font-semibold text-text-action-primary-normal text-[14px] py-[2px] truncate",
|
|
3324
|
+
children: month.name
|
|
3325
|
+
}
|
|
3326
|
+
),
|
|
3327
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3328
|
+
Menu,
|
|
3329
|
+
{
|
|
3330
|
+
show: monthMenuOpen,
|
|
3331
|
+
positionTo: monthMenuRef,
|
|
3332
|
+
setShow: () => setMonthMenuOpen(false),
|
|
3333
|
+
children: months.map((x) => [x, getMonthDataWith(x + 1)]).map(([x, m]) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3334
|
+
MenuOption,
|
|
3335
|
+
{
|
|
3336
|
+
selected: baseMonth.month === x + 1,
|
|
3337
|
+
onClick: () => {
|
|
3338
|
+
setBaseMonth(baseMonth.with({ month: x + 1 }));
|
|
3339
|
+
setMonthMenuOpen(false);
|
|
3340
|
+
},
|
|
3341
|
+
children: m.name
|
|
3342
|
+
},
|
|
3343
|
+
m.name
|
|
3344
|
+
))
|
|
3345
|
+
}
|
|
3346
|
+
),
|
|
3347
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3348
|
+
"button",
|
|
3349
|
+
{
|
|
3350
|
+
ref: (el) => {
|
|
3351
|
+
yearMenuRef.current = el;
|
|
3352
|
+
},
|
|
3353
|
+
type: "button",
|
|
3354
|
+
onClick: () => {
|
|
3355
|
+
setYearMenuOpen(true);
|
|
3356
|
+
setMonthMenuOpen(false);
|
|
3357
|
+
},
|
|
3358
|
+
className: "font-semibold text-text-action-primary-normal text-[14px] py-[2px] truncate",
|
|
3359
|
+
children: month.year
|
|
3360
|
+
}
|
|
3361
|
+
),
|
|
3362
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3363
|
+
Menu,
|
|
3364
|
+
{
|
|
3365
|
+
show: yearMenuOpen,
|
|
3366
|
+
positionTo: yearMenuRef,
|
|
3367
|
+
setShow: () => setYearMenuOpen(false),
|
|
3368
|
+
children: years.map((y) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3369
|
+
MenuOption,
|
|
3370
|
+
{
|
|
3371
|
+
selected: baseMonth.year === y,
|
|
3372
|
+
onClick: () => {
|
|
3373
|
+
setBaseMonth(baseMonth.with({ year: y }));
|
|
3374
|
+
setYearMenuOpen(false);
|
|
3375
|
+
},
|
|
3376
|
+
children: y
|
|
3377
|
+
},
|
|
3378
|
+
y
|
|
3379
|
+
))
|
|
3380
|
+
}
|
|
3381
|
+
)
|
|
3382
|
+
] }),
|
|
3383
|
+
(mode === "double" ? idx === 1 : true) ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3384
|
+
"button",
|
|
3385
|
+
{
|
|
3386
|
+
id: id ? `${id}-next-month-button` : void 0,
|
|
3387
|
+
"data-testid": testid ? `${testid}-next-month-button` : void 0,
|
|
3388
|
+
type: "button",
|
|
3389
|
+
className: (0, import_clsx14.default)(
|
|
3390
|
+
"flex items-center justify-center rounded-base hover:bg-action-100 active:bg-action-300 text-icon-action-primary-normal",
|
|
3391
|
+
componentPadding
|
|
3392
|
+
),
|
|
3393
|
+
"aria-label": "Next month",
|
|
3394
|
+
onClick: () => setBaseMonth(baseMonth.add({ months: 1 })),
|
|
3395
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(Icon, { name: "chevron_right", size: 24 })
|
|
3396
|
+
}
|
|
3397
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { className: (0, import_clsx14.default)(componentPadding, "ml-1") })
|
|
3398
|
+
]
|
|
3399
|
+
}
|
|
3400
|
+
),
|
|
3401
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: (0, import_clsx14.default)("grid grid-cols-7"), children: weekDays.map((d) => /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3402
|
+
"span",
|
|
3403
|
+
{
|
|
3404
|
+
className: (0, import_clsx14.default)(
|
|
3405
|
+
typography.caption,
|
|
3406
|
+
"text-text-secondary-normal text-center",
|
|
3407
|
+
"w-10"
|
|
3408
|
+
),
|
|
3409
|
+
children: d
|
|
3410
|
+
},
|
|
3411
|
+
d
|
|
3412
|
+
)) }),
|
|
3413
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: (0, import_clsx14.default)("grid grid-cols-7"), children: Array.from({ length: totalCells }).map((_, i) => {
|
|
3414
|
+
const day = i - emptyCells + 1;
|
|
3415
|
+
const date = month.date.with({ day: 1 }).add({
|
|
3416
|
+
days: i - emptyCells
|
|
3417
|
+
});
|
|
3418
|
+
const isInMonth = day > 0 && day <= month.days;
|
|
3419
|
+
const isToday = isInMonth && date.equals(today);
|
|
3420
|
+
const isSelected = isInMonth && (!pendingFrom && fromDate && date.equals(fromDate) || !pendingFrom && toDate && date.equals(toDate) || pendingFrom && date.equals(pendingFrom));
|
|
3421
|
+
const inRange = isInMonth && isInRange(date);
|
|
3422
|
+
const isDisabled = !isInMonth || (isDateAvailable ? !isDateAvailable(date) : false);
|
|
3423
|
+
const hoverDateIsBeforePendingFrom = hoveredDate && pendingFrom && import_polyfill.Temporal.PlainDate.compare(hoveredDate, pendingFrom) < 0;
|
|
3424
|
+
const hoverDateIsAfterPendingFrom = hoveredDate && pendingFrom && import_polyfill.Temporal.PlainDate.compare(hoveredDate, pendingFrom) >= 0;
|
|
3425
|
+
const isRangeStart = mode === "single" && disableRange ? false : !pendingFrom && isInMonth && fromDate && date.equals(fromDate) || hoverDateIsAfterPendingFrom && date.equals(pendingFrom);
|
|
3426
|
+
const isRangeEnd = mode === "single" && disableRange ? false : !pendingFrom && isInMonth && toDate && date.equals(toDate) || hoverDateIsBeforePendingFrom && date.equals(pendingFrom);
|
|
3427
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3428
|
+
DateCell,
|
|
3429
|
+
{
|
|
3430
|
+
id: id ? `${id}-date-${date.toString()}` : void 0,
|
|
3431
|
+
testid: testid ? `${testid}-date-${date.toString()}` : void 0,
|
|
3432
|
+
date,
|
|
3433
|
+
isInMonth: !!isInMonth,
|
|
3434
|
+
isToday: !!isToday,
|
|
3435
|
+
isSelected: !!isSelected,
|
|
3436
|
+
inRange: !!inRange,
|
|
3437
|
+
isDisabled: !!isDisabled,
|
|
3438
|
+
onClick: () => handleDayClick(date),
|
|
3439
|
+
onMouseEnter: () => setHoveredDate(date),
|
|
3440
|
+
onMouseLeave: () => setHoveredDate(void 0),
|
|
3441
|
+
isRangeStart: !!isRangeStart,
|
|
3442
|
+
isRangeEnd: !!isRangeEnd,
|
|
3443
|
+
isRangeDisabled: mode === "single" && disableRange,
|
|
3444
|
+
cellPadding: componentPadding
|
|
3445
|
+
},
|
|
3446
|
+
i
|
|
3447
|
+
);
|
|
3448
|
+
}) })
|
|
3449
|
+
]
|
|
3450
|
+
}
|
|
3451
|
+
),
|
|
3452
|
+
mode === "double" && idx === 0 && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
3453
|
+
"div",
|
|
3454
|
+
{
|
|
3455
|
+
className: (0, import_clsx14.default)(
|
|
3456
|
+
"self-stretch bg-border-primary-normal rounded-base",
|
|
3457
|
+
// 1px width, full height, matches Figma divider
|
|
3458
|
+
"w-px"
|
|
3459
|
+
)
|
|
3460
|
+
}
|
|
3461
|
+
)
|
|
3462
|
+
] }, month.name + month.year);
|
|
3463
|
+
}
|
|
2934
3464
|
|
|
2935
|
-
// src/components/
|
|
2936
|
-
var import_clsx15 = __toESM(require("clsx"), 1);
|
|
3465
|
+
// src/components/DateInput.tsx
|
|
2937
3466
|
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
3467
|
+
var DateInput = (_a) => {
|
|
3468
|
+
var _b = _a, {
|
|
3469
|
+
id,
|
|
3470
|
+
testid,
|
|
3471
|
+
value,
|
|
3472
|
+
onChange,
|
|
3473
|
+
placeholder = "MM/DD/YYYY",
|
|
3474
|
+
disabled,
|
|
3475
|
+
readOnly = false,
|
|
3476
|
+
label
|
|
3477
|
+
} = _b, props = __objRest(_b, [
|
|
3478
|
+
"id",
|
|
3479
|
+
"testid",
|
|
3480
|
+
"value",
|
|
3481
|
+
"onChange",
|
|
3482
|
+
"placeholder",
|
|
3483
|
+
"disabled",
|
|
3484
|
+
"readOnly",
|
|
3485
|
+
"label"
|
|
3486
|
+
]);
|
|
3487
|
+
const [visible, setVisible] = (0, import_react15.useState)(false);
|
|
3488
|
+
const [inputValue, setInputValue] = (0, import_react15.useState)("");
|
|
3489
|
+
const [isTyping, setIsTyping] = (0, import_react15.useState)(false);
|
|
3490
|
+
const popoverRef = (0, import_react15.useRef)(null);
|
|
3491
|
+
const triggerRef = (0, import_react15.useRef)(null);
|
|
3492
|
+
const rootRef = (0, import_react15.useRef)(null);
|
|
3493
|
+
const [calendarPosition, setCalendarPosition] = (0, import_react15.useState)({
|
|
3494
|
+
top: 0,
|
|
3495
|
+
left: 0,
|
|
3496
|
+
width: 0
|
|
3497
|
+
});
|
|
3498
|
+
const [from, to] = [value, ""];
|
|
3499
|
+
(0, import_react15.useEffect)(() => {
|
|
3500
|
+
if (!isTyping) {
|
|
3501
|
+
setInputValue(formatDisplayValue(from));
|
|
3502
|
+
}
|
|
3503
|
+
}, [from, isTyping]);
|
|
3504
|
+
(0, import_react15.useLayoutEffect)(() => {
|
|
3505
|
+
if (visible) {
|
|
3506
|
+
updatePosition();
|
|
3507
|
+
}
|
|
3508
|
+
}, [visible]);
|
|
3509
|
+
const updatePosition = () => {
|
|
3510
|
+
if (rootRef.current) {
|
|
3511
|
+
const rect = rootRef.current.getBoundingClientRect();
|
|
3512
|
+
setCalendarPosition({
|
|
3513
|
+
top: rect.bottom + window.scrollY,
|
|
3514
|
+
left: rect.left + window.scrollX,
|
|
3515
|
+
width: rect.width
|
|
3516
|
+
});
|
|
3517
|
+
}
|
|
3518
|
+
};
|
|
3519
|
+
(0, import_react15.useEffect)(() => {
|
|
3520
|
+
updatePosition();
|
|
3521
|
+
const resizeObserver = new ResizeObserver(updatePosition);
|
|
3522
|
+
if (triggerRef.current) {
|
|
3523
|
+
resizeObserver.observe(triggerRef.current);
|
|
3524
|
+
}
|
|
3525
|
+
window.addEventListener("scroll", updatePosition);
|
|
3526
|
+
return () => {
|
|
3527
|
+
resizeObserver.disconnect();
|
|
3528
|
+
window.removeEventListener("scroll", updatePosition);
|
|
3529
|
+
};
|
|
3530
|
+
}, []);
|
|
3531
|
+
(0, import_react15.useEffect)(() => {
|
|
3532
|
+
const handleKeyDown2 = (event) => {
|
|
3533
|
+
var _a2;
|
|
3534
|
+
if (event.key === "Escape" && popoverRef.current) {
|
|
3535
|
+
setVisible(false);
|
|
3536
|
+
(_a2 = triggerRef.current) == null ? void 0 : _a2.blur();
|
|
3537
|
+
}
|
|
3538
|
+
};
|
|
3539
|
+
document.addEventListener("keydown", handleKeyDown2);
|
|
3540
|
+
return () => {
|
|
3541
|
+
document.removeEventListener("keydown", handleKeyDown2);
|
|
3542
|
+
};
|
|
3543
|
+
});
|
|
3544
|
+
(0, import_react15.useEffect)(() => {
|
|
3545
|
+
const handleClickOutside = (event) => {
|
|
3546
|
+
if (popoverRef.current && !popoverRef.current.contains(event.target) && triggerRef.current && !triggerRef.current.contains(event.target)) {
|
|
3547
|
+
setVisible(false);
|
|
3548
|
+
}
|
|
3549
|
+
};
|
|
3550
|
+
document.addEventListener("mousedown", handleClickOutside);
|
|
3551
|
+
return () => {
|
|
3552
|
+
document.removeEventListener("mousedown", handleClickOutside);
|
|
3553
|
+
};
|
|
3554
|
+
}, []);
|
|
3555
|
+
function handleDateChange(fromValue) {
|
|
3556
|
+
onChange(fromValue);
|
|
3557
|
+
setVisible(false);
|
|
3558
|
+
setIsTyping(false);
|
|
3559
|
+
}
|
|
3560
|
+
const handleFocus = () => {
|
|
3561
|
+
if (readOnly) return;
|
|
3562
|
+
setVisible(true);
|
|
3563
|
+
};
|
|
3564
|
+
const handleClick = () => {
|
|
3565
|
+
handleFocus();
|
|
3566
|
+
};
|
|
3567
|
+
const handleInputChange = (event) => {
|
|
3568
|
+
if (readOnly) return;
|
|
3569
|
+
const rawValue = event.target.value;
|
|
3570
|
+
const cursorPosition = event.target.selectionStart || 0;
|
|
3571
|
+
setIsTyping(true);
|
|
3572
|
+
const formattedValue = formatInputValue(rawValue);
|
|
3573
|
+
setInputValue(formattedValue);
|
|
3574
|
+
requestAnimationFrame(() => {
|
|
3575
|
+
if (triggerRef.current) {
|
|
3576
|
+
const newPosition = calculateCursorPosition(
|
|
3577
|
+
rawValue,
|
|
3578
|
+
formattedValue,
|
|
3579
|
+
cursorPosition
|
|
3580
|
+
);
|
|
3581
|
+
triggerRef.current.setSelectionRange(newPosition, newPosition);
|
|
3582
|
+
}
|
|
3583
|
+
});
|
|
3584
|
+
const parsedDate = parseInputDate(formattedValue);
|
|
3585
|
+
if (parsedDate && isValidDate(parsedDate)) {
|
|
3586
|
+
onChange(parsedDate);
|
|
3587
|
+
}
|
|
3588
|
+
};
|
|
3589
|
+
const handleBlur = () => {
|
|
3590
|
+
setIsTyping(false);
|
|
3591
|
+
const parsedDate = parseInputDate(inputValue);
|
|
3592
|
+
if (!parsedDate || !isValidDate(parsedDate)) {
|
|
3593
|
+
setInputValue(formatDisplayValue(from));
|
|
3594
|
+
}
|
|
3595
|
+
};
|
|
3596
|
+
const handleKeyDown = (event) => {
|
|
3597
|
+
if (event.key === "Backspace") {
|
|
3598
|
+
const input = event.target;
|
|
3599
|
+
const cursorPosition = input.selectionStart || 0;
|
|
3600
|
+
const value2 = input.value;
|
|
3601
|
+
if (cursorPosition > 0 && value2[cursorPosition - 1] === "/") {
|
|
3602
|
+
event.preventDefault();
|
|
3603
|
+
const newValue = value2.slice(0, cursorPosition - 2) + value2.slice(cursorPosition);
|
|
3604
|
+
const formattedValue = formatInputValue(newValue);
|
|
3605
|
+
setInputValue(formattedValue);
|
|
3606
|
+
requestAnimationFrame(() => {
|
|
3607
|
+
if (triggerRef.current) {
|
|
3608
|
+
const newPosition = Math.max(0, cursorPosition - 2);
|
|
3609
|
+
triggerRef.current.setSelectionRange(newPosition, newPosition);
|
|
3610
|
+
}
|
|
3611
|
+
});
|
|
3612
|
+
setIsTyping(true);
|
|
3613
|
+
return;
|
|
3614
|
+
}
|
|
3615
|
+
}
|
|
3616
|
+
if (event.key === "Enter") {
|
|
3617
|
+
const parsedDate = parseInputDate(inputValue);
|
|
3618
|
+
if (parsedDate && isValidDate(parsedDate)) {
|
|
3619
|
+
onChange(parsedDate);
|
|
3620
|
+
setVisible(false);
|
|
3621
|
+
setIsTyping(false);
|
|
3622
|
+
}
|
|
3623
|
+
}
|
|
3624
|
+
};
|
|
3625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "relative", children: [
|
|
3626
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3627
|
+
InputBase,
|
|
3628
|
+
__spreadProps(__spreadValues({
|
|
3629
|
+
id,
|
|
3630
|
+
testid,
|
|
3631
|
+
ref: (el) => {
|
|
3632
|
+
triggerRef.current = el;
|
|
3633
|
+
}
|
|
3634
|
+
}, props), {
|
|
3635
|
+
wrapperRef: rootRef,
|
|
3636
|
+
value: inputValue,
|
|
3637
|
+
placeholder,
|
|
3638
|
+
disabled,
|
|
3639
|
+
readOnly,
|
|
3640
|
+
after: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(Icon, { name: "calendar_month" }),
|
|
3641
|
+
onFocus: handleFocus,
|
|
3642
|
+
onClick: handleClick,
|
|
3643
|
+
onChange: handleInputChange,
|
|
3644
|
+
onBlur: handleBlur,
|
|
3645
|
+
onKeyDown: handleKeyDown,
|
|
3646
|
+
label,
|
|
3647
|
+
secondaryIconColor: true
|
|
3648
|
+
})
|
|
3649
|
+
),
|
|
3650
|
+
visible && !readOnly && (0, import_react_dom3.createPortal)(
|
|
3651
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3652
|
+
"div",
|
|
3653
|
+
{
|
|
3654
|
+
ref: (el) => {
|
|
3655
|
+
popoverRef.current = el;
|
|
3656
|
+
},
|
|
3657
|
+
className: "absolute z-40 bg-white",
|
|
3658
|
+
style: {
|
|
3659
|
+
top: `${calendarPosition.top + 4}px`,
|
|
3660
|
+
left: `${calendarPosition.left}px`,
|
|
3661
|
+
minWidth: `${calendarPosition.width}px`
|
|
3662
|
+
},
|
|
3663
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
3664
|
+
CalendarRange,
|
|
3665
|
+
{
|
|
3666
|
+
id: id ? `${id}-calendar` : void 0,
|
|
3667
|
+
testid: testid ? `${testid}-calendar` : void 0,
|
|
3668
|
+
from,
|
|
3669
|
+
to: to || from,
|
|
3670
|
+
onChange: handleDateChange,
|
|
3671
|
+
cardStyle: true,
|
|
3672
|
+
mode: "single",
|
|
3673
|
+
disableRange: true
|
|
3674
|
+
}
|
|
3675
|
+
)
|
|
3676
|
+
}
|
|
3677
|
+
),
|
|
3678
|
+
findDocumentRoot(popoverRef.current)
|
|
3679
|
+
)
|
|
3680
|
+
] });
|
|
3681
|
+
};
|
|
3682
|
+
DateInput.displayName = "DateInput";
|
|
3683
|
+
function formatDisplayValue(from) {
|
|
3684
|
+
if (!from) {
|
|
3685
|
+
return "";
|
|
3686
|
+
}
|
|
3687
|
+
if (!isValidDate(from)) {
|
|
3688
|
+
return "";
|
|
3689
|
+
}
|
|
3690
|
+
return formatDate(from);
|
|
3691
|
+
}
|
|
2938
3692
|
|
|
2939
3693
|
// src/components/Accordion.tsx
|
|
3694
|
+
var import_clsx17 = __toESM(require("clsx"), 1);
|
|
3695
|
+
|
|
3696
|
+
// src/components/Card.tsx
|
|
3697
|
+
var import_clsx15 = __toESM(require("clsx"), 1);
|
|
2940
3698
|
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
2941
3699
|
|
|
2942
|
-
// src/components/
|
|
2943
|
-
var
|
|
3700
|
+
// src/components/Stack.tsx
|
|
3701
|
+
var import_clsx16 = __toESM(require("clsx"), 1);
|
|
2944
3702
|
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
3703
|
+
|
|
3704
|
+
// src/components/Accordion.tsx
|
|
3705
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
3706
|
+
|
|
3707
|
+
// src/components/Heading.tsx
|
|
3708
|
+
var import_clsx18 = __toESM(require("clsx"), 1);
|
|
3709
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
2945
3710
|
var Heading = (_a) => {
|
|
2946
3711
|
var _b = _a, {
|
|
2947
3712
|
className,
|
|
@@ -2964,12 +3729,12 @@ var Heading = (_a) => {
|
|
|
2964
3729
|
]);
|
|
2965
3730
|
const defaultElement = variant === "heading1" ? "h1" : variant === "heading2" ? "h2" : "h3";
|
|
2966
3731
|
const Element = as != null ? as : defaultElement;
|
|
2967
|
-
return /* @__PURE__ */ (0,
|
|
3732
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
2968
3733
|
Element,
|
|
2969
3734
|
__spreadProps(__spreadValues({
|
|
2970
3735
|
id,
|
|
2971
3736
|
"data-testid": testid,
|
|
2972
|
-
className: (0,
|
|
3737
|
+
className: (0, import_clsx18.default)(
|
|
2973
3738
|
typography[variant],
|
|
2974
3739
|
className,
|
|
2975
3740
|
align === "left" && "text-left",
|
|
@@ -2985,43 +3750,43 @@ var Heading = (_a) => {
|
|
|
2985
3750
|
);
|
|
2986
3751
|
};
|
|
2987
3752
|
Heading.displayName = "Heading";
|
|
2988
|
-
var Heading1 = (props) => /* @__PURE__ */ (0,
|
|
2989
|
-
var Heading2 = (props) => /* @__PURE__ */ (0,
|
|
2990
|
-
var Heading3 = (props) => /* @__PURE__ */ (0,
|
|
3753
|
+
var Heading1 = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Heading, __spreadProps(__spreadValues({}, props), { variant: "heading1" }));
|
|
3754
|
+
var Heading2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Heading, __spreadProps(__spreadValues({}, props), { variant: "heading2" }));
|
|
3755
|
+
var Heading3 = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(Heading, __spreadProps(__spreadValues({}, props), { variant: "heading3" }));
|
|
2991
3756
|
Heading1.displayName = "Heading1";
|
|
2992
3757
|
Heading2.displayName = "Heading2";
|
|
2993
3758
|
Heading3.displayName = "Heading3";
|
|
2994
3759
|
|
|
2995
3760
|
// src/components/Theme.tsx
|
|
2996
|
-
var
|
|
3761
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
2997
3762
|
|
|
2998
3763
|
// src/components/MobileDataGrid/ColumnSelector/index.tsx
|
|
2999
|
-
var
|
|
3764
|
+
var import_react18 = require("react");
|
|
3000
3765
|
|
|
3001
3766
|
// src/components/MobileDataGrid/GridContextProvider/useGridContext.ts
|
|
3002
|
-
var
|
|
3767
|
+
var import_react17 = require("react");
|
|
3003
3768
|
|
|
3004
3769
|
// src/components/MobileDataGrid/GridContextProvider/GridContext.tsx
|
|
3005
|
-
var
|
|
3006
|
-
var GridContext = (0,
|
|
3770
|
+
var import_react16 = require("react");
|
|
3771
|
+
var GridContext = (0, import_react16.createContext)(null);
|
|
3007
3772
|
|
|
3008
3773
|
// src/components/MobileDataGrid/ColumnSelector/index.tsx
|
|
3009
|
-
var
|
|
3774
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
3010
3775
|
|
|
3011
3776
|
// src/components/MobileDataGrid/MobileDataGridHeader.tsx
|
|
3012
|
-
var
|
|
3777
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
3013
3778
|
|
|
3014
3779
|
// src/components/MobileDataGrid/GridContextProvider/index.tsx
|
|
3015
|
-
var
|
|
3016
|
-
var
|
|
3780
|
+
var import_react19 = require("react");
|
|
3781
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
3017
3782
|
|
|
3018
3783
|
// src/components/Modal.tsx
|
|
3019
|
-
var
|
|
3020
|
-
var
|
|
3784
|
+
var import_clsx23 = __toESM(require("clsx"), 1);
|
|
3785
|
+
var import_react21 = require("react");
|
|
3021
3786
|
|
|
3022
3787
|
// src/components/ModalHeader.tsx
|
|
3023
|
-
var
|
|
3024
|
-
var
|
|
3788
|
+
var import_clsx19 = __toESM(require("clsx"), 1);
|
|
3789
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
3025
3790
|
var ModalHeader = ({
|
|
3026
3791
|
title,
|
|
3027
3792
|
hideCloseIcon,
|
|
@@ -3032,12 +3797,12 @@ var ModalHeader = ({
|
|
|
3032
3797
|
testid,
|
|
3033
3798
|
headerClassname
|
|
3034
3799
|
}) => {
|
|
3035
|
-
return /* @__PURE__ */ (0,
|
|
3800
|
+
return /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
3036
3801
|
"div",
|
|
3037
3802
|
{
|
|
3038
3803
|
id,
|
|
3039
3804
|
"data-testid": testid,
|
|
3040
|
-
className: (0,
|
|
3805
|
+
className: (0, import_clsx19.default)(
|
|
3041
3806
|
"flex justify-between items-center",
|
|
3042
3807
|
headerIconAlign === "center" && "justify-center",
|
|
3043
3808
|
headerIconAlign === "right" && "justify-end",
|
|
@@ -3047,9 +3812,9 @@ var ModalHeader = ({
|
|
|
3047
3812
|
headerClassname
|
|
3048
3813
|
),
|
|
3049
3814
|
children: [
|
|
3050
|
-
/* @__PURE__ */ (0,
|
|
3815
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: (0, import_clsx19.default)("flex items-center flex-1", layoutGroupGap), children: [
|
|
3051
3816
|
headerIcon,
|
|
3052
|
-
title && /* @__PURE__ */ (0,
|
|
3817
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
3053
3818
|
Heading2,
|
|
3054
3819
|
{
|
|
3055
3820
|
id: id ? `${id}-title` : void 0,
|
|
@@ -3059,7 +3824,7 @@ var ModalHeader = ({
|
|
|
3059
3824
|
}
|
|
3060
3825
|
)
|
|
3061
3826
|
] }),
|
|
3062
|
-
!hideCloseIcon && /* @__PURE__ */ (0,
|
|
3827
|
+
!hideCloseIcon && /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
3063
3828
|
Button,
|
|
3064
3829
|
{
|
|
3065
3830
|
id: id ? `${id}-close-button` : void 0,
|
|
@@ -3067,7 +3832,7 @@ var ModalHeader = ({
|
|
|
3067
3832
|
iconOnly: true,
|
|
3068
3833
|
variant: "tertiary",
|
|
3069
3834
|
onClick: onClose,
|
|
3070
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
3835
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("span", { className: "text-brand-text-action-primary-normal desktop:text-icon-primary-normal contents", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(Icon, { name: "close", size: 24 }) })
|
|
3071
3836
|
}
|
|
3072
3837
|
)
|
|
3073
3838
|
]
|
|
@@ -3077,20 +3842,20 @@ var ModalHeader = ({
|
|
|
3077
3842
|
ModalHeader.displayName = "ModalHeader";
|
|
3078
3843
|
|
|
3079
3844
|
// src/components/ModalContent.tsx
|
|
3080
|
-
var
|
|
3081
|
-
var
|
|
3845
|
+
var import_clsx20 = __toESM(require("clsx"), 1);
|
|
3846
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
3082
3847
|
function ModalContent({
|
|
3083
3848
|
fixedHeightScrolling,
|
|
3084
3849
|
children,
|
|
3085
3850
|
id,
|
|
3086
3851
|
testid
|
|
3087
3852
|
}) {
|
|
3088
|
-
return /* @__PURE__ */ (0,
|
|
3853
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
|
|
3089
3854
|
"div",
|
|
3090
3855
|
{
|
|
3091
3856
|
id,
|
|
3092
3857
|
"data-testid": testid,
|
|
3093
|
-
className: (0,
|
|
3858
|
+
className: (0, import_clsx20.default)(
|
|
3094
3859
|
"flex-grow desktop:flex-grow-0",
|
|
3095
3860
|
layoutPaddding,
|
|
3096
3861
|
fixedHeightScrolling && "overflow-auto"
|
|
@@ -3102,8 +3867,8 @@ function ModalContent({
|
|
|
3102
3867
|
ModalContent.displayName = "ModalContent";
|
|
3103
3868
|
|
|
3104
3869
|
// src/components/ModalButtons.tsx
|
|
3105
|
-
var
|
|
3106
|
-
var
|
|
3870
|
+
var import_clsx21 = __toESM(require("clsx"), 1);
|
|
3871
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
3107
3872
|
var ModalButtons = ({
|
|
3108
3873
|
onClose,
|
|
3109
3874
|
onContinue,
|
|
@@ -3111,36 +3876,36 @@ var ModalButtons = ({
|
|
|
3111
3876
|
id,
|
|
3112
3877
|
testid
|
|
3113
3878
|
}) => {
|
|
3114
|
-
return /* @__PURE__ */ (0,
|
|
3879
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
3115
3880
|
"div",
|
|
3116
3881
|
{
|
|
3117
3882
|
id,
|
|
3118
3883
|
"data-testid": testid,
|
|
3119
|
-
className: (0,
|
|
3884
|
+
className: (0, import_clsx21.default)(
|
|
3120
3885
|
"border-t border-neutral-300 flex justify-end",
|
|
3121
3886
|
layoutPaddding,
|
|
3122
3887
|
layoutGroupGap
|
|
3123
3888
|
),
|
|
3124
|
-
children: customActions != null ? customActions : /* @__PURE__ */ (0,
|
|
3125
|
-
/* @__PURE__ */ (0,
|
|
3889
|
+
children: customActions != null ? customActions : /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
|
|
3890
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
3126
3891
|
Button,
|
|
3127
3892
|
{
|
|
3128
3893
|
id: id ? `${id}-close-button` : void 0,
|
|
3129
3894
|
testid: testid ? `${testid}-close-button` : void 0,
|
|
3130
3895
|
variant: "secondary",
|
|
3131
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
3896
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon, { name: "close", size: 24 }),
|
|
3132
3897
|
onClick: onClose,
|
|
3133
3898
|
className: "max-sm:w-full",
|
|
3134
3899
|
children: "Close"
|
|
3135
3900
|
}
|
|
3136
3901
|
),
|
|
3137
|
-
/* @__PURE__ */ (0,
|
|
3902
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
|
|
3138
3903
|
Button,
|
|
3139
3904
|
{
|
|
3140
3905
|
id: id ? `${id}-continue-button` : void 0,
|
|
3141
3906
|
testid: testid ? `${testid}-continue-button` : void 0,
|
|
3142
3907
|
variant: "primary",
|
|
3143
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
3908
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Icon, { name: "check", size: 24 }),
|
|
3144
3909
|
className: "max-sm:w-full",
|
|
3145
3910
|
onClick: onContinue,
|
|
3146
3911
|
children: "Continue"
|
|
@@ -3153,8 +3918,8 @@ var ModalButtons = ({
|
|
|
3153
3918
|
ModalButtons.displayName = "ModalButtons";
|
|
3154
3919
|
|
|
3155
3920
|
// src/components/ModalScrim.tsx
|
|
3156
|
-
var
|
|
3157
|
-
var
|
|
3921
|
+
var import_clsx22 = __toESM(require("clsx"), 1);
|
|
3922
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
3158
3923
|
var ModalScrim = ({
|
|
3159
3924
|
show = false,
|
|
3160
3925
|
size = "small",
|
|
@@ -3164,12 +3929,12 @@ var ModalScrim = ({
|
|
|
3164
3929
|
id,
|
|
3165
3930
|
testid
|
|
3166
3931
|
}) => {
|
|
3167
|
-
return /* @__PURE__ */ (0,
|
|
3932
|
+
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
3168
3933
|
"div",
|
|
3169
3934
|
{
|
|
3170
3935
|
id,
|
|
3171
3936
|
"data-testid": testid,
|
|
3172
|
-
className: (0,
|
|
3937
|
+
className: (0, import_clsx22.default)(
|
|
3173
3938
|
"overflow-y-auto h-screen transition-[visibility,opacity,background] ease-in-out duration-100 grid place-content-center group bg-neutral-600/50 fixed opacity-0",
|
|
3174
3939
|
!show && " pointer-events-none",
|
|
3175
3940
|
size === "small" && "p-4",
|
|
@@ -3185,14 +3950,14 @@ var ModalScrim = ({
|
|
|
3185
3950
|
ModalScrim.displayName = "ModalScrim";
|
|
3186
3951
|
|
|
3187
3952
|
// src/components/Modal.tsx
|
|
3188
|
-
var
|
|
3953
|
+
var import_react_dom4 = require("react-dom");
|
|
3189
3954
|
var import_react_use = require("react-use");
|
|
3190
3955
|
|
|
3191
3956
|
// src/components/useMounted.tsx
|
|
3192
|
-
var
|
|
3957
|
+
var import_react20 = require("react");
|
|
3193
3958
|
var useMounted = () => {
|
|
3194
|
-
const [isMounted, setIsMounted] = (0,
|
|
3195
|
-
(0,
|
|
3959
|
+
const [isMounted, setIsMounted] = (0, import_react20.useState)(false);
|
|
3960
|
+
(0, import_react20.useEffect)(() => {
|
|
3196
3961
|
setIsMounted(true);
|
|
3197
3962
|
return () => setIsMounted(false);
|
|
3198
3963
|
}, []);
|
|
@@ -3200,7 +3965,7 @@ var useMounted = () => {
|
|
|
3200
3965
|
};
|
|
3201
3966
|
|
|
3202
3967
|
// src/components/Modal.tsx
|
|
3203
|
-
var
|
|
3968
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
3204
3969
|
var fadeInScale = (element, duration = 300) => element.animate(
|
|
3205
3970
|
[
|
|
3206
3971
|
{ opacity: 0, transform: "scale(0.95)" },
|
|
@@ -3284,12 +4049,12 @@ var Modal = ({
|
|
|
3284
4049
|
}) => {
|
|
3285
4050
|
var _a;
|
|
3286
4051
|
const mounted = useMounted();
|
|
3287
|
-
const modalRef = (0,
|
|
3288
|
-
const bgRef = (0,
|
|
4052
|
+
const modalRef = (0, import_react21.useRef)(null);
|
|
4053
|
+
const bgRef = (0, import_react21.useRef)(null);
|
|
3289
4054
|
const wasOpen = (0, import_react_use.usePrevious)(open);
|
|
3290
4055
|
const isMobile = useMatchesMobile();
|
|
3291
4056
|
const computedFixedHeightScrolling = isMobile || fixedHeightScrolling;
|
|
3292
|
-
(0,
|
|
4057
|
+
(0, import_react21.useEffect)(() => {
|
|
3293
4058
|
if (!mounted) return;
|
|
3294
4059
|
if (!modalRef.current || !bgRef.current) {
|
|
3295
4060
|
console.error("Modal or background reference is not set.");
|
|
@@ -3309,7 +4074,7 @@ var Modal = ({
|
|
|
3309
4074
|
bgFadeIn(bgRef.current);
|
|
3310
4075
|
}
|
|
3311
4076
|
}, [mounted, onClose, open, wasOpen]);
|
|
3312
|
-
const handleKeyDown = (0,
|
|
4077
|
+
const handleKeyDown = (0, import_react21.useCallback)(
|
|
3313
4078
|
(e) => {
|
|
3314
4079
|
if (e.key === "Escape") {
|
|
3315
4080
|
if (onClose) {
|
|
@@ -3320,12 +4085,12 @@ var Modal = ({
|
|
|
3320
4085
|
},
|
|
3321
4086
|
[onClose]
|
|
3322
4087
|
);
|
|
3323
|
-
const handleClose = (0,
|
|
4088
|
+
const handleClose = (0, import_react21.useCallback)(() => {
|
|
3324
4089
|
if (onClose) {
|
|
3325
4090
|
onClose();
|
|
3326
4091
|
}
|
|
3327
4092
|
}, [onClose]);
|
|
3328
|
-
(0,
|
|
4093
|
+
(0, import_react21.useEffect)(() => {
|
|
3329
4094
|
if (open) {
|
|
3330
4095
|
document.addEventListener("keyup", handleKeyDown);
|
|
3331
4096
|
}
|
|
@@ -3333,7 +4098,7 @@ var Modal = ({
|
|
|
3333
4098
|
document.removeEventListener("keyup", handleKeyDown);
|
|
3334
4099
|
};
|
|
3335
4100
|
}, [open, handleKeyDown]);
|
|
3336
|
-
(0,
|
|
4101
|
+
(0, import_react21.useEffect)(() => {
|
|
3337
4102
|
if (!open) return;
|
|
3338
4103
|
const scrollY = window.scrollY;
|
|
3339
4104
|
const body = document.body;
|
|
@@ -3354,7 +4119,7 @@ var Modal = ({
|
|
|
3354
4119
|
};
|
|
3355
4120
|
}, [open]);
|
|
3356
4121
|
const { sizeClass } = (_a = sizes[size]) != null ? _a : sizes.small;
|
|
3357
|
-
const backgroundClickHandler = (0,
|
|
4122
|
+
const backgroundClickHandler = (0, import_react21.useCallback)(
|
|
3358
4123
|
(e) => {
|
|
3359
4124
|
const target = e.target;
|
|
3360
4125
|
const currentTarget = e.currentTarget;
|
|
@@ -3371,8 +4136,8 @@ var Modal = ({
|
|
|
3371
4136
|
if (!mounted) {
|
|
3372
4137
|
return null;
|
|
3373
4138
|
}
|
|
3374
|
-
return (0,
|
|
3375
|
-
/* @__PURE__ */ (0,
|
|
4139
|
+
return (0, import_react_dom4.createPortal)(
|
|
4140
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
3376
4141
|
ModalScrim,
|
|
3377
4142
|
{
|
|
3378
4143
|
id: id ? `${id}-scrim` : void 0,
|
|
@@ -3381,13 +4146,13 @@ var Modal = ({
|
|
|
3381
4146
|
ref: bgRef,
|
|
3382
4147
|
show: open,
|
|
3383
4148
|
onClick: backgroundClickHandler,
|
|
3384
|
-
children: /* @__PURE__ */ (0,
|
|
4149
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
3385
4150
|
"div",
|
|
3386
4151
|
{
|
|
3387
4152
|
id,
|
|
3388
4153
|
"data-testid": testid,
|
|
3389
4154
|
ref: modalRef,
|
|
3390
|
-
className: (0,
|
|
4155
|
+
className: (0, import_clsx23.default)(
|
|
3391
4156
|
"shadow-md rounded-sm flex flex-col overflow-hidden w-full opacity-0 h-fit",
|
|
3392
4157
|
computedFixedHeightScrolling && size !== "screen" && "desktop:max-h-[calc(100vh-32px)] desktop:h-auto",
|
|
3393
4158
|
className,
|
|
@@ -3396,7 +4161,7 @@ var Modal = ({
|
|
|
3396
4161
|
),
|
|
3397
4162
|
onClick: (e) => e.stopPropagation(),
|
|
3398
4163
|
children: [
|
|
3399
|
-
/* @__PURE__ */ (0,
|
|
4164
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
3400
4165
|
ModalHeader,
|
|
3401
4166
|
{
|
|
3402
4167
|
id: id ? `${id}-header` : void 0,
|
|
@@ -3409,7 +4174,7 @@ var Modal = ({
|
|
|
3409
4174
|
headerClassname
|
|
3410
4175
|
}
|
|
3411
4176
|
),
|
|
3412
|
-
children && (size !== "screen" || noWrapper) ? /* @__PURE__ */ (0,
|
|
4177
|
+
children && (size !== "screen" || noWrapper) ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
3413
4178
|
ModalContent,
|
|
3414
4179
|
{
|
|
3415
4180
|
id: id ? `${id}-content` : void 0,
|
|
@@ -3418,7 +4183,7 @@ var Modal = ({
|
|
|
3418
4183
|
children
|
|
3419
4184
|
}
|
|
3420
4185
|
) : children,
|
|
3421
|
-
showButtons ? customFooter ? customActions : /* @__PURE__ */ (0,
|
|
4186
|
+
showButtons ? customFooter ? customActions : /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
3422
4187
|
ModalButtons,
|
|
3423
4188
|
{
|
|
3424
4189
|
id: id ? `${id}-buttons` : void 0,
|
|
@@ -3439,51 +4204,51 @@ var Modal = ({
|
|
|
3439
4204
|
Modal.displayName = "Modal";
|
|
3440
4205
|
|
|
3441
4206
|
// src/components/MobileDataGrid/MobileDataGridCard/MobileDataGridColumn.tsx
|
|
3442
|
-
var
|
|
4207
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
3443
4208
|
|
|
3444
4209
|
// src/components/MobileDataGrid/RowDetailModalProvider/ModalContent.tsx
|
|
3445
|
-
var
|
|
4210
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
3446
4211
|
|
|
3447
4212
|
// src/components/MobileDataGrid/RowDetailModalProvider/index.tsx
|
|
3448
|
-
var
|
|
4213
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
3449
4214
|
|
|
3450
4215
|
// src/components/MobileDataGrid/ColumnList.tsx
|
|
3451
|
-
var
|
|
4216
|
+
var import_clsx25 = __toESM(require("clsx"), 1);
|
|
3452
4217
|
|
|
3453
4218
|
// src/components/MobileDataGrid/MobileDataGridCard/index.tsx
|
|
3454
|
-
var
|
|
3455
|
-
var
|
|
4219
|
+
var import_clsx24 = __toESM(require("clsx"), 1);
|
|
4220
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
3456
4221
|
|
|
3457
4222
|
// src/components/MobileDataGrid/ColumnList.tsx
|
|
3458
|
-
var
|
|
4223
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
3459
4224
|
|
|
3460
4225
|
// src/components/MobileDataGrid/index.tsx
|
|
3461
|
-
var
|
|
4226
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
3462
4227
|
|
|
3463
4228
|
// src/components/ProductImagePreview/Thumbnail.tsx
|
|
3464
|
-
var
|
|
4229
|
+
var import_react23 = require("react");
|
|
3465
4230
|
|
|
3466
4231
|
// src/components/ImagePlaceholder.tsx
|
|
3467
|
-
var
|
|
3468
|
-
var
|
|
4232
|
+
var import_react22 = require("react");
|
|
4233
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
3469
4234
|
|
|
3470
4235
|
// src/components/ProductImagePreview/Thumbnail.tsx
|
|
3471
|
-
var
|
|
4236
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
3472
4237
|
|
|
3473
4238
|
// src/components/Grid.tsx
|
|
3474
|
-
var
|
|
3475
|
-
var
|
|
4239
|
+
var import_clsx26 = __toESM(require("clsx"), 1);
|
|
4240
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
3476
4241
|
|
|
3477
4242
|
// src/components/ProductImagePreview/ProductPrimaryImage.tsx
|
|
3478
|
-
var
|
|
3479
|
-
var
|
|
4243
|
+
var import_react24 = require("react");
|
|
4244
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
3480
4245
|
|
|
3481
4246
|
// src/components/ProductImagePreview/ZoomWindow.tsx
|
|
3482
|
-
var
|
|
4247
|
+
var import_react25 = require("react");
|
|
3483
4248
|
|
|
3484
4249
|
// src/components/Surface.tsx
|
|
3485
|
-
var
|
|
3486
|
-
var
|
|
4250
|
+
var import_clsx27 = __toESM(require("clsx"), 1);
|
|
4251
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
3487
4252
|
var Surface = (_a) => {
|
|
3488
4253
|
var _b = _a, {
|
|
3489
4254
|
children,
|
|
@@ -3496,11 +4261,11 @@ var Surface = (_a) => {
|
|
|
3496
4261
|
"elevation",
|
|
3497
4262
|
"id"
|
|
3498
4263
|
]);
|
|
3499
|
-
return /* @__PURE__ */ (0,
|
|
4264
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
3500
4265
|
"div",
|
|
3501
4266
|
__spreadProps(__spreadValues({
|
|
3502
4267
|
id,
|
|
3503
|
-
className: (0,
|
|
4268
|
+
className: (0, import_clsx27.default)(
|
|
3504
4269
|
"rounded-base",
|
|
3505
4270
|
{
|
|
3506
4271
|
"shadow-2": elevation === 2,
|
|
@@ -3517,43 +4282,43 @@ var Surface = (_a) => {
|
|
|
3517
4282
|
Surface.displayName = "Surface";
|
|
3518
4283
|
|
|
3519
4284
|
// src/components/ProductImagePreview/ZoomWindow.tsx
|
|
3520
|
-
var
|
|
4285
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
3521
4286
|
|
|
3522
4287
|
// src/components/ProductImagePreview/CarouselPagination.tsx
|
|
3523
|
-
var
|
|
3524
|
-
var
|
|
4288
|
+
var import_clsx28 = require("clsx");
|
|
4289
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
3525
4290
|
|
|
3526
4291
|
// src/components/ProductImagePreview/MobileImageCarousel.tsx
|
|
3527
|
-
var
|
|
3528
|
-
var
|
|
4292
|
+
var import_react26 = require("react");
|
|
4293
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
3529
4294
|
|
|
3530
4295
|
// src/components/ProductImagePreview/useProductImagePreview.ts
|
|
3531
|
-
var
|
|
4296
|
+
var import_react27 = require("react");
|
|
3532
4297
|
|
|
3533
4298
|
// src/components/ProductImagePreview/index.tsx
|
|
3534
|
-
var
|
|
4299
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
3535
4300
|
|
|
3536
4301
|
// src/components/CompactImagesPreview.tsx
|
|
3537
|
-
var
|
|
3538
|
-
var
|
|
3539
|
-
var
|
|
4302
|
+
var import_react28 = require("react");
|
|
4303
|
+
var import_clsx29 = __toESM(require("clsx"), 1);
|
|
4304
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
3540
4305
|
|
|
3541
4306
|
// src/components/SimpleTable.tsx
|
|
3542
|
-
var
|
|
3543
|
-
var
|
|
4307
|
+
var import_clsx30 = __toESM(require("clsx"), 1);
|
|
4308
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
3544
4309
|
|
|
3545
4310
|
// src/components/PDFViewer/index.tsx
|
|
3546
|
-
var
|
|
4311
|
+
var import_react31 = require("react");
|
|
3547
4312
|
|
|
3548
4313
|
// src/components/PDFViewer/PDFElement.tsx
|
|
3549
4314
|
var import_react_pdf2 = require("@mikecousins/react-pdf");
|
|
3550
|
-
var
|
|
4315
|
+
var import_react30 = require("react");
|
|
3551
4316
|
|
|
3552
4317
|
// src/components/Spinner.tsx
|
|
3553
|
-
var
|
|
4318
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
3554
4319
|
var Spinner = ({ size = "small", testid }) => {
|
|
3555
4320
|
const dimension = size === "large" ? 48 : 24;
|
|
3556
|
-
return /* @__PURE__ */ (0,
|
|
4321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
3557
4322
|
"svg",
|
|
3558
4323
|
{
|
|
3559
4324
|
"data-testid": testid,
|
|
@@ -3565,14 +4330,14 @@ var Spinner = ({ size = "small", testid }) => {
|
|
|
3565
4330
|
className: "spinner",
|
|
3566
4331
|
"aria-label": "Loading",
|
|
3567
4332
|
children: [
|
|
3568
|
-
/* @__PURE__ */ (0,
|
|
3569
|
-
/* @__PURE__ */ (0,
|
|
3570
|
-
/* @__PURE__ */ (0,
|
|
3571
|
-
/* @__PURE__ */ (0,
|
|
3572
|
-
/* @__PURE__ */ (0,
|
|
3573
|
-
/* @__PURE__ */ (0,
|
|
3574
|
-
/* @__PURE__ */ (0,
|
|
3575
|
-
/* @__PURE__ */ (0,
|
|
4333
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "12", cy: "4", r: "2", opacity: "1" }),
|
|
4334
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "17.666", cy: "6.334", r: "2", opacity: "0.125" }),
|
|
4335
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "20", cy: "12", r: "2", opacity: "0.25" }),
|
|
4336
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "17.666", cy: "17.666", r: "2", opacity: "0.375" }),
|
|
4337
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "12", cy: "20", r: "2", opacity: "0.5" }),
|
|
4338
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "6.334", cy: "17.666", r: "2", opacity: "0.625" }),
|
|
4339
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "4", cy: "12", r: "2", opacity: "0.75" }),
|
|
4340
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("circle", { cx: "6.334", cy: "6.334", r: "2", opacity: "0.875" })
|
|
3576
4341
|
]
|
|
3577
4342
|
}
|
|
3578
4343
|
);
|
|
@@ -3581,31 +4346,31 @@ Spinner.displayName = "Spinner";
|
|
|
3581
4346
|
|
|
3582
4347
|
// src/components/PDFViewer/PDFPage.tsx
|
|
3583
4348
|
var import_react_pdf = require("@mikecousins/react-pdf");
|
|
3584
|
-
var
|
|
3585
|
-
var
|
|
4349
|
+
var import_react29 = require("react");
|
|
4350
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
3586
4351
|
|
|
3587
4352
|
// src/components/PDFViewer/PDFElement.tsx
|
|
3588
|
-
var
|
|
3589
|
-
var
|
|
4353
|
+
var import_clsx31 = __toESM(require("clsx"), 1);
|
|
4354
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3590
4355
|
|
|
3591
4356
|
// src/components/PDFViewer/DownloadIcon.tsx
|
|
3592
|
-
var
|
|
4357
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3593
4358
|
|
|
3594
4359
|
// src/components/PDFViewer/PDFNavigation.tsx
|
|
3595
|
-
var
|
|
4360
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
3596
4361
|
|
|
3597
4362
|
// src/components/PDFViewer/index.tsx
|
|
3598
|
-
var
|
|
4363
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
3599
4364
|
|
|
3600
4365
|
// src/components/ListGroup.tsx
|
|
3601
|
-
var
|
|
3602
|
-
var
|
|
3603
|
-
var
|
|
4366
|
+
var import_react32 = require("react");
|
|
4367
|
+
var import_clsx32 = __toESM(require("clsx"), 1);
|
|
4368
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
3604
4369
|
|
|
3605
4370
|
// src/components/Pagination.tsx
|
|
3606
|
-
var
|
|
3607
|
-
var
|
|
3608
|
-
var
|
|
4371
|
+
var import_react33 = require("react");
|
|
4372
|
+
var import_clsx33 = __toESM(require("clsx"), 1);
|
|
4373
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
3609
4374
|
var Pagination = ({
|
|
3610
4375
|
totalPages,
|
|
3611
4376
|
currentPage,
|
|
@@ -3615,7 +4380,7 @@ var Pagination = ({
|
|
|
3615
4380
|
className,
|
|
3616
4381
|
disabled
|
|
3617
4382
|
}) => {
|
|
3618
|
-
const goTo = (0,
|
|
4383
|
+
const goTo = (0, import_react33.useCallback)(
|
|
3619
4384
|
(page) => {
|
|
3620
4385
|
if (disabled) return;
|
|
3621
4386
|
onPageChange(page);
|
|
@@ -3632,7 +4397,7 @@ var Pagination = ({
|
|
|
3632
4397
|
goTo(currentPage + 1);
|
|
3633
4398
|
}
|
|
3634
4399
|
};
|
|
3635
|
-
const pageTokens = (0,
|
|
4400
|
+
const pageTokens = (0, import_react33.useMemo)(() => {
|
|
3636
4401
|
if (totalPages <= 5) {
|
|
3637
4402
|
return Array.from({ length: totalPages }, (_, i) => i + 1);
|
|
3638
4403
|
}
|
|
@@ -3669,7 +4434,7 @@ var Pagination = ({
|
|
|
3669
4434
|
return tokens;
|
|
3670
4435
|
}, [totalPages, currentPage]);
|
|
3671
4436
|
if (totalPages <= 1) return null;
|
|
3672
|
-
const buttonClass = (0,
|
|
4437
|
+
const buttonClass = (0, import_clsx33.default)(
|
|
3673
4438
|
"cursor-pointer disabled:cursor-default",
|
|
3674
4439
|
paddingUsingComponentGap,
|
|
3675
4440
|
"w-8 h-8",
|
|
@@ -3680,14 +4445,14 @@ var Pagination = ({
|
|
|
3680
4445
|
"focus:bg-background-grouped-secondary-normal focus:outline-0",
|
|
3681
4446
|
"disabled:bg-transparent disabled:text-text-action-primary-disabled"
|
|
3682
4447
|
);
|
|
3683
|
-
return /* @__PURE__ */ (0,
|
|
4448
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsxs)(
|
|
3684
4449
|
"nav",
|
|
3685
4450
|
{
|
|
3686
4451
|
id,
|
|
3687
4452
|
"data-testid": testid,
|
|
3688
4453
|
"aria-label": "Pagination",
|
|
3689
4454
|
onKeyDown: handleKey,
|
|
3690
|
-
className: (0,
|
|
4455
|
+
className: (0, import_clsx33.default)(
|
|
3691
4456
|
"flex items-center",
|
|
3692
4457
|
"border border-border-primary-normal",
|
|
3693
4458
|
"bg-background-grouped-primary-normal",
|
|
@@ -3695,19 +4460,19 @@ var Pagination = ({
|
|
|
3695
4460
|
className
|
|
3696
4461
|
),
|
|
3697
4462
|
children: [
|
|
3698
|
-
/* @__PURE__ */ (0,
|
|
4463
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3699
4464
|
"button",
|
|
3700
4465
|
{
|
|
3701
4466
|
disabled: disabled || currentPage <= 1,
|
|
3702
4467
|
"aria-label": "Previous page",
|
|
3703
4468
|
onClick: () => goTo(currentPage - 1),
|
|
3704
|
-
className: (0,
|
|
3705
|
-
children: /* @__PURE__ */ (0,
|
|
4469
|
+
className: (0, import_clsx33.default)(buttonClass, "border-r-1 border-border-primary-normal"),
|
|
4470
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { name: "keyboard_arrow_left" })
|
|
3706
4471
|
}
|
|
3707
4472
|
),
|
|
3708
|
-
/* @__PURE__ */ (0,
|
|
4473
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)("ul", { className: (0, import_clsx33.default)("flex items-center"), children: pageTokens.map((token, index) => {
|
|
3709
4474
|
if (token === "ellipsis") {
|
|
3710
|
-
return /* @__PURE__ */ (0,
|
|
4475
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3711
4476
|
"li",
|
|
3712
4477
|
{
|
|
3713
4478
|
className: "w-8 h-8 select-none text-text-action-primary-disabled",
|
|
@@ -3717,29 +4482,29 @@ var Pagination = ({
|
|
|
3717
4482
|
);
|
|
3718
4483
|
}
|
|
3719
4484
|
const selected = token === currentPage;
|
|
3720
|
-
return /* @__PURE__ */ (0,
|
|
4485
|
+
return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("li", { children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3721
4486
|
"button",
|
|
3722
4487
|
{
|
|
3723
4488
|
"aria-label": `Page ${token}`,
|
|
3724
4489
|
"aria-current": selected ? "page" : void 0,
|
|
3725
4490
|
disabled,
|
|
3726
4491
|
onClick: () => goTo(token),
|
|
3727
|
-
className: (0,
|
|
4492
|
+
className: (0, import_clsx33.default)(
|
|
3728
4493
|
buttonClass,
|
|
3729
4494
|
selected && "border-x-1 bg-background-grouped-secondary-normal border-border-primary-normal"
|
|
3730
4495
|
),
|
|
3731
|
-
children: /* @__PURE__ */ (0,
|
|
4496
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Subheader, { align: "center", weight: "bold", children: token })
|
|
3732
4497
|
}
|
|
3733
4498
|
) }, token);
|
|
3734
4499
|
}) }),
|
|
3735
|
-
/* @__PURE__ */ (0,
|
|
4500
|
+
/* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
3736
4501
|
"button",
|
|
3737
4502
|
{
|
|
3738
4503
|
disabled: disabled || currentPage >= totalPages,
|
|
3739
4504
|
"aria-label": "Next page",
|
|
3740
4505
|
onClick: () => goTo(currentPage + 1),
|
|
3741
|
-
className: (0,
|
|
3742
|
-
children: /* @__PURE__ */ (0,
|
|
4506
|
+
className: (0, import_clsx33.default)(buttonClass, "border-l-1 border-border-primary-normal"),
|
|
4507
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(Icon, { name: "keyboard_arrow_right" })
|
|
3743
4508
|
}
|
|
3744
4509
|
)
|
|
3745
4510
|
]
|
|
@@ -3749,56 +4514,56 @@ var Pagination = ({
|
|
|
3749
4514
|
Pagination.displayName = "Pagination";
|
|
3750
4515
|
|
|
3751
4516
|
// src/components/SkeletonParagraph.tsx
|
|
3752
|
-
var
|
|
4517
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
3753
4518
|
|
|
3754
4519
|
// src/components/EmptyCartIcon.tsx
|
|
3755
|
-
var
|
|
4520
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
3756
4521
|
|
|
3757
4522
|
// src/components/Alert.tsx
|
|
3758
|
-
var
|
|
3759
|
-
var
|
|
3760
|
-
var
|
|
4523
|
+
var import_clsx34 = __toESM(require("clsx"), 1);
|
|
4524
|
+
var import_react34 = require("react");
|
|
4525
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
3761
4526
|
|
|
3762
4527
|
// src/components/DataGrid/index.tsx
|
|
3763
|
-
var
|
|
4528
|
+
var import_react39 = __toESM(require("react"), 1);
|
|
3764
4529
|
var import_react_table3 = require("@tanstack/react-table");
|
|
3765
4530
|
var import_core = require("@dnd-kit/core");
|
|
3766
4531
|
var import_sortable2 = require("@dnd-kit/sortable");
|
|
3767
4532
|
var import_modifiers = require("@dnd-kit/modifiers");
|
|
3768
4533
|
var import_react_virtual2 = require("@tanstack/react-virtual");
|
|
3769
|
-
var
|
|
4534
|
+
var import_clsx39 = __toESM(require("clsx"), 1);
|
|
3770
4535
|
|
|
3771
4536
|
// src/components/DataGrid/PinnedColumns.tsx
|
|
3772
4537
|
var import_react_table2 = require("@tanstack/react-table");
|
|
3773
|
-
var
|
|
4538
|
+
var import_clsx38 = __toESM(require("clsx"), 1);
|
|
3774
4539
|
|
|
3775
4540
|
// src/components/DataGrid/utils.tsx
|
|
3776
|
-
var
|
|
3777
|
-
var
|
|
4541
|
+
var import_clsx35 = __toESM(require("clsx"), 1);
|
|
4542
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
3778
4543
|
function getSortIcon(sort, nextSort = false) {
|
|
3779
|
-
const iconClassName = (0,
|
|
4544
|
+
const iconClassName = (0, import_clsx35.default)(
|
|
3780
4545
|
"text-icon-on-action-primary-normal",
|
|
3781
4546
|
nextSort && "hidden group-hover:block"
|
|
3782
4547
|
);
|
|
3783
4548
|
if (sort === "asc")
|
|
3784
|
-
return /* @__PURE__ */ (0,
|
|
4549
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { size: 16, className: iconClassName, name: "arrow_upward" });
|
|
3785
4550
|
if (sort === "desc")
|
|
3786
|
-
return /* @__PURE__ */ (0,
|
|
4551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Icon, { size: 16, className: iconClassName, name: "arrow_downward" });
|
|
3787
4552
|
return null;
|
|
3788
4553
|
}
|
|
3789
4554
|
|
|
3790
4555
|
// src/components/DataGrid/PinnedColumns.tsx
|
|
3791
|
-
var
|
|
4556
|
+
var import_react38 = __toESM(require("react"), 1);
|
|
3792
4557
|
|
|
3793
4558
|
// src/components/DataGrid/TableBody/index.tsx
|
|
3794
4559
|
var import_react_virtual = require("@tanstack/react-virtual");
|
|
3795
|
-
var
|
|
4560
|
+
var import_clsx37 = __toESM(require("clsx"), 1);
|
|
3796
4561
|
|
|
3797
4562
|
// src/components/DataGrid/TableBody/TableBodyRow.tsx
|
|
3798
|
-
var
|
|
4563
|
+
var import_clsx36 = __toESM(require("clsx"), 1);
|
|
3799
4564
|
var import_react_table = require("@tanstack/react-table");
|
|
3800
|
-
var
|
|
3801
|
-
var
|
|
4565
|
+
var import_react35 = __toESM(require("react"), 1);
|
|
4566
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
3802
4567
|
var valueFormatters = {
|
|
3803
4568
|
date: (value) => typeof value === "string" ? formatDate(value) : "",
|
|
3804
4569
|
currency: (value) => formatCurrencyDisplay(value)
|
|
@@ -3831,10 +4596,10 @@ function TableBodyRow({
|
|
|
3831
4596
|
const columns = locked ? visibleCells : virtualColumns;
|
|
3832
4597
|
const isError = typeof row.original === "object" && row.original !== null && "rowState" in row.original && row.original.rowState === "error";
|
|
3833
4598
|
const CellElement = locked ? DataGridCell : DragAlongCell;
|
|
3834
|
-
return /* @__PURE__ */ (0,
|
|
4599
|
+
return /* @__PURE__ */ (0, import_jsx_runtime58.jsxs)(
|
|
3835
4600
|
"tr",
|
|
3836
4601
|
{
|
|
3837
|
-
className: (0,
|
|
4602
|
+
className: (0, import_clsx36.default)(
|
|
3838
4603
|
"min-h-10",
|
|
3839
4604
|
"transition-colors hover:bg-background-action-secondary-hover",
|
|
3840
4605
|
row.getIsSelected() && "!bg-background-action-secondary-hover",
|
|
@@ -3852,7 +4617,7 @@ function TableBodyRow({
|
|
|
3852
4617
|
children: [
|
|
3853
4618
|
!locked && virtualPaddingLeft ? (
|
|
3854
4619
|
// fake empty column to the left for virtualization scroll padding
|
|
3855
|
-
/* @__PURE__ */ (0,
|
|
4620
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("td", { style: { display: "flex", width: virtualPaddingLeft } })
|
|
3856
4621
|
) : null,
|
|
3857
4622
|
columns.map((column) => {
|
|
3858
4623
|
var _a2, _b, _c, _d;
|
|
@@ -3863,17 +4628,17 @@ function TableBodyRow({
|
|
|
3863
4628
|
const cellFormat = (_a2 = cell.column.columnDef.meta) == null ? void 0 : _a2.format;
|
|
3864
4629
|
const cellValue = cellFormat && isValueFormatterKey(cellFormat) ? valueFormatters[cellFormat](cell.getValue()) : cell.getValue();
|
|
3865
4630
|
const cellAlignment = (_c = (_b = cell.column.columnDef.meta) == null ? void 0 : _b.align) != null ? _c : typeof cellValue === "number" ? "right" : "left";
|
|
3866
|
-
return ((_d = cell.column.columnDef.meta) == null ? void 0 : _d.useCustomRenderer) ? /* @__PURE__ */ (0,
|
|
4631
|
+
return ((_d = cell.column.columnDef.meta) == null ? void 0 : _d.useCustomRenderer) ? /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_react35.default.Fragment, { children: (0, import_react_table.flexRender)(cell.column.columnDef.cell, cell.getContext()) }, cell.id) : /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
3867
4632
|
CellElement,
|
|
3868
4633
|
{
|
|
3869
4634
|
id: id ? `${id}-row-${row.id}-cell-${cell.id}` : void 0,
|
|
3870
4635
|
testid: testid ? `${testid}-row-${row.id}-cell-${cell.id}` : void 0,
|
|
3871
4636
|
cell,
|
|
3872
|
-
className: (0,
|
|
4637
|
+
className: (0, import_clsx36.default)({
|
|
3873
4638
|
"justify-start": cellAlignment === "left",
|
|
3874
4639
|
"justify-end": cellAlignment === "right"
|
|
3875
4640
|
}),
|
|
3876
|
-
children: /* @__PURE__ */ (0,
|
|
4641
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
3877
4642
|
Tooltip,
|
|
3878
4643
|
{
|
|
3879
4644
|
id: id ? `${id}-tooltip-${cell.id}` : void 0,
|
|
@@ -3881,7 +4646,7 @@ function TableBodyRow({
|
|
|
3881
4646
|
showOnTruncation: true,
|
|
3882
4647
|
message: cellValue,
|
|
3883
4648
|
position: "bottom",
|
|
3884
|
-
children: /* @__PURE__ */ (0,
|
|
4649
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(Paragraph, { addOverflow: true, tall: true, children: cellValue })
|
|
3885
4650
|
}
|
|
3886
4651
|
)
|
|
3887
4652
|
},
|
|
@@ -3890,7 +4655,7 @@ function TableBodyRow({
|
|
|
3890
4655
|
}),
|
|
3891
4656
|
!locked && virtualPaddingRight ? (
|
|
3892
4657
|
// fake empty column to the right for virtualization scroll padding
|
|
3893
|
-
/* @__PURE__ */ (0,
|
|
4658
|
+
/* @__PURE__ */ (0, import_jsx_runtime58.jsx)("td", { style: { display: "flex", width: virtualPaddingRight } })
|
|
3894
4659
|
) : null
|
|
3895
4660
|
]
|
|
3896
4661
|
},
|
|
@@ -3899,7 +4664,7 @@ function TableBodyRow({
|
|
|
3899
4664
|
}
|
|
3900
4665
|
|
|
3901
4666
|
// src/components/DataGrid/TableBody/LoadingCell.tsx
|
|
3902
|
-
var
|
|
4667
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
3903
4668
|
function LoadingCell({
|
|
3904
4669
|
id,
|
|
3905
4670
|
testid,
|
|
@@ -3907,16 +4672,16 @@ function LoadingCell({
|
|
|
3907
4672
|
}) {
|
|
3908
4673
|
const key = `loading-${column.id}`;
|
|
3909
4674
|
if (column.cell === "checkbox") {
|
|
3910
|
-
return /* @__PURE__ */ (0,
|
|
4675
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(DataGridCell, { id: id ? `${id}-${key}` : void 0, testid: testid ? `${testid}-${key}` : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(Checkbox, { id: id ? `${id}-${key}-checkbox` : void 0, testid: testid ? `${testid}-${key}-checkbox` : void 0, disabled: true }) }, key);
|
|
3911
4676
|
}
|
|
3912
4677
|
if (column.cell === "input") {
|
|
3913
|
-
return /* @__PURE__ */ (0,
|
|
4678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
3914
4679
|
DataGridCell,
|
|
3915
4680
|
{
|
|
3916
4681
|
id: id ? `${id}-${key}` : void 0,
|
|
3917
4682
|
testid: testid ? `${testid}-${key}` : void 0,
|
|
3918
4683
|
component: "input",
|
|
3919
|
-
children: /* @__PURE__ */ (0,
|
|
4684
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
3920
4685
|
Input,
|
|
3921
4686
|
{
|
|
3922
4687
|
id: id ? `${id}-${key}-input` : void 0,
|
|
@@ -3930,11 +4695,11 @@ function LoadingCell({
|
|
|
3930
4695
|
key
|
|
3931
4696
|
);
|
|
3932
4697
|
}
|
|
3933
|
-
return /* @__PURE__ */ (0,
|
|
4698
|
+
return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(DataGridCell, { id: id ? `${id}-${key}` : void 0, testid: testid ? `${testid}-${key}` : void 0, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("div", { className: "bg-linear-270 to-neutral-300/[24%] from-neutral-300/[12%] rounded-xs w-full max-w-25 h-6" }) }, key);
|
|
3934
4699
|
}
|
|
3935
4700
|
|
|
3936
4701
|
// src/components/DataGrid/TableBody/index.tsx
|
|
3937
|
-
var
|
|
4702
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
3938
4703
|
function TableBody({
|
|
3939
4704
|
id,
|
|
3940
4705
|
testid,
|
|
@@ -3968,10 +4733,10 @@ function TableBody({
|
|
|
3968
4733
|
} else {
|
|
3969
4734
|
headerGroups = table.getCenterHeaderGroups();
|
|
3970
4735
|
}
|
|
3971
|
-
return /* @__PURE__ */ (0,
|
|
4736
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
|
|
3972
4737
|
"tbody",
|
|
3973
4738
|
{
|
|
3974
|
-
className: (0,
|
|
4739
|
+
className: (0, import_clsx37.default)(locked ? "shadow-16" : ""),
|
|
3975
4740
|
style: {
|
|
3976
4741
|
display: "grid",
|
|
3977
4742
|
height: `${showFilterRow ? rowVirtualizer.getTotalSize() + 40 : rowVirtualizer.getTotalSize()}px`,
|
|
@@ -3980,7 +4745,7 @@ function TableBody({
|
|
|
3980
4745
|
// needed for absolute positioning of rows
|
|
3981
4746
|
},
|
|
3982
4747
|
children: [
|
|
3983
|
-
showFilterRow && /* @__PURE__ */ (0,
|
|
4748
|
+
showFilterRow && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
3984
4749
|
"tr",
|
|
3985
4750
|
{
|
|
3986
4751
|
style: {
|
|
@@ -3996,7 +4761,7 @@ function TableBody({
|
|
|
3996
4761
|
children: headerGroups.flatMap(
|
|
3997
4762
|
(x) => x.headers.map((header) => {
|
|
3998
4763
|
var _a, _b, _c, _d, _e;
|
|
3999
|
-
return /* @__PURE__ */ (0,
|
|
4764
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
4000
4765
|
CellElement,
|
|
4001
4766
|
{
|
|
4002
4767
|
id: id ? `${id}-filter-cell-${header.id}` : void 0,
|
|
@@ -4007,7 +4772,7 @@ function TableBody({
|
|
|
4007
4772
|
children: header.column.getCanFilter() && ((_e = (_c = (_b = header.column.columnDef.meta) == null ? void 0 : _b.filterRowCell) == null ? void 0 : _c.call(_b, {
|
|
4008
4773
|
header,
|
|
4009
4774
|
table
|
|
4010
|
-
})) != null ? _e : /* @__PURE__ */ (0,
|
|
4775
|
+
})) != null ? _e : /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
4011
4776
|
Search,
|
|
4012
4777
|
{
|
|
4013
4778
|
id: id ? `${id}-filter-search-${header.id}` : void 0,
|
|
@@ -4028,7 +4793,7 @@ function TableBody({
|
|
|
4028
4793
|
),
|
|
4029
4794
|
virtualRows.map((virtualRow) => {
|
|
4030
4795
|
const row = rows[virtualRow.index];
|
|
4031
|
-
return /* @__PURE__ */ (0,
|
|
4796
|
+
return /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
4032
4797
|
TableBodyRow,
|
|
4033
4798
|
{
|
|
4034
4799
|
id,
|
|
@@ -4047,7 +4812,7 @@ function TableBody({
|
|
|
4047
4812
|
row.id
|
|
4048
4813
|
);
|
|
4049
4814
|
}),
|
|
4050
|
-
!pagination && isLoadingMore && hasMore && /* @__PURE__ */ (0,
|
|
4815
|
+
!pagination && isLoadingMore && hasMore && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
4051
4816
|
"tr",
|
|
4052
4817
|
{
|
|
4053
4818
|
style: {
|
|
@@ -4057,7 +4822,7 @@ function TableBody({
|
|
|
4057
4822
|
transform: `translateY(${virtualRows[virtualRows.length - 1].start + 40}px)`
|
|
4058
4823
|
},
|
|
4059
4824
|
className: "odd:bg-background-grouped-primary-normal even:bg-background-grouped-secondary-normal",
|
|
4060
|
-
children: table.getAllLeafColumns().map((column) => /* @__PURE__ */ (0,
|
|
4825
|
+
children: table.getAllLeafColumns().map((column) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
4061
4826
|
LoadingCell,
|
|
4062
4827
|
{
|
|
4063
4828
|
id,
|
|
@@ -4074,20 +4839,20 @@ function TableBody({
|
|
|
4074
4839
|
}
|
|
4075
4840
|
|
|
4076
4841
|
// src/components/DataGrid/ColumnSelectorHeaderCell/index.tsx
|
|
4077
|
-
var
|
|
4842
|
+
var import_react37 = require("react");
|
|
4078
4843
|
|
|
4079
4844
|
// src/components/DataGrid/ColumnSelectorHeaderCell/ColumnSelectorMenuOption.tsx
|
|
4080
|
-
var
|
|
4081
|
-
var
|
|
4845
|
+
var import_react36 = require("react");
|
|
4846
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
4082
4847
|
function ColumnSelectorMenuOption({
|
|
4083
4848
|
id,
|
|
4084
4849
|
testid,
|
|
4085
4850
|
column,
|
|
4086
4851
|
toggleColumnVisibility
|
|
4087
4852
|
}) {
|
|
4088
|
-
const [isVisible, setIsVisible] = (0,
|
|
4853
|
+
const [isVisible, setIsVisible] = (0, import_react36.useState)(column.getIsVisible());
|
|
4089
4854
|
const label = typeof column.columnDef.header === "string" ? column.columnDef.header : null;
|
|
4090
|
-
return /* @__PURE__ */ (0,
|
|
4855
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(MenuOption, { id, testid, defaultChecked: isVisible, children: /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
|
|
4091
4856
|
Checkbox,
|
|
4092
4857
|
{
|
|
4093
4858
|
id: id ? `${id}-checkbox` : void 0,
|
|
@@ -4103,7 +4868,7 @@ function ColumnSelectorMenuOption({
|
|
|
4103
4868
|
}
|
|
4104
4869
|
|
|
4105
4870
|
// src/components/DataGrid/ColumnSelectorHeaderCell/index.tsx
|
|
4106
|
-
var
|
|
4871
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
4107
4872
|
function ColumnSelectorHeaderCell({
|
|
4108
4873
|
id,
|
|
4109
4874
|
testid,
|
|
@@ -4111,9 +4876,9 @@ function ColumnSelectorHeaderCell({
|
|
|
4111
4876
|
toggleColumnVisibility,
|
|
4112
4877
|
resetColumnVisibility
|
|
4113
4878
|
}) {
|
|
4114
|
-
const ref = (0,
|
|
4115
|
-
const [show, setShow] = (0,
|
|
4116
|
-
return /* @__PURE__ */ (0,
|
|
4879
|
+
const ref = (0, import_react37.useRef)(null);
|
|
4880
|
+
const [show, setShow] = (0, import_react37.useState)(false);
|
|
4881
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
4117
4882
|
DataGridCell,
|
|
4118
4883
|
{
|
|
4119
4884
|
id,
|
|
@@ -4123,7 +4888,7 @@ function ColumnSelectorHeaderCell({
|
|
|
4123
4888
|
color: "text-secondary-normal",
|
|
4124
4889
|
ref,
|
|
4125
4890
|
children: [
|
|
4126
|
-
/* @__PURE__ */ (0,
|
|
4891
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
4127
4892
|
Button,
|
|
4128
4893
|
{
|
|
4129
4894
|
id: id ? `${id}-button` : void 0,
|
|
@@ -4131,10 +4896,10 @@ function ColumnSelectorHeaderCell({
|
|
|
4131
4896
|
onClick: () => setShow((prev) => !prev),
|
|
4132
4897
|
variant: "navigation",
|
|
4133
4898
|
iconOnly: true,
|
|
4134
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
4899
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(Icon, { name: "tune" })
|
|
4135
4900
|
}
|
|
4136
4901
|
),
|
|
4137
|
-
/* @__PURE__ */ (0,
|
|
4902
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
4138
4903
|
Menu,
|
|
4139
4904
|
{
|
|
4140
4905
|
id: id ? `${id}-menu` : void 0,
|
|
@@ -4145,7 +4910,7 @@ function ColumnSelectorHeaderCell({
|
|
|
4145
4910
|
setShow,
|
|
4146
4911
|
calculateMinMaxHeight: true,
|
|
4147
4912
|
children: [
|
|
4148
|
-
/* @__PURE__ */ (0,
|
|
4913
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
4149
4914
|
Button,
|
|
4150
4915
|
{
|
|
4151
4916
|
id: id ? `${id}-reset-button` : void 0,
|
|
@@ -4161,7 +4926,7 @@ function ColumnSelectorHeaderCell({
|
|
|
4161
4926
|
table.getAllColumns().filter((x) => {
|
|
4162
4927
|
var _a;
|
|
4163
4928
|
return (_a = x.columnDef.meta) == null ? void 0 : _a.inVisibilityMenu;
|
|
4164
|
-
}).map((column) => /* @__PURE__ */ (0,
|
|
4929
|
+
}).map((column) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
4165
4930
|
ColumnSelectorMenuOption,
|
|
4166
4931
|
{
|
|
4167
4932
|
id: id ? `${id}-option-${column.id}` : void 0,
|
|
@@ -4180,7 +4945,7 @@ function ColumnSelectorHeaderCell({
|
|
|
4180
4945
|
}
|
|
4181
4946
|
|
|
4182
4947
|
// src/components/DataGrid/PinnedColumns.tsx
|
|
4183
|
-
var
|
|
4948
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
4184
4949
|
function PinnedColumns(_a) {
|
|
4185
4950
|
var _b = _a, {
|
|
4186
4951
|
id,
|
|
@@ -4212,17 +4977,17 @@ function PinnedColumns(_a) {
|
|
|
4212
4977
|
const pinnedTestId = testid ? `${pinDirection}-pinned-${testid}` : void 0;
|
|
4213
4978
|
const hasAnyHeaders = ((_a2 = headerGroups[0]) == null ? void 0 : _a2.headers.length) > 0;
|
|
4214
4979
|
if (!hasAnyHeaders && !enableColumnSelector) return;
|
|
4215
|
-
return /* @__PURE__ */ (0,
|
|
4980
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
4216
4981
|
"table",
|
|
4217
4982
|
{
|
|
4218
|
-
className: (0,
|
|
4983
|
+
className: (0, import_clsx38.default)(
|
|
4219
4984
|
"flex flex-col min-h-min sticky z-20",
|
|
4220
4985
|
pinDirection === "left" ? "left-0" : "right-0"
|
|
4221
4986
|
),
|
|
4222
4987
|
"data-testid": pinnedTestId,
|
|
4223
4988
|
children: [
|
|
4224
|
-
/* @__PURE__ */ (0,
|
|
4225
|
-
return /* @__PURE__ */ (0,
|
|
4989
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)("thead", { className: "sticky top-0 z-20 grid", children: headerGroups.map((headerGroup) => {
|
|
4990
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
4226
4991
|
"tr",
|
|
4227
4992
|
{
|
|
4228
4993
|
"data-testid": pinnedTestId ? `${pinnedTestId}-header-row-${headerGroup.id}` : void 0,
|
|
@@ -4235,7 +5000,7 @@ function PinnedColumns(_a) {
|
|
|
4235
5000
|
}
|
|
4236
5001
|
if (typeof header.column.columnDef.header === "string") {
|
|
4237
5002
|
const customHeaderWidth = (_a3 = header.column.columnDef.meta) == null ? void 0 : _a3.headerWidth;
|
|
4238
|
-
return /* @__PURE__ */ (0,
|
|
5003
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)(
|
|
4239
5004
|
DataCellHeader,
|
|
4240
5005
|
{
|
|
4241
5006
|
locked: true,
|
|
@@ -4243,16 +5008,16 @@ function PinnedColumns(_a) {
|
|
|
4243
5008
|
header,
|
|
4244
5009
|
center: centerHeader,
|
|
4245
5010
|
width: customHeaderWidth,
|
|
4246
|
-
className: (0,
|
|
5011
|
+
className: (0, import_clsx38.default)(
|
|
4247
5012
|
header.column.getCanSort() ? "cursor-pointer" : "cursor-grab",
|
|
4248
5013
|
"group"
|
|
4249
5014
|
),
|
|
4250
5015
|
children: [
|
|
4251
|
-
/* @__PURE__ */ (0,
|
|
5016
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Subheader, { tall: true, children: header.column.columnDef.header }),
|
|
4252
5017
|
getSortIcon(header.column.getIsSorted()),
|
|
4253
5018
|
!header.column.getIsSorted() && header.column.getCanSort() && getSortIcon(header.column.getNextSortingOrder(), true),
|
|
4254
|
-
header.column.getSortIndex() !== -1 && table.getState().sorting.length > 1 && /* @__PURE__ */ (0,
|
|
4255
|
-
!((_b2 = header.column.columnDef.meta) == null ? void 0 : _b2.locked) && /* @__PURE__ */ (0,
|
|
5019
|
+
header.column.getSortIndex() !== -1 && table.getState().sorting.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(Subheader, { tall: true, children: header.column.getSortIndex() + 1 }),
|
|
5020
|
+
!((_b2 = header.column.columnDef.meta) == null ? void 0 : _b2.locked) && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
4256
5021
|
"div",
|
|
4257
5022
|
{
|
|
4258
5023
|
onDoubleClick: (e) => {
|
|
@@ -4275,7 +5040,7 @@ function PinnedColumns(_a) {
|
|
|
4275
5040
|
header.id
|
|
4276
5041
|
);
|
|
4277
5042
|
}
|
|
4278
|
-
return /* @__PURE__ */ (0,
|
|
5043
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(import_react38.default.Fragment, { children: ((_c = header.column.columnDef.meta) == null ? void 0 : _c.checkbox) ? /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(DataGridCell, { type: "header", component: "checkbox", locked: true, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
4279
5044
|
Checkbox,
|
|
4280
5045
|
{
|
|
4281
5046
|
checked: allSelectedAcrossPages,
|
|
@@ -4287,7 +5052,7 @@ function PinnedColumns(_a) {
|
|
|
4287
5052
|
header.getContext()
|
|
4288
5053
|
) }, header.id);
|
|
4289
5054
|
}),
|
|
4290
|
-
enableColumnSelector && /* @__PURE__ */ (0,
|
|
5055
|
+
enableColumnSelector && /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
4291
5056
|
ColumnSelectorHeaderCell,
|
|
4292
5057
|
{
|
|
4293
5058
|
id: id ? `${id}-column-selector` : void 0,
|
|
@@ -4304,7 +5069,7 @@ function PinnedColumns(_a) {
|
|
|
4304
5069
|
headerGroup.id
|
|
4305
5070
|
);
|
|
4306
5071
|
}) }),
|
|
4307
|
-
/* @__PURE__ */ (0,
|
|
5072
|
+
/* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
4308
5073
|
TableBody,
|
|
4309
5074
|
__spreadProps(__spreadValues({
|
|
4310
5075
|
testid: pinnedTestId
|
|
@@ -4323,7 +5088,7 @@ function PinnedColumns(_a) {
|
|
|
4323
5088
|
var no_results_image_default = "data:image/png;base64,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";
|
|
4324
5089
|
|
|
4325
5090
|
// src/components/DataGrid/index.tsx
|
|
4326
|
-
var
|
|
5091
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
4327
5092
|
var PAGE_SIZE_OPTIONS = [5, 10, 15, 20, 25, 30, 35];
|
|
4328
5093
|
var NO_RESULTS_HEIGHT = "h-[185px]";
|
|
4329
5094
|
function DataGrid({
|
|
@@ -4355,23 +5120,23 @@ function DataGrid({
|
|
|
4355
5120
|
ref
|
|
4356
5121
|
}) {
|
|
4357
5122
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
4358
|
-
(0,
|
|
5123
|
+
(0, import_react39.useImperativeHandle)(ref, () => ({
|
|
4359
5124
|
getSavedLayout: () => {
|
|
4360
5125
|
return getSavedLayout();
|
|
4361
5126
|
}
|
|
4362
5127
|
}));
|
|
4363
|
-
const [localSorting, setLocalSorting] = (0,
|
|
4364
|
-
const [localColumnFilters, setLocalColumnFilters] = (0,
|
|
4365
|
-
const [localRowSelection, setLocalRowSelection] = (0,
|
|
5128
|
+
const [localSorting, setLocalSorting] = (0, import_react39.useState)([]);
|
|
5129
|
+
const [localColumnFilters, setLocalColumnFilters] = (0, import_react39.useState)([]);
|
|
5130
|
+
const [localRowSelection, setLocalRowSelection] = (0, import_react39.useState)({});
|
|
4366
5131
|
const {
|
|
4367
5132
|
columns: tableColumns,
|
|
4368
5133
|
setColumns: setTableColumns,
|
|
4369
5134
|
getSavedLayout
|
|
4370
5135
|
} = useTableLayout(columns, id != null ? id : testid);
|
|
4371
|
-
const [columnOrder, setColumnOrder] = (0,
|
|
5136
|
+
const [columnOrder, setColumnOrder] = (0, import_react39.useState)(
|
|
4372
5137
|
tableColumns.map((c) => c.id)
|
|
4373
5138
|
);
|
|
4374
|
-
const [columnVisibility, setColumnVisibility] = (0,
|
|
5139
|
+
const [columnVisibility, setColumnVisibility] = (0, import_react39.useState)(
|
|
4375
5140
|
Object.fromEntries(
|
|
4376
5141
|
tableColumns.filter((column) => !!column.id).map((column) => {
|
|
4377
5142
|
var _a2, _b2;
|
|
@@ -4379,7 +5144,7 @@ function DataGrid({
|
|
|
4379
5144
|
})
|
|
4380
5145
|
)
|
|
4381
5146
|
);
|
|
4382
|
-
const updateColumnVisibility = (0,
|
|
5147
|
+
const updateColumnVisibility = (0, import_react39.useCallback)(
|
|
4383
5148
|
(updateOrder) => {
|
|
4384
5149
|
setColumnVisibility(
|
|
4385
5150
|
Object.fromEntries(
|
|
@@ -4393,7 +5158,7 @@ function DataGrid({
|
|
|
4393
5158
|
},
|
|
4394
5159
|
[tableColumns]
|
|
4395
5160
|
);
|
|
4396
|
-
const resetDefaultColumnVisibility = (0,
|
|
5161
|
+
const resetDefaultColumnVisibility = (0, import_react39.useCallback)(() => {
|
|
4397
5162
|
setTableColumns((prev) => {
|
|
4398
5163
|
columns.forEach((column) => {
|
|
4399
5164
|
var _a2, _b2;
|
|
@@ -4409,7 +5174,7 @@ function DataGrid({
|
|
|
4409
5174
|
return [...prev];
|
|
4410
5175
|
}, true);
|
|
4411
5176
|
}, [columns, setTableColumns]);
|
|
4412
|
-
(0,
|
|
5177
|
+
(0, import_react39.useEffect)(() => {
|
|
4413
5178
|
updateColumnVisibility(true);
|
|
4414
5179
|
}, [updateColumnVisibility]);
|
|
4415
5180
|
const sortingState = pagination ? externalSorting != null ? externalSorting : localSorting : localSorting;
|
|
@@ -4425,7 +5190,7 @@ function DataGrid({
|
|
|
4425
5190
|
(onColumnFiltersChange != null ? onColumnFiltersChange : setLocalColumnFilters)(value);
|
|
4426
5191
|
} : setLocalColumnFilters;
|
|
4427
5192
|
const rowSelection = externalRowSelection != null ? externalRowSelection : localRowSelection;
|
|
4428
|
-
const setRowSelection = (0,
|
|
5193
|
+
const setRowSelection = (0, import_react39.useCallback)(
|
|
4429
5194
|
(updaterOrValue) => {
|
|
4430
5195
|
if (pagination) {
|
|
4431
5196
|
const value = typeof updaterOrValue === "function" ? updaterOrValue(externalRowSelection != null ? externalRowSelection : {}) : updaterOrValue;
|
|
@@ -4439,9 +5204,9 @@ function DataGrid({
|
|
|
4439
5204
|
},
|
|
4440
5205
|
[externalRowSelection, onRowSelectionChange, pagination]
|
|
4441
5206
|
);
|
|
4442
|
-
const dndId = (0,
|
|
4443
|
-
const containerRef =
|
|
4444
|
-
const toggleColumnVisibility = (0,
|
|
5207
|
+
const dndId = (0, import_react39.useId)();
|
|
5208
|
+
const containerRef = import_react39.default.useRef(null);
|
|
5209
|
+
const toggleColumnVisibility = (0, import_react39.useCallback)(
|
|
4445
5210
|
(columnId, isVisible) => {
|
|
4446
5211
|
setTableColumns((prev) => {
|
|
4447
5212
|
const persistedIndex = prev.findIndex((col) => col.id === columnId);
|
|
@@ -4572,7 +5337,7 @@ function DataGrid({
|
|
|
4572
5337
|
virtualPaddingRight = columnVirtualizer.getTotalSize() - ((_e = (_d = virtualColumns[virtualColumns.length - 1]) == null ? void 0 : _d.end) != null ? _e : 0);
|
|
4573
5338
|
}
|
|
4574
5339
|
const empty = table.getRowModel().rows.length === 0;
|
|
4575
|
-
return /* @__PURE__ */ (0,
|
|
5340
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4576
5341
|
import_core.DndContext,
|
|
4577
5342
|
{
|
|
4578
5343
|
id: dndId,
|
|
@@ -4580,28 +5345,28 @@ function DataGrid({
|
|
|
4580
5345
|
modifiers: [import_modifiers.restrictToHorizontalAxis],
|
|
4581
5346
|
onDragEnd: handleDragEnd,
|
|
4582
5347
|
sensors,
|
|
4583
|
-
children: /* @__PURE__ */ (0,
|
|
5348
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4584
5349
|
import_sortable2.SortableContext,
|
|
4585
5350
|
{
|
|
4586
5351
|
items: columnOrder,
|
|
4587
5352
|
strategy: import_sortable2.horizontalListSortingStrategy,
|
|
4588
|
-
children: /* @__PURE__ */ (0,
|
|
5353
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
4589
5354
|
"div",
|
|
4590
5355
|
{
|
|
4591
5356
|
id,
|
|
4592
5357
|
"data-testid": testid,
|
|
4593
5358
|
className: "flex flex-col grow-0 h-fit w-full rounded border border-border-primary-normal overflow-hidden text-text-primary-normal",
|
|
4594
5359
|
children: [
|
|
4595
|
-
/* @__PURE__ */ (0,
|
|
5360
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
4596
5361
|
"div",
|
|
4597
5362
|
{
|
|
4598
|
-
className: (0,
|
|
5363
|
+
className: (0, import_clsx39.default)(
|
|
4599
5364
|
"flex overflow-auto scrollbar-thin relative contain-paint will-change-transform",
|
|
4600
5365
|
empty ? "overflow-y-hidden" : "min-h-[120px]"
|
|
4601
5366
|
),
|
|
4602
5367
|
ref: containerRef,
|
|
4603
5368
|
children: [
|
|
4604
|
-
/* @__PURE__ */ (0,
|
|
5369
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4605
5370
|
PinnedColumns,
|
|
4606
5371
|
{
|
|
4607
5372
|
testid,
|
|
@@ -4614,8 +5379,8 @@ function DataGrid({
|
|
|
4614
5379
|
showFilterRow
|
|
4615
5380
|
}
|
|
4616
5381
|
),
|
|
4617
|
-
/* @__PURE__ */ (0,
|
|
4618
|
-
/* @__PURE__ */ (0,
|
|
5382
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("table", { className: "flex-1 flex flex-col min-h-min", children: [
|
|
5383
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)("thead", { className: "sticky top-0 z-10 grid", children: table.getCenterHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
4619
5384
|
"tr",
|
|
4620
5385
|
{
|
|
4621
5386
|
"data-testid": testid ? `${testid}-header-row-${headerGroup.id}` : void 0,
|
|
@@ -4623,7 +5388,7 @@ function DataGrid({
|
|
|
4623
5388
|
children: [
|
|
4624
5389
|
virtualPaddingLeft ? (
|
|
4625
5390
|
// fake empty column to the left for virtualization scroll padding
|
|
4626
|
-
/* @__PURE__ */ (0,
|
|
5391
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4627
5392
|
"th",
|
|
4628
5393
|
{
|
|
4629
5394
|
style: { display: "flex", width: virtualPaddingLeft }
|
|
@@ -4639,7 +5404,7 @@ function DataGrid({
|
|
|
4639
5404
|
if (typeof header.column.columnDef.header === "string") {
|
|
4640
5405
|
const cellValue = (_a2 = table.getRowModel().rows[0]) == null ? void 0 : _a2.getValue(header.column.id);
|
|
4641
5406
|
const cellAlignment = (_c2 = (_b2 = header.column.columnDef.meta) == null ? void 0 : _b2.align) != null ? _c2 : typeof cellValue === "number" ? "right" : "left";
|
|
4642
|
-
return /* @__PURE__ */ (0,
|
|
5407
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
4643
5408
|
DraggableCellHeader,
|
|
4644
5409
|
{
|
|
4645
5410
|
minWidth: `${header.column.getSize()}px`,
|
|
@@ -4648,7 +5413,7 @@ function DataGrid({
|
|
|
4648
5413
|
header,
|
|
4649
5414
|
locked: (_d2 = header.column.columnDef.meta) == null ? void 0 : _d2.locked,
|
|
4650
5415
|
center: centerHeader,
|
|
4651
|
-
className: (0,
|
|
5416
|
+
className: (0, import_clsx39.default)(
|
|
4652
5417
|
header.column.getCanSort() ? "cursor-pointer" : "cursor-grab",
|
|
4653
5418
|
"group",
|
|
4654
5419
|
{
|
|
@@ -4658,15 +5423,15 @@ function DataGrid({
|
|
|
4658
5423
|
),
|
|
4659
5424
|
useMenuDefaultMinWidth,
|
|
4660
5425
|
children: [
|
|
4661
|
-
cellAlignment === "left" && /* @__PURE__ */ (0,
|
|
5426
|
+
cellAlignment === "left" && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Subheader, { tall: true, children: header.column.columnDef.header }),
|
|
4662
5427
|
getSortIcon(header.column.getIsSorted()),
|
|
4663
5428
|
!header.column.getIsSorted() && header.column.getCanSort() && getSortIcon(
|
|
4664
5429
|
header.column.getNextSortingOrder(),
|
|
4665
5430
|
true
|
|
4666
5431
|
),
|
|
4667
|
-
header.column.getSortIndex() !== -1 && table.getState().sorting.length > 1 && /* @__PURE__ */ (0,
|
|
4668
|
-
cellAlignment === "right" && /* @__PURE__ */ (0,
|
|
4669
|
-
/* @__PURE__ */ (0,
|
|
5432
|
+
header.column.getSortIndex() !== -1 && table.getState().sorting.length > 1 && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Subheader, { tall: true, children: header.column.getSortIndex() + 1 }),
|
|
5433
|
+
cellAlignment === "right" && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Subheader, { tall: true, children: header.column.columnDef.header }),
|
|
5434
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4670
5435
|
"div",
|
|
4671
5436
|
{
|
|
4672
5437
|
onDoubleClick: (e) => {
|
|
@@ -4689,7 +5454,7 @@ function DataGrid({
|
|
|
4689
5454
|
header.id
|
|
4690
5455
|
);
|
|
4691
5456
|
}
|
|
4692
|
-
return /* @__PURE__ */ (0,
|
|
5457
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_react39.default.Fragment, { children: ((_e2 = header.column.columnDef.meta) == null ? void 0 : _e2.checkbox) ? /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4693
5458
|
DataGridCell,
|
|
4694
5459
|
{
|
|
4695
5460
|
id: id ? `${id}-header-${header.id}` : void 0,
|
|
@@ -4697,7 +5462,7 @@ function DataGrid({
|
|
|
4697
5462
|
type: "header",
|
|
4698
5463
|
component: "checkbox",
|
|
4699
5464
|
locked: true,
|
|
4700
|
-
children: /* @__PURE__ */ (0,
|
|
5465
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4701
5466
|
Checkbox,
|
|
4702
5467
|
{
|
|
4703
5468
|
id: id ? `${id}-select-all-checkbox` : void 0,
|
|
@@ -4715,7 +5480,7 @@ function DataGrid({
|
|
|
4715
5480
|
}),
|
|
4716
5481
|
virtualPaddingRight ? (
|
|
4717
5482
|
//fake empty column to the right for virtualization scroll padding
|
|
4718
|
-
/* @__PURE__ */ (0,
|
|
5483
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4719
5484
|
"th",
|
|
4720
5485
|
{
|
|
4721
5486
|
style: { display: "flex", width: virtualPaddingRight }
|
|
@@ -4726,7 +5491,7 @@ function DataGrid({
|
|
|
4726
5491
|
},
|
|
4727
5492
|
headerGroup.id
|
|
4728
5493
|
)) }),
|
|
4729
|
-
/* @__PURE__ */ (0,
|
|
5494
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4730
5495
|
TableBody,
|
|
4731
5496
|
{
|
|
4732
5497
|
id,
|
|
@@ -4744,7 +5509,7 @@ function DataGrid({
|
|
|
4744
5509
|
}
|
|
4745
5510
|
)
|
|
4746
5511
|
] }),
|
|
4747
|
-
/* @__PURE__ */ (0,
|
|
5512
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4748
5513
|
PinnedColumns,
|
|
4749
5514
|
{
|
|
4750
5515
|
id,
|
|
@@ -4764,10 +5529,10 @@ function DataGrid({
|
|
|
4764
5529
|
]
|
|
4765
5530
|
}
|
|
4766
5531
|
),
|
|
4767
|
-
empty && /* @__PURE__ */ (0,
|
|
5532
|
+
empty && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(
|
|
4768
5533
|
"div",
|
|
4769
5534
|
{
|
|
4770
|
-
className: (0,
|
|
5535
|
+
className: (0, import_clsx39.default)(
|
|
4771
5536
|
NO_RESULTS_HEIGHT,
|
|
4772
5537
|
"flex flex-col items-center justify-center",
|
|
4773
5538
|
componentGap,
|
|
@@ -4775,7 +5540,7 @@ function DataGrid({
|
|
|
4775
5540
|
),
|
|
4776
5541
|
"data-testid": testid ? `${testid}-no-results` : void 0,
|
|
4777
5542
|
children: [
|
|
4778
|
-
/* @__PURE__ */ (0,
|
|
5543
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4779
5544
|
"img",
|
|
4780
5545
|
{
|
|
4781
5546
|
src: (_g = (_f = no_results_image_default) == null ? void 0 : _f.src) != null ? _g : no_results_image_default,
|
|
@@ -4785,15 +5550,15 @@ function DataGrid({
|
|
|
4785
5550
|
height: 120
|
|
4786
5551
|
}
|
|
4787
5552
|
),
|
|
4788
|
-
/* @__PURE__ */ (0,
|
|
4789
|
-
/* @__PURE__ */ (0,
|
|
5553
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Subheader, { color: "text-secondary-normal", children: "No Results" }),
|
|
5554
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Paragraph, { color: "text-secondary-normal", children: "To view results, enter or update your search criteria." })
|
|
4790
5555
|
]
|
|
4791
5556
|
}
|
|
4792
5557
|
),
|
|
4793
|
-
!hideStatusBar && /* @__PURE__ */ (0,
|
|
4794
|
-
pagination && /* @__PURE__ */ (0,
|
|
4795
|
-
/* @__PURE__ */ (0,
|
|
4796
|
-
/* @__PURE__ */ (0,
|
|
5558
|
+
!hideStatusBar && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "p-2 pt-[7px] border-t border-border-primary-normal h-full min-h-[34px]", children: [
|
|
5559
|
+
pagination && /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex justify-between items-center", children: [
|
|
5560
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-1 w-min", children: [
|
|
5561
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4797
5562
|
Select,
|
|
4798
5563
|
{
|
|
4799
5564
|
id: id ? `${id}-pagesize-select` : void 0,
|
|
@@ -4804,12 +5569,12 @@ function DataGrid({
|
|
|
4804
5569
|
var _a2;
|
|
4805
5570
|
return (_a2 = pagination.onPageSizeChange) == null ? void 0 : _a2.call(pagination, Number(e.target.value));
|
|
4806
5571
|
},
|
|
4807
|
-
renderMenu: (props) => /* @__PURE__ */ (0,
|
|
5572
|
+
renderMenu: (props) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4808
5573
|
Menu,
|
|
4809
5574
|
__spreadProps(__spreadValues({}, props), {
|
|
4810
5575
|
id: id ? `${id}-pagesize-menu` : void 0,
|
|
4811
5576
|
testid: testid ? `${testid}-pagesize-menu` : void 0,
|
|
4812
|
-
children: PAGE_SIZE_OPTIONS.map((option) => /* @__PURE__ */ (0,
|
|
5577
|
+
children: PAGE_SIZE_OPTIONS.map((option) => /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4813
5578
|
MenuOption,
|
|
4814
5579
|
{
|
|
4815
5580
|
id: id ? `${id}-pagesize-option-${option}` : void 0,
|
|
@@ -4826,22 +5591,22 @@ function DataGrid({
|
|
|
4826
5591
|
)
|
|
4827
5592
|
}
|
|
4828
5593
|
),
|
|
4829
|
-
/* @__PURE__ */ (0,
|
|
5594
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Label, { children: "Per Page" })
|
|
4830
5595
|
] }),
|
|
4831
|
-
/* @__PURE__ */ (0,
|
|
4832
|
-
/* @__PURE__ */ (0,
|
|
5596
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex items-center gap-2", children: [
|
|
5597
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4833
5598
|
Button,
|
|
4834
5599
|
{
|
|
4835
5600
|
id: id ? `${id}-prev-page-button` : void 0,
|
|
4836
5601
|
testid: testid ? `${testid}-prev-page-button` : void 0,
|
|
4837
5602
|
iconOnly: true,
|
|
4838
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
5603
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: "chevron_left" }),
|
|
4839
5604
|
onClick: () => pagination.onPageChange(pagination.pageIndex - 1),
|
|
4840
5605
|
variant: "tertiary",
|
|
4841
5606
|
disabled: pagination.pageIndex === 0
|
|
4842
5607
|
}
|
|
4843
5608
|
),
|
|
4844
|
-
/* @__PURE__ */ (0,
|
|
5609
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(Paragraph, { children: [
|
|
4845
5610
|
pagination.pageIndex * pagination.pageSize + 1,
|
|
4846
5611
|
" -",
|
|
4847
5612
|
" ",
|
|
@@ -4853,13 +5618,13 @@ function DataGrid({
|
|
|
4853
5618
|
"of ",
|
|
4854
5619
|
pagination.total
|
|
4855
5620
|
] }),
|
|
4856
|
-
/* @__PURE__ */ (0,
|
|
5621
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4857
5622
|
Button,
|
|
4858
5623
|
{
|
|
4859
5624
|
id: id ? `${id}-next-page-button` : void 0,
|
|
4860
5625
|
testid: testid ? `${testid}-next-page-button` : void 0,
|
|
4861
5626
|
iconOnly: true,
|
|
4862
|
-
leftIcon: /* @__PURE__ */ (0,
|
|
5627
|
+
leftIcon: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(Icon, { name: "chevron_right" }),
|
|
4863
5628
|
onClick: () => pagination.onPageChange(pagination.pageIndex + 1),
|
|
4864
5629
|
variant: "tertiary",
|
|
4865
5630
|
disabled: (pagination.pageIndex + 1) * pagination.pageSize >= pagination.total
|
|
@@ -4867,7 +5632,7 @@ function DataGrid({
|
|
|
4867
5632
|
)
|
|
4868
5633
|
] })
|
|
4869
5634
|
] }),
|
|
4870
|
-
status && /* @__PURE__ */ (0,
|
|
5635
|
+
status && /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
4871
5636
|
Paragraph,
|
|
4872
5637
|
{
|
|
4873
5638
|
testid: testid ? `${testid}-status-text` : void 0,
|