@helpwave/hightide 0.6.0 → 0.6.1

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
@@ -7434,7 +7434,7 @@ var FormStore = class {
7434
7434
  };
7435
7435
 
7436
7436
  // src/components/form/useCreateForm.tsx
7437
- import { useCallback as useCallback3, useEffect as useEffect3, useRef } from "react";
7437
+ import { useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo3, useRef } from "react";
7438
7438
  function useCreateForm({
7439
7439
  onFormSubmit,
7440
7440
  onFormError,
@@ -7520,15 +7520,25 @@ function useCreateForm({
7520
7520
  }
7521
7521
  };
7522
7522
  }, []);
7523
- return {
7524
- store: storeRef.current,
7523
+ const callbacks = useMemo3(() => ({
7525
7524
  reset: () => storeRef.current.reset(),
7526
7525
  submit: () => storeRef.current.submit(),
7527
- update: (value) => storeRef.current.setValues(value),
7526
+ update: (updater) => {
7527
+ if (typeof updater === "function") {
7528
+ storeRef.current.setValues(updater(storeRef.current.getAllValues()));
7529
+ } else {
7530
+ storeRef.current.setValues(updater);
7531
+ }
7532
+ },
7528
7533
  validateAll: () => storeRef.current.validateAll(),
7529
- getDataProps,
7530
7534
  getError: (key) => storeRef.current.getError(key),
7531
- getValue: (key) => storeRef.current.getValue(key),
7535
+ getValues: () => storeRef.current.getAllValues(),
7536
+ getValue: (key) => storeRef.current.getValue(key)
7537
+ }), []);
7538
+ return {
7539
+ store: storeRef.current,
7540
+ ...callbacks,
7541
+ getDataProps,
7532
7542
  registerRef
7533
7543
  };
7534
7544
  }
@@ -7541,7 +7551,7 @@ import {
7541
7551
  useContext as useContext4,
7542
7552
  useEffect as useEffect5,
7543
7553
  useId as useId2,
7544
- useMemo as useMemo5,
7554
+ useMemo as useMemo6,
7545
7555
  useRef as useRef2,
7546
7556
  useState as useState6
7547
7557
  } from "react";
@@ -7549,7 +7559,7 @@ import clsx5 from "clsx";
7549
7559
  import { ChevronLeft, ChevronRight } from "lucide-react";
7550
7560
 
7551
7561
  // src/contexts/LocaleContext.tsx
7552
- import { createContext as createContext3, useContext as useContext3, useEffect as useEffect4, useMemo as useMemo3, useState as useState5 } from "react";
7562
+ import { createContext as createContext3, useContext as useContext3, useEffect as useEffect4, useMemo as useMemo4, useState as useState5 } from "react";
7553
7563
 
7554
7564
  // src/hooks/useLocalStorage.ts
7555
7565
  import { useCallback as useCallback4, useState as useState3 } from "react";
