@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.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +15 -5
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +74 -64
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
7524
|
-
store: storeRef.current,
|
|
7523
|
+
const callbacks = useMemo3(() => ({
|
|
7525
7524
|
reset: () => storeRef.current.reset(),
|
|
7526
7525
|
submit: () => storeRef.current.submit(),
|
|
7527
|
-
update: (
|
|
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
|
-
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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:
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
10911
|
+
const selectedValues = useMemo12(
|
|
10902
10912
|
() => isMultiSelect ? values ?? [] : [value].filter(Boolean),
|
|
10903
10913
|
[isMultiSelect, value, values]
|
|
10904
10914
|
);
|
|
10905
|
-
const selectedOptions =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
12219
|
+
const appearDelay = useMemo14(
|
|
12210
12220
|
() => appearDelayOverwrite ?? config.tooltip.appearDelay,
|
|
12211
12221
|
[config.tooltip.appearDelay, appearDelayOverwrite]
|
|
12212
12222
|
);
|
|
12213
|
-
const disappearDelay =
|
|
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
|
-
|
|
12232
|
+
useMemo14(() => ({ isOpen: isActive }), [isActive])
|
|
12223
12233
|
);
|
|
12224
|
-
const verticalAlignment =
|
|
12234
|
+
const verticalAlignment = useMemo14(
|
|
12225
12235
|
() => position === "top" ? "beforeStart" : position === "bottom" ? "afterEnd" : "center",
|
|
12226
12236
|
[position]
|
|
12227
12237
|
);
|
|
12228
|
-
const horizontalAlignment =
|
|
12238
|
+
const horizontalAlignment = useMemo14(
|
|
12229
12239
|
() => position === "left" ? "beforeStart" : position === "right" ? "afterEnd" : "center",
|
|
12230
12240
|
[position]
|
|
12231
12241
|
);
|
|
12232
|
-
const css = useFloatingElement(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
13968
|
+
const years = useMemo17(
|
|
13959
13969
|
() => range([start.getFullYear(), end.getFullYear()], { exclusiveEnd: false }),
|
|
13960
13970
|
[start, end]
|
|
13961
13971
|
);
|
|
13962
|
-
const minTimestamp =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
15373
|
+
return useMemo20(() => ({
|
|
15364
15374
|
notEmpty: (value) => {
|
|
15365
15375
|
const result = notEmpty(value);
|
|
15366
15376
|
if (result) {
|