@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.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
- "data-name": PropsUtil.dataAttributes.name("form-field-container", props),
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
- "data-name": "form-field-label",
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
- "data-name": "form-field-description",
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: context ? context.store.getValue(key) : void 0,
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
- changeValidationBehavoir(validationBehaviour) {
7698
- if (validationBehaviour === this.validationBehaviour) return;
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
- const shouldValidate = this.validationBehaviour === "always" || this.validationBehaviour === "touched" && this.touched[key] || this.validationBehaviour === "submit" && this.hasTriedSubmitting;
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 import_clsx5 = __toESM(require("clsx"));
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, import_clsx5.default)(
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, import_clsx5.default)("focus-style-none group/slide", props.className),
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, import_clsx5.default)("flex-col-2 items-center w-full", props.className),
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, import_clsx5.default)(`relative w-full overflow-hidden`, heightClassName, slideContainerProps?.className),
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, import_clsx5.default)(`flex-row-2 relative h-full`, heightClassName),
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, import_clsx5.default)(
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, import_clsx5.default)(`hidden desktop:block pointer-events-none absolute left-0 h-full w-[20%] bg-gradient-to-r to-transparent`, blurColor)
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, import_clsx5.default)(`hidden desktop:block pointer-events-none absolute right-0 h-full w-[20%] bg-gradient-to-l to-transparent`, blurColor)
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, import_clsx5.default)("px-16 h-full"),
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, import_clsx5.default)("absolute z-10 left-2 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoLeft() }),
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, import_clsx5.default)("absolute z-10 right-2 top-1/2 -translate-y-1/2 shadow-md", { hidden: !canGoRight() }),
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 import_clsx6 = __toESM(require("clsx"));
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, import_clsx6.default)(className), ...restProps, children: nodes });
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 import_clsx7 = __toESM(require("clsx"));
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, import_clsx7.default)(contentClassName, { [contentExpandedClassName ?? ""]: !!ctx?.isExpanded }),
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 import_clsx8 = __toESM(require("clsx"));
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, import_clsx8.default)("overflow-y-auto", className),
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 import_clsx9 = require("clsx");
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, import_clsx9.clsx)(
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 import_clsx10 = __toESM(require("clsx"));
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, import_clsx10.default)("rounded-2xl w-full", className),
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, import_clsx10.default)(`flex-col-2 px-6 py-12 rounded-2xl h-full`, colorMapping[color], contentClassName),
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, import_clsx10.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 }) }),
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 import_clsx11 = __toESM(require("clsx"));
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, import_clsx11.default)("dialog-container", containerClassName),
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, import_clsx11.default)("dialog-background", backgroundClassName)
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, import_clsx11.default)("dialog-content", props.className),
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 import_clsx12 = __toESM(require("clsx"));
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, import_clsx12.default)("justify-between", className), children: [
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 import_clsx14 = __toESM(require("clsx"));
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 import_clsx13 = require("clsx");
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, import_clsx13.clsx)("pop-up", props.className),
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, import_clsx14.default)(
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, import_clsx14.default)("w-4 h-4", { "opacity-0": !isSelected || disabled }),
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, import_clsx14.default)("w-4 h-4", { "opacity-0": !isSelected || disabled }),
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, import_clsx14.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: [
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, import_clsx14.default)("flex-col-0 p-2 bg-menu-background text-menu-text rounded-md shadow-hw-bottom focus-outline-within overflow-auto", props.className),
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 import_clsx15 = __toESM(require("clsx"));
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, import_clsx15.default)("w-4 h-4", className) });
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, import_clsx15.default)("w-4 h-4", className) });
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, import_clsx15.default)("w-4 h-4", className) });
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 import_clsx16 = __toESM(require("clsx"));
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, import_clsx16.default)("flex-col-4 items-center justify-center w-full h-24", classname), children: [
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 import_clsx17 = require("clsx");
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, import_clsx17.clsx)("relative overflow-hidden shimmer bg-disabled/30 rounded-md", className) });
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 import_clsx18 = require("clsx");
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, import_clsx18.clsx)(className) }) });
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, import_clsx18.clsx)("bg-negative", className) }) });
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 import_clsx19 = __toESM(require("clsx"));
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, import_clsx19.default)("flex-col-2 items-center justify-center w-full h-24", classname), children: [
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 import_clsx20 = __toESM(require("clsx"));
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, import_clsx20.default)(
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, import_clsx20.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)) });
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, import_clsx20.default)("hidden", { "desktop:flex": !isMobileOpen }, props.className)
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, import_clsx20.default)(
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, import_clsx20.default)("flex-col-8", props.className) })
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 import_clsx22 = __toESM(require("clsx"));
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 import_clsx21 = require("clsx");
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, import_clsx21.clsx)("relative inline-block", containerClassName),
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, import_clsx21.clsx)("tooltip", tooltipClassName),
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, import_clsx22.default)("flex-row-1", className), style, children: [
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, import_clsx22.default)(
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 import_clsx23 = __toESM(require("clsx"));
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, import_clsx23.default)("flex-row-2 justify-between", className),
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, import_clsx23.default)(
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 import_clsx24 = __toESM(require("clsx"));
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, import_clsx24.default)("table-filler-cell", props.className),
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 import_clsx25 = require("clsx");
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, import_clsx25.clsx)("table-default-cell", className), children });
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
- fillerRow,
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
- fillerRow,
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, fillerRow, onRowClick, columns, rows, columnOrder, columnFilters, columnVisibility, columnPinning, columnSorting]);
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 import_clsx26 = __toESM(require("clsx"));
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, fillerRow, pagination, rows } = useTableDataContext();
13536
- const columns = table.getAllColumns();
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, import_clsx26.default)("table-body-row", BagFunctionUtil.resolve(table.options.meta?.bodyRowClassName, row.original)),
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, import_clsx26.default)("table-body-cell", cell.column.columnDef.meta?.className), children: (0, import_react_table2.flexRender)(
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 && range(pagination.pageSize - rows.length, { allowEmptyRange: true }).map((row, index) => {
13556
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("tr", { className: (0, import_clsx26.default)("table-body-filler-row"), children: columns.map((column) => {
13557
- return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("td", { className: (0, import_clsx26.default)("table-body-filler-cell", column.columnDef.meta?.className), children: fillerRow ? fillerRow(column.id, table) : /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(FillerCell, {}) }, column.id);
13558
- }) }, "filler-row-" + index);
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 import_clsx32 = __toESM(require("clsx"));
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 import_clsx27 = __toESM(require("clsx"));
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, import_clsx27.default)("relative", className),
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, import_clsx27.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"),
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 import_clsx31 = __toESM(require("clsx"));
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 import_clsx30 = __toESM(require("clsx"));
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 import_clsx29 = __toESM(require("clsx"));
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 import_clsx28 = __toESM(require("clsx"));
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, import_clsx28.default)("px-2", { "text-primary font-bold": isSelectedYear }), children: year }),
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, import_clsx28.default)("flex-col-1 h-full select-none", className),
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, import_clsx29.default)("flex-col-3", className), children: [
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, import_clsx29.default)("flex-row-1 items-center cursor-pointer select-none", {
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, import_clsx30.default)({ "justify-between": mode === "time" }),
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
- const containerRef = (0, import_react64.useRef)(null);
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, ref: innerRef, className: (0, import_clsx31.default)("relative w-full", containerProps?.className), children: [
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, import_clsx31.default)(
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, import_clsx32.default)("table-header-row", table.options.meta?.headerRowClassName), children: headerGroup.headers.map((header) => {
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, import_clsx32.default)("table-header-cell group/table-header-cell", header.column.columnDef.meta?.className),
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 import_clsx33 = __toESM(require("clsx"));
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, import_clsx33.default)("table-container", containerProps?.className), children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)(
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, import_clsx33.default)("table", props.className),
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 import_clsx34 = __toESM(require("clsx"));
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, import_clsx34.default)("flex-row-2 items-center justify-center", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "relative", children: [
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 import_clsx35 = __toESM(require("clsx"));
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, import_clsx35.default)("checkbox", props.className),
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
- fillerRow,
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)(Checkbox, { disabled: !row.getCanSelect(), value: row.getIsSelected(), onValueChange: row.getToggleSelectedHandler() });
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
- fillerRow: (0, import_react71.useCallback)((columnId, table) => {
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, className: "max-w-6" });
15576
+ return /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(Checkbox, { value: false, disabled: true });
15485
15577
  }