@@ -8218,7 +8228,7 @@ var LocaleProvider = ({
8218
8228
  } = useLocalStorage("locale", "system");
8219
8229
  const { config } = useHightideConfig();
8220
8230
  const [localePreference, setLocalePreference] = useState5("system");
8221
- const resolvedLocale = useMemo3(() => {
8231
+ const resolvedLocale = useMemo4(() => {
8222
8232
  if (locale && locale !== "system") {
8223
8233
  return locale;
8224
8234
  }
@@ -8284,7 +8294,7 @@ var useLanguage = () => {
8284
8294
 
8285
8295
  // src/i18n/useHightideTranslation.ts
8286
8296
  import { combineTranslation, ICUUtil } from "@helpwave/internationalization";
8287
- import { useMemo as useMemo4 } from "react";
8297
+ import { useMemo as useMemo5 } from "react";
8288
8298
  function useICUTranslation(translations, locale) {
8289
8299
  translations = Array.isArray(translations) ? translations : [translations];
8290
8300
  return function translate(key, values) {
@@ -8307,7 +8317,7 @@ function useICUTranslation(translations, locale) {
8307
8317
  function useHightideTranslation(extensions, overwrites) {
8308
8318
  const { locale: inferredLocale } = useLocale();
8309
8319
  const locale = overwrites?.locale ?? inferredLocale;
8310
- return useMemo4(
8320
+ return useMemo5(
8311
8321
  () => combineTranslation([
8312
8322
  ...ArrayUtil.resolveSingleOrArray(extensions),
8313
8323
  hightideTranslation
@@ -8437,7 +8447,7 @@ var Carousel = ({
8437
8447
  const carouselContainerRef = useRef2(null);
8438
8448
  const [disableClick, setDisableClick] = useState6(false);
8439
8449
  const timeOut = useRef2(void 0);
8440
- const length = useMemo5(() => children.length, [children]);
8450
+ const length = useMemo6(() => children.length, [children]);
8441
8451
  const paddingItemCount = 3;
8442
8452
  const generatedId = "carousel" + useId2();
8443
8453
  const id = props.id ?? generatedId;
@@ -8882,7 +8892,7 @@ var useFocusTrap = ({
8882
8892
  };
8883
8893
 
8884
8894
  // src/hooks/useOverlayRegistry.ts
8885
- import { useEffect as useEffect8, useId as useId4, useMemo as useMemo6, useState as useState9 } from "react";
8895
+ import { useEffect as useEffect8, useId as useId4, useMemo as useMemo7, useState as useState9 } from "react";
8886
8896
  var OverlayRegistry = class _OverlayRegistry {
8887
8897
  constructor() {
8888
8898
  this.overlayIds = /* @__PURE__ */ new Set();
@@ -8951,7 +8961,7 @@ var OverlayRegistry = class _OverlayRegistry {
8951
8961
  var useOverlayRegistry = (props) => {
8952
8962
  const generatedId = useId4();
8953
8963
  const [hasAppeared, setHasAppeared] = useState9(props.isActive);
8954
- const item = useMemo6(() => ({
8964
+ const item = useMemo7(() => ({
8955
8965
  id: props?.id ?? generatedId,
8956
8966
  tags: props?.tags
8957
8967
  }), [props?.id, generatedId, props?.tags]);
@@ -8960,7 +8970,7 @@ var useOverlayRegistry = (props) => {
8960
8970
  itemInformation: {},
8961
8971
  tagItemCounts: {}
8962
8972
  });
8963
- const registry = useMemo6(() => OverlayRegistry.getInstance(), []);
8973
+ const registry = useMemo7(() => OverlayRegistry.getInstance(), []);
8964
8974
  useEffect8(() => {
8965
8975
  if (!props.isActive) {
8966
8976
  return;
@@ -8994,7 +9004,7 @@ var useOverlayRegistry = (props) => {
8994
9004
  };
8995
9005
 
8996
9006
  // src/components/layout/Drawer.tsx
8997
- import { useId as useId5, useMemo as useMemo7, useRef as useRef5 } from "react";
9007
+ import { useId as useId5, useMemo as useMemo8, useRef as useRef5 } from "react";
8998
9008
  import { createPortal } from "react-dom";
8999
9009
  import { X } from "lucide-react";
9000
9010
 
@@ -9062,7 +9072,7 @@ var Drawer = ({
9062
9072
  }) => {
9063
9073
  const translation = useHightideTranslation();
9064
9074
  const generatedId = useId5();
9065
- const ids = useMemo7(() => ({
9075
+ const ids = useMemo8(() => ({
9066
9076
  container: `dialog-container-${generatedId}`,
9067
9077
  background: `dialog-background-${generatedId}`,
9068
9078
  content: props.id ?? `dialog-content-${generatedId}`
@@ -9076,7 +9086,7 @@ var Drawer = ({
9076
9086
  });
9077
9087
  const { zIndex, tagPositions, tagItemCounts } = useOverlayRegistry({
9078
9088
  isActive: isVisible,
9079
- tags: useMemo7(() => ["drawer"], [])
9089
+ tags: useMemo8(() => ["drawer"], [])
9080
9090
  });
9081
9091
  const depth = tagPositions && tagItemCounts ? (tagItemCounts["drawer"] ?? 0) - (tagPositions["drawer"] ?? 0) : 0;
9082
9092
  if (!isVisible) return;
@@ -9154,7 +9164,7 @@ var Drawer = ({
9154
9164
  // src/components/layout/Expandable.tsx
9155
9165
  import { useEffect as useEffect11 } from "react";
9156
9166
  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";
9167
+ import { createContext as createContext5, forwardRef as forwardRef4, useCallback as useCallback8, useContext as useContext5, useId as useId6, useMemo as useMemo9 } from "react";
9158
9168
  import clsx7 from "clsx";
9159
9169
 
9160
9170
  // src/hooks/useOverwritableState.ts
@@ -9203,7 +9213,7 @@ var ExpandableRoot = forwardRef4(function ExpandableRoot2({
9203
9213
  setIsExpanded(!isExpanded);
9204
9214
  }
9205
9215
  }, [disabled, isExpanded, setIsExpanded]);
9206
- const contextValue = useMemo8(() => ({
9216
+ const contextValue = useMemo9(() => ({
9207
9217
  isExpanded: !!isExpanded,
9208
9218
  toggle,
9209
9219
  setIsExpanded,
@@ -9556,7 +9566,7 @@ import {
9556
9566
  useRef as useRef7,
9557
9567
  useState as useState14,
9558
9568
  useLayoutEffect as useLayoutEffect2,
9559
- useMemo as useMemo9,
9569
+ useMemo as useMemo10,
9560
9570
  useCallback as useCallback10
9561
9571
  } from "react";
9562
9572
  import clsx9 from "clsx";
@@ -9578,7 +9588,7 @@ function InfiniteScroll({
9578
9588
  if (itemCount < 1) {
9579
9589
  throw new Error("InfiniteScroll: itemCount > 0 must hold");
9580
9590
  }
9581
- const items = useMemo9(() => range(itemCount), [itemCount]);
9591
+ const items = useMemo10(() => range(itemCount), [itemCount]);
9582
9592
  const containerRef = useRef7(null);
9583
9593
  const snapshotRef = useRef7({ scrollHeight: 0, scrollTop: 0, fromTop: false });
9584
9594
  const [windowState, setWindowState] = useState14(() => {
@@ -9626,7 +9636,7 @@ function InfiniteScroll({
9626
9636
  }
9627
9637
  snapshotRef.current.fromTop = false;
9628
9638
  }, [windowState]);
9629
- const visibleItems = useMemo9(
9639
+ const visibleItems = useMemo10(
9630
9640
  () => items.slice(windowState.start, windowState.end),
9631
9641
  [items, windowState]
9632
9642
  );
@@ -10428,7 +10438,7 @@ var VerticalDivider = ({
10428
10438
  import clsx12 from "clsx";
10429
10439
 
10430
10440
  // src/components/layout/dialog/Dialog.tsx
10431
- import { useId as useId8, useMemo as useMemo10 } from "react";
10441
+ import { useId as useId8, useMemo as useMemo11 } from "react";
10432
10442
  import { useRef as useRef10 } from "react";
10433
10443
  import { X as X2 } from "lucide-react";
10434
10444
 
@@ -10475,7 +10485,7 @@ var Dialog = ({
10475
10485
  }) => {
10476
10486
  const translation = useHightideTranslation();
10477
10487
  const generatedId = useId8();
10478
- const ids = useMemo10(() => ({
10488
+ const ids = useMemo11(() => ({
10479
10489
  container: `dialog-container-${generatedId}`,
10480
10490
  background: `dialog-background-${generatedId}`,
10481
10491
  content: props.id ?? `dialog-content-${generatedId}`
@@ -10859,7 +10869,7 @@ import {
10859
10869
  useEffect as useEffect17,
10860
10870
  useId as useId9,
10861
10871
  useImperativeHandle as useImperativeHandle3,
10862
- useMemo as useMemo11,
10872
+ useMemo as useMemo12,
10863
10873
  useRef as useRef12,
10864
10874
  useState as useState19
10865
10875
  } from "react";
@@ -10898,11 +10908,11 @@ var SelectRoot = ({
10898
10908
  isOpen,
10899
10909
  options: []
10900
10910
  });
10901
- const selectedValues = useMemo11(
10911
+ const selectedValues = useMemo12(
10902
10912
  () => isMultiSelect ? values ?? [] : [value].filter(Boolean),
10903
10913
  [isMultiSelect, value, values]
10904
10914
  );
10905
- const selectedOptions = useMemo11(
10915
+ const selectedOptions = useMemo12(
10906
10916
  () => selectedValues.map((value2) => internalState.options.find((option) => value2 === option.value)).filter(Boolean),
10907
10917
  [selectedValues, internalState.options]
10908
10918
  );
@@ -11513,7 +11523,7 @@ import { MonitorCog, MoonIcon, SunIcon } from "lucide-react";
11513
11523
  import clsx14 from "clsx";
11514
11524
 
11515
11525
  // 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";
11526
+ import { createContext as createContext9, useCallback as useCallback15, useContext as useContext9, useEffect as useEffect18, useMemo as useMemo13, useState as useState20 } from "react";
11517
11527
  import { jsx as jsx36 } from "react/jsx-runtime";
11518
11528
  var themes = ["light", "dark", "system"];
11519
11529
  var ThemeUtil = {
@@ -11528,7 +11538,7 @@ var ThemeProvider = ({ children, theme, initialTheme }) => {
11528
11538
  } = useLocalStorage("theme", "system");
11529
11539
  const { config } = useHightideConfig();
11530
11540
  const [themePreference, setThemePreference] = useState20("system");
11531
- const resolvedTheme = useMemo12(() => {
11541
+ const resolvedTheme = useMemo13(() => {
11532
11542
  if (theme && theme !== "system") {
11533
11543
  return theme;
11534
11544
  }
@@ -12150,7 +12160,7 @@ var TableFilters = {
12150
12160
  };
12151
12161
 
12152
12162
  // 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";
12163
+ import { useCallback as useCallback20, useEffect as useEffect26, useMemo as useMemo15, useRef as useRef16, useState as useState28 } from "react";
12154
12164
  import clsx26 from "clsx";
12155
12165
  import {
12156
12166
  flexRender,
@@ -12187,7 +12197,7 @@ import { ChevronDown as ChevronDown3, ChevronsUpDown, ChevronUp as ChevronUp2 }
12187
12197
  import clsx24 from "clsx";
12188
12198
 
12189
12199
  // src/components/user-interaction/Tooltip.tsx
12190
- import { useCallback as useCallback17, useMemo as useMemo13, useRef as useRef14, useState as useState24 } from "react";
12200
+ import { useCallback as useCallback17, useMemo as useMemo14, useRef as useRef14, useState as useState24 } from "react";
12191
12201
  import { clsx as clsx23 } from "clsx";
12192
12202
  import { createPortal as createPortal6 } from "react-dom";
12193
12203
  import { jsx as jsx48, jsxs as jsxs26 } from "react/jsx-runtime";
@@ -12206,11 +12216,11 @@ var Tooltip = ({
12206
12216
  timer: null
12207
12217
  });
12208
12218
  const { config } = useHightideConfig();
12209
- const appearDelay = useMemo13(
12219
+ const appearDelay = useMemo14(
12210
12220
  () => appearDelayOverwrite ?? config.tooltip.appearDelay,
12211
12221
  [config.tooltip.appearDelay, appearDelayOverwrite]
12212
12222
  );
12213
- const disappearDelay = useMemo13(
12223
+ const disappearDelay = useMemo14(
12214
12224
  () => disappearDelayOverwrite ?? config.tooltip.disappearDelay,
12215
12225
  [config.tooltip.disappearDelay, disappearDelayOverwrite]
12216
12226
  );
@@ -12219,31 +12229,31 @@ var Tooltip = ({
12219
12229
  const triangleRef = useRef14(null);
12220
12230
  const isActive = !disabled && state.isShown;
12221
12231
  const { isVisible, transitionState, callbacks } = useTransitionState(
12222
- useMemo13(() => ({ isOpen: isActive }), [isActive])
12232
+ useMemo14(() => ({ isOpen: isActive }), [isActive])
12223
12233
  );
12224
- const verticalAlignment = useMemo13(
12234
+ const verticalAlignment = useMemo14(
12225
12235
  () => position === "top" ? "beforeStart" : position === "bottom" ? "afterEnd" : "center",
12226
12236
  [position]
12227
12237
  );
12228
- const horizontalAlignment = useMemo13(
12238
+ const horizontalAlignment = useMemo14(
12229
12239
  () => position === "left" ? "beforeStart" : position === "right" ? "afterEnd" : "center",
12230
12240
  [position]
12231
12241
  );
12232
- const css = useFloatingElement(useMemo13(() => ({
12242
+ const css = useFloatingElement(useMemo14(() => ({
12233
12243
  active: isActive || isVisible,
12234
12244
  anchorRef,
12235
12245
  containerRef,
12236
12246
  horizontalAlignment,
12237
12247
  verticalAlignment
12238
12248
  }), [horizontalAlignment, isActive, isVisible, verticalAlignment]));
12239
- const cssTriangle = useFloatingElement(useMemo13(() => ({
12249
+ const cssTriangle = useFloatingElement(useMemo14(() => ({
12240
12250
  active: isActive || isVisible,
12241
12251
  anchorRef,
12242
12252
  containerRef: triangleRef,
12243
12253
  horizontalAlignment,
12244
12254
  verticalAlignment
12245
12255
  }), [horizontalAlignment, isActive, isVisible, verticalAlignment]));
12246
- const regsitryOptions = useMemo13(() => ({ isActive }), [isActive]);
12256
+ const regsitryOptions = useMemo14(() => ({ isActive }), [isActive]);
12247
12257
  const { zIndex } = useOverlayRegistry(regsitryOptions);
12248
12258
  const { zIndex: zIndexTriangle } = useOverlayRegistry(regsitryOptions);
12249
12259
  const onEnter = useCallback17(() => {
@@ -12846,7 +12856,7 @@ var Table = ({
12846
12856
  ...initialState?.pagination
12847
12857
  });
12848
12858
  const [columnFilters, setColumnFilters] = useState28(initialState?.columnFilters);
12849
- const computedColumnMinWidths = useMemo14(() => {
12859
+ const computedColumnMinWidths = useMemo15(() => {
12850
12860
  return columns.reduce((previousValue, column) => {
12851
12861
  return {
12852
12862
  ...previousValue,
@@ -12855,7 +12865,7 @@ var Table = ({
12855
12865
  };
12856
12866
  }, {});
12857
12867
  }, [columns, defaultColumn]);
12858
- const computedColumnMaxWidths = useMemo14(() => {
12868
+ const computedColumnMaxWidths = useMemo15(() => {
12859
12869
  return columns.reduce((previousValue, column) => {
12860
12870
  return {
12861
12871
  ...previousValue,
@@ -12863,12 +12873,12 @@ var Table = ({
12863
12873
  };
12864
12874
  }, {});
12865
12875
  }, [columns, defaultColumn]);
12866
- const tableMinWidth = useMemo14(() => {
12876
+ const tableMinWidth = useMemo15(() => {
12867
12877
  return columns.reduce((sum, column) => {
12868
12878
  return sum + computedColumnMinWidths[column.id];
12869
12879
  }, 0);
12870
12880
  }, [columns, computedColumnMinWidths]);
12871
- const updateColumnSizes = useMemo14(() => {
12881
+ const updateColumnSizes = useMemo15(() => {
12872
12882
  return (previous) => {
12873
12883
  const updateSizing = {
12874
12884
  ...columnSizing,
@@ -13012,7 +13022,7 @@ var Table = ({
13012
13022
  }));
13013
13023
  }
13014
13024
  }, [data, pageCount, pagination.pageSize, pagination.pageIndex]);
13015
- const columnSizeVars = useMemo14(() => {
13025
+ const columnSizeVars = useMemo15(() => {
13016
13026
  const headers = table.getFlatHeaders();
13017
13027
  const colSizes = {};
13018
13028
  for (let i = 0; i < headers.length; i++) {
@@ -13171,7 +13181,7 @@ var TableWithSelection = ({
13171
13181
  meta,
13172
13182
  ...props
13173
13183
  }) => {
13174
- const columnsWithSelection = useMemo14(() => {
13184
+ const columnsWithSelection = useMemo15(() => {
13175
13185
  return [
13176
13186
  {
13177
13187
  id: selectionRowId,
@@ -13808,7 +13818,7 @@ var DateUtils = {
13808
13818
  import clsx31 from "clsx";
13809
13819
 
13810
13820
  // src/components/user-interaction/date/DayPicker.tsx
13811
- import { useMemo as useMemo15 } from "react";
13821
+ import { useMemo as useMemo16 } from "react";
13812
13822
  import { jsx as jsx57, jsxs as jsxs35 } from "react/jsx-runtime";
13813
13823
  var DayPicker = ({
13814
13824
  displayedMonth,
@@ -13824,11 +13834,11 @@ var DayPicker = ({
13824
13834
  const { locale } = useLocale();
13825
13835
  const month = displayedMonth.getMonth();
13826
13836
  const weeks = getWeeksForCalenderMonth(displayedMonth, weekStart);
13827
- const end = useMemo15(() => {
13837
+ const end = useMemo16(() => {
13828
13838
  if (!providedEnd) return;
13829
13839
  return new Date(providedEnd.getFullYear(), providedEnd.getMonth(), providedEnd.getDate());
13830
13840
  }, [providedEnd]);
13831
- const start = useMemo15(() => {
13841
+ const start = useMemo16(() => {
13832
13842
  if (!providedStart) return;
13833
13843
  return new Date(providedStart.getFullYear(), providedStart.getMonth(), providedStart.getDate());
13834
13844
  }, [providedStart]);
@@ -13884,7 +13894,7 @@ var DayPickerUncontrolled = ({
13884
13894
  };
13885
13895
 
13886
13896
  // 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";
13897
+ import { memo, useCallback as useCallback22, useEffect as useEffect28, useLayoutEffect as useLayoutEffect3, useMemo as useMemo17, useRef as useRef17, useState as useState31 } from "react";
13888
13898
  import clsx30 from "clsx";
13889
13899
  import { jsx as jsx58, jsxs as jsxs36 } from "react/jsx-runtime";
13890
13900
  var YearRow = memo(function YearRow2({
@@ -13903,7 +13913,7 @@ var YearRow = memo(function YearRow2({
13903
13913
  ref.current?.scrollIntoView({ behavior: "smooth", block: "nearest" });
13904
13914
  }
13905
13915
  }, [isSelectedYear]);
13906
- const monthGrid = useMemo16(() => equalSizeGroups([...DateUtils.monthsList], 3), []);
13916
+ const monthGrid = useMemo17(() => equalSizeGroups([...DateUtils.monthsList], 3), []);
13907
13917
  return /* @__PURE__ */ jsxs36(
13908
13918
  ExpandableRoot,
13909
13919
  {
@@ -13951,19 +13961,19 @@ var YearMonthPicker = ({
13951
13961
  className
13952
13962
  }) => {
13953
13963
  const { locale } = useLocale();
13954
- const monthNames = useMemo16(() => {
13964
+ const monthNames = useMemo17(() => {
13955
13965
  const formatter = new Intl.DateTimeFormat(locale, { month: "short" });
13956
13966
  return Array.from({ length: 12 }, (_, i) => formatter.format(new Date(2e3, i, 1)));
13957
13967
  }, [locale]);
13958
- const years = useMemo16(
13968
+ const years = useMemo17(
13959
13969
  () => range([start.getFullYear(), end.getFullYear()], { exclusiveEnd: false }),
13960
13970
  [start, end]
13961
13971
  );
13962
- const minTimestamp = useMemo16(() => {
13972
+ const minTimestamp = useMemo17(() => {
13963
13973
  if (!start) return;
13964
13974
  return new Date(start.getFullYear(), start.getMonth(), 1).getTime();
13965
13975
  }, [start]);
13966
- const maxTimestamp = useMemo16(() => {
13976
+ const maxTimestamp = useMemo17(() => {
13967
13977
  if (!end) return;
13968
13978
  return new Date(end.getFullYear(), end.getMonth() + 1, 0).getTime();
13969
13979
  }, [end]);
@@ -14368,7 +14378,7 @@ var TimeDisplay = ({
14368
14378
  };
14369
14379
 
14370
14380
  // src/components/user-interaction/input/DateTimeInput.tsx
14371
- import { useEffect as useEffect30, useMemo as useMemo17, useRef as useRef19, useState as useState33 } from "react";
14381
+ import { useEffect as useEffect30, useMemo as useMemo18, useRef as useRef19, useState as useState33 } from "react";
14372
14382
  import { createPortal as createPortal8 } from "react-dom";
14373
14383
  import { CalendarIcon } from "lucide-react";
14374
14384
  import clsx33 from "clsx";
@@ -14401,7 +14411,7 @@ var DateTimeInput = ({
14401
14411
  onEditComplete(value);
14402
14412
  });
14403
14413
  const { zIndex } = useOverlayRegistry({ isActive: isOpen });
14404
- const isReadOnly = useMemo17(() => props.readOnly || props.disabled, [props.readOnly, props.disabled]);
14414
+ const isReadOnly = useMemo18(() => props.readOnly || props.disabled, [props.readOnly, props.disabled]);
14405
14415
  useEffect30(() => {
14406
14416
  if (isReadOnly) {
14407
14417
  setIsOpen(false);
@@ -15222,7 +15232,7 @@ var useRerender = () => {
15222
15232
  };
15223
15233
 
15224
15234
  // src/hooks/useSearch.ts
15225
- import { useCallback as useCallback23, useEffect as useEffect35, useMemo as useMemo18, useState as useState37 } from "react";
15235
+ import { useCallback as useCallback23, useEffect as useEffect35, useMemo as useMemo19, useState as useState37 } from "react";
15226
15236
 
15227
15237
  // src/utils/simpleSearch.ts
15228
15238
  var MultiSubjectSearchWithMapping = (search, objects, mapping) => {
@@ -15263,7 +15273,7 @@ var useSearch = ({
15263
15273
  }) => {
15264
15274
  const [search, setSearch] = useState37(initialSearch ?? "");
15265
15275
  const [result, setResult] = useState37(list);
15266
- const searchTags = useMemo18(() => additionalSearchTags ?? [], [additionalSearchTags]);
15276
+ const searchTags = useMemo19(() => additionalSearchTags ?? [], [additionalSearchTags]);
15267
15277
  const updateSearch = useCallback23((newSearch) => {
15268
15278
  const usedSearch = newSearch ?? search;
15269
15279
  if (newSearch) {
@@ -15276,19 +15286,19 @@ var useSearch = ({
15276
15286
  setResult(MultiSubjectSearchWithMapping([search, ...searchTags], list, searchMapping));
15277
15287
  }
15278
15288
  }, [searchTags, isSearchInstant, list, search, searchMapping, additionalSearchTags]);
15279
- const filteredResult = useMemo18(() => {
15289
+ const filteredResult = useMemo19(() => {
15280
15290
  if (!filter) {
15281
15291
  return result;
15282
15292
  }
15283
15293
  return result.filter(filter);
15284
15294
  }, [result, filter]);
15285
- const sortedAndFilteredResult = useMemo18(() => {
15295
+ const sortedAndFilteredResult = useMemo19(() => {
15286
15296
  if (!sortingFunction) {
15287
15297
  return filteredResult;
15288
15298
  }
15289
15299
  return filteredResult.sort(sortingFunction);
15290
15300
  }, [filteredResult, sortingFunction]);
15291
- const usedResult = useMemo18(() => {
15301
+ const usedResult = useMemo19(() => {
15292
15302
  if (!disabled) {
15293
15303
  return sortedAndFilteredResult;
15294
15304
  }
@@ -15310,7 +15320,7 @@ var validateEmail = (email) => {
15310
15320
  };
15311
15321
 
15312
15322
  // src/hooks/useValidators.ts
15313
- import { useMemo as useMemo19 } from "react";
15323
+ import { useMemo as useMemo20 } from "react";
15314
15324
  var notEmpty = (value) => {
15315
15325
  if (!value) {
15316
15326
  return "notEmpty";
@@ -15360,7 +15370,7 @@ var UseValidators = {
15360
15370
  };
15361
15371
  var useTranslatedValidators = () => {
15362
15372
  const translation = useHightideTranslation();
15363
- return useMemo19(() => ({
15373
+ return useMemo20(() => ({
15364
15374
  notEmpty: (value) => {
15365
15375
  const result = notEmpty(value);
15366
15376
  if (result) {