@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.d.mts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +19 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +78 -63
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
7524
|
-
store: storeRef.current,
|
|
7526
|
+
const callbacks = useMemo3(() => ({
|
|
7525
7527
|
reset: () => storeRef.current.reset(),
|
|
7526
7528
|
submit: () => storeRef.current.submit(),
|
|
7527
|
-
update: (
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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:
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
10916
|
+
const selectedValues = useMemo12(
|
|
10902
10917
|
() => isMultiSelect ? values ?? [] : [value].filter(Boolean),
|
|
10903
10918
|
[isMultiSelect, value, values]
|
|
10904
10919
|
);
|
|
10905
|
-
const selectedOptions =
|
|
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
|
|
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 =
|
|
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
|
|
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
|
|
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 =
|
|
12224
|
+
const appearDelay = useMemo14(
|
|
12210
12225
|
() => appearDelayOverwrite ?? config.tooltip.appearDelay,
|
|
12211
12226
|
[config.tooltip.appearDelay, appearDelayOverwrite]
|
|
12212
12227
|
);
|
|
12213
|
-
const disappearDelay =
|
|
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
|
-
|
|
12237
|
+
useMemo14(() => ({ isOpen: isActive }), [isActive])
|
|
12223
12238
|
);
|
|
12224
|
-
const verticalAlignment =
|
|
12239
|
+
const verticalAlignment = useMemo14(
|
|
12225
12240
|
() => position === "top" ? "beforeStart" : position === "bottom" ? "afterEnd" : "center",
|
|
12226
12241
|
[position]
|
|
12227
12242
|
);
|
|
12228
|
-
const horizontalAlignment =
|
|
12243
|
+
const horizontalAlignment = useMemo14(
|
|
12229
12244
|
() => position === "left" ? "beforeStart" : position === "right" ? "afterEnd" : "center",
|
|
12230
12245
|
[position]
|
|
12231
12246
|
);
|
|
12232
|
-
const css = useFloatingElement(
|
|
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(
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
13973
|
+
const years = useMemo17(
|
|
13959
13974
|
() => range([start.getFullYear(), end.getFullYear()], { exclusiveEnd: false }),
|
|
13960
13975
|
[start, end]
|
|
13961
13976
|
);
|
|
13962
|
-
const minTimestamp =
|
|
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 =
|
|
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
|
|
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 =
|
|
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
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
|
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
|
|
15378
|
+
return useMemo20(() => ({
|
|
15364
15379
|
notEmpty: (value) => {
|
|
15365
15380
|
const result = notEmpty(value);
|
|
15366
15381
|
if (result) {
|