15486
- return fillerRow?.(columnId, table) ?? /* @__PURE__ */ (0, import_jsx_runtime72.jsx)(FillerCell, {});
15487
- }, [fillerRow, selectionRowId]),
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 import_clsx36 = __toESM(require("clsx"));
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, import_clsx36.default)("flex-col-3", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(TableProvider, { ...table, children: [
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, import_clsx36.default)("flex-col-3", props.className), children: /* @__PURE__ */ (0, import_jsx_runtime73.jsxs)(TableWithSelectionProvider, { ...table, children: [
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 import_clsx37 = require("clsx");
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, import_clsx37.clsx)("relative inline-block cursor-copy", containerClassName),
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, import_clsx37.clsx)(
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, import_clsx37.clsx)(`absolute w-0 h-0`, triangleClasses[position]),
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 import_clsx38 = __toESM(require("clsx"));
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, import_clsx38.default)("block px-3 py-1.5 first:rounded-t-md last:rounded-b-md text-sm font-semibold text-nowrap", {
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 import_clsx39 = __toESM(require("clsx"));
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, import_clsx39.default)(
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 import_clsx40 = __toESM(require("clsx"));
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, import_clsx40.default)(
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, import_clsx40.default)("typography-lable-md text-label", headlineProps.className), children: headline }),
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, import_clsx40.default)(
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 import_clsx41 = __toESM(require("clsx"));
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, import_clsx41.default)("relative"), children: [
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, import_clsx41.default)("h-14 px-4 pb-2 py-6.5", props.className),
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, import_clsx41.default)(
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 import_clsx42 = require("clsx");
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, import_clsx42.clsx)("relative", containerProps?.className), children: [
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, import_clsx42.clsx)("pr-10 w-full", inputProps.className)
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, import_clsx42.clsx)("absolute right-1 top-1/2 -translate-y-1/2", searchButtonProps?.className),
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 import_clsx43 = __toESM(require("clsx"));
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, import_clsx43.default)("relative flex-row-2", { "flex-1": isEditing }), children: [
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, import_clsx43.default)(`w-full rounded-md`, {
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, import_clsx43.default)(" truncate"), children: value }),
16532
- /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(import_lucide_react23.Pencil, { className: (0, import_clsx43.default)(`size-force-4`, { "text-transparent": isEditing }) })
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,