@helpwave/hightide 0.6.0 → 0.6.2

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.mjs CHANGED
@@ -7342,6 +7342,9 @@ var FormStore = class {
7342
7342
  getHasError() {
7343
7343
  return Object.values(this.errors).some((value) => value !== void 0 && value !== null);
7344
7344
  }
7345
+ getErrors() {
7346
+ return { ...this.errors };
7347
+ }
7345
7348
  getError(key) {
7346
7349
  return this.errors[key];
7347
7350
  }
@@ -7434,7 +7437,7 @@ var FormStore = class {
7434
7437
  };
7435
7438
 
7436
7439
  // src/components/form/useCreateForm.tsx
7437
- import { useCallback as useCallback3, useEffect as useEffect3, useRef } from "react";
7440
+ import { useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo3, useRef } from "react";
7438
7441
  function useCreateForm({
7439
7442
  onFormSubmit,
7440
7443
  onFormError,
@@ -7520,15 +7523,27 @@ function useCreateForm({
7520
7523
  }
7521
7524
  };
7522
7525
  }, []);
7523
- return {
7524
- store: storeRef.current,
7526
+ const callbacks = useMemo3(() => ({
7525
7527
  reset: () => storeRef.current.reset(),
7526
7528
  submit: () => storeRef.current.submit(),
7527
- update: (value) => storeRef.current.setValues(value),
7529
+ update: (updater) => {
7530
+ if (typeof updater === "function") {
7531
+ storeRef.current.setValues(updater(storeRef.current.getAllValues()));
7532
+ } else {
7533
+ storeRef.current.setValues(updater);
7534
+ }
7535
+ },
7528
7536
  validateAll: () => storeRef.current.validateAll(),
7529
- getDataProps,
7530
7537
  getError: (key) => storeRef.current.getError(key),
7538
+ getErrors: () => storeRef.current.getErrors(),
7539
+ getIsValid: () => !storeRef.current.getHasError(),
7531
7540
  getValue: (key) => storeRef.current.getValue(key),
7541
+ getValues: () => storeRef.current.getAllValues()
7542
+ }), []);
7543
+ return {
7544
+ store: storeRef.current,
7545
+ ...callbacks,
7546
+ getDataProps,
7532
7547
  registerRef
7533
7548
  };
7534
7549
  }
@@ -7541,7 +7556,7 @@ import {
7541
7556
  useContext as useContext4,
7542
7557
  useEffect as useEffect5,
7543
7558
  useId as useId2,
7544
- useMemo as useMemo5,
7559
+ useMemo as useMemo6,
7545
7560
  useRef as useRef2,
7546
7561
  useState as useState6
7547
7562
  } from "react";
@@ -7549,7 +7564,7 @@ import clsx5 from "clsx";
7549
7564
  import { ChevronLeft, ChevronRight } from "lucide-react";
7550
7565
 
7551
7566
  // src/contexts/LocaleContext.tsx
7552
- import { createContext as createContext3, useContext as useContext3, useEffect as useEffect4, useMemo as useMemo3, useState as useState5 } from "react";
7567
+ import { createContext as createContext3, useContext as useContext3, useEffect as useEffect4, useMemo as useMemo4, useState as useState5 } from "react";
7553
7568
 
7554
7569
  // src/hooks/useLocalStorage.ts
7555
7570
  import { useCallback as useCallback4, useState as useState3 } from "react";
@@ -8218,7 +8233,7 @@ var LocaleProvider = ({
8218
8233
  } = useLocalStorage("locale", "system");
8219
8234
  const { config } = useHightideConfig();
8220
8235
  const [localePreference, setLocalePreference] = useState5("system");
8221
- const resolvedLocale = useMemo3(() => {
8236
+ const resolvedLocale = useMemo4(() => {
8222
8237
  if (locale && locale !== "system") {
8223
8238
  return locale;
8224
8239
  }
@@ -8284,7 +8299,7 @@ var useLanguage = () => {
8284
8299
 
8285
8300
  // src/i18n/useHightideTranslation.ts
8286
8301
  import { combineTranslation, ICUUtil } from "@helpwave/internationalization";
8287
- import { useMemo as useMemo4 } from "react";
8302
+ import { useMemo as useMemo5 } from "react";
8288
8303
  function useICUTranslation(translations, locale) {
8289
8304
  translations = Array.isArray(translations) ? translations : [translations];
8290
8305
  return function translate(key, values) {
@@ -8307,7 +8322,7 @@ function useICUTranslation(translations, locale) {
8307
8322
  function useHightideTranslation(extensions, overwrites) {
8308
8323
  const { locale: inferredLocale } = useLocale();
8309
8324
  const locale = overwrites?.locale ?? inferredLocale;
8310
- return useMemo4(
8325
+ return useMemo5(
8311
8326
  () => combineTranslation([
8312
8327
  ...ArrayUtil.resolveSingleOrArray(extensions),
8313
8328
  hightideTranslation
@@ -8437,7 +8452,7 @@ var Carousel = ({
8437
8452
  const carouselContainerRef = useRef2(null);
8438
8453
  const [disableClick, setDisableClick] = useState6(false);
8439
8454
  const timeOut = useRef2(void 0);
8440
- const length = useMemo5(() => children.length, [children]);
8455
+ const length = useMemo6(() => children.length, [children]);
8441
8456
  const paddingItemCount = 3;
8442
8457
  const generatedId = "carousel" + useId2();
8443
8458
  const id = props.id ?? generatedId;
@@ -8882,7 +8897,7 @@ var useFocusTrap = ({
8882
8897
  };
8883
8898
 
8884
8899
  // src/hooks/useOverlayRegistry.ts
8885
- import { useEffect as useEffect8, useId as useId4, useMemo as useMemo6, useState as useState9 } from "react";
8900
+ import { useEffect as useEffect8, useId as useId4, useMemo as useMemo7, useState as useState9 } from "react";
8886
8901
  var OverlayRegistry = class _OverlayRegistry {
8887
8902
  constructor() {
8888
8903
  this.overlayIds = /* @__PURE__ */ new Set();
@@ -8951,7 +8966,7 @@ var OverlayRegistry = class _OverlayRegistry {
8951
8966
  var useOverlayRegistry = (props) => {
8952
8967
  const generatedId = useId4();
8953
8968
  const [hasAppeared, setHasAppeared] = useState9(props.isActive);
8954
- const item = useMemo6(() => ({
8969
+ const item = useMemo7(() => ({
8955
8970
  id: props?.id ?? generatedId,
8956
8971
  tags: props?.tags
8957
8972
  }), [props?.id, generatedId, props?.tags]);
@@ -8960,7 +8975,7 @@ var useOverlayRegistry = (props) => {
8960
8975
  itemInformation: {},
8961
8976
  tagItemCounts: {}
8962
8977
  });
8963
- const registry = useMemo6(() => OverlayRegistry.getInstance(), []);
8978
+ const registry = useMemo7(() => OverlayRegistry.getInstance(), []);
8964
8979
  useEffect8(() => {
8965
8980
  if (!props.isActive) {
8966
8981
  return;
@@ -8994,7 +9009,7 @@ var useOverlayRegistry = (props) => {
8994
9009
  };
8995
9010
 
8996
9011
  // src/components/layout/Drawer.tsx
8997
- import { useId as useId5, useMemo as useMemo7, useRef as useRef5 } from "react";
9012
+ import { useId as useId5, useMemo as useMemo8, useRef as useRef5 } from "react";
8998
9013
  import { createPortal } from "react-dom";
8999
9014
  import { X } from "lucide-react";
9000
9015
 
@@ -9062,7 +9077,7 @@ var Drawer = ({
9062
9077
  }) => {
9063
9078
  const translation = useHightideTranslation();
9064
9079
  const generatedId = useId5();
9065
- const ids = useMemo7(() => ({
9080
+ const ids = useMemo8(() => ({
9066
9081
  container: `dialog-container-${generatedId}`,
9067
9082
  background: `dialog-background-${generatedId}`,
9068
9083
  content: props.id ?? `dialog-content-${generatedId}`
@@ -9076,7 +9091,7 @@ var Drawer = ({
9076
9091
  });
9077
9092
  const { zIndex, tagPositions, tagItemCounts } = useOverlayRegistry({
9078
9093
  isActive: isVisible,
9079
- tags: useMemo7(() => ["drawer"], [])
9094
+ tags: useMemo8(() => ["drawer"], [])
9080
9095
  });
9081
9096
  const depth = tagPositions && tagItemCounts ? (tagItemCounts["drawer"] ?? 0) - (tagPositions["drawer"] ?? 0) : 0;
9082
9097
  if (!isVisible) return;
@@ -9154,7 +9169,7 @@ var Drawer = ({
9154
9169
  // src/components/layout/Expandable.tsx
9155
9170
  import { useEffect as useEffect11 } from "react";
9156
9171
  import { useState as useState12 } from "react";
9157
- import { createContext as createContext5, forwardRef as forwardRef4, useCallback as useCallback8, useContext as useContext5, useId as useId6, useMemo as useMemo8 } from "react";
9172
+ import { createContext as createContext5, forwardRef as forwardRef4, useCallback as useCallback8, useContext as useContext5, useId as useId6, useMemo as useMemo9 } from "react";
9158
9173
  import clsx7 from "clsx";
9159
9174
 
9160
9175
  // src/hooks/useOverwritableState.ts
@@ -9203,7 +9218,7 @@ var ExpandableRoot = forwardRef4(function ExpandableRoot2({
9203
9218
  setIsExpanded(!isExpanded);
9204
9219
  }
9205
9220
  }, [disabled, isExpanded, setIsExpanded]);
9206
- const contextValue = useMemo8(() => ({
9221
+ const contextValue = useMemo9(() => ({
9207
9222
  isExpanded: !!isExpanded,
9208
9223
  toggle,
9209
9224
  setIsExpanded,
@@ -9556,7 +9571,7 @@ import {
9556
9571
  useRef as useRef7,
9557
9572
  useState as useState14,
9558
9573
  useLayoutEffect as useLayoutEffect2,
9559
- useMemo as useMemo9,
9574
+ useMemo as useMemo10,
9560
9575
  useCallback as useCallback10
9561
9576
  } from "react";
9562
9577
  import clsx9 from "clsx";
@@ -9578,7 +9593,7 @@ function InfiniteScroll({
9578
9593
  if (itemCount < 1) {
9579
9594
  throw new Error("InfiniteScroll: itemCount > 0 must hold");
9580
9595
  }
9581
- const items = useMemo9(() => range(itemCount), [itemCount]);
9596
+ const items = useMemo10(() => range(itemCount), [itemCount]);
9582
9597
  const containerRef = useRef7(null);
9583
9598
  const snapshotRef = useRef7({ scrollHeight: 0, scrollTop: 0, fromTop: false });
9584
9599
  const [windowState, setWindowState] = useState14(() => {
@@ -9626,7 +9641,7 @@ function InfiniteScroll({
9626
9641
  }
9627
9642
  snapshotRef.current.fromTop = false;
9628
9643
  }, [windowState]);
9629
- const visibleItems = useMemo9(
9644
+ const visibleItems = useMemo10(
9630
9645
  () => items.slice(windowState.start, windowState.end),
9631
9646
  [items, windowState]
9632
9647
  );
@@ -10428,7 +10443,7 @@ var VerticalDivider = ({
10428
10443
  import clsx12 from "clsx";
10429
10444
 
10430
10445
  // src/components/layout/dialog/Dialog.tsx
10431
- import { useId as useId8, useMemo as useMemo10 } from "react";
10446
+ import { useId as useId8, useMemo as useMemo11 } from "react";
10432
10447
  import { useRef as useRef10 } from "react";
10433
10448
  import { X as X2 } from "lucide-react";
10434
10449
 
@@ -10475,7 +10490,7 @@ var Dialog = ({
10475
10490
  }) => {
10476
10491
  const translation = useHightideTranslation();
10477
10492
  const generatedId = useId8();
10478
- const ids = useMemo10(() => ({
10493
+ const ids = useMemo11(() => ({
10479
10494
  container: `dialog-container-${generatedId}`,
10480
10495
  background: `dialog-background-${generatedId}`,
10481
10496
  content: props.id ?? `dialog-content-${generatedId}`
@@ -10859,7 +10874,7 @@ import {
10859
10874
  useEffect as useEffect17,
10860
10875
  useId as useId9,
10861
10876
  useImperativeHandle as useImperativeHandle3,
10862
- useMemo as useMemo11,
10877
+ useMemo as useMemo12,
10863
10878
  useRef as useRef12,
10864
10879
  useState as useState19
10865
10880
  } from "react";
@@ -10898,11 +10913,11 @@ var SelectRoot = ({
10898
10913
  isOpen,
10899
10914
  options: []
10900
10915
  });
10901
- const selectedValues = useMemo11(
10916
+ const selectedValues = useMemo12(
10902
10917
  () => isMultiSelect ? values ?? [] : [value].filter(Boolean),
10903
10918
  [isMultiSelect, value, values]
10904
10919
  );
10905
- const selectedOptions = useMemo11(
10920
+ const selectedOptions = useMemo12(
10906
10921
  () => selectedValues.map((value2) => internalState.options.find((option) => value2 === option.value)).filter(Boolean),
10907
10922
  [selectedValues, internalState.options]
10908
10923
  );
@@ -11513,7 +11528,7 @@ import { MonitorCog, MoonIcon, SunIcon } from "lucide-react";
11513
11528
  import clsx14 from "clsx";
11514
11529
 
11515
11530
  // src/contexts/ThemeContext.tsx
11516
- import { createContext as createContext9, useCallback as useCallback15, useContext as useContext9, useEffect as useEffect18, useMemo as useMemo12, useState as useState20 } from "react";
11531
+ import { createContext as createContext9, useCallback as useCallback15, useContext as useContext9, useEffect as useEffect18, useMemo as useMemo13, useState as useState20 } from "react";
11517
11532
  import { jsx as jsx36 } from "react/jsx-runtime";
11518
11533
  var themes = ["light", "dark", "system"];
11519
11534
  var ThemeUtil = {
@@ -11528,7 +11543,7 @@ var ThemeProvider = ({ children, theme, initialTheme }) => {
11528
11543
  } = useLocalStorage("theme", "system");
11529
11544
  const { config } = useHightideConfig();
11530
11545
  const [themePreference, setThemePreference] = useState20("system");
11531
- const resolvedTheme = useMemo12(() => {
11546
+ const resolvedTheme = useMemo13(() => {
11532
11547
  if (theme && theme !== "system") {
11533
11548
  return theme;
11534
11549
  }
@@ -12150,7 +12165,7 @@ var TableFilters = {
12150
12165
  };
12151
12166
 
12152
12167
  // src/components/layout/table/Table.tsx
12153
- import { useCallback as useCallback20, useEffect as useEffect26, useMemo as useMemo14, useRef as useRef16, useState as useState28 } from "react";
12168
+ import { useCallback as useCallback20, useEffect as useEffect26, useMemo as useMemo15, useRef as useRef16, useState as useState28 } from "react";
12154
12169
  import clsx26 from "clsx";
12155
12170
  import {
12156
12171
  flexRender,
@@ -12187,7 +12202,7 @@ import { ChevronDown as ChevronDown3, ChevronsUpDown, ChevronUp as ChevronUp2 }
12187
12202
  import clsx24 from "clsx";
12188
12203
 
12189
12204
  // src/components/user-interaction/Tooltip.tsx
12190
- import { useCallback as useCallback17, useMemo as useMemo13, useRef as useRef14, useState as useState24 } from "react";
12205
+ import { useCallback as useCallback17, useMemo as useMemo14, useRef as useRef14, useState as useState24 } from "react";
12191
12206
  import { clsx as clsx23 } from "clsx";
12192
12207
  import { createPortal as createPortal6 } from "react-dom";
12193
12208
  import { jsx as jsx48, jsxs as jsxs26 } from "react/jsx-runtime";
@@ -12206,11 +12221,11 @@ var Tooltip = ({
12206
12221
  timer: null
12207
12222
  });
12208
12223
  const { config } = useHightideConfig();
12209
- const appearDelay = useMemo13(
12224
+ const appearDelay = useMemo14(
12210
12225
  () => appearDelayOverwrite ?? config.tooltip.appearDelay,
12211
12226
  [config.tooltip.appearDelay, appearDelayOverwrite]
12212
12227
  );
12213
- const disappearDelay = useMemo13(
12228
+ const disappearDelay = useMemo14(
12214
12229
  () => disappearDelayOverwrite ?? config.tooltip.disappearDelay,
12215
12230
  [config.tooltip.disappearDelay, disappearDelayOverwrite]
12216
12231
  );
@@ -12219,31 +12234,31 @@ var Tooltip = ({
12219
12234
  const triangleRef = useRef14(null);
12220
12235
  const isActive = !disabled && state.isShown;
12221
12236
  const { isVisible, transitionState, callbacks } = useTransitionState(
12222
- useMemo13(() => ({ isOpen: isActive }), [isActive])
12237
+ useMemo14(() => ({ isOpen: isActive }), [isActive])
12223
12238
  );
12224
- const verticalAlignment = useMemo13(
12239
+ const verticalAlignment = useMemo14(
12225
12240
  () => position === "top" ? "beforeStart" : position === "bottom" ? "afterEnd" : "center",
12226
12241
  [position]
12227
12242
  );
12228
- const horizontalAlignment = useMemo13(
12243
+ const horizontalAlignment = useMemo14(
12229
12244
  () => position === "left" ? "beforeStart" : position === "right" ? "afterEnd" : "center",
12230
12245
  [position]
12231
12246
  );
12232
- const css = useFloatingElement(useMemo13(() => ({
12247
+ const css = useFloatingElement(useMemo14(() => ({
12233
12248
  active: isActive || isVisible,
12234
12249
  anchorRef,
12235
12250
  containerRef,
12236
12251
  horizontalAlignment,
12237
12252
  verticalAlignment
12238
12253
  }), [horizontalAlignment, isActive, isVisible, verticalAlignment]));
12239
- const cssTriangle = useFloatingElement(useMemo13(() => ({
12254
+ const cssTriangle = useFloatingElement(useMemo14(() => ({
12240
12255
  active: isActive || isVisible,
12241
12256
  anchorRef,
12242
12257
  containerRef: triangleRef,
12243
12258
  horizontalAlignment,
12244
12259
  verticalAlignment
12245
12260
  }), [horizontalAlignment, isActive, isVisible, verticalAlignment]));
12246
- const regsitryOptions = useMemo13(() => ({ isActive }), [isActive]);
12261
+ const regsitryOptions = useMemo14(() => ({ isActive }), [isActive]);
12247
12262
  const { zIndex } = useOverlayRegistry(regsitryOptions);
12248
12263
  const { zIndex: zIndexTriangle } = useOverlayRegistry(regsitryOptions);
12249
12264
  const onEnter = useCallback17(() => {
@@ -12846,7 +12861,7 @@ var Table = ({
12846
12861
  ...initialState?.pagination
12847
12862
  });
12848
12863
  const [columnFilters, setColumnFilters] = useState28(initialState?.columnFilters);
12849
- const computedColumnMinWidths = useMemo14(() => {
12864
+ const computedColumnMinWidths = useMemo15(() => {
12850
12865
  return columns.reduce((previousValue, column) => {
12851
12866
  return {
12852
12867
  ...previousValue,
@@ -12855,7 +12870,7 @@ var Table = ({
12855
12870
  };
12856
12871
  }, {});
12857
12872
  }, [columns, defaultColumn]);
12858
- const computedColumnMaxWidths = useMemo14(() => {
12873
+ const computedColumnMaxWidths = useMemo15(() => {
12859
12874
  return columns.reduce((previousValue, column) => {
12860
12875
  return {
12861
12876
  ...previousValue,
@@ -12863,12 +12878,12 @@ var Table = ({
12863
12878
  };
12864
12879
  }, {});
12865
12880
  }, [columns, defaultColumn]);
12866
- const tableMinWidth = useMemo14(() => {
12881
+ const tableMinWidth = useMemo15(() => {
12867
12882
  return columns.reduce((sum, column) => {
12868
12883
  return sum + computedColumnMinWidths[column.id];
12869
12884
  }, 0);
12870
12885
  }, [columns, computedColumnMinWidths]);
12871
- const updateColumnSizes = useMemo14(() => {
12886
+ const updateColumnSizes = useMemo15(() => {
12872
12887
  return (previous) => {
12873
12888
  const updateSizing = {
12874
12889
  ...columnSizing,
@@ -13012,7 +13027,7 @@ var Table = ({
13012
13027
  }));
13013
13028
  }
13014
13029
  }, [data, pageCount, pagination.pageSize, pagination.pageIndex]);
13015
- const columnSizeVars = useMemo14(() => {
13030
+ const columnSizeVars = useMemo15(() => {
13016
13031
  const headers = table.getFlatHeaders();
13017
13032
  const colSizes = {};
13018
13033
  for (let i = 0; i < headers.length; i++) {
@@ -13171,7 +13186,7 @@ var TableWithSelection = ({
13171
13186
  meta,
13172
13187
  ...props
13173
13188
  }) => {
13174
- const columnsWithSelection = useMemo14(() => {
13189
+ const columnsWithSelection = useMemo15(() => {
13175
13190
  return [
13176
13191
  {
13177
13192
  id: selectionRowId,
@@ -13808,7 +13823,7 @@ var DateUtils = {
13808
13823
  import clsx31 from "clsx";
13809
13824
 
13810
13825
  // src/components/user-interaction/date/DayPicker.tsx
13811
- import { useMemo as useMemo15 } from "react";
13826
+ import { useMemo as useMemo16 } from "react";
13812
13827
  import { jsx as jsx57, jsxs as jsxs35 } from "react/jsx-runtime";
13813
13828
  var DayPicker = ({
13814
13829
  displayedMonth,
@@ -13824,11 +13839,11 @@ var DayPicker = ({
13824
13839
  const { locale } = useLocale();
13825
13840
  const month = displayedMonth.getMonth();
13826
13841
  const weeks = getWeeksForCalenderMonth(displayedMonth, weekStart);
13827
- const end = useMemo15(() => {
13842
+ const end = useMemo16(() => {
13828
13843
  if (!providedEnd) return;
13829
13844
  return new Date(providedEnd.getFullYear(), providedEnd.getMonth(), providedEnd.getDate());
13830
13845
  }, [providedEnd]);
13831
- const start = useMemo15(() => {
13846
+ const start = useMemo16(() => {
13832
13847
  if (!providedStart) return;
13833
13848
  return new Date(providedStart.getFullYear(), providedStart.getMonth(), providedStart.getDate());
13834
13849
  }, [providedStart]);
@@ -13884,7 +13899,7 @@ var DayPickerUncontrolled = ({
13884
13899
  };
13885
13900
 
13886
13901
  // src/components/user-interaction/date/YearMonthPicker.tsx
13887
- import { memo, useCallback as useCallback22, useEffect as useEffect28, useLayoutEffect as useLayoutEffect3, useMemo as useMemo16, useRef as useRef17, useState as useState31 } from "react";
13902
+ import { memo, useCallback as useCallback22, useEffect as useEffect28, useLayoutEffect as useLayoutEffect3, useMemo as useMemo17, useRef as useRef17, useState as useState31 } from "react";
13888
13903
  import clsx30 from "clsx";
13889
13904
  import { jsx as jsx58, jsxs as jsxs36 } from "react/jsx-runtime";
13890
13905
  var YearRow = memo(function YearRow2({
@@ -13903,7 +13918,7 @@ var YearRow = memo(function YearRow2({
13903
13918
  ref.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
13904
13919
  }
13905
13920
  }, [isSelectedYear]);
13906
- const monthGrid = useMemo16(() => equalSizeGroups([...DateUtils.monthsList], 3), []);
13921
+ const monthGrid = useMemo17(() => equalSizeGroups([...DateUtils.monthsList], 3), []);
13907
13922
  return /* @__PURE__ */ jsxs36(
13908
13923
  ExpandableRoot,
13909
13924
  {
@@ -13951,19 +13966,19 @@ var YearMonthPicker = ({
13951
13966
  className
13952
13967
  }) => {
13953
13968
  const { locale } = useLocale();
13954
- const monthNames = useMemo16(() => {
13969
+ const monthNames = useMemo17(() => {
13955
13970
  const formatter = new Intl.DateTimeFormat(locale, { month: "short" });
13956
13971
  return Array.from({ length: 12 }, (_, i) => formatter.format(new Date(2e3, i, 1)));
13957
13972
  }, [locale]);
13958
- const years = useMemo16(
13973
+ const years = useMemo17(
13959
13974
  () => range([start.getFullYear(), end.getFullYear()], { exclusiveEnd: false }),
13960
13975
  [start, end]
13961
13976
  );
13962
- const minTimestamp = useMemo16(() => {
13977
+ const minTimestamp = useMemo17(() => {
13963
13978
  if (!start) return;
13964
13979
  return new Date(start.getFullYear(), start.getMonth(), 1).getTime();
13965
13980
  }, [start]);
13966
- const maxTimestamp = useMemo16(() => {
13981
+ const maxTimestamp = useMemo17(() => {
13967
13982
  if (!end) return;
13968
13983
  return new Date(end.getFullYear(), end.getMonth() + 1, 0).getTime();
13969
13984
  }, [end]);
@@ -14368,7 +14383,7 @@ var TimeDisplay = ({
14368
14383
  };
14369
14384
 
14370
14385
  // src/components/user-interaction/input/DateTimeInput.tsx
14371
- import { useEffect as useEffect30, useMemo as useMemo17, useRef as useRef19, useState as useState33 } from "react";
14386
+ import { useEffect as useEffect30, useMemo as useMemo18, useRef as useRef19, useState as useState33 } from "react";
14372
14387
  import { createPortal as createPortal8 } from "react-dom";
14373
14388
  import { CalendarIcon } from "lucide-react";
14374
14389
  import clsx33 from "clsx";
@@ -14401,7 +14416,7 @@ var DateTimeInput = ({
14401
14416
  onEditComplete(value);
14402
14417
  });
14403
14418
  const { zIndex } = useOverlayRegistry({ isActive: isOpen });
14404
- const isReadOnly = useMemo17(() => props.readOnly || props.disabled, [props.readOnly, props.disabled]);
14419
+ const isReadOnly = useMemo18(() => props.readOnly || props.disabled, [props.readOnly, props.disabled]);
14405
14420
  useEffect30(() => {
14406
14421
  if (isReadOnly) {
14407
14422
  setIsOpen(false);
@@ -15222,7 +15237,7 @@ var useRerender = () => {
15222
15237
  };
15223
15238
 
15224
15239
  // src/hooks/useSearch.ts
15225
- import { useCallback as useCallback23, useEffect as useEffect35, useMemo as useMemo18, useState as useState37 } from "react";
15240
+ import { useCallback as useCallback23, useEffect as useEffect35, useMemo as useMemo19, useState as useState37 } from "react";
15226
15241
 
15227
15242
  // src/utils/simpleSearch.ts
15228
15243
  var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
@@ -15263,7 +15278,7 @@ var useSearch = ({
15263
15278
  }) => {
15264
15279
  const [search, setSearch] = useState37(initialSearch ?? "");
15265
15280
  const [result, setResult] = useState37(list);
15266
- const searchTags = useMemo18(() => additionalSearchTags ?? [], [additionalSearchTags]);
15281
+ const searchTags = useMemo19(() => additionalSearchTags ?? [], [additionalSearchTags]);
15267
15282
  const updateSearch = useCallback23((newSearch) => {
15268
15283
  const usedSearch = newSearch ?? search;
15269
15284
  if (newSearch) {
@@ -15276,19 +15291,19 @@ var useSearch = ({
15276
15291
  setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping));
15277
15292
  }
15278
15293
  }, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags]);
15279
- const filteredResult = useMemo18(() => {
15294
+ const filteredResult = useMemo19(() => {
15280
15295
  if (!filter) {
15281
15296
  return result;
15282
15297
  }
15283
15298
  return result.filter(filter);
15284
15299
  }, [result, filter]);
15285
- const sortedAndFilteredResult = useMemo18(() => {
15300
+ const sortedAndFilteredResult = useMemo19(() => {
15286
15301
  if (!sortingFunction) {
15287
15302
  return filteredResult;
15288
15303
  }
15289
15304
  return filteredResult.sort(sortingFunction);
15290
15305
  }, [filteredResult, sortingFunction]);
15291
- const usedResult = useMemo18(() => {
15306
+ const usedResult = useMemo19(() => {
15292
15307
  if (!disabled) {
15293
15308
  return sortedAndFilteredResult;
15294
15309
  }
@@ -15310,7 +15325,7 @@ var validateEmail = (email) => {
15310
15325
  };
15311
15326
 
15312
15327
  // src/hooks/useValidators.ts
15313
- import { useMemo as useMemo19 } from "react";
15328
+ import { useMemo as useMemo20 } from "react";
15314
15329
  var notEmpty = (value) => {
15315
15330
  if (!value) {
15316
15331
  return "notEmpty";
@@ -15360,7 +15375,7 @@ var UseValidators = {
15360
15375
  };
15361
15376
  var useTranslatedValidators = () => {
15362
15377
  const translation = useHightideTranslation();
15363
- return useMemo19(() => ({
15378
+ return useMemo20(() => ({
15364
15379
  notEmpty: (value) => {
15365
15380
  const result = notEmpty(value);
15366
15381
  if (result) {