@helpwave/hightide 0.6.8 → 0.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +68 -26
- package/dist/index.d.ts +68 -26
- package/dist/index.js +562 -466
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +558 -466
- package/dist/index.mjs.map +1 -1
- package/dist/style/globals.css +17 -8
- package/dist/style/uncompiled/theme/components/form-field.css +4 -4
- package/dist/style/uncompiled/theme/components/table.css +4 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -6297,6 +6297,8 @@ __export(index_exports, {
|
|
|
6297
6297
|
FormContext: () => FormContext,
|
|
6298
6298
|
FormField: () => FormField,
|
|
6299
6299
|
FormFieldLayout: () => FormFieldLayout,
|
|
6300
|
+
FormObserver: () => FormObserver,
|
|
6301
|
+
FormObserverKey: () => FormObserverKey,
|
|
6300
6302
|
FormProvider: () => FormProvider,
|
|
6301
6303
|
FormStore: () => FormStore,
|
|
6302
6304
|
GenericFilter: () => GenericFilter,
|
|
@@ -6461,6 +6463,8 @@ __export(index_exports, {
|
|
|
6461
6463
|
useFocusTrap: () => useFocusTrap,
|
|
6462
6464
|
useForm: () => useForm,
|
|
6463
6465
|
useFormField: () => useFormField,
|
|
6466
|
+
useFormObserver: () => useFormObserver,
|
|
6467
|
+
useFormObserverKey: () => useFormObserverKey,
|
|
6464
6468
|
useHandleRefs: () => useHandleRefs,
|
|
6465
6469
|
useHightideConfig: () => useHightideConfig,
|
|
6466
6470
|
useHightideTranslation: () => useHightideTranslation,
|
|
@@ -7167,277 +7171,7 @@ var TagIcon = ({
|
|
|
7167
7171
|
|
|
7168
7172
|
// src/components/form/FieldLayout.tsx
|
|
7169
7173
|
var import_react5 = require("react");
|
|
7170
|
-
|
|
7171
|
-
// src/utils/array.ts
|
|
7172
|
-
var equalSizeGroups = (array, groupSize) => {
|
|
7173
|
-
if (groupSize <= 0) {
|
|
7174
|
-
console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
|
|
7175
|
-
return [[...array]];
|
|
7176
|
-
}
|
|
7177
|
-
const groups = [];
|
|
7178
|
-
for (let i = 0; i < array.length; i += groupSize) {
|
|
7179
|
-
groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
|
|
7180
|
-
}
|
|
7181
|
-
return groups;
|
|
7182
|
-
};
|
|
7183
|
-
var defaultRangeOptions = {
|
|
7184
|
-
allowEmptyRange: false,
|
|
7185
|
-
stepSize: 1,
|
|
7186
|
-
exclusiveStart: false,
|
|
7187
|
-
exclusiveEnd: true
|
|
7188
|
-
};
|
|
7189
|
-
var range = (endOrRange, options) => {
|
|
7190
|
-
const { allowEmptyRange, stepSize, exclusiveStart, exclusiveEnd } = { ...defaultRangeOptions, ...options };
|
|
7191
|
-
let start = 0;
|
|
7192
|
-
let end;
|
|
7193
|
-
if (typeof endOrRange === "number") {
|
|
7194
|
-
end = endOrRange;
|
|
7195
|
-
} else {
|
|
7196
|
-
start = endOrRange[0];
|
|
7197
|
-
end = endOrRange[1];
|
|
7198
|
-
}
|
|
7199
|
-
if (!exclusiveEnd) {
|
|
7200
|
-
end -= 1;
|
|
7201
|
-
}
|
|
7202
|
-
if (exclusiveStart) {
|
|
7203
|
-
start += 1;
|
|
7204
|
-
}
|
|
7205
|
-
if (end - 1 < start) {
|
|
7206
|
-
if (!allowEmptyRange) {
|
|
7207
|
-
console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set options.allowEmptyRange to true`);
|
|
7208
|
-
}
|
|
7209
|
-
return [];
|
|
7210
|
-
}
|
|
7211
|
-
return Array.from({ length: end - start }, (_, index) => index * stepSize + start);
|
|
7212
|
-
};
|
|
7213
|
-
var closestMatch = (list, firstCloser) => {
|
|
7214
|
-
return list.reduce((item1, item2) => {
|
|
7215
|
-
return firstCloser(item1, item2) ? item1 : item2;
|
|
7216
|
-
});
|
|
7217
|
-
};
|
|
7218
|
-
var getNeighbours = (list, item, neighbourDistance = 2) => {
|
|
7219
|
-
const index = list.indexOf(item);
|
|
7220
|
-
const totalItems = neighbourDistance * 2 + 1;
|
|
7221
|
-
if (list.length < totalItems) {
|
|
7222
|
-
console.warn("List is to short");
|
|
7223
|
-
return list;
|
|
7224
|
-
}
|
|
7225
|
-
if (index === -1) {
|
|
7226
|
-
console.error("item not found in list");
|
|
7227
|
-
return list.splice(0, totalItems);
|
|
7228
|
-
}
|
|
7229
|
-
let start = index - neighbourDistance;
|
|
7230
|
-
if (start < 0) {
|
|
7231
|
-
start += list.length;
|
|
7232
|
-
}
|
|
7233
|
-
const end = (index + neighbourDistance + 1) % list.length;
|
|
7234
|
-
const result = [];
|
|
7235
|
-
let ignoreOnce = list.length === totalItems;
|
|
7236
|
-
for (let i = start; i !== end || ignoreOnce; i = (i + 1) % list.length) {
|
|
7237
|
-
result.push(list[i]);
|
|
7238
|
-
if (end === i && ignoreOnce) {
|
|
7239
|
-
ignoreOnce = false;
|
|
7240
|
-
}
|
|
7241
|
-
}
|
|
7242
|
-
return result;
|
|
7243
|
-
};
|
|
7244
|
-
var createLoopingListWithIndex = (list, startIndex = 0, length = 0, forwards = true) => {
|
|
7245
|
-
if (length < 0) {
|
|
7246
|
-
console.warn(`createLoopingList: length must be >= 0, given ${length}`);
|
|
7247
|
-
} else if (length === 0) {
|
|
7248
|
-
length = list.length;
|
|
7249
|
-
}
|
|
7250
|
-
const returnList = [];
|
|
7251
|
-
if (forwards) {
|
|
7252
|
-
for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {
|
|
7253
|
-
returnList.push([i, list[i]]);
|
|
7254
|
-
}
|
|
7255
|
-
} else {
|
|
7256
|
-
for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {
|
|
7257
|
-
returnList.push([i, list[i]]);
|
|
7258
|
-
}
|
|
7259
|
-
}
|
|
7260
|
-
return returnList;
|
|
7261
|
-
};
|
|
7262
|
-
var createLoopingList = (list, startIndex = 0, length = 0, forwards = true) => {
|
|
7263
|
-
return createLoopingListWithIndex(list, startIndex, length, forwards).map(([_, item]) => item);
|
|
7264
|
-
};
|
|
7265
|
-
var moveItems = (list, move = 0) => {
|
|
7266
|
-
const result = [];
|
|
7267
|
-
let start = move;
|
|
7268
|
-
if (start < 0) {
|
|
7269
|
-
start = list.length - move;
|
|
7270
|
-
}
|
|
7271
|
-
start = start % list.length;
|
|
7272
|
-
for (let i = 0; i < list.length; i++) {
|
|
7273
|
-
result[i] = list[(i + start) % list.length];
|
|
7274
|
-
}
|
|
7275
|
-
return result;
|
|
7276
|
-
};
|
|
7277
|
-
function resolveSingleOrArray(value) {
|
|
7278
|
-
if (Array.isArray(value)) {
|
|
7279
|
-
return value;
|
|
7280
|
-
} else if (value) {
|
|
7281
|
-
return [value];
|
|
7282
|
-
}
|
|
7283
|
-
return [];
|
|
7284
|
-
}
|
|
7285
|
-
var ArrayUtil = {
|
|
7286
|
-
unique: (list) => {
|
|
7287
|
-
const seen = /* @__PURE__ */ new Set();
|
|
7288
|
-
return list.filter((item) => {
|
|
7289
|
-
if (seen.has(item)) {
|
|
7290
|
-
return false;
|
|
7291
|
-
}
|
|
7292
|
-
seen.add(item);
|
|
7293
|
-
return true;
|
|
7294
|
-
});
|
|
7295
|
-
},
|
|
7296
|
-
difference: (list, removeList) => {
|
|
7297
|
-
const remove = new Set(removeList);
|
|
7298
|
-
return list.filter((item) => !remove.has(item));
|
|
7299
|
-
},
|
|
7300
|
-
moveItems,
|
|
7301
|
-
resolveSingleOrArray
|
|
7302
|
-
};
|
|
7303
|
-
|
|
7304
|
-
// src/utils/propsUtil.ts
|
|
7305
|
-
function bool(isActive) {
|
|
7306
|
-
return isActive ? "" : void 0;
|
|
7307
|
-
}
|
|
7308
|
-
function name(name2, props = {}) {
|
|
7309
|
-
return props["data-name"] ? String(props["data-name"]) : name2;
|
|
7310
|
-
}
|
|
7311
|
-
function interactionStatesData(interactionStates) {
|
|
7312
|
-
return {
|
|
7313
|
-
"data-disabled": bool(!!interactionStates.disabled),
|
|
7314
|
-
"data-invalid": bool(!!interactionStates.invalid),
|
|
7315
|
-
"data-readonly": bool(!!interactionStates.readOnly),
|
|
7316
|
-
"data-required": bool(!!interactionStates.required)
|
|
7317
|
-
};
|
|
7318
|
-
}
|
|
7319
|
-
var dataAttributes = {
|
|
7320
|
-
bool,
|
|
7321
|
-
name,
|
|
7322
|
-
interactionStates: interactionStatesData
|
|
7323
|
-
};
|
|
7324
|
-
function mouseEventExtender({
|
|
7325
|
-
fromProps,
|
|
7326
|
-
extensions
|
|
7327
|
-
}) {
|
|
7328
|
-
return (event) => {
|
|
7329
|
-
fromProps?.(event);
|
|
7330
|
-
ArrayUtil.resolveSingleOrArray(extensions).forEach((element) => element(event));
|
|
7331
|
-
};
|
|
7332
|
-
}
|
|
7333
|
-
function keyboardEventExtender({
|
|
7334
|
-
fromProps,
|
|
7335
|
-
extensions
|
|
7336
|
-
}) {
|
|
7337
|
-
return (event) => {
|
|
7338
|
-
fromProps?.(event);
|
|
7339
|
-
ArrayUtil.resolveSingleOrArray(extensions).forEach((element) => element(event));
|
|
7340
|
-
};
|
|
7341
|
-
}
|
|
7342
|
-
var extender = {
|
|
7343
|
-
mouseEvent: mouseEventExtender,
|
|
7344
|
-
keyboardEvent: keyboardEventExtender
|
|
7345
|
-
};
|
|
7346
|
-
function click(onClick) {
|
|
7347
|
-
const keyboardEventHandler = (event) => {
|
|
7348
|
-
if (event.key === "Enter" || event.key === " ") {
|
|
7349
|
-
event.preventDefault();
|
|
7350
|
-
event.stopPropagation();
|
|
7351
|
-
onClick();
|
|
7352
|
-
}
|
|
7353
|
-
};
|
|
7354
|
-
return {
|
|
7355
|
-
onClick,
|
|
7356
|
-
onKeyDown: keyboardEventHandler
|
|
7357
|
-
};
|
|
7358
|
-
}
|
|
7359
|
-
function close2(onClose) {
|
|
7360
|
-
return (event) => {
|
|
7361
|
-
if (event.key === "Escape") {
|
|
7362
|
-
event.preventDefault();
|
|
7363
|
-
event.stopPropagation();
|
|
7364
|
-
onClose?.();
|
|
7365
|
-
}
|
|
7366
|
-
};
|
|
7367
|
-
}
|
|
7368
|
-
function navigate({
|
|
7369
|
-
left,
|
|
7370
|
-
right,
|
|
7371
|
-
up: up2,
|
|
7372
|
-
down: down2
|
|
7373
|
-
}) {
|
|
7374
|
-
return (event) => {
|
|
7375
|
-
switch (event.key) {
|
|
7376
|
-
case "ArrowLeft":
|
|
7377
|
-
left(event);
|
|
7378
|
-
event.preventDefault();
|
|
7379
|
-
event.stopPropagation();
|
|
7380
|
-
break;
|
|
7381
|
-
case "ArrowRight":
|
|
7382
|
-
right(event);
|
|
7383
|
-
event.preventDefault();
|
|
7384
|
-
event.stopPropagation();
|
|
7385
|
-
break;
|
|
7386
|
-
case "ArrowUp":
|
|
7387
|
-
up2(event);
|
|
7388
|
-
event.preventDefault();
|
|
7389
|
-
event.stopPropagation();
|
|
7390
|
-
break;
|
|
7391
|
-
case "ArrowDown":
|
|
7392
|
-
down2(event);
|
|
7393
|
-
event.preventDefault();
|
|
7394
|
-
event.stopPropagation();
|
|
7395
|
-
break;
|
|
7396
|
-
}
|
|
7397
|
-
};
|
|
7398
|
-
}
|
|
7399
|
-
function mergeProps(slotProps, childProps) {
|
|
7400
|
-
const result = { ...childProps };
|
|
7401
|
-
for (const key in slotProps) {
|
|
7402
|
-
const slotValue = slotProps[key];
|
|
7403
|
-
const childValue = childProps[key];
|
|
7404
|
-
if (key === "className") {
|
|
7405
|
-
result.className = [slotValue, childValue].filter(Boolean).join(" ");
|
|
7406
|
-
} else if (key === "style") {
|
|
7407
|
-
result.style = { ...slotValue, ...childValue };
|
|
7408
|
-
} else if (key.startsWith("on") && typeof slotValue === "function" && typeof childValue === "function") {
|
|
7409
|
-
result[key] = (...args) => {
|
|
7410
|
-
slotValue(...args);
|
|
7411
|
-
childValue(...args);
|
|
7412
|
-
};
|
|
7413
|
-
} else {
|
|
7414
|
-
result[key] = childValue ?? slotValue;
|
|
7415
|
-
}
|
|
7416
|
-
}
|
|
7417
|
-
return result;
|
|
7418
|
-
}
|
|
7419
|
-
function interactionStatesAria(interactionStates, props = {}) {
|
|
7420
|
-
return {
|
|
7421
|
-
"aria-disabled": props["aria-disabled"] ?? interactionStates.disabled,
|
|
7422
|
-
"aria-invalid": props["aria-invalid"] ?? interactionStates.invalid,
|
|
7423
|
-
"aria-readonly": props["aria-readonly"] ?? interactionStates.readOnly,
|
|
7424
|
-
"aria-required": props["aria-required"] ?? interactionStates.required
|
|
7425
|
-
};
|
|
7426
|
-
}
|
|
7427
|
-
var aria = {
|
|
7428
|
-
close: close2,
|
|
7429
|
-
click,
|
|
7430
|
-
navigate,
|
|
7431
|
-
interactionStates: interactionStatesAria
|
|
7432
|
-
};
|
|
7433
|
-
var PropsUtil = {
|
|
7434
|
-
extender,
|
|
7435
|
-
dataAttributes,
|
|
7436
|
-
aria,
|
|
7437
|
-
mergeProps
|
|
7438
|
-
};
|
|
7439
|
-
|
|
7440
|
-
// src/components/form/FieldLayout.tsx
|
|
7174
|
+
var import_clsx5 = __toESM(require("clsx"));
|
|
7441
7175
|
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
7442
7176
|
var FormFieldLayout = (0, import_react5.forwardRef)(function FormFieldLayout2({
|
|
7443
7177
|
children,
|
|
@@ -7451,6 +7185,7 @@ var FormFieldLayout = (0, import_react5.forwardRef)(function FormFieldLayout2({
|
|
|
7451
7185
|
invalidDescriptionProps,
|
|
7452
7186
|
description,
|
|
7453
7187
|
descriptionProps,
|
|
7188
|
+
showRequiredIndicator = true,
|
|
7454
7189
|
...props
|
|
7455
7190
|
}, ref) {
|
|
7456
7191
|
const generatedId = (0, import_react5.useId)();
|
|
@@ -7488,7 +7223,7 @@ var FormFieldLayout = (0, import_react5.forwardRef)(function FormFieldLayout2({
|
|
|
7488
7223
|
{
|
|
7489
7224
|
...props,
|
|
7490
7225
|
ref,
|
|
7491
|
-
|
|
7226
|
+
className: (0, import_clsx5.default)("form-field-container", props.className),
|
|
7492
7227
|
children: [
|
|
7493
7228
|
label && /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
|
|
7494
7229
|
"label",
|
|
@@ -7496,10 +7231,10 @@ var FormFieldLayout = (0, import_react5.forwardRef)(function FormFieldLayout2({
|
|
|
7496
7231
|
...labelProps,
|
|
7497
7232
|
id: ids.label,
|
|
7498
7233
|
htmlFor: ids.input,
|
|
7499
|
-
|
|
7234
|
+
className: (0, import_clsx5.default)("form-field-label", labelProps?.className),
|
|
7500
7235
|
children: [
|
|
7501
7236
|
label,
|
|
7502
|
-
required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { role: "none", className: "bg-primary w-2 h-2 rounded-full" })
|
|
7237
|
+
showRequiredIndicator && required && /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { role: "none", className: "bg-primary w-2 h-2 rounded-full" })
|
|
7503
7238
|
]
|
|
7504
7239
|
}
|
|
7505
7240
|
),
|
|
@@ -7508,7 +7243,7 @@ var FormFieldLayout = (0, import_react5.forwardRef)(function FormFieldLayout2({
|
|
|
7508
7243
|
{
|
|
7509
7244
|
...descriptionProps,
|
|
7510
7245
|
id: ids.description,
|
|
7511
|
-
|
|
7246
|
+
className: (0, import_clsx5.default)("form-field-description", descriptionProps?.className),
|
|
7512
7247
|
children: description
|
|
7513
7248
|
}
|
|
7514
7249
|
),
|
|
@@ -7518,10 +7253,10 @@ var FormFieldLayout = (0, import_react5.forwardRef)(function FormFieldLayout2({
|
|
|
7518
7253
|
{
|
|
7519
7254
|
...invalidDescriptionProps,
|
|
7520
7255
|
id: ids.description,
|
|
7521
|
-
"data-name": "form-field-error",
|
|
7522
7256
|
role: "alert",
|
|
7523
7257
|
"aria-hidden": !invalid,
|
|
7524
7258
|
"aria-live": "polite",
|
|
7259
|
+
className: (0, import_clsx5.default)("form-field-error", invalidDescriptionProps?.className),
|
|
7525
7260
|
children: invalidDescription
|
|
7526
7261
|
}
|
|
7527
7262
|
)
|
|
@@ -7542,13 +7277,18 @@ function useForm() {
|
|
|
7542
7277
|
if (!ctx) throw new Error("FormContext is only available inside a <Form>");
|
|
7543
7278
|
return ctx;
|
|
7544
7279
|
}
|
|
7545
|
-
function useFormField(key, { triggerUpdate = true }) {
|
|
7280
|
+
function useFormField(key, { triggerUpdate = true, validationBehaviour = "touched" }) {
|
|
7546
7281
|
const context = (0, import_react6.useContext)(FormContext);
|
|
7547
7282
|
const subscribe = (0, import_react6.useCallback)((cb) => {
|
|
7548
7283
|
if (!context) return () => {
|
|
7549
7284
|
};
|
|
7550
7285
|
return context.store.subscribe(key, cb);
|
|
7551
7286
|
}, [context, key]);
|
|
7287
|
+
const subscribeAll = (0, import_react6.useCallback)((cb) => {
|
|
7288
|
+
if (!context) return () => {
|
|
7289
|
+
};
|
|
7290
|
+
return context.store.subscribe("ALL", cb);
|
|
7291
|
+
}, [context]);
|
|
7552
7292
|
const value = (0, import_react6.useSyncExternalStore)(
|
|
7553
7293
|
subscribe,
|
|
7554
7294
|
() => context ? context.store.getValue(key) : void 0
|
|
@@ -7557,31 +7297,85 @@ function useFormField(key, { triggerUpdate = true }) {
|
|
|
7557
7297
|
subscribe,
|
|
7558
7298
|
() => context ? context.store.getError(key) : void 0
|
|
7559
7299
|
);
|
|
7300
|
+
const touched = (0, import_react6.useSyncExternalStore)(
|
|
7301
|
+
subscribe,
|
|
7302
|
+
() => context ? context.store.getTouched(key) : void 0
|
|
7303
|
+
);
|
|
7304
|
+
const hasTriedSubmitting = (0, import_react6.useSyncExternalStore)(
|
|
7305
|
+
subscribeAll,
|
|
7306
|
+
() => context ? context.store.getHasTriedSubmitting() : void 0
|
|
7307
|
+
);
|
|
7308
|
+
const isShowingErrors = validationBehaviour === "always" || validationBehaviour === "touched" && (touched ?? false) || validationBehaviour === "submit" && (hasTriedSubmitting ?? false);
|
|
7560
7309
|
const getDataProps = (0, import_react6.useCallback)(() => {
|
|
7561
7310
|
return {
|
|
7562
|
-
value
|
|
7311
|
+
value,
|
|
7563
7312
|
onValueChange: (val) => context?.store.setValue(key, val),
|
|
7564
7313
|
onEditComplete: (val) => {
|
|
7565
7314
|
context?.store.setTouched(key);
|
|
7566
7315
|
context?.store.setValue(key, val, triggerUpdate);
|
|
7567
7316
|
}
|
|
7568
7317
|
};
|
|
7569
|
-
}, [context, key, triggerUpdate]);
|
|
7318
|
+
}, [context?.store, key, triggerUpdate, value]);
|
|
7570
7319
|
if (!context) return null;
|
|
7571
7320
|
const { registerRef } = context;
|
|
7572
7321
|
return {
|
|
7573
7322
|
store: context.store,
|
|
7574
7323
|
value,
|
|
7575
|
-
error,
|
|
7324
|
+
error: isShowingErrors ? error : void 0,
|
|
7325
|
+
touched: touched ?? false,
|
|
7326
|
+
hasTriedSubmitting: hasTriedSubmitting ?? false,
|
|
7576
7327
|
dataProps: getDataProps(),
|
|
7577
7328
|
registerRef: registerRef(key)
|
|
7578
7329
|
};
|
|
7579
7330
|
}
|
|
7331
|
+
function useFormObserver({ formStore } = {}) {
|
|
7332
|
+
const context = (0, import_react6.useContext)(FormContext);
|
|
7333
|
+
const store = formStore ?? context?.store;
|
|
7334
|
+
const subscribe = (0, import_react6.useCallback)((cb) => {
|
|
7335
|
+
if (!store) return () => {
|
|
7336
|
+
};
|
|
7337
|
+
return store.subscribe("ALL", cb);
|
|
7338
|
+
}, [store]);
|
|
7339
|
+
const values = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getAllValues() : void 0);
|
|
7340
|
+
const errors = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getErrors() : void 0);
|
|
7341
|
+
const touched = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getAllTouched() : void 0);
|
|
7342
|
+
const hasErrors = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getHasError() : void 0);
|
|
7343
|
+
const hasTriedSubmitting = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getHasTriedSubmitting() : void 0);
|
|
7344
|
+
if (!store) return null;
|
|
7345
|
+
return {
|
|
7346
|
+
store,
|
|
7347
|
+
values,
|
|
7348
|
+
errors,
|
|
7349
|
+
touched,
|
|
7350
|
+
hasErrors,
|
|
7351
|
+
hasTriedSubmitting
|
|
7352
|
+
};
|
|
7353
|
+
}
|
|
7354
|
+
function useFormObserverKey({ formStore, key }) {
|
|
7355
|
+
const context = (0, import_react6.useContext)(FormContext);
|
|
7356
|
+
const store = formStore ?? context?.store;
|
|
7357
|
+
const subscribe = (0, import_react6.useCallback)((cb) => {
|
|
7358
|
+
if (!store) return () => {
|
|
7359
|
+
};
|
|
7360
|
+
return store.subscribe(key, cb);
|
|
7361
|
+
}, [store, key]);
|
|
7362
|
+
const value = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getValue(key) : void 0);
|
|
7363
|
+
const error = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getError(key) : void 0);
|
|
7364
|
+
const touched = (0, import_react6.useSyncExternalStore)(subscribe, () => store ? store.getTouched(key) : void 0);
|
|
7365
|
+
if (!store) return null;
|
|
7366
|
+
return {
|
|
7367
|
+
store,
|
|
7368
|
+
value,
|
|
7369
|
+
error,
|
|
7370
|
+
touched,
|
|
7371
|
+
hasError: !!error
|
|
7372
|
+
};
|
|
7373
|
+
}
|
|
7580
7374
|
|
|
7581
7375
|
// src/components/form/FormField.tsx
|
|
7582
7376
|
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
7583
|
-
var FormField = ({ children, name: name2, triggerUpdateOnEditComplete, ...props }) => {
|
|
7584
|
-
const formField = useFormField(name2, { triggerUpdate: triggerUpdateOnEditComplete });
|
|
7377
|
+
var FormField = ({ children, name: name2, triggerUpdateOnEditComplete, validationBehaviour, ...props }) => {
|
|
7378
|
+
const formField = useFormField(name2, { triggerUpdate: triggerUpdateOnEditComplete, validationBehaviour });
|
|
7585
7379
|
if (!formField) {
|
|
7586
7380
|
throw new Error("<FormField> can only be used inside a FormContext try wrapping your app in a <FormProvider>");
|
|
7587
7381
|
}
|
|
@@ -7593,20 +7387,47 @@ var FormField = ({ children, name: name2, triggerUpdateOnEditComplete, ...props
|
|
|
7593
7387
|
ref: formField.registerRef
|
|
7594
7388
|
},
|
|
7595
7389
|
interactionStates: formFieldLayoutBag.interactionStates,
|
|
7390
|
+
touched: formField.touched,
|
|
7596
7391
|
other: {
|
|
7597
7392
|
updateValue: (value) => formField.store.setValue(name2, value, true)
|
|
7598
7393
|
}
|
|
7599
7394
|
}) });
|
|
7600
7395
|
};
|
|
7601
7396
|
|
|
7397
|
+
// src/utils/bagFunctions.ts
|
|
7398
|
+
var resolve = (bagFunctionOrValue, bag) => {
|
|
7399
|
+
if (typeof bagFunctionOrValue === "function") {
|
|
7400
|
+
return bagFunctionOrValue(bag);
|
|
7401
|
+
}
|
|
7402
|
+
return bagFunctionOrValue;
|
|
7403
|
+
};
|
|
7404
|
+
var BagFunctionUtil = {
|
|
7405
|
+
resolve
|
|
7406
|
+
};
|
|
7407
|
+
|
|
7408
|
+
// src/components/form/FormObserver.tsx
|
|
7409
|
+
var FormObserver = ({ children, formStore }) => {
|
|
7410
|
+
const formObserver = useFormObserver({ formStore });
|
|
7411
|
+
if (!formObserver) {
|
|
7412
|
+
throw new Error("<FormObserver> can only be used inside a <FormProvider>");
|
|
7413
|
+
}
|
|
7414
|
+
return BagFunctionUtil.resolve(children, formObserver);
|
|
7415
|
+
};
|
|
7416
|
+
var FormObserverKey = ({ children, formStore, key }) => {
|
|
7417
|
+
const formObserver = useFormObserverKey({ formStore, key });
|
|
7418
|
+
if (!formObserver) {
|
|
7419
|
+
throw new Error("<FormObserverKey> can only be used inside a <FormProvider>");
|
|
7420
|
+
}
|
|
7421
|
+
return BagFunctionUtil.resolve(children, formObserver);
|
|
7422
|
+
};
|
|
7423
|
+
|
|
7602
7424
|
// src/components/form/FormStore.ts
|
|
7603
7425
|
var FormStore = class {
|
|
7604
7426
|
constructor({
|
|
7605
7427
|
initialValues,
|
|
7606
7428
|
hasTriedSubmitting,
|
|
7607
7429
|
submittingTouchesAll = true,
|
|
7608
|
-
validators = {}
|
|
7609
|
-
validationBehaviour = "touched"
|
|
7430
|
+
validators = {}
|
|
7610
7431
|
}) {
|
|
7611
7432
|
this.hasTriedSubmitting = false;
|
|
7612
7433
|
this.errors = {};
|
|
@@ -7623,7 +7444,6 @@ var FormStore = class {
|
|
|
7623
7444
|
});
|
|
7624
7445
|
}
|
|
7625
7446
|
this.validators = validators;
|
|
7626
|
-
this.validationBehaviour = validationBehaviour;
|
|
7627
7447
|
this.validateAll();
|
|
7628
7448
|
}
|
|
7629
7449
|
// Values
|
|
@@ -7636,8 +7456,8 @@ var FormStore = class {
|
|
|
7636
7456
|
setValue(key, value, triggerUpdate = false) {
|
|
7637
7457
|
if (this.values[key] !== value) {
|
|
7638
7458
|
this.values[key] = value;
|
|
7639
|
-
this.validate(key);
|
|
7640
7459
|
this.notify({ type: "onChange", key, value, values: this.values });
|
|
7460
|
+
this.validate(key);
|
|
7641
7461
|
}
|
|
7642
7462
|
if (triggerUpdate) {
|
|
7643
7463
|
this.notify({
|
|
@@ -7669,10 +7489,12 @@ var FormStore = class {
|
|
|
7669
7489
|
getTouched(key) {
|
|
7670
7490
|
return !!this.touched[key];
|
|
7671
7491
|
}
|
|
7492
|
+
getAllTouched() {
|
|
7493
|
+
return { ...this.touched };
|
|
7494
|
+
}
|
|
7672
7495
|
setTouched(key, isTouched = true) {
|
|
7673
7496
|
if (this.touched[key] === isTouched) return;
|
|
7674
7497
|
this.touched[key] = isTouched;
|
|
7675
|
-
this.validate(key);
|
|
7676
7498
|
this.notify({ type: "onTouched", key, value: this.values[key], values: { ...this.values } });
|
|
7677
7499
|
}
|
|
7678
7500
|
// Error and Validation
|
|
@@ -7694,10 +7516,8 @@ var FormStore = class {
|
|
|
7694
7516
|
}
|
|
7695
7517
|
this.notify({ type: "onError", key, value: this.values[key], error, values: { ...this.values } });
|
|
7696
7518
|
}
|
|
7697
|
-
|
|
7698
|
-
|
|
7699
|
-
this.validationBehaviour = validationBehaviour;
|
|
7700
|
-
this.validateAll();
|
|
7519
|
+
getHasTriedSubmitting() {
|
|
7520
|
+
return this.hasTriedSubmitting;
|
|
7701
7521
|
}
|
|
7702
7522
|
changeValidators(validators) {
|
|
7703
7523
|
this.validators = { ...this.validators, ...validators };
|
|
@@ -7705,8 +7525,7 @@ var FormStore = class {
|
|
|
7705
7525
|
}
|
|
7706
7526
|
validate(key) {
|
|
7707
7527
|
const validator = this.validators[key];
|
|
7708
|
-
|
|
7709
|
-
if (!validator || !shouldValidate) {
|
|
7528
|
+
if (!validator) {
|
|
7710
7529
|
this.setError(key, void 0);
|
|
7711
7530
|
return;
|
|
7712
7531
|
}
|
|
@@ -7744,7 +7563,6 @@ var FormStore = class {
|
|
|
7744
7563
|
if (this.submittingTouchesAll) {
|
|
7745
7564
|
Object.keys(this.initialValues).forEach((k) => {
|
|
7746
7565
|
this.touched[k] = true;
|
|
7747
|
-
this.validate(k);
|
|
7748
7566
|
});
|
|
7749
7567
|
}
|
|
7750
7568
|
const hasErrors = Object.keys(this.errors).length > 0;
|
|
@@ -7779,7 +7597,6 @@ function useCreateForm({
|
|
|
7779
7597
|
initialValues,
|
|
7780
7598
|
hasTriedSubmitting,
|
|
7781
7599
|
validators,
|
|
7782
|
-
validationBehaviour,
|
|
7783
7600
|
scrollToElements = true,
|
|
7784
7601
|
scrollOptions = { behavior: "smooth", block: "center" }
|
|
7785
7602
|
}) {
|
|
@@ -7787,13 +7604,9 @@ function useCreateForm({
|
|
|
7787
7604
|
new FormStore({
|
|
7788
7605
|
initialValues,
|
|
7789
7606
|
hasTriedSubmitting,
|
|
7790
|
-
validators
|
|
7791
|
-
validationBehaviour
|
|
7607
|
+
validators
|
|
7792
7608
|
})
|
|
7793
7609
|
);
|
|
7794
|
-
(0, import_react7.useEffect)(() => {
|
|
7795
|
-
storeRef.current.changeValidationBehavoir(validationBehaviour);
|
|
7796
|
-
}, [validationBehaviour]);
|
|
7797
7610
|
(0, import_react7.useEffect)(() => {
|
|
7798
7611
|
storeRef.current.changeValidators(validators);
|
|
7799
7612
|
}, [validators]);
|
|
@@ -7864,12 +7677,7 @@ function useCreateForm({
|
|
|
7864
7677
|
storeRef.current.setValues(updater);
|
|
7865
7678
|
}
|
|
7866
7679
|
},
|
|
7867
|
-
validateAll: () => storeRef.current.validateAll()
|
|
7868
|
-
getError: (key) => storeRef.current.getError(key),
|
|
7869
|
-
getErrors: () => storeRef.current.getErrors(),
|
|
7870
|
-
getIsValid: () => !storeRef.current.getHasError(),
|
|
7871
|
-
getValue: (key) => storeRef.current.getValue(key),
|
|
7872
|
-
getValues: () => storeRef.current.getAllValues()
|
|
7680
|
+
validateAll: () => storeRef.current.validateAll()
|
|
7873
7681
|
}), []);
|
|
7874
7682
|
return {
|
|
7875
7683
|
store: storeRef.current,
|
|
@@ -8162,9 +7970,142 @@ var AnchoredFloatingContainer = (0, import_react9.forwardRef)(function FloatingC
|
|
|
8162
7970
|
|
|
8163
7971
|
// src/components/layout/Carousel.tsx
|
|
8164
7972
|
var import_react14 = require("react");
|
|
8165
|
-
var
|
|
7973
|
+
var import_clsx6 = __toESM(require("clsx"));
|
|
8166
7974
|
var import_lucide_react3 = require("lucide-react");
|
|
8167
7975
|
|
|
7976
|
+
// src/utils/array.ts
|
|
7977
|
+
var equalSizeGroups = (array, groupSize) => {
|
|
7978
|
+
if (groupSize <= 0) {
|
|
7979
|
+
console.warn(`group size should be greater than 0: groupSize = ${groupSize}`);
|
|
7980
|
+
return [[...array]];
|
|
7981
|
+
}
|
|
7982
|
+
const groups = [];
|
|
7983
|
+
for (let i = 0; i < array.length; i += groupSize) {
|
|
7984
|
+
groups.push(array.slice(i, Math.min(i + groupSize, array.length)));
|
|
7985
|
+
}
|
|
7986
|
+
return groups;
|
|
7987
|
+
};
|
|
7988
|
+
var defaultRangeOptions = {
|
|
7989
|
+
allowEmptyRange: false,
|
|
7990
|
+
stepSize: 1,
|
|
7991
|
+
exclusiveStart: false,
|
|
7992
|
+
exclusiveEnd: true
|
|
7993
|
+
};
|
|
7994
|
+
var range = (endOrRange, options) => {
|
|
7995
|
+
const { allowEmptyRange, stepSize, exclusiveStart, exclusiveEnd } = { ...defaultRangeOptions, ...options };
|
|
7996
|
+
let start = 0;
|
|
7997
|
+
let end;
|
|
7998
|
+
if (typeof endOrRange === "number") {
|
|
7999
|
+
end = endOrRange;
|
|
8000
|
+
} else {
|
|
8001
|
+
start = endOrRange[0];
|
|
8002
|
+
end = endOrRange[1];
|
|
8003
|
+
}
|
|
8004
|
+
if (!exclusiveEnd) {
|
|
8005
|
+
end -= 1;
|
|
8006
|
+
}
|
|
8007
|
+
if (exclusiveStart) {
|
|
8008
|
+
start += 1;
|
|
8009
|
+
}
|
|
8010
|
+
if (end - 1 < start) {
|
|
8011
|
+
if (!allowEmptyRange) {
|
|
8012
|
+
console.warn(`range: end (${end}) < start (${start}) should be allowed explicitly, set options.allowEmptyRange to true`);
|
|
8013
|
+
}
|
|
8014
|
+
return [];
|
|
8015
|
+
}
|
|
8016
|
+
return Array.from({ length: end - start }, (_, index) => index * stepSize + start);
|
|
8017
|
+
};
|
|
8018
|
+
var closestMatch = (list, firstCloser) => {
|
|
8019
|
+
return list.reduce((item1, item2) => {
|
|
8020
|
+
return firstCloser(item1, item2) ? item1 : item2;
|
|
8021
|
+
});
|
|
8022
|
+
};
|
|
8023
|
+
var getNeighbours = (list, item, neighbourDistance = 2) => {
|
|
8024
|
+
const index = list.indexOf(item);
|
|
8025
|
+
const totalItems = neighbourDistance * 2 + 1;
|
|
8026
|
+
if (list.length < totalItems) {
|
|
8027
|
+
console.warn("List is to short");
|
|
8028
|
+
return list;
|
|
8029
|
+
}
|
|
8030
|
+
if (index === -1) {
|
|
8031
|
+
console.error("item not found in list");
|
|
8032
|
+
return list.splice(0, totalItems);
|
|
8033
|
+
}
|
|
8034
|
+
let start = index - neighbourDistance;
|
|
8035
|
+
if (start < 0) {
|
|
8036
|
+
start += list.length;
|
|
8037
|
+
}
|
|
8038
|
+
const end = (index + neighbourDistance + 1) % list.length;
|
|
8039
|
+
const result = [];
|
|
8040
|
+
let ignoreOnce = list.length === totalItems;
|
|
8041
|
+
for (let i = start; i !== end || ignoreOnce; i = (i + 1) % list.length) {
|
|
8042
|
+
result.push(list[i]);
|
|
8043
|
+
if (end === i && ignoreOnce) {
|
|
8044
|
+
ignoreOnce = false;
|
|
8045
|
+
}
|
|
8046
|
+
}
|
|
8047
|
+
return result;
|
|
8048
|
+
};
|
|
8049
|
+
var createLoopingListWithIndex = (list, startIndex = 0, length = 0, forwards = true) => {
|
|
8050
|
+
if (length < 0) {
|
|
8051
|
+
console.warn(`createLoopingList: length must be >= 0, given ${length}`);
|
|
8052
|
+
} else if (length === 0) {
|
|
8053
|
+
length = list.length;
|
|
8054
|
+
}
|
|
8055
|
+
const returnList = [];
|
|
8056
|
+
if (forwards) {
|
|
8057
|
+
for (let i = startIndex; returnList.length < length; i = (i + 1) % list.length) {
|
|
8058
|
+
returnList.push([i, list[i]]);
|
|
8059
|
+
}
|
|
8060
|
+
} else {
|
|
8061
|
+
for (let i = startIndex; returnList.length < length; i = i === 0 ? i = list.length - 1 : i - 1) {
|
|
8062
|
+
returnList.push([i, list[i]]);
|
|
8063
|
+
}
|
|
8064
|
+
}
|
|
8065
|
+
return returnList;
|
|
8066
|
+
};
|
|
8067
|
+
var createLoopingList = (list, startIndex = 0, length = 0, forwards = true) => {
|
|
8068
|
+
return createLoopingListWithIndex(list, startIndex, length, forwards).map(([_, item]) => item);
|
|
8069
|
+
};
|
|
8070
|
+
var moveItems = (list, move = 0) => {
|
|
8071
|
+
const result = [];
|
|
8072
|
+
let start = move;
|
|
8073
|
+
if (start < 0) {
|
|
8074
|
+
start = list.length - move;
|
|
8075
|
+
}
|
|
8076
|
+
start = start % list.length;
|
|
8077
|
+
for (let i = 0; i < list.length; i++) {
|
|
8078
|
+
result[i] = list[(i + start) % list.length];
|
|
8079
|
+
}
|
|
8080
|
+
return result;
|
|
8081
|
+
};
|
|
8082
|
+
function resolveSingleOrArray(value) {
|
|
8083
|
+
if (Array.isArray(value)) {
|
|
8084
|
+
return value;
|
|
8085
|
+
} else if (value) {
|
|
8086
|
+
return [value];
|
|
8087
|
+
}
|
|
8088
|
+
return [];
|
|
8089
|
+
}
|
|
8090
|
+
var ArrayUtil = {
|
|
8091
|
+
unique: (list) => {
|
|
8092
|
+
const seen = /* @__PURE__ */ new Set();
|
|
8093
|
+
return list.filter((item) => {
|
|
8094
|
+
if (seen.has(item)) {
|
|
8095
|
+
return false;
|
|
8096
|
+
}
|
|
8097
|
+
seen.add(item);
|
|
8098
|
+
return true;
|
|
8099
|
+
});
|
|
8100
|
+
},
|
|
8101
|
+
difference: (list, removeList) => {
|
|
8102
|
+
const remove = new Set(removeList);
|
|
8103
|
+
return list.filter((item) => !remove.has(item));
|
|
8104
|
+
},
|
|
8105
|
+
moveItems,
|
|
8106
|
+
resolveSingleOrArray
|
|
8107
|
+
};
|
|
8108
|
+
|
|
8168
8109
|
// src/global-contexts/LocaleContext.tsx
|
|
8169
8110
|
var import_react12 = require("react");
|
|
8170
8111
|
|
|
@@ -9078,7 +9019,7 @@ function CarouselTabs({
|
|
|
9078
9019
|
},
|
|
9079
9020
|
onClick: () => onChange(index),
|
|
9080
9021
|
onKeyDown: (e) => handleKeyDown(e, index),
|
|
9081
|
-
className: (0,
|
|
9022
|
+
className: (0, import_clsx6.default)(
|
|
9082
9023
|
"w-8 min-w-8 h-3 min-h-3 first:rounded-l-md last:rounded-r-md",
|
|
9083
9024
|
{
|
|
9084
9025
|
"bg-carousel-dot-disabled hover:bg-carousel-dot-active": currentIndex !== index,
|
|
@@ -9113,7 +9054,7 @@ var CarouselSlide = (0, import_react14.forwardRef)(
|
|
|
9113
9054
|
...props,
|
|
9114
9055
|
ref,
|
|
9115
9056
|
id: `${id}-slide-${index}`,
|
|
9116
|
-
className: (0,
|
|
9057
|
+
className: (0, import_clsx6.default)("focus-style-none group/slide", props.className),
|
|
9117
9058
|
tabIndex: isSelected ? 0 : void 0,
|
|
9118
9059
|
role: "group",
|
|
9119
9060
|
"aria-roledescription": translation("slide"),
|
|
@@ -9262,7 +9203,7 @@ var Carousel = ({
|
|
|
9262
9203
|
{
|
|
9263
9204
|
ref: carouselContainerRef,
|
|
9264
9205
|
...props,
|
|
9265
|
-
className: (0,
|
|
9206
|
+
className: (0, import_clsx6.default)("flex-col-2 items-center w-full", props.className),
|
|
9266
9207
|
id,
|
|
9267
9208
|
role: "region",
|
|
9268
9209
|
"aria-roledescription": translation("slide"),
|
|
@@ -9271,7 +9212,7 @@ var Carousel = ({
|
|
|
9271
9212
|
"div",
|
|
9272
9213
|
{
|
|
9273
9214
|
...slideContainerProps,
|
|
9274
|
-
className: (0,
|
|
9215
|
+
className: (0, import_clsx6.default)(`relative w-full overflow-hidden`, heightClassName, slideContainerProps?.className),
|
|
9275
9216
|
children: [
|
|
9276
9217
|
hintNext ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(
|
|
9277
9218
|
"div",
|
|
@@ -9280,7 +9221,7 @@ var Carousel = ({
|
|
|
9280
9221
|
onPointerMove: handlePointerMove,
|
|
9281
9222
|
onPointerUp: handlePointerUp,
|
|
9282
9223
|
onPointerLeave: handlePointerUp,
|
|
9283
|
-
className: (0,
|
|
9224
|
+
className: (0, import_clsx6.default)(`flex-row-2 relative h-full`, heightClassName),
|
|
9284
9225
|
children: [
|
|
9285
9226
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex-row-2 relative h-full w-full px-2 overflow-hidden", children: items.map(({
|
|
9286
9227
|
item,
|
|
@@ -9293,7 +9234,7 @@ var Carousel = ({
|
|
|
9293
9234
|
ref: isInItems ? slideRefs[index] : void 0,
|
|
9294
9235
|
index,
|
|
9295
9236
|
isSelected: isInItems && currentIndex === index,
|
|
9296
|
-
className: (0,
|
|
9237
|
+
className: (0, import_clsx6.default)(
|
|
9297
9238
|
`absolute left-[50%] h-full overflow-hidden transition-transform ease-in-out`,
|
|
9298
9239
|
slideClassName
|
|
9299
9240
|
),
|
|
@@ -9310,13 +9251,13 @@ var Carousel = ({
|
|
|
9310
9251
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
9311
9252
|
"div",
|
|
9312
9253
|
{
|
|
9313
|
-
className: (0,
|
|
9254
|
+
className: (0, import_clsx6.default)(`hidden desktop:block pointer-events-none absolute left-0 h-full w-[20%] bg-gradient-to-r to-transparent`, blurColor)
|
|
9314
9255
|
}
|
|
9315
9256
|
),
|
|
9316
9257
|
/* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
9317
9258
|
"div",
|
|
9318
9259
|
{
|
|
9319
|
-
className: (0,
|
|
9260
|
+
className: (0, import_clsx6.default)(`hidden desktop:block pointer-events-none absolute right-0 h-full w-[20%] bg-gradient-to-l to-transparent`, blurColor)
|
|
9320
9261
|
}
|
|
9321
9262
|
)
|
|
9322
9263
|
]
|
|
@@ -9325,7 +9266,7 @@ var Carousel = ({
|
|
|
9325
9266
|
"div",
|
|
9326
9267
|
{
|
|
9327
9268
|
ref: slideRefs[currentIndex],
|
|
9328
|
-
className: (0,
|
|
9269
|
+
className: (0, import_clsx6.default)("px-16 h-full"),
|
|
9329
9270
|
tabIndex: 0,
|
|
9330
9271
|
role: "group",
|
|
9331
9272
|
"aria-roledescription": translation("slide"),
|
|
@@ -9342,7 +9283,7 @@ var Carousel = ({
|
|
|
9342
9283
|
{
|
|
9343
9284
|
layout: "icon",
|
|
9344
9285
|
color: "neutral",
|
|
9345
|
-
className: (0,
|
|
9286
|
+
className: (0, import_clsx6.default)("absolute z-10 left-2 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoLeft() }),
|
|
9346
9287
|
disabled: !canGoLeft(),
|
|
9347
9288
|
onClick: () => left(),
|
|
9348
9289
|
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react3.ChevronLeft, { size: 24 })
|
|
@@ -9353,7 +9294,7 @@ var Carousel = ({
|
|
|
9353
9294
|
{
|
|
9354
9295
|
layout: "icon",
|
|
9355
9296
|
color: "neutral",
|
|
9356
|
-
className: (0,
|
|
9297
|
+
className: (0, import_clsx6.default)("absolute z-10 right-2 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoRight() }),
|
|
9357
9298
|
disabled: !canGoRight(),
|
|
9358
9299
|
onClick: () => right(),
|
|
9359
9300
|
children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_lucide_react3.ChevronRight, { size: 24 })
|
|
@@ -9370,7 +9311,7 @@ var Carousel = ({
|
|
|
9370
9311
|
};
|
|
9371
9312
|
|
|
9372
9313
|
// src/components/layout/DividerInserter.tsx
|
|
9373
|
-
var
|
|
9314
|
+
var import_clsx7 = __toESM(require("clsx"));
|
|
9374
9315
|
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
9375
9316
|
var DividerInserter = ({
|
|
9376
9317
|
children,
|
|
@@ -9388,7 +9329,7 @@ var DividerInserter = ({
|
|
|
9388
9329
|
}
|
|
9389
9330
|
}
|
|
9390
9331
|
}
|
|
9391
|
-
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: (0,
|
|
9332
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: (0, import_clsx7.default)(className), ...restProps, children: nodes });
|
|
9392
9333
|
};
|
|
9393
9334
|
|
|
9394
9335
|
// src/hooks/focus/useFocusTrap.ts
|
|
@@ -9795,6 +9736,142 @@ var useTransitionState = ({
|
|
|
9795
9736
|
};
|
|
9796
9737
|
};
|
|
9797
9738
|
|
|
9739
|
+
// src/utils/propsUtil.ts
|
|
9740
|
+
function bool(isActive) {
|
|
9741
|
+
return isActive ? "" : void 0;
|
|
9742
|
+
}
|
|
9743
|
+
function name(name2, props = {}) {
|
|
9744
|
+
return props["data-name"] ? String(props["data-name"]) : name2;
|
|
9745
|
+
}
|
|
9746
|
+
function interactionStatesData(interactionStates) {
|
|
9747
|
+
return {
|
|
9748
|
+
"data-disabled": bool(!!interactionStates.disabled),
|
|
9749
|
+
"data-invalid": bool(!!interactionStates.invalid),
|
|
9750
|
+
"data-readonly": bool(!!interactionStates.readOnly),
|
|
9751
|
+
"data-required": bool(!!interactionStates.required)
|
|
9752
|
+
};
|
|
9753
|
+
}
|
|
9754
|
+
var dataAttributes = {
|
|
9755
|
+
bool,
|
|
9756
|
+
name,
|
|
9757
|
+
interactionStates: interactionStatesData
|
|
9758
|
+
};
|
|
9759
|
+
function mouseEventExtender({
|
|
9760
|
+
fromProps,
|
|
9761
|
+
extensions
|
|
9762
|
+
}) {
|
|
9763
|
+
return (event) => {
|
|
9764
|
+
fromProps?.(event);
|
|
9765
|
+
ArrayUtil.resolveSingleOrArray(extensions).forEach((element) => element(event));
|
|
9766
|
+
};
|
|
9767
|
+
}
|
|
9768
|
+
function keyboardEventExtender({
|
|
9769
|
+
fromProps,
|
|
9770
|
+
extensions
|
|
9771
|
+
}) {
|
|
9772
|
+
return (event) => {
|
|
9773
|
+
fromProps?.(event);
|
|
9774
|
+
ArrayUtil.resolveSingleOrArray(extensions).forEach((element) => element(event));
|
|
9775
|
+
};
|
|
9776
|
+
}
|
|
9777
|
+
var extender = {
|
|
9778
|
+
mouseEvent: mouseEventExtender,
|
|
9779
|
+
keyboardEvent: keyboardEventExtender
|
|
9780
|
+
};
|
|
9781
|
+
function click(onClick) {
|
|
9782
|
+
const keyboardEventHandler = (event) => {
|
|
9783
|
+
if (event.key === "Enter" || event.key === " ") {
|
|
9784
|
+
event.preventDefault();
|
|
9785
|
+
event.stopPropagation();
|
|
9786
|
+
onClick();
|
|
9787
|
+
}
|
|
9788
|
+
};
|
|
9789
|
+
return {
|
|
9790
|
+
onClick,
|
|
9791
|
+
onKeyDown: keyboardEventHandler
|
|
9792
|
+
};
|
|
9793
|
+
}
|
|
9794
|
+
function close2(onClose) {
|
|
9795
|
+
return (event) => {
|
|
9796
|
+
if (event.key === "Escape") {
|
|
9797
|
+
event.preventDefault();
|
|
9798
|
+
event.stopPropagation();
|
|
9799
|
+
onClose?.();
|
|
9800
|
+
}
|
|
9801
|
+
};
|
|
9802
|
+
}
|
|
9803
|
+
function navigate({
|
|
9804
|
+
left,
|
|
9805
|
+
right,
|
|
9806
|
+
up: up2,
|
|
9807
|
+
down: down2
|
|
9808
|
+
}) {
|
|
9809
|
+
return (event) => {
|
|
9810
|
+
switch (event.key) {
|
|
9811
|
+
case "ArrowLeft":
|
|
9812
|
+
left(event);
|
|
9813
|
+
event.preventDefault();
|
|
9814
|
+
event.stopPropagation();
|
|
9815
|
+
break;
|
|
9816
|
+
case "ArrowRight":
|
|
9817
|
+
right(event);
|
|
9818
|
+
event.preventDefault();
|
|
9819
|
+
event.stopPropagation();
|
|
9820
|
+
break;
|
|
9821
|
+
case "ArrowUp":
|
|
9822
|
+
up2(event);
|
|
9823
|
+
event.preventDefault();
|
|
9824
|
+
event.stopPropagation();
|
|
9825
|
+
break;
|
|
9826
|
+
case "ArrowDown":
|
|
9827
|
+
down2(event);
|
|
9828
|
+
event.preventDefault();
|
|
9829
|
+
event.stopPropagation();
|
|
9830
|
+
break;
|
|
9831
|
+
}
|
|
9832
|
+
};
|
|
9833
|
+
}
|
|
9834
|
+
function mergeProps(slotProps, childProps) {
|
|
9835
|
+
const result = { ...childProps };
|
|
9836
|
+
for (const key in slotProps) {
|
|
9837
|
+
const slotValue = slotProps[key];
|
|
9838
|
+
const childValue = childProps[key];
|
|
9839
|
+
if (key === "className") {
|
|
9840
|
+
result.className = [slotValue, childValue].filter(Boolean).join(" ");
|
|
9841
|
+
} else if (key === "style") {
|
|
9842
|
+
result.style = { ...slotValue, ...childValue };
|
|
9843
|
+
} else if (key.startsWith("on") && typeof slotValue === "function" && typeof childValue === "function") {
|
|
9844
|
+
result[key] = (...args) => {
|
|
9845
|
+
slotValue(...args);
|
|
9846
|
+
childValue(...args);
|
|
9847
|
+
};
|
|
9848
|
+
} else {
|
|
9849
|
+
result[key] = childValue ?? slotValue;
|
|
9850
|
+
}
|
|
9851
|
+
}
|
|
9852
|
+
return result;
|
|
9853
|
+
}
|
|
9854
|
+
function interactionStatesAria(interactionStates, props = {}) {
|
|
9855
|
+
return {
|
|
9856
|
+
"aria-disabled": props["aria-disabled"] ?? interactionStates.disabled,
|
|
9857
|
+
"aria-invalid": props["aria-invalid"] ?? interactionStates.invalid,
|
|
9858
|
+
"aria-readonly": props["aria-readonly"] ?? interactionStates.readOnly,
|
|
9859
|
+
"aria-required": props["aria-required"] ?? interactionStates.required
|
|
9860
|
+
};
|
|
9861
|
+
}
|
|
9862
|
+
var aria = {
|
|
9863
|
+
close: close2,
|
|
9864
|
+
click,
|
|
9865
|
+
navigate,
|
|
9866
|
+
interactionStates: interactionStatesAria
|
|
9867
|
+
};
|
|
9868
|
+
var PropsUtil = {
|
|
9869
|
+
extender,
|
|
9870
|
+
dataAttributes,
|
|
9871
|
+
aria,
|
|
9872
|
+
mergeProps
|
|
9873
|
+
};
|
|
9874
|
+
|
|
9798
9875
|
// src/components/layout/Drawer.tsx
|
|
9799
9876
|
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
9800
9877
|
var Drawer = (0, import_react18.forwardRef)(function Drawer2({
|
|
@@ -9903,7 +9980,7 @@ var Drawer = (0, import_react18.forwardRef)(function Drawer2({
|
|
|
9903
9980
|
var import_react20 = require("react");
|
|
9904
9981
|
var import_react21 = require("react");
|
|
9905
9982
|
var import_react22 = require("react");
|
|
9906
|
-
var
|
|
9983
|
+
var import_clsx8 = __toESM(require("clsx"));
|
|
9907
9984
|
|
|
9908
9985
|
// src/hooks/useOverwritableState.ts
|
|
9909
9986
|
var import_react19 = require("react");
|
|
@@ -10069,7 +10146,7 @@ var Expandable = (0, import_react22.forwardRef)(function Expandable2({
|
|
|
10069
10146
|
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(ExpandableContext.Consumer, { children: (ctx) => /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
|
|
10070
10147
|
ExpandableContent,
|
|
10071
10148
|
{
|
|
10072
|
-
className: (0,
|
|
10149
|
+
className: (0, import_clsx8.default)(contentClassName, { [contentExpandedClassName ?? ""]: !!ctx?.isExpanded }),
|
|
10073
10150
|
children
|
|
10074
10151
|
}
|
|
10075
10152
|
) })
|
|
@@ -10114,7 +10191,7 @@ var FAQSection = ({
|
|
|
10114
10191
|
|
|
10115
10192
|
// src/components/layout/InifiniteScroll.tsx
|
|
10116
10193
|
var import_react23 = require("react");
|
|
10117
|
-
var
|
|
10194
|
+
var import_clsx9 = __toESM(require("clsx"));
|
|
10118
10195
|
var import_lucide_react5 = require("lucide-react");
|
|
10119
10196
|
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
10120
10197
|
function InfiniteScroll({
|
|
@@ -10191,7 +10268,7 @@ function InfiniteScroll({
|
|
|
10191
10268
|
{
|
|
10192
10269
|
ref: containerRef,
|
|
10193
10270
|
onScroll: isUsingInfiteScroll ? handleScroll : void 0,
|
|
10194
|
-
className: (0,
|
|
10271
|
+
className: (0, import_clsx9.default)("overflow-y-auto", className),
|
|
10195
10272
|
style,
|
|
10196
10273
|
children: [
|
|
10197
10274
|
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Visibility, { isVisible: windowState.start > 0, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(Button, { color: "neutral", onClick: () => addToStart(), children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_lucide_react5.ChevronUp, {}) }) }),
|
|
@@ -10204,7 +10281,7 @@ function InfiniteScroll({
|
|
|
10204
10281
|
|
|
10205
10282
|
// src/components/layout/ListBox.tsx
|
|
10206
10283
|
var import_react24 = __toESM(require("react"));
|
|
10207
|
-
var
|
|
10284
|
+
var import_clsx10 = require("clsx");
|
|
10208
10285
|
|
|
10209
10286
|
// src/utils/match.ts
|
|
10210
10287
|
var match = (key, values) => {
|
|
@@ -10254,7 +10331,7 @@ var ListBoxItem = (0, import_react24.forwardRef)(
|
|
|
10254
10331
|
"data-highlighted": isHighlighted ? "" : void 0,
|
|
10255
10332
|
"data-selected": selected ? "" : void 0,
|
|
10256
10333
|
"data-disabled": disabled ? "" : void 0,
|
|
10257
|
-
className: (0,
|
|
10334
|
+
className: (0, import_clsx10.clsx)(
|
|
10258
10335
|
"flex-row-1 items-center px-2 py-1 rounded-md",
|
|
10259
10336
|
"data-highlighted:bg-primary/20",
|
|
10260
10337
|
"data-disabled:text-disabled data-disabled:cursor-not-allowed",
|
|
@@ -10869,7 +10946,7 @@ function TabPanel({ label, ...props }) {
|
|
|
10869
10946
|
}
|
|
10870
10947
|
|
|
10871
10948
|
// src/components/layout/TextImage.tsx
|
|
10872
|
-
var
|
|
10949
|
+
var import_clsx11 = __toESM(require("clsx"));
|
|
10873
10950
|
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
10874
10951
|
var TextImage = ({
|
|
10875
10952
|
title,
|
|
@@ -10895,7 +10972,7 @@ var TextImage = ({
|
|
|
10895
10972
|
return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
10896
10973
|
"div",
|
|
10897
10974
|
{
|
|
10898
|
-
className: (0,
|
|
10975
|
+
className: (0, import_clsx11.default)("rounded-2xl w-full", className),
|
|
10899
10976
|
style: {
|
|
10900
10977
|
backgroundImage: `url(${imageUrl})`,
|
|
10901
10978
|
backgroundSize: "cover"
|
|
@@ -10903,9 +10980,9 @@ var TextImage = ({
|
|
|
10903
10980
|
children: /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
10904
10981
|
"div",
|
|
10905
10982
|
{
|
|
10906
|
-
className: (0,
|
|
10983
|
+
className: (0, import_clsx11.default)(`flex-col-2 px-6 py-12 rounded-2xl h-full`, colorMapping[color], contentClassName),
|
|
10907
10984
|
children: [
|
|
10908
|
-
badge && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: (0,
|
|
10985
|
+
badge && /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: (0, import_clsx11.default)(`chip-full mb-2 py-2 px-4 w-fit`, chipColorMapping[color]), children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-lg font-bold", children: badge }) }),
|
|
10909
10986
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsxs)("div", { className: "flex-col-1 overflow-hidden", children: [
|
|
10910
10987
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "typography-title-lg", children: title }),
|
|
10911
10988
|
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)("span", { className: "text-ellipsis overflow-hidden", children: description })
|
|
@@ -11016,7 +11093,7 @@ var Portal = ({ children, container }) => {
|
|
|
11016
11093
|
};
|
|
11017
11094
|
|
|
11018
11095
|
// src/components/layout/dialog/Dialog.tsx
|
|
11019
|
-
var
|
|
11096
|
+
var import_clsx12 = __toESM(require("clsx"));
|
|
11020
11097
|
|
|
11021
11098
|
// src/components/utils/FocusTrap.tsx
|
|
11022
11099
|
var import_react28 = require("react");
|
|
@@ -11128,7 +11205,7 @@ var Dialog = (0, import_react33.forwardRef)(function Dialog2({
|
|
|
11128
11205
|
ref: containerRef,
|
|
11129
11206
|
id: ids.container,
|
|
11130
11207
|
"data-open": PropsUtil.dataAttributes.bool(isOpen),
|
|
11131
|
-
className: (0,
|
|
11208
|
+
className: (0, import_clsx12.default)("dialog-container", containerClassName),
|
|
11132
11209
|
style: { zIndex },
|
|
11133
11210
|
children: [
|
|
11134
11211
|
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
@@ -11138,7 +11215,7 @@ var Dialog = (0, import_react33.forwardRef)(function Dialog2({
|
|
|
11138
11215
|
onClick: onCloseWrapper,
|
|
11139
11216
|
"data-state": transitionState,
|
|
11140
11217
|
"aria-hidden": true,
|
|
11141
|
-
className: (0,
|
|
11218
|
+
className: (0, import_clsx12.default)("dialog-background", backgroundClassName)
|
|
11142
11219
|
}
|
|
11143
11220
|
),
|
|
11144
11221
|
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(FocusTrap, { active: isPresent && isOpen, container: ref, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
@@ -11154,7 +11231,7 @@ var Dialog = (0, import_react33.forwardRef)(function Dialog2({
|
|
|
11154
11231
|
"aria-modal": isModal,
|
|
11155
11232
|
"aria-labelledby": ids.title,
|
|
11156
11233
|
"aria-describedby": hasDescription ? ids.description : void 0,
|
|
11157
|
-
className: (0,
|
|
11234
|
+
className: (0, import_clsx12.default)("dialog-content", props.className),
|
|
11158
11235
|
children: [
|
|
11159
11236
|
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "typography-title-lg mr-8", children: titleElement }),
|
|
11160
11237
|
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(Visibility, { isVisible: hasDescription, children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "text-description", children: description }) }),
|
|
@@ -11190,19 +11267,6 @@ var Dialog = (0, import_react33.forwardRef)(function Dialog2({
|
|
|
11190
11267
|
|
|
11191
11268
|
// src/components/layout/dialog/DialogOpener.tsx
|
|
11192
11269
|
var import_react34 = require("react");
|
|
11193
|
-
|
|
11194
|
-
// src/utils/bagFunctions.ts
|
|
11195
|
-
var resolve = (bagFunctionOrValue, bag) => {
|
|
11196
|
-
if (typeof bagFunctionOrValue === "function") {
|
|
11197
|
-
return bagFunctionOrValue(bag);
|
|
11198
|
-
}
|
|
11199
|
-
return bagFunctionOrValue;
|
|
11200
|
-
};
|
|
11201
|
-
var BagFunctionUtil = {
|
|
11202
|
-
resolve
|
|
11203
|
-
};
|
|
11204
|
-
|
|
11205
|
-
// src/components/layout/dialog/DialogOpener.tsx
|
|
11206
11270
|
function DialogOpenerWrapper({ children }) {
|
|
11207
11271
|
const context = useDialogContext();
|
|
11208
11272
|
const bag = (0, import_react34.useMemo)(() => ({
|
|
@@ -11262,7 +11326,7 @@ function DialogRoot({
|
|
|
11262
11326
|
}
|
|
11263
11327
|
|
|
11264
11328
|
// src/components/layout/dialog/premade/ConfirmDialog.tsx
|
|
11265
|
-
var
|
|
11329
|
+
var import_clsx13 = __toESM(require("clsx"));
|
|
11266
11330
|
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
11267
11331
|
var ConfirmDialog = ({
|
|
11268
11332
|
children,
|
|
@@ -11281,7 +11345,7 @@ var ConfirmDialog = ({
|
|
|
11281
11345
|
positive: "positive",
|
|
11282
11346
|
primary: "primary"
|
|
11283
11347
|
};
|
|
11284
|
-
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Dialog, { ...restProps, onClose: onCancel, className: (0,
|
|
11348
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(Dialog, { ...restProps, onClose: onCancel, className: (0, import_clsx13.default)("justify-between", className), children: [
|
|
11285
11349
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: "flex-col-2 grow", children }),
|
|
11286
11350
|
/* @__PURE__ */ (0, import_jsx_runtime32.jsxs)("div", { className: "flex-row-4 mt-3 justify-end", children: [
|
|
11287
11351
|
onCancel && /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
@@ -11789,12 +11853,12 @@ var MultiSelectRoot = ({ value, onValueChange, onEditComplete, ...props }) => {
|
|
|
11789
11853
|
|
|
11790
11854
|
// src/components/user-interaction/select/SelectComponents.tsx
|
|
11791
11855
|
var import_react43 = require("react");
|
|
11792
|
-
var
|
|
11856
|
+
var import_clsx15 = __toESM(require("clsx"));
|
|
11793
11857
|
var import_lucide_react7 = require("lucide-react");
|
|
11794
11858
|
|
|
11795
11859
|
// src/components/layout/popup/PopUp.tsx
|
|
11796
11860
|
var import_react42 = require("react");
|
|
11797
|
-
var
|
|
11861
|
+
var import_clsx14 = require("clsx");
|
|
11798
11862
|
|
|
11799
11863
|
// src/hooks/useOutsideClick.ts
|
|
11800
11864
|
var import_react40 = require("react");
|
|
@@ -11884,7 +11948,7 @@ var PopUp = (0, import_react42.forwardRef)(function PopUp2({
|
|
|
11884
11948
|
transition: `top ${props.options?.pollingInterval ?? 100}ms linear, left ${props.options?.pollingInterval ?? 100}ms linear`,
|
|
11885
11949
|
...props.style
|
|
11886
11950
|
},
|
|
11887
|
-
className: (0,
|
|
11951
|
+
className: (0, import_clsx14.clsx)("pop-up", props.className),
|
|
11888
11952
|
children
|
|
11889
11953
|
}
|
|
11890
11954
|
) }) }) });
|
|
@@ -11926,7 +11990,7 @@ var SelectOption = (0, import_react43.forwardRef)(
|
|
|
11926
11990
|
"data-highlighted": isHighlighted ? "" : void 0,
|
|
11927
11991
|
"data-selected": isSelected ? "" : void 0,
|
|
11928
11992
|
"data-disabled": disabled ? "" : void 0,
|
|
11929
|
-
className: (0,
|
|
11993
|
+
className: (0, import_clsx15.default)(
|
|
11930
11994
|
"flex-row-1 items-center px-2 py-1 rounded-md",
|
|
11931
11995
|
"data-highlighted:bg-primary/20",
|
|
11932
11996
|
"data-disabled:text-disabled data-disabled:cursor-not-allowed",
|
|
@@ -11952,7 +12016,7 @@ var SelectOption = (0, import_react43.forwardRef)(
|
|
|
11952
12016
|
iconAppearance === "left" && (state.value.length > 0 || config.isMultiSelect) && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
11953
12017
|
import_lucide_react7.CheckIcon,
|
|
11954
12018
|
{
|
|
11955
|
-
className: (0,
|
|
12019
|
+
className: (0, import_clsx15.default)("w-4 h-4", { "opacity-0": !isSelected || disabled }),
|
|
11956
12020
|
"aria-hidden": true
|
|
11957
12021
|
}
|
|
11958
12022
|
),
|
|
@@ -11960,7 +12024,7 @@ var SelectOption = (0, import_react43.forwardRef)(
|
|
|
11960
12024
|
iconAppearance === "right" && (state.value.length > 0 || config.isMultiSelect) && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
11961
12025
|
import_lucide_react7.CheckIcon,
|
|
11962
12026
|
{
|
|
11963
|
-
className: (0,
|
|
12027
|
+
className: (0, import_clsx15.default)("w-4 h-4", { "opacity-0": !isSelected || disabled }),
|
|
11964
12028
|
"aria-hidden": true
|
|
11965
12029
|
}
|
|
11966
12030
|
)
|
|
@@ -12032,7 +12096,7 @@ var SelectButton = (0, import_react43.forwardRef)(function SelectButton2({
|
|
|
12032
12096
|
"aria-expanded": state.isOpen,
|
|
12033
12097
|
"aria-controls": state.isOpen ? ids.content : void 0,
|
|
12034
12098
|
children: [
|
|
12035
|
-
hasValue ? selectedDisplay?.(state.value) ?? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: (0,
|
|
12099
|
+
hasValue ? selectedDisplay?.(state.value) ?? /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: (0, import_clsx15.default)("flex flex-wrap gap-x-1 gap-y-2"), children: state.selectedOptions.map(({ value, label }, index) => /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("span", { className: "flex-row-0", children: [
|
|
12036
12100
|
label,
|
|
12037
12101
|
index < state.value.length - 1 && /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("span", { children: "," })
|
|
12038
12102
|
] }, value)) }) : placeholder ?? translation("clickToSelect"),
|
|
@@ -12104,7 +12168,7 @@ var SelectContent = (0, import_react43.forwardRef)(function SelectContent2({
|
|
|
12104
12168
|
break;
|
|
12105
12169
|
}
|
|
12106
12170
|
},
|
|
12107
|
-
className: (0,
|
|
12171
|
+
className: (0, import_clsx15.default)("flex-col-0 p-2 bg-menu-background text-menu-text rounded-md shadow-hw-bottom focus-outline-within overflow-auto", props.className),
|
|
12108
12172
|
role: "listbox",
|
|
12109
12173
|
"aria-multiselectable": config.isMultiSelect,
|
|
12110
12174
|
"aria-orientation": "vertical",
|
|
@@ -12197,7 +12261,7 @@ var LanguageDialog = ({
|
|
|
12197
12261
|
|
|
12198
12262
|
// src/components/layout/dialog/premade/ThemeDialog.tsx
|
|
12199
12263
|
var import_lucide_react8 = require("lucide-react");
|
|
12200
|
-
var
|
|
12264
|
+
var import_clsx16 = __toESM(require("clsx"));
|
|
12201
12265
|
|
|
12202
12266
|
// src/global-contexts/ThemeContext.tsx
|
|
12203
12267
|
var import_react45 = require("react");
|
|
@@ -12288,11 +12352,11 @@ var useTheme = () => {
|
|
|
12288
12352
|
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
12289
12353
|
var ThemeIcon = ({ theme, className }) => {
|
|
12290
12354
|
if (theme === "dark") {
|
|
12291
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.MoonIcon, { className: (0,
|
|
12355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.MoonIcon, { className: (0, import_clsx16.default)("w-4 h-4", className) });
|
|
12292
12356
|
} else if (theme === "light") {
|
|
12293
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.SunIcon, { className: (0,
|
|
12357
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.SunIcon, { className: (0, import_clsx16.default)("w-4 h-4", className) });
|
|
12294
12358
|
} else {
|
|
12295
|
-
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.MonitorCog, { className: (0,
|
|
12359
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_lucide_react8.MonitorCog, { className: (0, import_clsx16.default)("w-4 h-4", className) });
|
|
12296
12360
|
}
|
|
12297
12361
|
};
|
|
12298
12362
|
var ThemeDialog = ({
|
|
@@ -12338,14 +12402,14 @@ var ThemeDialog = ({
|
|
|
12338
12402
|
|
|
12339
12403
|
// src/components/layout/loading/ErrorComponent.tsx
|
|
12340
12404
|
var import_lucide_react9 = require("lucide-react");
|
|
12341
|
-
var
|
|
12405
|
+
var import_clsx17 = __toESM(require("clsx"));
|
|
12342
12406
|
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
12343
12407
|
var ErrorComponent = ({
|
|
12344
12408
|
errorText,
|
|
12345
12409
|
classname
|
|
12346
12410
|
}) => {
|
|
12347
12411
|
const translation = useHightideTranslation();
|
|
12348
|
-
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: (0,
|
|
12412
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: (0, import_clsx17.default)("flex-col-4 items-center justify-center w-full h-24", classname), children: [
|
|
12349
12413
|
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)(import_lucide_react9.AlertOctagon, { size: 64, className: "text-warning" }),
|
|
12350
12414
|
errorText ?? `${translation("errorOccurred")} :(`
|
|
12351
12415
|
] });
|
|
@@ -12355,14 +12419,14 @@ var ErrorComponent = ({
|
|
|
12355
12419
|
var import_react46 = require("react");
|
|
12356
12420
|
|
|
12357
12421
|
// src/components/layout/loading/LoadingContainer.tsx
|
|
12358
|
-
var
|
|
12422
|
+
var import_clsx18 = require("clsx");
|
|
12359
12423
|
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
12360
12424
|
var LoadingContainer = ({ className }) => {
|
|
12361
|
-
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: (0,
|
|
12425
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: (0, import_clsx18.clsx)("relative overflow-hidden shimmer bg-disabled/30 rounded-md", className) });
|
|
12362
12426
|
};
|
|
12363
12427
|
|
|
12364
12428
|
// src/components/layout/loading/LoadingAndErrorComponent.tsx
|
|
12365
|
-
var
|
|
12429
|
+
var import_clsx19 = require("clsx");
|
|
12366
12430
|
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
12367
12431
|
var LoadingAndErrorComponent = ({
|
|
12368
12432
|
children,
|
|
@@ -12383,23 +12447,23 @@ var LoadingAndErrorComponent = ({
|
|
|
12383
12447
|
}, minimumLoadingDuration);
|
|
12384
12448
|
}
|
|
12385
12449
|
if (isLoading || minimumLoadingDuration && isInMinimumLoading) {
|
|
12386
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: loadingComponent ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LoadingContainer, { className: (0,
|
|
12450
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: loadingComponent ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LoadingContainer, { className: (0, import_clsx19.clsx)(className) }) });
|
|
12387
12451
|
}
|
|
12388
12452
|
if (hasError) {
|
|
12389
|
-
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: errorComponent ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LoadingContainer, { className: (0,
|
|
12453
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children: errorComponent ?? /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(LoadingContainer, { className: (0, import_clsx19.clsx)("bg-negative", className) }) });
|
|
12390
12454
|
}
|
|
12391
12455
|
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_jsx_runtime45.Fragment, { children });
|
|
12392
12456
|
};
|
|
12393
12457
|
|
|
12394
12458
|
// src/components/layout/loading/LoadingAnimation.tsx
|
|
12395
|
-
var
|
|
12459
|
+
var import_clsx20 = __toESM(require("clsx"));
|
|
12396
12460
|
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
12397
12461
|
var LoadingAnimation = ({
|
|
12398
12462
|
loadingText,
|
|
12399
12463
|
classname
|
|
12400
12464
|
}) => {
|
|
12401
12465
|
const translation = useHightideTranslation();
|
|
12402
|
-
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: (0,
|
|
12466
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)("div", { className: (0, import_clsx20.default)("flex-col-2 items-center justify-center w-full h-24", classname), children: [
|
|
12403
12467
|
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(HelpwaveLogo, { animate: "loading" }),
|
|
12404
12468
|
loadingText ?? `${translation("loading")}...`
|
|
12405
12469
|
] });
|
|
@@ -12439,7 +12503,7 @@ var import_lucide_react10 = require("lucide-react");
|
|
|
12439
12503
|
var import_react47 = require("react");
|
|
12440
12504
|
var import_react48 = require("react");
|
|
12441
12505
|
var import_link2 = __toESM(require_link2());
|
|
12442
|
-
var
|
|
12506
|
+
var import_clsx21 = __toESM(require("clsx"));
|
|
12443
12507
|
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
12444
12508
|
function isSubItem(item) {
|
|
12445
12509
|
return "items" in item && Array.isArray(item.items);
|
|
@@ -12503,7 +12567,7 @@ var NavigationItemWithSubItem = ({
|
|
|
12503
12567
|
},
|
|
12504
12568
|
onBlur,
|
|
12505
12569
|
hidden: !isOpen,
|
|
12506
|
-
className: (0,
|
|
12570
|
+
className: (0, import_clsx21.default)(
|
|
12507
12571
|
"fixed flex-col-4 p-4 bg-surface text-on-surface shadow-side shadow-hw-bottom rounded-md",
|
|
12508
12572
|
{ "opacity-0": !style }
|
|
12509
12573
|
),
|
|
@@ -12522,7 +12586,7 @@ var NavigationItemWithSubItem = ({
|
|
|
12522
12586
|
] });
|
|
12523
12587
|
};
|
|
12524
12588
|
var NavigationItemList = ({ items, ...restProps }) => {
|
|
12525
|
-
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("ul", { ...restProps, className: (0,
|
|
12589
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("ul", { ...restProps, className: (0, import_clsx21.default)("flex-row-6 items-center", restProps.className), children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("li", { children: isSubItem(item) ? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(NavigationItemWithSubItem, { ...item }) : /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_link2.default, { href: item.link, target: item.external ? "_blank" : void 0, className: "link", children: item.label }) }, index)) });
|
|
12526
12590
|
};
|
|
12527
12591
|
var Navigation = ({ ...props }) => {
|
|
12528
12592
|
const [isMobileOpen, setIsMobileOpen] = (0, import_react48.useState)(false);
|
|
@@ -12537,7 +12601,7 @@ var Navigation = ({ ...props }) => {
|
|
|
12537
12601
|
NavigationItemList,
|
|
12538
12602
|
{
|
|
12539
12603
|
...props,
|
|
12540
|
-
className: (0,
|
|
12604
|
+
className: (0, import_clsx21.default)("hidden", { "desktop:flex": !isMobileOpen }, props.className)
|
|
12541
12605
|
}
|
|
12542
12606
|
),
|
|
12543
12607
|
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
@@ -12567,7 +12631,7 @@ var Navigation = ({ ...props }) => {
|
|
|
12567
12631
|
event.stopPropagation();
|
|
12568
12632
|
}
|
|
12569
12633
|
},
|
|
12570
|
-
className: (0,
|
|
12634
|
+
className: (0, import_clsx21.default)(
|
|
12571
12635
|
"flex-col-8 items-center justify-center fixed inset-0 p-8 w-screen h-screen bg-surface text-on-surface",
|
|
12572
12636
|
{
|
|
12573
12637
|
"desktop:hidden": isMobileOpen
|
|
@@ -12586,7 +12650,7 @@ var Navigation = ({ ...props }) => {
|
|
|
12586
12650
|
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react10.XIcon, {})
|
|
12587
12651
|
}
|
|
12588
12652
|
),
|
|
12589
|
-
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(NavigationItemList, { ...props, className: (0,
|
|
12653
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(NavigationItemList, { ...props, className: (0, import_clsx21.default)("flex-col-8", props.className) })
|
|
12590
12654
|
]
|
|
12591
12655
|
}
|
|
12592
12656
|
)
|
|
@@ -12595,14 +12659,14 @@ var Navigation = ({ ...props }) => {
|
|
|
12595
12659
|
|
|
12596
12660
|
// src/components/layout/navigation/Pagination.tsx
|
|
12597
12661
|
var import_lucide_react11 = require("lucide-react");
|
|
12598
|
-
var
|
|
12662
|
+
var import_clsx23 = __toESM(require("clsx"));
|
|
12599
12663
|
var import_react52 = require("react");
|
|
12600
12664
|
|
|
12601
12665
|
// src/components/user-interaction/Tooltip.tsx
|
|
12602
12666
|
var import_react49 = require("react");
|
|
12603
12667
|
var import_react50 = require("react");
|
|
12604
12668
|
var import_react51 = require("react");
|
|
12605
|
-
var
|
|
12669
|
+
var import_clsx22 = require("clsx");
|
|
12606
12670
|
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
12607
12671
|
var Tooltip = ({
|
|
12608
12672
|
tooltip,
|
|
@@ -12682,7 +12746,7 @@ var Tooltip = ({
|
|
|
12682
12746
|
"div",
|
|
12683
12747
|
{
|
|
12684
12748
|
ref: anchor,
|
|
12685
|
-
className: (0,
|
|
12749
|
+
className: (0, import_clsx22.clsx)("relative inline-block", containerClassName),
|
|
12686
12750
|
"aria-describedby": isVisible ? id : void 0,
|
|
12687
12751
|
onPointerEnter: openWithDelay,
|
|
12688
12752
|
onPointerLeave: close3,
|
|
@@ -12705,7 +12769,7 @@ var Tooltip = ({
|
|
|
12705
12769
|
"data-state": transitionState,
|
|
12706
12770
|
"data-animated": isAnimated ? "" : void 0,
|
|
12707
12771
|
role: "tooltip",
|
|
12708
|
-
className: (0,
|
|
12772
|
+
className: (0, import_clsx22.clsx)("tooltip", tooltipClassName),
|
|
12709
12773
|
style: { zIndex, position: "fixed" },
|
|
12710
12774
|
children: tooltip
|
|
12711
12775
|
}
|
|
@@ -12739,7 +12803,7 @@ var Pagination = ({
|
|
|
12739
12803
|
const changePage = (page) => {
|
|
12740
12804
|
onPageIndexChanged(page);
|
|
12741
12805
|
};
|
|
12742
|
-
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: (0,
|
|
12806
|
+
return /* @__PURE__ */ (0, import_jsx_runtime50.jsxs)("div", { className: (0, import_clsx23.default)("flex-row-1", className), style, children: [
|
|
12743
12807
|
/* @__PURE__ */ (0, import_jsx_runtime50.jsx)(Tooltip, { tooltip: translation("first"), children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
12744
12808
|
Button,
|
|
12745
12809
|
{
|
|
@@ -12767,7 +12831,7 @@ var Pagination = ({
|
|
|
12767
12831
|
Input,
|
|
12768
12832
|
{
|
|
12769
12833
|
value,
|
|
12770
|
-
className: (0,
|
|
12834
|
+
className: (0, import_clsx23.default)(
|
|
12771
12835
|
"w-24 text-center font-bold input-indicator-hidden h-10"
|
|
12772
12836
|
),
|
|
12773
12837
|
type: "number",
|
|
@@ -12823,7 +12887,7 @@ var Pagination = ({
|
|
|
12823
12887
|
|
|
12824
12888
|
// src/components/layout/navigation/StepperBar.tsx
|
|
12825
12889
|
var import_lucide_react12 = require("lucide-react");
|
|
12826
|
-
var
|
|
12890
|
+
var import_clsx24 = __toESM(require("clsx"));
|
|
12827
12891
|
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
12828
12892
|
var defaultState = {
|
|
12829
12893
|
currentStep: 0,
|
|
@@ -12849,7 +12913,7 @@ var StepperBar = ({
|
|
|
12849
12913
|
return /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
12850
12914
|
"div",
|
|
12851
12915
|
{
|
|
12852
|
-
className: (0,
|
|
12916
|
+
className: (0, import_clsx24.default)("flex-row-2 justify-between", className),
|
|
12853
12917
|
children: [
|
|
12854
12918
|
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "flex-row-2 flex-[2] justify-start", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
12855
12919
|
Button,
|
|
@@ -12871,7 +12935,7 @@ var StepperBar = ({
|
|
|
12871
12935
|
"div",
|
|
12872
12936
|
{
|
|
12873
12937
|
onClick: () => seen && update(index),
|
|
12874
|
-
className: (0,
|
|
12938
|
+
className: (0, import_clsx24.default)(
|
|
12875
12939
|
"rounded-full w-4 h-4",
|
|
12876
12940
|
{
|
|
12877
12941
|
"bg-stepperbar-dot-active hover:brightness-75": index === currentStep && seen && !disabledSteps.has(currentStep),
|
|
@@ -12988,7 +13052,7 @@ function PopUpRoot({
|
|
|
12988
13052
|
}
|
|
12989
13053
|
|
|
12990
13054
|
// src/components/layout/table/FillerCell.tsx
|
|
12991
|
-
var
|
|
13055
|
+
var import_clsx25 = __toESM(require("clsx"));
|
|
12992
13056
|
var import_lucide_react13 = require("lucide-react");
|
|
12993
13057
|
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
12994
13058
|
var FillerCell = ({ ...props }) => {
|
|
@@ -12996,7 +13060,7 @@ var FillerCell = ({ ...props }) => {
|
|
|
12996
13060
|
"div",
|
|
12997
13061
|
{
|
|
12998
13062
|
...props,
|
|
12999
|
-
className: (0,
|
|
13063
|
+
className: (0, import_clsx25.default)("table-filler-cell", props.className),
|
|
13000
13064
|
children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(import_lucide_react13.Minus, { className: "max-w-4 max-h-4" })
|
|
13001
13065
|
}
|
|
13002
13066
|
);
|
|
@@ -13347,13 +13411,13 @@ var useResizeCallbackWrapper = (callback) => {
|
|
|
13347
13411
|
};
|
|
13348
13412
|
|
|
13349
13413
|
// src/components/layout/table/TableCell.tsx
|
|
13350
|
-
var
|
|
13414
|
+
var import_clsx26 = require("clsx");
|
|
13351
13415
|
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
13352
13416
|
var TableCell = ({
|
|
13353
13417
|
children,
|
|
13354
13418
|
className
|
|
13355
13419
|
}) => {
|
|
13356
|
-
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: (0,
|
|
13420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("span", { className: (0, import_clsx26.clsx)("table-default-cell", className), children });
|
|
13357
13421
|
};
|
|
13358
13422
|
|
|
13359
13423
|
// src/components/layout/table/TableProvider.tsx
|
|
@@ -13361,9 +13425,10 @@ var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
|
13361
13425
|
var TableProvider = ({
|
|
13362
13426
|
data,
|
|
13363
13427
|
isUsingFillerRows = true,
|
|
13364
|
-
|
|
13428
|
+
fillerRowCell,
|
|
13365
13429
|
initialState,
|
|
13366
13430
|
onRowClick,
|
|
13431
|
+
onFillerRowClick,
|
|
13367
13432
|
defaultColumn: defaultColumnOverwrite,
|
|
13368
13433
|
state,
|
|
13369
13434
|
columns: columnsProp,
|
|
@@ -13502,15 +13567,16 @@ var TableProvider = ({
|
|
|
13502
13567
|
pagination,
|
|
13503
13568
|
rowSelection,
|
|
13504
13569
|
isUsingFillerRows,
|
|
13505
|
-
|
|
13570
|
+
fillerRowCell,
|
|
13506
13571
|
onRowClick,
|
|
13572
|
+
onFillerRowClick,
|
|
13507
13573
|
rows,
|
|
13508
13574
|
columnOrder,
|
|
13509
13575
|
columnFilters,
|
|
13510
13576
|
columnVisibility,
|
|
13511
13577
|
columnPinning,
|
|
13512
13578
|
columnSorting
|
|
13513
|
-
}), [table, data, pagination, rowSelection, isUsingFillerRows,
|
|
13579
|
+
}), [table, data, pagination, rowSelection, isUsingFillerRows, fillerRowCell, onRowClick, onFillerRowClick, columns, rows, columnOrder, columnFilters, columnVisibility, columnPinning, columnSorting]);
|
|
13514
13580
|
const tableColumnDefinitionContextValue = (0, import_react57.useMemo)(() => ({
|
|
13515
13581
|
table,
|
|
13516
13582
|
registerColumn
|
|
@@ -13529,11 +13595,24 @@ var TableProvider = ({
|
|
|
13529
13595
|
// src/components/layout/table/TableBody.tsx
|
|
13530
13596
|
var import_react_table2 = require("@tanstack/react-table");
|
|
13531
13597
|
var import_react58 = __toESM(require("react"));
|
|
13532
|
-
var
|
|
13598
|
+
var import_clsx27 = __toESM(require("clsx"));
|
|
13533
13599
|
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
13534
13600
|
var TableBody = import_react58.default.memo(function TableBodyVisual() {
|
|
13535
|
-
const { table, onRowClick, isUsingFillerRows,
|
|
13536
|
-
const
|
|
13601
|
+
const { table, onRowClick, onFillerRowClick, isUsingFillerRows, fillerRowCell, pagination, rows } = useTableDataContext();
|
|
13602
|
+
const state = table.getState();
|
|
13603
|
+
const baseOrder = state.columnOrder?.length ? state.columnOrder : table.getVisibleLeafColumns().map((col) => col.id);
|
|
13604
|
+
const pinnedLeft = state.columnPinning?.left ?? [];
|
|
13605
|
+
const pinnedRight = state.columnPinning?.right ?? [];
|
|
13606
|
+
const columnOrder = [
|
|
13607
|
+
...pinnedLeft,
|
|
13608
|
+
...baseOrder.filter(
|
|
13609
|
+
(id) => !pinnedLeft.includes(id) && !pinnedRight.includes(id)
|
|
13610
|
+
),
|
|
13611
|
+
...pinnedRight
|
|
13612
|
+
];
|
|
13613
|
+
const columns = columnOrder.map((id) => table.getColumn(id)).filter(
|
|
13614
|
+
(col) => !!col && state.columnVisibility?.[col.id] !== false
|
|
13615
|
+
);
|
|
13537
13616
|
return /* @__PURE__ */ (0, import_jsx_runtime56.jsxs)("tbody", { children: [
|
|
13538
13617
|
rows.map((row) => {
|
|
13539
13618
|
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
@@ -13541,9 +13620,9 @@ var TableBody = import_react58.default.memo(function TableBodyVisual() {
|
|
|
13541
13620
|
{
|
|
13542
13621
|
onClick: () => onRowClick?.(row, table),
|
|
13543
13622
|
"data-clickable": PropsUtil.dataAttributes.bool(!!onRowClick),
|
|
13544
|
-
className: (0,
|
|
13623
|
+
className: (0, import_clsx27.default)("table-body-row", BagFunctionUtil.resolve(table.options.meta?.bodyRowClassName, row.original)),
|
|
13545
13624
|
children: row.getVisibleCells().map((cell) => {
|
|
13546
|
-
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("td", { className: (0,
|
|
13625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("td", { className: (0, import_clsx27.default)("table-body-cell", cell.column.columnDef.meta?.className), children: (0, import_react_table2.flexRender)(
|
|
13547
13626
|
cell.column.columnDef.cell,
|
|
13548
13627
|
cell.getContext()
|
|
13549
13628
|
) }, cell.id);
|
|
@@ -13552,21 +13631,30 @@ var TableBody = import_react58.default.memo(function TableBodyVisual() {
|
|
|
13552
13631
|
row.id
|
|
13553
13632
|
);
|
|
13554
13633
|
}),
|
|
13555
|
-
isUsingFillerRows
|
|
13556
|
-
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
13557
|
-
|
|
13558
|
-
|
|
13559
|
-
|
|
13634
|
+
/* @__PURE__ */ (0, import_jsx_runtime56.jsx)(Visibility, { isVisible: isUsingFillerRows, children: range(pagination.pageSize - rows.length, { allowEmptyRange: true }).map((index) => {
|
|
13635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
13636
|
+
"tr",
|
|
13637
|
+
{
|
|
13638
|
+
className: (0, import_clsx27.default)("table-body-filler-row"),
|
|
13639
|
+
onClick: () => onFillerRowClick?.(index, table),
|
|
13640
|
+
"data-clickable": PropsUtil.dataAttributes.bool(!!onFillerRowClick),
|
|
13641
|
+
children: columns.map((column) => {
|
|
13642
|
+
return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("td", { className: (0, import_clsx27.default)("table-body-filler-cell", column.columnDef.meta?.className), children: fillerRowCell ? fillerRowCell(column.id, table) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FillerCell, {}) }, column.id);
|
|
13643
|
+
})
|
|
13644
|
+
},
|
|
13645
|
+
"filler-row-" + index
|
|
13646
|
+
);
|
|
13647
|
+
}) })
|
|
13560
13648
|
] });
|
|
13561
13649
|
});
|
|
13562
13650
|
|
|
13563
13651
|
// src/components/layout/table/TableHeader.tsx
|
|
13564
13652
|
var import_react_table3 = require("@tanstack/react-table");
|
|
13565
|
-
var
|
|
13653
|
+
var import_clsx33 = __toESM(require("clsx"));
|
|
13566
13654
|
|
|
13567
13655
|
// src/components/layout/table/TableSortButton.tsx
|
|
13568
13656
|
var import_lucide_react14 = require("lucide-react");
|
|
13569
|
-
var
|
|
13657
|
+
var import_clsx28 = __toESM(require("clsx"));
|
|
13570
13658
|
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
13571
13659
|
var TableSortButton = ({
|
|
13572
13660
|
sortDirection,
|
|
@@ -13594,13 +13682,13 @@ var TableSortButton = ({
|
|
|
13594
13682
|
layout: hasSortingIndex ? "default" : "icon",
|
|
13595
13683
|
color,
|
|
13596
13684
|
size,
|
|
13597
|
-
className: (0,
|
|
13685
|
+
className: (0, import_clsx28.default)("relative", className),
|
|
13598
13686
|
...props,
|
|
13599
13687
|
children: [
|
|
13600
13688
|
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)(Visibility, { isVisible: hasSortingIndex, children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
|
|
13601
13689
|
"div",
|
|
13602
13690
|
{
|
|
13603
|
-
className: (0,
|
|
13691
|
+
className: (0, import_clsx28.default)("absolute bottom-0 right-1/2 translate-x-1/2 translate-y-2/3 z-1 primary coloring-solid rounded-full h-4 w-5 text-sm"),
|
|
13604
13692
|
children: `${index}.`
|
|
13605
13693
|
}
|
|
13606
13694
|
) }),
|
|
@@ -13617,7 +13705,7 @@ var import_react67 = require("react");
|
|
|
13617
13705
|
// src/components/user-interaction/input/DateTimeInput.tsx
|
|
13618
13706
|
var import_react64 = require("react");
|
|
13619
13707
|
var import_lucide_react16 = require("lucide-react");
|
|
13620
|
-
var
|
|
13708
|
+
var import_clsx32 = __toESM(require("clsx"));
|
|
13621
13709
|
|
|
13622
13710
|
// src/utils/date.ts
|
|
13623
13711
|
var monthsList = ["january", "february", "march", "april", "may", "june", "july", "august", "september", "october", "november", "december"];
|
|
@@ -13790,7 +13878,7 @@ var DateUtils = {
|
|
|
13790
13878
|
};
|
|
13791
13879
|
|
|
13792
13880
|
// src/components/user-interaction/date/DateTimePicker.tsx
|
|
13793
|
-
var
|
|
13881
|
+
var import_clsx31 = __toESM(require("clsx"));
|
|
13794
13882
|
|
|
13795
13883
|
// src/components/user-interaction/date/TimePicker.tsx
|
|
13796
13884
|
var import_react59 = require("react");
|
|
@@ -13912,7 +14000,7 @@ var TimePickerUncontrolled = ({
|
|
|
13912
14000
|
// src/components/user-interaction/date/DatePicker.tsx
|
|
13913
14001
|
var import_react62 = require("react");
|
|
13914
14002
|
var import_lucide_react15 = require("lucide-react");
|
|
13915
|
-
var
|
|
14003
|
+
var import_clsx30 = __toESM(require("clsx"));
|
|
13916
14004
|
|
|
13917
14005
|
// src/components/user-interaction/date/DayPicker.tsx
|
|
13918
14006
|
var import_react60 = require("react");
|
|
@@ -13992,7 +14080,7 @@ var DayPickerUncontrolled = ({
|
|
|
13992
14080
|
|
|
13993
14081
|
// src/components/user-interaction/date/YearMonthPicker.tsx
|
|
13994
14082
|
var import_react61 = require("react");
|
|
13995
|
-
var
|
|
14083
|
+
var import_clsx29 = __toESM(require("clsx"));
|
|
13996
14084
|
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
13997
14085
|
var YearRow = (0, import_react61.memo)(function YearRow2({
|
|
13998
14086
|
year,
|
|
@@ -14018,7 +14106,7 @@ var YearRow = (0, import_react61.memo)(function YearRow2({
|
|
|
14018
14106
|
isExpanded,
|
|
14019
14107
|
onExpandedChange: setIsExpanded,
|
|
14020
14108
|
children: [
|
|
14021
|
-
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ExpandableHeader, { className: (0,
|
|
14109
|
+
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ExpandableHeader, { className: (0, import_clsx29.default)("px-2", { "text-primary font-bold": isSelectedYear }), children: year }),
|
|
14022
14110
|
/* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ExpandableContent, { className: "gap-y-1 px-2 expandable-content-h-39", children: isExpanded && monthGrid.map((group, groupIdx) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "flex-row-1", children: group.map((month) => {
|
|
14023
14111
|
const monthIndex = DateUtils.monthsList.indexOf(month);
|
|
14024
14112
|
const currentTimestamp = new Date(year, monthIndex).getTime();
|
|
@@ -14087,7 +14175,7 @@ var YearMonthPicker = ({
|
|
|
14087
14175
|
InfiniteScroll,
|
|
14088
14176
|
{
|
|
14089
14177
|
itemCount: years.length,
|
|
14090
|
-
className: (0,
|
|
14178
|
+
className: (0, import_clsx29.default)("flex-col-1 h-full select-none", className),
|
|
14091
14179
|
initialIndex: years.findIndex((year) => year === value.getFullYear()),
|
|
14092
14180
|
children: (index) => {
|
|
14093
14181
|
const year = years[index];
|
|
@@ -14142,14 +14230,14 @@ var DatePicker = ({
|
|
|
14142
14230
|
const { locale } = useLocale();
|
|
14143
14231
|
const [displayedMonth, setDisplayedMonth] = (0, import_react62.useState)(new Date(value.getFullYear(), value.getMonth(), 1));
|
|
14144
14232
|
const [displayMode, setDisplayMode] = (0, import_react62.useState)(initialDisplay);
|
|
14145
|
-
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: (0,
|
|
14233
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: (0, import_clsx30.default)("flex-col-3", className), children: [
|
|
14146
14234
|
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "flex-row-2 items-center justify-between", children: [
|
|
14147
14235
|
/* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
14148
14236
|
Button,
|
|
14149
14237
|
{
|
|
14150
14238
|
size: "sm",
|
|
14151
14239
|
coloringStyle: "text",
|
|
14152
|
-
className: (0,
|
|
14240
|
+
className: (0, import_clsx30.default)("flex-row-1 items-center cursor-pointer select-none", {
|
|
14153
14241
|
"text-disabled": displayMode !== "day"
|
|
14154
14242
|
}),
|
|
14155
14243
|
onClick: () => setDisplayMode(displayMode === "day" ? "yearMonth" : "day"),
|
|
@@ -14289,7 +14377,7 @@ var DateTimePicker = ({
|
|
|
14289
14377
|
...timePickerProps,
|
|
14290
14378
|
is24HourFormat,
|
|
14291
14379
|
minuteIncrement,
|
|
14292
|
-
className: (0,
|
|
14380
|
+
className: (0, import_clsx31.default)({ "justify-between": mode === "time" }),
|
|
14293
14381
|
value,
|
|
14294
14382
|
onValueChange,
|
|
14295
14383
|
onEditComplete
|
|
@@ -14445,11 +14533,7 @@ var DateTimeInput = (0, import_react64.forwardRef)(function DateTimeInput2({
|
|
|
14445
14533
|
label: `date-time-input-label-${id}`
|
|
14446
14534
|
}), [id]);
|
|
14447
14535
|
const innerRef = (0, import_react64.useRef)(null);
|
|
14448
|
-
|
|
14449
|
-
(0, import_react64.useImperativeHandle)(forwardedRef, () => ({
|
|
14450
|
-
input: innerRef.current,
|
|
14451
|
-
popup: containerRef.current
|
|
14452
|
-
}));
|
|
14536
|
+
(0, import_react64.useImperativeHandle)(forwardedRef, () => innerRef.current);
|
|
14453
14537
|
(0, import_react64.useEffect)(() => {
|
|
14454
14538
|
if (readOnly || disabled) {
|
|
14455
14539
|
changeOpenWrapper(false);
|
|
@@ -14457,11 +14541,12 @@ var DateTimeInput = (0, import_react64.forwardRef)(function DateTimeInput2({
|
|
|
14457
14541
|
}, [changeOpenWrapper, readOnly, disabled]);
|
|
14458
14542
|
const clickHandler = PropsUtil.aria.click(() => changeOpenWrapper(true));
|
|
14459
14543
|
return /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)(import_jsx_runtime64.Fragment, { children: [
|
|
14460
|
-
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { ...containerProps,
|
|
14544
|
+
/* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { ...containerProps, className: (0, import_clsx32.default)("relative w-full", containerProps?.className), children: [
|
|
14461
14545
|
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
14462
14546
|
"div",
|
|
14463
14547
|
{
|
|
14464
14548
|
...props,
|
|
14549
|
+
ref: innerRef,
|
|
14465
14550
|
id: ids.input,
|
|
14466
14551
|
onClick: (event) => {
|
|
14467
14552
|
clickHandler.onClick();
|
|
@@ -14469,13 +14554,14 @@ var DateTimeInput = (0, import_react64.forwardRef)(function DateTimeInput2({
|
|
|
14469
14554
|
},
|
|
14470
14555
|
onKeyDown: clickHandler.onKeyDown,
|
|
14471
14556
|
...PropsUtil.dataAttributes.interactionStates({ disabled, readOnly, invalid, required }),
|
|
14557
|
+
"data-value": PropsUtil.dataAttributes.bool(!!state),
|
|
14472
14558
|
...PropsUtil.aria.interactionStates({ disabled, readOnly, invalid, required }, props),
|
|
14473
14559
|
tabIndex: 0,
|
|
14474
14560
|
role: "combobox",
|
|
14475
14561
|
"aria-haspopup": "dialog",
|
|
14476
14562
|
"aria-expanded": isOpen,
|
|
14477
14563
|
"aria-controls": isOpen ? ids.popup : void 0,
|
|
14478
|
-
className: (0,
|
|
14564
|
+
className: (0, import_clsx32.default)(
|
|
14479
14565
|
"pr-10 w-full flex-row-2 items-center justify-between h-10 px-3 rounded-md input-element",
|
|
14480
14566
|
"outline-offset-0 outline-primary focus:outline-1 focus:outline-offset-1 focus:border-primary duration-(--animation-duration-in)",
|
|
14481
14567
|
{ "hover:cursor-pointer": !readOnly },
|
|
@@ -14507,7 +14593,6 @@ var DateTimeInput = (0, import_react64.forwardRef)(function DateTimeInput2({
|
|
|
14507
14593
|
/* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
14508
14594
|
PopUp,
|
|
14509
14595
|
{
|
|
14510
|
-
ref: containerRef,
|
|
14511
14596
|
id: ids.popup,
|
|
14512
14597
|
isOpen,
|
|
14513
14598
|
anchor: innerRef,
|
|
@@ -15209,13 +15294,13 @@ var TableHeader = ({ table: tableOverride, isSticky = false }) => {
|
|
|
15209
15294
|
},
|
|
15210
15295
|
header.id
|
|
15211
15296
|
)) }, headerGroup.id)),
|
|
15212
|
-
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)("thead", { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("tr", { className: (0,
|
|
15297
|
+
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)("thead", { children: table.getHeaderGroups().map((headerGroup) => /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("tr", { className: (0, import_clsx33.default)("table-header-row", table.options.meta?.headerRowClassName), children: headerGroup.headers.map((header) => {
|
|
15213
15298
|
return /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)(
|
|
15214
15299
|
"th",
|
|
15215
15300
|
{
|
|
15216
15301
|
colSpan: header.colSpan,
|
|
15217
15302
|
"data-sticky": isSticky ? "" : void 0,
|
|
15218
|
-
className: (0,
|
|
15303
|
+
className: (0, import_clsx33.default)("table-header-cell group/table-header-cell", header.column.columnDef.meta?.className),
|
|
15219
15304
|
children: [
|
|
15220
15305
|
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Visibility, { isVisible: !header.isPlaceholder, children: /* @__PURE__ */ (0, import_jsx_runtime68.jsxs)("div", { className: "flex-row-1 items-center", children: [
|
|
15221
15306
|
/* @__PURE__ */ (0, import_jsx_runtime68.jsx)(Visibility, { isVisible: header.column.getCanSort(), children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
@@ -15287,7 +15372,7 @@ var TableHeader = ({ table: tableOverride, isSticky = false }) => {
|
|
|
15287
15372
|
};
|
|
15288
15373
|
|
|
15289
15374
|
// src/components/layout/table/TableDisplay.tsx
|
|
15290
|
-
var
|
|
15375
|
+
var import_clsx34 = __toESM(require("clsx"));
|
|
15291
15376
|
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
15292
15377
|
var TableDisplay = ({
|
|
15293
15378
|
children,
|
|
@@ -15298,11 +15383,11 @@ var TableDisplay = ({
|
|
|
15298
15383
|
const { table } = useTableDataContext();
|
|
15299
15384
|
const { containerRef } = useTableContainerContext();
|
|
15300
15385
|
const { sizeVars } = useTableHeaderContext();
|
|
15301
|
-
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { ...containerProps, ref: containerRef, className: (0,
|
|
15386
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { ...containerProps, ref: containerRef, className: (0, import_clsx34.default)("table-container", containerProps?.className), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
|
|
15302
15387
|
"table",
|
|
15303
15388
|
{
|
|
15304
15389
|
...props,
|
|
15305
|
-
className: (0,
|
|
15390
|
+
className: (0, import_clsx34.default)("table", props.className),
|
|
15306
15391
|
style: {
|
|
15307
15392
|
...sizeVars,
|
|
15308
15393
|
width: Math.floor(Math.max(table.getTotalSize(), containerRef.current?.offsetWidth ?? table.getTotalSize()))
|
|
@@ -15318,7 +15403,7 @@ var TableDisplay = ({
|
|
|
15318
15403
|
|
|
15319
15404
|
// src/components/layout/table/TablePagination.tsx
|
|
15320
15405
|
var import_react69 = require("react");
|
|
15321
|
-
var
|
|
15406
|
+
var import_clsx35 = __toESM(require("clsx"));
|
|
15322
15407
|
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
15323
15408
|
var TablePaginationMenu = () => {
|
|
15324
15409
|
const { table } = useTableDataContext();
|
|
@@ -15356,7 +15441,7 @@ var TablePageSizeSelect = ({
|
|
|
15356
15441
|
);
|
|
15357
15442
|
};
|
|
15358
15443
|
var TablePagination = ({ allowChangingPageSize = true, pageSizeOptions, ...props }) => {
|
|
15359
|
-
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { ...props, className: (0,
|
|
15444
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { ...props, className: (0, import_clsx35.default)("flex-row-2 items-center justify-center", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "relative", children: [
|
|
15360
15445
|
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TablePaginationMenu, {}),
|
|
15361
15446
|
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Visibility, { isVisible: allowChangingPageSize, children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(TablePageSizeSelect, { pageSizeOptions, buttonProps: { className: "absolute left-1/1 top-1/2 -translate-y-1/2 translate-x-4 h-10 min-w-24" } }) })
|
|
15362
15447
|
] }) });
|
|
@@ -15365,7 +15450,7 @@ var TablePagination = ({ allowChangingPageSize = true, pageSizeOptions, ...props
|
|
|
15365
15450
|
// src/components/user-interaction/Checkbox.tsx
|
|
15366
15451
|
var import_lucide_react19 = require("lucide-react");
|
|
15367
15452
|
var import_react70 = require("react");
|
|
15368
|
-
var
|
|
15453
|
+
var import_clsx36 = __toESM(require("clsx"));
|
|
15369
15454
|
var import_jsx_runtime71 = require("react/jsx-runtime");
|
|
15370
15455
|
var Checkbox = ({
|
|
15371
15456
|
value = false,
|
|
@@ -15409,7 +15494,7 @@ var Checkbox = ({
|
|
|
15409
15494
|
tabIndex: disabled ? -1 : 0,
|
|
15410
15495
|
"aria-checked": indeterminate ? "mixed" : value,
|
|
15411
15496
|
...PropsUtil.aria.interactionStates({ disabled, invalid, readOnly, required }, props),
|
|
15412
|
-
className: (0,
|
|
15497
|
+
className: (0, import_clsx36.default)("checkbox", props.className),
|
|
15413
15498
|
children: [
|
|
15414
15499
|
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Visibility, { isVisible: indeterminate, children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react19.Minus, { className: "checkbox-indicator", "aria-hidden": true }) }),
|
|
15415
15500
|
/* @__PURE__ */ (0, import_jsx_runtime71.jsx)(Visibility, { isVisible: !indeterminate && (alwaysShowCheckIcon || value), children: /* @__PURE__ */ (0, import_jsx_runtime71.jsx)(import_lucide_react19.Check, { className: "checkbox-indicator", "aria-hidden": true }) })
|
|
@@ -15439,7 +15524,7 @@ var import_jsx_runtime72 = require("react/jsx-runtime");
|
|
|
15439
15524
|
var TableWithSelectionProvider = ({
|
|
15440
15525
|
children,
|
|
15441
15526
|
state,
|
|
15442
|
-
|
|
15527
|
+
fillerRowCell,
|
|
15443
15528
|
rowSelection,
|
|
15444
15529
|
disableClickRowClickSelection = false,
|
|
15445
15530
|
selectionRowId = "selection",
|
|
@@ -15463,7 +15548,14 @@ var TableWithSelectionProvider = ({
|
|
|
15463
15548
|
);
|
|
15464
15549
|
},
|
|
15465
15550
|
cell: ({ row }) => {
|
|
15466
|
-
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
15551
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(
|
|
15552
|
+
Checkbox,
|
|
15553
|
+
{
|
|
15554
|
+
disabled: !row.getCanSelect(),
|
|
15555
|
+
value: row.getIsSelected(),
|
|
15556
|
+
onValueChange: row.getToggleSelectedHandler()
|
|
15557
|
+
}
|
|
15558
|
+
);
|
|
15467
15559
|
},
|
|
15468
15560
|
size: 60,
|
|
15469
15561
|
minSize: 60,
|
|
@@ -15479,12 +15571,12 @@ var TableWithSelectionProvider = ({
|
|
|
15479
15571
|
TableProvider,
|
|
15480
15572
|
{
|
|
15481
15573
|
...props,
|
|
15482
|
-
|
|
15574
|
+
fillerRowCell: (0, import_react71.useCallback)((columnId, table) => {
|
|
15483
15575
|
if (columnId === selectionRowId) {
|
|
15484
|
-
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Checkbox, { value: false, disabled: true
|
|
15576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Checkbox, { value: false, disabled: true });
|
|
15485
15577
|
}
|
|
15486
|
-
return
|
|
15487
|
-
}, [
|
|
15578
|
+
return fillerRowCell?.(columnId, table) ?? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(FillerCell, {});
|
|
15579
|
+
}, [fillerRowCell, selectionRowId]),
|
|
15488
15580
|
columns: columnDef,
|
|
15489
15581
|
initialState: {
|
|
15490
15582
|
...props.initialState,
|
|
@@ -15509,11 +15601,11 @@ var TableWithSelectionProvider = ({
|
|
|
15509
15601
|
};
|
|
15510
15602
|
|
|
15511
15603
|
// src/components/layout/table/Table.tsx
|
|
15512
|
-
var
|
|
15604
|
+
var import_clsx37 = __toESM(require("clsx"));
|
|
15513
15605
|
var import_jsx_runtime73 = require("react/jsx-runtime");
|
|
15514
15606
|
var Table = ({ children, table, paginationOptions, displayProps, header, footer, ...props }) => {
|
|
15515
15607
|
const { showPagination = true, allowChangingPageSize, pageSizeOptions } = paginationOptions ?? {};
|
|
15516
|
-
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { ...props, className: (0,
|
|
15608
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { ...props, className: (0, import_clsx37.default)("flex-col-3", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(TableProvider, { ...table, children: [
|
|
15517
15609
|
header,
|
|
15518
15610
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TableDisplay, { ...displayProps, children }),
|
|
15519
15611
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Visibility, { isVisible: showPagination, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TablePagination, { allowChangingPageSize, pageSizeOptions }) }),
|
|
@@ -15530,7 +15622,7 @@ var TableWithSelection = ({
|
|
|
15530
15622
|
...props
|
|
15531
15623
|
}) => {
|
|
15532
15624
|
const { showPagination = true, allowChangingPageSize, pageSizeOptions } = paginationOptions ?? {};
|
|
15533
|
-
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { ...props, className: (0,
|
|
15625
|
+
return /* @__PURE__ */ (0, import_jsx_runtime73.jsx)("div", { ...props, className: (0, import_clsx37.default)("flex-col-3", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(TableWithSelectionProvider, { ...table, children: [
|
|
15534
15626
|
header,
|
|
15535
15627
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TableDisplay, { ...displayProps, children }),
|
|
15536
15628
|
/* @__PURE__ */ (0, import_jsx_runtime73.jsx)(Visibility, { isVisible: showPagination, children: /* @__PURE__ */ (0, import_jsx_runtime73.jsx)(TablePagination, { allowChangingPageSize, pageSizeOptions }) }),
|
|
@@ -15840,7 +15932,7 @@ var TableColumnSwitcher = ({ buttonProps, ...props }) => {
|
|
|
15840
15932
|
|
|
15841
15933
|
// src/components/user-interaction/CopyToClipboardWrapper.tsx
|
|
15842
15934
|
var import_react74 = require("react");
|
|
15843
|
-
var
|
|
15935
|
+
var import_clsx38 = require("clsx");
|
|
15844
15936
|
|
|
15845
15937
|
// src/utils/writeToClipboard.ts
|
|
15846
15938
|
var writeToClipboard = (text) => {
|
|
@@ -15883,7 +15975,7 @@ var CopyToClipboardWrapper = ({
|
|
|
15883
15975
|
return /* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
15884
15976
|
"div",
|
|
15885
15977
|
{
|
|
15886
|
-
className: (0,
|
|
15978
|
+
className: (0, import_clsx38.clsx)("relative inline-block cursor-copy", containerClassName),
|
|
15887
15979
|
onMouseEnter: () => {
|
|
15888
15980
|
setIsShowingIndication(true);
|
|
15889
15981
|
},
|
|
@@ -15901,7 +15993,7 @@ var CopyToClipboardWrapper = ({
|
|
|
15901
15993
|
/* @__PURE__ */ (0, import_jsx_runtime76.jsxs)(
|
|
15902
15994
|
"div",
|
|
15903
15995
|
{
|
|
15904
|
-
className: (0,
|
|
15996
|
+
className: (0, import_clsx38.clsx)(
|
|
15905
15997
|
`absolute text-xs font-semibold text-tooltip-text px-2 py-1 rounded whitespace-nowrap
|
|
15906
15998
|
shadow-around-md bg-tooltip-background cursor-default pointer-events-none`,
|
|
15907
15999
|
"transition-opacity duration-200",
|
|
@@ -15924,7 +16016,7 @@ var CopyToClipboardWrapper = ({
|
|
|
15924
16016
|
/* @__PURE__ */ (0, import_jsx_runtime76.jsx)(
|
|
15925
16017
|
"div",
|
|
15926
16018
|
{
|
|
15927
|
-
className: (0,
|
|
16019
|
+
className: (0, import_clsx38.clsx)(`absolute w-0 h-0`, triangleClasses[position]),
|
|
15928
16020
|
style: { ...triangleStyle[position], zIndex: zIndex + 1 }
|
|
15929
16021
|
}
|
|
15930
16022
|
)
|
|
@@ -15938,7 +16030,7 @@ var CopyToClipboardWrapper = ({
|
|
|
15938
16030
|
|
|
15939
16031
|
// src/components/user-interaction/Menu.tsx
|
|
15940
16032
|
var import_react76 = require("react");
|
|
15941
|
-
var
|
|
16033
|
+
var import_clsx39 = __toESM(require("clsx"));
|
|
15942
16034
|
|
|
15943
16035
|
// src/hooks/useHoverState.ts
|
|
15944
16036
|
var import_react75 = require("react");
|
|
@@ -15994,7 +16086,7 @@ var MenuItem = ({
|
|
|
15994
16086
|
}) => /* @__PURE__ */ (0, import_jsx_runtime77.jsx)(
|
|
15995
16087
|
"div",
|
|
15996
16088
|
{
|
|
15997
|
-
className: (0,
|
|
16089
|
+
className: (0, import_clsx39.default)("block px-3 py-1.5 first:rounded-t-md last:rounded-b-md text-sm font-semibold text-nowrap", {
|
|
15998
16090
|
"text-disabled cursor-not-allowed": isDisabled,
|
|
15999
16091
|
"text-menu-text hover:bg-primary/20": !isDisabled,
|
|
16000
16092
|
"cursor-pointer": !!onClick
|
|
@@ -16042,7 +16134,7 @@ var Menu = ({
|
|
|
16042
16134
|
|
|
16043
16135
|
// src/components/user-interaction/ScrollPicker.tsx
|
|
16044
16136
|
var import_react77 = require("react");
|
|
16045
|
-
var
|
|
16137
|
+
var import_clsx40 = __toESM(require("clsx"));
|
|
16046
16138
|
var import_jsx_runtime78 = require("react/jsx-runtime");
|
|
16047
16139
|
var up = 1;
|
|
16048
16140
|
var down = -1;
|
|
@@ -16212,7 +16304,7 @@ var ScrollPicker = ({
|
|
|
16212
16304
|
children: shownItems.map(({ name: name2, index }, arrayIndex) => /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
16213
16305
|
"div",
|
|
16214
16306
|
{
|
|
16215
|
-
className: (0,
|
|
16307
|
+
className: (0, import_clsx40.default)(
|
|
16216
16308
|
`flex-col-2 items-center justify-center rounded-md`,
|
|
16217
16309
|
{
|
|
16218
16310
|
"text-primary font-bold": currentIndex === index,
|
|
@@ -16240,7 +16332,7 @@ var ScrollPicker = ({
|
|
|
16240
16332
|
|
|
16241
16333
|
// src/components/user-interaction/Textarea.tsx
|
|
16242
16334
|
var import_react78 = require("react");
|
|
16243
|
-
var
|
|
16335
|
+
var import_clsx41 = __toESM(require("clsx"));
|
|
16244
16336
|
var import_jsx_runtime79 = require("react/jsx-runtime");
|
|
16245
16337
|
var Textarea = (0, import_react78.forwardRef)(function Textarea2({
|
|
16246
16338
|
invalid = false,
|
|
@@ -16307,7 +16399,7 @@ var TextareaWithHeadline = ({
|
|
|
16307
16399
|
return /* @__PURE__ */ (0, import_jsx_runtime79.jsxs)(
|
|
16308
16400
|
"div",
|
|
16309
16401
|
{
|
|
16310
|
-
className: (0,
|
|
16402
|
+
className: (0, import_clsx41.default)(
|
|
16311
16403
|
"group flex-col-3 border-2 rounded-lg",
|
|
16312
16404
|
{
|
|
16313
16405
|
"bg-input-background text-input-text hover:border-primary focus-within:border-primary": !disabled,
|
|
@@ -16316,13 +16408,13 @@ var TextareaWithHeadline = ({
|
|
|
16316
16408
|
containerClassName
|
|
16317
16409
|
),
|
|
16318
16410
|
children: [
|
|
16319
|
-
headline && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { ...headlineProps, htmlFor: usedId, className: (0,
|
|
16411
|
+
headline && /* @__PURE__ */ (0, import_jsx_runtime79.jsx)("label", { ...headlineProps, htmlFor: usedId, className: (0, import_clsx41.default)("typography-lable-md text-label", headlineProps.className), children: headline }),
|
|
16320
16412
|
/* @__PURE__ */ (0, import_jsx_runtime79.jsx)(
|
|
16321
16413
|
Textarea,
|
|
16322
16414
|
{
|
|
16323
16415
|
...props,
|
|
16324
16416
|
id: usedId,
|
|
16325
|
-
className: (0,
|
|
16417
|
+
className: (0, import_clsx41.default)(
|
|
16326
16418
|
"border-transparent focus:ring-0 focus-visible:ring-0 resize-none h-32",
|
|
16327
16419
|
className
|
|
16328
16420
|
)
|
|
@@ -16377,7 +16469,7 @@ var TimeDisplay = ({
|
|
|
16377
16469
|
// src/components/user-interaction/input/InsideLabelInput.tsx
|
|
16378
16470
|
var import_react79 = require("react");
|
|
16379
16471
|
var import_react80 = require("react");
|
|
16380
|
-
var
|
|
16472
|
+
var import_clsx42 = __toESM(require("clsx"));
|
|
16381
16473
|
var import_jsx_runtime81 = require("react/jsx-runtime");
|
|
16382
16474
|
var InsideLabelInput = (0, import_react80.forwardRef)(function InsideLabelInput2({
|
|
16383
16475
|
id: customId,
|
|
@@ -16388,13 +16480,13 @@ var InsideLabelInput = (0, import_react80.forwardRef)(function InsideLabelInput2
|
|
|
16388
16480
|
const [isFocused, setIsFocused] = (0, import_react80.useState)(false);
|
|
16389
16481
|
const generatedId = (0, import_react79.useId)();
|
|
16390
16482
|
const id = customId ?? generatedId;
|
|
16391
|
-
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: (0,
|
|
16483
|
+
return /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: (0, import_clsx42.default)("relative"), children: [
|
|
16392
16484
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
16393
16485
|
Input,
|
|
16394
16486
|
{
|
|
16395
16487
|
...props,
|
|
16396
16488
|
id,
|
|
16397
|
-
className: (0,
|
|
16489
|
+
className: (0, import_clsx42.default)("h-14 px-4 pb-2 py-6.5", props.className),
|
|
16398
16490
|
ref: forwardedRef,
|
|
16399
16491
|
"aria-labelledby": id + "-label",
|
|
16400
16492
|
onFocus: (event) => {
|
|
@@ -16413,7 +16505,7 @@ var InsideLabelInput = (0, import_react80.forwardRef)(function InsideLabelInput2
|
|
|
16413
16505
|
id: id + "-label",
|
|
16414
16506
|
"aria-hidden": true,
|
|
16415
16507
|
"data-display": isFocused || !!value ? "small" : "full",
|
|
16416
|
-
className: (0,
|
|
16508
|
+
className: (0, import_clsx42.default)(
|
|
16417
16509
|
// margin left to account for the border which is ignored for absolute positions
|
|
16418
16510
|
"absolute left-4 ml-0.5 top-2 transition-all delay-25 pointer-events-none touch-none",
|
|
16419
16511
|
"data-[display=small]:top-2 data-[display=small]:h-force-4.5 data-[display=small]:typography-caption-sm data-[display=small]:overflow-y-hidden",
|
|
@@ -16441,7 +16533,7 @@ var InsideLabelInputUncontrolled = ({
|
|
|
16441
16533
|
|
|
16442
16534
|
// src/components/user-interaction/input/SearchBar.tsx
|
|
16443
16535
|
var import_lucide_react22 = require("lucide-react");
|
|
16444
|
-
var
|
|
16536
|
+
var import_clsx43 = require("clsx");
|
|
16445
16537
|
var import_jsx_runtime82 = require("react/jsx-runtime");
|
|
16446
16538
|
var SearchBar = ({
|
|
16447
16539
|
value: initialValue,
|
|
@@ -16453,7 +16545,7 @@ var SearchBar = ({
|
|
|
16453
16545
|
}) => {
|
|
16454
16546
|
const translation = useHightideTranslation();
|
|
16455
16547
|
const [value, setValue] = useOverwritableState(initialValue, onValueChange);
|
|
16456
|
-
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { ...containerProps, className: (0,
|
|
16548
|
+
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { ...containerProps, className: (0, import_clsx43.clsx)("relative", containerProps?.className), children: [
|
|
16457
16549
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
16458
16550
|
InputUncontrolled,
|
|
16459
16551
|
{
|
|
@@ -16462,7 +16554,7 @@ var SearchBar = ({
|
|
|
16462
16554
|
onValueChange: setValue,
|
|
16463
16555
|
onEditComplete: onSearch,
|
|
16464
16556
|
placeholder: inputProps.placeholder ?? translation("search"),
|
|
16465
|
-
className: (0,
|
|
16557
|
+
className: (0, import_clsx43.clsx)("pr-10 w-full", inputProps.className)
|
|
16466
16558
|
}
|
|
16467
16559
|
),
|
|
16468
16560
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
@@ -16474,7 +16566,7 @@ var SearchBar = ({
|
|
|
16474
16566
|
color: "neutral",
|
|
16475
16567
|
coloringStyle: "text",
|
|
16476
16568
|
onClick: () => onSearch(value),
|
|
16477
|
-
className: (0,
|
|
16569
|
+
className: (0, import_clsx43.clsx)("absolute right-1 top-1/2 -translate-y-1/2", searchButtonProps?.className),
|
|
16478
16570
|
children: /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react22.Search, { className: "w-full h-full" })
|
|
16479
16571
|
}
|
|
16480
16572
|
)
|
|
@@ -16484,7 +16576,7 @@ var SearchBar = ({
|
|
|
16484
16576
|
// src/components/user-interaction/input/ToggleableInput.tsx
|
|
16485
16577
|
var import_react81 = require("react");
|
|
16486
16578
|
var import_lucide_react23 = require("lucide-react");
|
|
16487
|
-
var
|
|
16579
|
+
var import_clsx44 = __toESM(require("clsx"));
|
|
16488
16580
|
var import_jsx_runtime83 = require("react/jsx-runtime");
|
|
16489
16581
|
var ToggleableInput = (0, import_react81.forwardRef)(function ToggleableInput2({
|
|
16490
16582
|
value,
|
|
@@ -16500,7 +16592,7 @@ var ToggleableInput = (0, import_react81.forwardRef)(function ToggleableInput2({
|
|
|
16500
16592
|
innerRef.current?.focus();
|
|
16501
16593
|
}
|
|
16502
16594
|
}, [isEditing]);
|
|
16503
|
-
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: (0,
|
|
16595
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: (0, import_clsx44.default)("relative flex-row-2", { "flex-1": isEditing }), children: [
|
|
16504
16596
|
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
16505
16597
|
Input,
|
|
16506
16598
|
{
|
|
@@ -16522,14 +16614,14 @@ var ToggleableInput = (0, import_react81.forwardRef)(function ToggleableInput2({
|
|
|
16522
16614
|
},
|
|
16523
16615
|
"data-name": props["data-name"] ?? "togglable-input",
|
|
16524
16616
|
"data-isEditing": isEditing ? "" : void 0,
|
|
16525
|
-
className: (0,
|
|
16617
|
+
className: (0, import_clsx44.default)(`w-full rounded-md`, {
|
|
16526
16618
|
"text-transparent": !isEditing
|
|
16527
16619
|
})
|
|
16528
16620
|
}
|
|
16529
16621
|
),
|
|
16530
16622
|
!isEditing && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "absolute left-0 flex-row-2 items-center pointer-events-none touch-none w-full overflow-hidden", children: [
|
|
16531
|
-
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: (0,
|
|
16532
|
-
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react23.Pencil, { className: (0,
|
|
16623
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: (0, import_clsx44.default)(" truncate"), children: value }),
|
|
16624
|
+
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react23.Pencil, { className: (0, import_clsx44.default)(`size-force-4`, { "text-transparent": isEditing }) })
|
|
16533
16625
|
] })
|
|
16534
16626
|
] });
|
|
16535
16627
|
});
|
|
@@ -17678,6 +17770,8 @@ var PromiseUtils = {
|
|
|
17678
17770
|
FormContext,
|
|
17679
17771
|
FormField,
|
|
17680
17772
|
FormFieldLayout,
|
|
17773
|
+
FormObserver,
|
|
17774
|
+
FormObserverKey,
|
|
17681
17775
|
FormProvider,
|
|
17682
17776
|
FormStore,
|
|
17683
17777
|
GenericFilter,
|
|
@@ -17842,6 +17936,8 @@ var PromiseUtils = {
|
|
|
17842
17936
|
useFocusTrap,
|
|
17843
17937
|
useForm,
|
|
17844
17938
|
useFormField,
|
|
17939
|
+
useFormObserver,
|
|
17940
|
+
useFormObserverKey,
|
|
17845
17941
|
useHandleRefs,
|
|
17846
17942
|
useHightideConfig,
|
|
17847
17943
|
useHightideTranslation,
|