react-better-html 1.1.218 → 1.1.219
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 +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +17 -16
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +84 -82
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -14,16 +14,16 @@ import {
|
|
|
14
14
|
eventStopPropagation,
|
|
15
15
|
eventPreventStop,
|
|
16
16
|
getPluralWord as getPluralWord2,
|
|
17
|
-
useBooleanState as
|
|
17
|
+
useBooleanState as useBooleanState9,
|
|
18
18
|
useDebounceState as useDebounceState3,
|
|
19
19
|
loaderControls,
|
|
20
20
|
colorThemeControls as colorThemeControls2
|
|
21
21
|
} from "react-better-core";
|
|
22
22
|
|
|
23
23
|
// src/components/BetterHtmlProvider.tsx
|
|
24
|
-
import { createContext, memo as memo12, useCallback as useCallback6, useContext, useEffect as
|
|
24
|
+
import { createContext, memo as memo12, useCallback as useCallback6, useContext, useEffect as useEffect6, useMemo as useMemo3, useState as useState4 } from "react";
|
|
25
25
|
import {
|
|
26
|
-
useBooleanState as
|
|
26
|
+
useBooleanState as useBooleanState3,
|
|
27
27
|
colorThemeControls,
|
|
28
28
|
useTheme as useTheme13,
|
|
29
29
|
BetterCoreProvider,
|
|
@@ -1773,7 +1773,7 @@ Div2.box = DivComponent.box;
|
|
|
1773
1773
|
var Div_default = Div2;
|
|
1774
1774
|
|
|
1775
1775
|
// src/components/alerts/Alert.tsx
|
|
1776
|
-
import { memo as memo10, useCallback as useCallback5, useEffect as
|
|
1776
|
+
import { memo as memo10, useCallback as useCallback5, useEffect as useEffect5, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
|
|
1777
1777
|
import { useTheme as useTheme11 } from "react-better-core";
|
|
1778
1778
|
import styled8 from "styled-components";
|
|
1779
1779
|
|
|
@@ -1782,6 +1782,7 @@ var defaultAlertsPluginOptions = {
|
|
|
1782
1782
|
position: "bottom",
|
|
1783
1783
|
align: "right",
|
|
1784
1784
|
defaultDuration: "auto",
|
|
1785
|
+
defaultDisplay: {},
|
|
1785
1786
|
maxWidth: 460,
|
|
1786
1787
|
withLoaderBar: true,
|
|
1787
1788
|
withCloseButton: true
|
|
@@ -2166,10 +2167,11 @@ Button2.upload = ButtonComponent.upload;
|
|
|
2166
2167
|
var Button_default = Button2;
|
|
2167
2168
|
|
|
2168
2169
|
// src/components/Modal.tsx
|
|
2169
|
-
import { memo as memo9, useCallback as useCallback4, forwardRef as forwardRef7, useImperativeHandle, useRef as useRef2,
|
|
2170
|
+
import { memo as memo9, useCallback as useCallback4, forwardRef as forwardRef7, useImperativeHandle, useRef as useRef2, useEffect as useEffect4 } from "react";
|
|
2170
2171
|
import { createPortal } from "react-dom";
|
|
2171
2172
|
import {
|
|
2172
2173
|
useBetterCoreContext as useBetterCoreContext4,
|
|
2174
|
+
useBooleanState as useBooleanState2,
|
|
2173
2175
|
useTheme as useTheme10
|
|
2174
2176
|
} from "react-better-core";
|
|
2175
2177
|
import styled7 from "styled-components";
|
|
@@ -2227,6 +2229,7 @@ var ModalComponent = forwardRef7(function Modal({
|
|
|
2227
2229
|
name,
|
|
2228
2230
|
overflow,
|
|
2229
2231
|
withoutCloseButton,
|
|
2232
|
+
defaultIsOpened = false,
|
|
2230
2233
|
onOpen,
|
|
2231
2234
|
onClose,
|
|
2232
2235
|
children
|
|
@@ -2237,12 +2240,12 @@ var ModalComponent = forwardRef7(function Modal({
|
|
|
2237
2240
|
const { app } = useBetterHtmlContextInternal();
|
|
2238
2241
|
const { colorTheme } = useBetterCoreContext4();
|
|
2239
2242
|
const dialogRef = useRef2(null);
|
|
2240
|
-
const [isOpened, setIsOpened] =
|
|
2241
|
-
const [isOpenedLate, setIsOpenedLate] =
|
|
2243
|
+
const [isOpened, setIsOpened] = useBooleanState2(false);
|
|
2244
|
+
const [isOpenedLate, setIsOpenedLate] = useBooleanState2(false);
|
|
2242
2245
|
const onClickOpen = useCallback4(() => {
|
|
2243
2246
|
dialogRef.current?.showModal();
|
|
2244
|
-
setIsOpened(
|
|
2245
|
-
setIsOpenedLate(
|
|
2247
|
+
setIsOpened.setTrue();
|
|
2248
|
+
setIsOpenedLate.setTrue();
|
|
2246
2249
|
if (urlQuery && name) {
|
|
2247
2250
|
urlQuery.setQuery(
|
|
2248
2251
|
{
|
|
@@ -2254,12 +2257,12 @@ var ModalComponent = forwardRef7(function Modal({
|
|
|
2254
2257
|
onOpen?.();
|
|
2255
2258
|
}, [onOpen, urlQuery, name]);
|
|
2256
2259
|
const onClickClose = useCallback4(() => {
|
|
2257
|
-
setIsOpened(
|
|
2260
|
+
setIsOpened.setFalse();
|
|
2258
2261
|
onClose?.();
|
|
2259
2262
|
if (urlQuery && name) urlQuery.removeQuery(`${name}-modal`, false);
|
|
2260
2263
|
setTimeout(() => {
|
|
2261
2264
|
dialogRef.current?.close();
|
|
2262
|
-
setIsOpenedLate(
|
|
2265
|
+
setIsOpenedLate.setFalse();
|
|
2263
2266
|
}, 0.2 * 1e3);
|
|
2264
2267
|
}, [onClose, urlQuery, name]);
|
|
2265
2268
|
const onKeyDown = useCallback4(
|
|
@@ -2271,6 +2274,10 @@ var ModalComponent = forwardRef7(function Modal({
|
|
|
2271
2274
|
},
|
|
2272
2275
|
[withoutCloseButton]
|
|
2273
2276
|
);
|
|
2277
|
+
useEffect4(() => {
|
|
2278
|
+
if (!defaultIsOpened) return;
|
|
2279
|
+
onClickOpen();
|
|
2280
|
+
}, []);
|
|
2274
2281
|
useImperativeHandle(
|
|
2275
2282
|
ref,
|
|
2276
2283
|
() => {
|
|
@@ -2620,6 +2627,7 @@ function Alert2({ alert }) {
|
|
|
2620
2627
|
alert.duration ?? pluginConfig.defaultDuration ?? defaultAlertsPluginOptions.defaultDuration,
|
|
2621
2628
|
alert
|
|
2622
2629
|
);
|
|
2630
|
+
const defaultAlertDisplay = alert.display ?? pluginConfig.defaultDisplay?.[alert.type] ?? defaultAlertsPluginOptions.defaultDisplay[alert.type] ?? "default";
|
|
2623
2631
|
const intervalRef = useRef3(void 0);
|
|
2624
2632
|
const startTimeRef = useRef3(Date.now());
|
|
2625
2633
|
const remainingTimeRef = useRef3(defaultAlertDurationNumber);
|
|
@@ -2639,7 +2647,7 @@ function Alert2({ alert }) {
|
|
|
2639
2647
|
setProgress(newProgress);
|
|
2640
2648
|
if (newProgress <= 0) {
|
|
2641
2649
|
if (intervalRef.current) clearInterval(intervalRef.current);
|
|
2642
|
-
if (
|
|
2650
|
+
if (defaultAlertDisplay === "prominent") return;
|
|
2643
2651
|
setIsRemoved(true);
|
|
2644
2652
|
setTimeout(() => {
|
|
2645
2653
|
alertControls2.removeAlert(alert.id);
|
|
@@ -2650,7 +2658,7 @@ function Alert2({ alert }) {
|
|
|
2650
2658
|
}, 0.2 * 1e3 - 10);
|
|
2651
2659
|
}
|
|
2652
2660
|
}, updateInterval);
|
|
2653
|
-
}, [alert, progress]);
|
|
2661
|
+
}, [alert, progress, defaultAlertDisplay]);
|
|
2654
2662
|
const onClickCloseAlert = useCallback5(() => {
|
|
2655
2663
|
setIsRemoved(true);
|
|
2656
2664
|
setTimeout(() => {
|
|
@@ -2709,14 +2717,7 @@ function Alert2({ alert }) {
|
|
|
2709
2717
|
}),
|
|
2710
2718
|
[theme2]
|
|
2711
2719
|
);
|
|
2712
|
-
|
|
2713
|
-
if (alert.display === "prominent") {
|
|
2714
|
-
setTimeout(() => {
|
|
2715
|
-
modalRef.current?.open();
|
|
2716
|
-
}, 0.1 * 1e3);
|
|
2717
|
-
}
|
|
2718
|
-
}, []);
|
|
2719
|
-
useEffect4(() => {
|
|
2720
|
+
useEffect5(() => {
|
|
2720
2721
|
startTimeRef.current = Date.now();
|
|
2721
2722
|
remainingTimeRef.current = defaultAlertDurationNumber;
|
|
2722
2723
|
startProgressTimer();
|
|
@@ -2726,9 +2727,10 @@ function Alert2({ alert }) {
|
|
|
2726
2727
|
}, [defaultAlertDurationNumber, startProgressTimer]);
|
|
2727
2728
|
const animation = `${isRemoved ? getAnimationOutName(pluginConfig.position ?? defaultAlertsPluginOptions.position)[pluginConfig.align ?? defaultAlertsPluginOptions.align] : getAnimationInName(pluginConfig.position ?? defaultAlertsPluginOptions.position)[pluginConfig.align ?? defaultAlertsPluginOptions.align]} ${theme2.styles.transition}`;
|
|
2728
2729
|
const alertTitle = alert.title ?? alertData[alert.type].title;
|
|
2729
|
-
return
|
|
2730
|
+
return defaultAlertDisplay === "prominent" ? /* @__PURE__ */ jsx10(
|
|
2730
2731
|
Modal_default,
|
|
2731
2732
|
{
|
|
2733
|
+
defaultIsOpened: true,
|
|
2732
2734
|
icon: alertData[alert.type].icon,
|
|
2733
2735
|
title: alertTitle,
|
|
2734
2736
|
description: alert.message,
|
|
@@ -2947,8 +2949,8 @@ function BetterHtmlProviderInternalContent({ children }) {
|
|
|
2947
2949
|
function BetterHtmlProviderInternal({ config, plugins, children }) {
|
|
2948
2950
|
const betterCoreContext = useBetterCoreContext5();
|
|
2949
2951
|
const [alerts, setAlerts] = useState4([]);
|
|
2950
|
-
const [sideMenuIsCollapsed, setSideMenuIsCollapsed] =
|
|
2951
|
-
const [sideMenuIsOpenMobile, setSideMenuIsOpenMobile] =
|
|
2952
|
+
const [sideMenuIsCollapsed, setSideMenuIsCollapsed] = useBooleanState3();
|
|
2953
|
+
const [sideMenuIsOpenMobile, setSideMenuIsOpenMobile] = useBooleanState3();
|
|
2952
2954
|
const [tabGroups, setTabGroups] = useState4([]);
|
|
2953
2955
|
const [tabsWithDots, setTabsWithDots] = useState4([]);
|
|
2954
2956
|
const readyConfig = useMemo3(
|
|
@@ -2978,7 +2980,7 @@ function BetterHtmlProviderInternal({ config, plugins, children }) {
|
|
|
2978
2980
|
}),
|
|
2979
2981
|
[config, alerts, sideMenuIsCollapsed, sideMenuIsOpenMobile, plugins, tabGroups, tabsWithDots]
|
|
2980
2982
|
);
|
|
2981
|
-
|
|
2983
|
+
useEffect6(() => {
|
|
2982
2984
|
if (!plugins) return;
|
|
2983
2985
|
plugins.forEach((plugin) => {
|
|
2984
2986
|
plugin.initialize?.();
|
|
@@ -3017,7 +3019,7 @@ function BetterHtmlProvider({ config, ...props }) {
|
|
|
3017
3019
|
}),
|
|
3018
3020
|
[config]
|
|
3019
3021
|
);
|
|
3020
|
-
|
|
3022
|
+
useEffect6(() => {
|
|
3021
3023
|
const html = document.querySelector("html");
|
|
3022
3024
|
if (!html) return;
|
|
3023
3025
|
html.setAttribute("data-theme", localStorage.getItem("theme") === "dark" ? "dark" : "light");
|
|
@@ -3394,11 +3396,11 @@ Chip2.colored = ChipComponent.colored;
|
|
|
3394
3396
|
var Chip_default = Chip2;
|
|
3395
3397
|
|
|
3396
3398
|
// src/components/InputField.tsx
|
|
3397
|
-
import { forwardRef as forwardRef11, memo as memo18, useCallback as useCallback10, useState as useState7, useEffect as
|
|
3399
|
+
import { forwardRef as forwardRef11, memo as memo18, useCallback as useCallback10, useState as useState7, useEffect as useEffect9, useMemo as useMemo6, useRef as useRef5, useId as useId2 } from "react";
|
|
3398
3400
|
import {
|
|
3399
3401
|
darkenColor as darkenColor2,
|
|
3400
3402
|
lightenColor as lightenColor2,
|
|
3401
|
-
useBooleanState as
|
|
3403
|
+
useBooleanState as useBooleanState5,
|
|
3402
3404
|
useDebounceState as useDebounceState2,
|
|
3403
3405
|
countries as countries2,
|
|
3404
3406
|
useTheme as useTheme19,
|
|
@@ -3435,10 +3437,10 @@ function Label({ text, required, isError, color, htmlFor }) {
|
|
|
3435
3437
|
var Label_default = memo15(Label);
|
|
3436
3438
|
|
|
3437
3439
|
// src/components/Dropdown.tsx
|
|
3438
|
-
import { forwardRef as forwardRef10, Fragment as Fragment3, memo as memo16, useCallback as useCallback8, useEffect as
|
|
3440
|
+
import { forwardRef as forwardRef10, Fragment as Fragment3, memo as memo16, useCallback as useCallback8, useEffect as useEffect7, useMemo as useMemo4, useRef as useRef4, useState as useState5 } from "react";
|
|
3439
3441
|
import {
|
|
3440
3442
|
getPluralWord,
|
|
3441
|
-
useBooleanState as
|
|
3443
|
+
useBooleanState as useBooleanState4,
|
|
3442
3444
|
useDebounceState,
|
|
3443
3445
|
countries,
|
|
3444
3446
|
useTheme as useTheme17
|
|
@@ -3478,9 +3480,9 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
3478
3480
|
const inputFieldHolderRef = useRef4(null);
|
|
3479
3481
|
const buttonsRef = useRef4(null);
|
|
3480
3482
|
const inputRef = useRef4(null);
|
|
3481
|
-
const [isOpen, setIsOpen] =
|
|
3482
|
-
const [isOpenLate, setIsOpenLate] =
|
|
3483
|
-
const [isFocused, setIsFocused] =
|
|
3483
|
+
const [isOpen, setIsOpen] = useBooleanState4();
|
|
3484
|
+
const [isOpenLate, setIsOpenLate] = useBooleanState4();
|
|
3485
|
+
const [isFocused, setIsFocused] = useBooleanState4();
|
|
3484
3486
|
const [searchQuery, setSearchQuery] = useState5("");
|
|
3485
3487
|
const [_, debouncedSearchQuery, setDebouncedSearchQuery, isLoadingDebouncedSearchQuery] = useDebounceState(
|
|
3486
3488
|
"",
|
|
@@ -3639,10 +3641,10 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
3639
3641
|
renderOptionDivider
|
|
3640
3642
|
]
|
|
3641
3643
|
);
|
|
3642
|
-
|
|
3644
|
+
useEffect7(() => {
|
|
3643
3645
|
setInternalValue(controlledValue);
|
|
3644
3646
|
}, [controlledValue]);
|
|
3645
|
-
|
|
3647
|
+
useEffect7(() => {
|
|
3646
3648
|
if (isOpen) {
|
|
3647
3649
|
setIsOpenLate.setTrue();
|
|
3648
3650
|
if (withSearch && inputRef.current) inputRef.current.focus();
|
|
@@ -3653,10 +3655,10 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
3653
3655
|
};
|
|
3654
3656
|
}
|
|
3655
3657
|
}, [isOpen, withSearch]);
|
|
3656
|
-
|
|
3658
|
+
useEffect7(() => {
|
|
3657
3659
|
setFocusedOptionIndex(void 0);
|
|
3658
3660
|
}, [filteredOptions]);
|
|
3659
|
-
|
|
3661
|
+
useEffect7(() => {
|
|
3660
3662
|
const handleClickOutside = (event) => {
|
|
3661
3663
|
if (inputFieldHolderRef.current && buttonsRef.current && !inputFieldHolderRef.current.contains(event.target) && !buttonsRef.current.contains(event.target)) {
|
|
3662
3664
|
setIsOpen.setFalse();
|
|
@@ -3671,7 +3673,7 @@ var DropdownComponent = forwardRef10(function Dropdown({
|
|
|
3671
3673
|
document.removeEventListener("mousedown", handleClickOutside);
|
|
3672
3674
|
};
|
|
3673
3675
|
}, [isOpen]);
|
|
3674
|
-
|
|
3676
|
+
useEffect7(() => {
|
|
3675
3677
|
if (!withDebounce) return;
|
|
3676
3678
|
onChangeSearch?.(debouncedSearchQuery);
|
|
3677
3679
|
}, [withDebounce, onChangeSearch, debouncedSearchQuery]);
|
|
@@ -3847,7 +3849,7 @@ Dropdown2.countries = DropdownComponent.countries;
|
|
|
3847
3849
|
var Dropdown_default = Dropdown2;
|
|
3848
3850
|
|
|
3849
3851
|
// src/components/Calendar.tsx
|
|
3850
|
-
import { useCallback as useCallback9, useMemo as useMemo5, useState as useState6, memo as memo17, useEffect as
|
|
3852
|
+
import { useCallback as useCallback9, useMemo as useMemo5, useState as useState6, memo as memo17, useEffect as useEffect8, useId } from "react";
|
|
3851
3853
|
import { useTheme as useTheme18 } from "react-better-core";
|
|
3852
3854
|
import styled9 from "styled-components";
|
|
3853
3855
|
import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
|
|
@@ -3957,7 +3959,7 @@ function Calendar({ value, minDate, maxDate, onChange }) {
|
|
|
3957
3959
|
}
|
|
3958
3960
|
return result;
|
|
3959
3961
|
}, [daysInMonth, firstDayOfMonth]);
|
|
3960
|
-
|
|
3962
|
+
useEffect8(() => {
|
|
3961
3963
|
if (!value) return;
|
|
3962
3964
|
const date = new Date(value);
|
|
3963
3965
|
setCurrentDate(date);
|
|
@@ -4282,7 +4284,7 @@ var InputFieldComponent = forwardRef11(function InputField({
|
|
|
4282
4284
|
) ? 1002 : 1,
|
|
4283
4285
|
[props.className]
|
|
4284
4286
|
);
|
|
4285
|
-
|
|
4287
|
+
useEffect9(() => {
|
|
4286
4288
|
if (!withDebounce) return;
|
|
4287
4289
|
onChangeValue?.(debouncedValue);
|
|
4288
4290
|
}, [withDebounce, onChangeValue, debouncedValue]);
|
|
@@ -4499,7 +4501,7 @@ InputFieldComponent.email = forwardRef11(function Email({ ...props }, ref) {
|
|
|
4499
4501
|
);
|
|
4500
4502
|
});
|
|
4501
4503
|
InputFieldComponent.password = forwardRef11(function Password({ ...props }, ref) {
|
|
4502
|
-
const [isPassword, setIsPassword] =
|
|
4504
|
+
const [isPassword, setIsPassword] = useBooleanState5(true);
|
|
4503
4505
|
return /* @__PURE__ */ jsx17(
|
|
4504
4506
|
InputFieldComponent,
|
|
4505
4507
|
{
|
|
@@ -4517,7 +4519,7 @@ InputFieldComponent.password = forwardRef11(function Password({ ...props }, ref)
|
|
|
4517
4519
|
});
|
|
4518
4520
|
InputFieldComponent.search = forwardRef11(function Search({ value, onChangeValue, onFocus, onBlur, ...props }, ref) {
|
|
4519
4521
|
const [inputFieldValue, setInputFieldValue] = useState7(value?.toString() ?? "");
|
|
4520
|
-
const [inputFieldFocused, setInputFieldFocused] =
|
|
4522
|
+
const [inputFieldFocused, setInputFieldFocused] = useBooleanState5();
|
|
4521
4523
|
const onChangeValueElement = useCallback10(
|
|
4522
4524
|
(value2) => {
|
|
4523
4525
|
setInputFieldValue(value2);
|
|
@@ -4599,7 +4601,7 @@ InputFieldComponent.phoneNumber = forwardRef11(function PhoneNumber({ label, val
|
|
|
4599
4601
|
setDropdownValue(initialDefaultValue);
|
|
4600
4602
|
return initialDefaultValue;
|
|
4601
4603
|
}, [options]);
|
|
4602
|
-
|
|
4604
|
+
useEffect9(() => {
|
|
4603
4605
|
if (value === void 0 || value === null) return;
|
|
4604
4606
|
const newValue = value.toString();
|
|
4605
4607
|
const country = countries2.find(
|
|
@@ -4735,7 +4737,7 @@ InputFieldComponent.dateTime = forwardRef11(function DateTime({ minDate, maxDate
|
|
|
4735
4737
|
},
|
|
4736
4738
|
[defaultDateAfterTimePick, internalValue, inputFieldProps.onChangeValue]
|
|
4737
4739
|
);
|
|
4738
|
-
|
|
4740
|
+
useEffect9(() => {
|
|
4739
4741
|
if (isOpen && selectedHourRef.current)
|
|
4740
4742
|
selectedHourRef.current.scrollIntoView({ block: "nearest", behavior: "instant" });
|
|
4741
4743
|
if (isOpen && selectedMinuteRef.current)
|
|
@@ -4877,7 +4879,7 @@ InputFieldComponent.time = forwardRef11(function Time({ ...props }, ref) {
|
|
|
4877
4879
|
},
|
|
4878
4880
|
[internalValue, inputFieldProps.onChangeValue]
|
|
4879
4881
|
);
|
|
4880
|
-
|
|
4882
|
+
useEffect9(() => {
|
|
4881
4883
|
if (isOpen && selectedHourRef.current)
|
|
4882
4884
|
selectedHourRef.current.scrollIntoView({ block: "nearest", behavior: "instant" });
|
|
4883
4885
|
if (isOpen && selectedMinuteRef.current)
|
|
@@ -4985,7 +4987,7 @@ InputFieldComponent.color = forwardRef11(function Color4({ value, onChangeValue,
|
|
|
4985
4987
|
},
|
|
4986
4988
|
[onChangeValue]
|
|
4987
4989
|
);
|
|
4988
|
-
|
|
4990
|
+
useEffect9(() => {
|
|
4989
4991
|
if (value === void 0) return;
|
|
4990
4992
|
setInputFieldValue(value);
|
|
4991
4993
|
}, [value]);
|
|
@@ -5029,7 +5031,7 @@ var InputField_default = InputField2;
|
|
|
5029
5031
|
|
|
5030
5032
|
// src/components/ToggleInput.tsx
|
|
5031
5033
|
import { forwardRef as forwardRef12, useCallback as useCallback11, useId as useId3, useState as useState8 } from "react";
|
|
5032
|
-
import { useBooleanState as
|
|
5034
|
+
import { useBooleanState as useBooleanState6, useTheme as useTheme20 } from "react-better-core";
|
|
5033
5035
|
import styled11 from "styled-components";
|
|
5034
5036
|
import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
|
|
5035
5037
|
var componentSize = 26;
|
|
@@ -5260,8 +5262,8 @@ var ToggleInput_default = {
|
|
|
5260
5262
|
const { style, hoverStyle, excludeStyle, restProps } = useComponentPropsGrouper(props, true);
|
|
5261
5263
|
const dataProps = useComponentPropsWithPrefix(restProps, "data");
|
|
5262
5264
|
const ariaProps = useComponentPropsWithPrefix(restProps, "aria");
|
|
5263
|
-
const [internalChecked, setInternalChecked] =
|
|
5264
|
-
const [isMouseDown, setIsMouseDown] =
|
|
5265
|
+
const [internalChecked, setInternalChecked] = useBooleanState6();
|
|
5266
|
+
const [isMouseDown, setIsMouseDown] = useBooleanState6();
|
|
5265
5267
|
const checked = controlledChecked ?? internalChecked;
|
|
5266
5268
|
const onClickElement = useCallback11(() => {
|
|
5267
5269
|
if (disabled) return;
|
|
@@ -5486,7 +5488,7 @@ FormRow2.withTitle = FormRowComponent.withTitle;
|
|
|
5486
5488
|
var FormRow_default = FormRow2;
|
|
5487
5489
|
|
|
5488
5490
|
// src/components/ColorThemeSwitch.tsx
|
|
5489
|
-
import { memo as memo21, useCallback as useCallback12, useEffect as
|
|
5491
|
+
import { memo as memo21, useCallback as useCallback12, useEffect as useEffect10, useState as useState9 } from "react";
|
|
5490
5492
|
import { useTheme as useTheme23 } from "react-better-core";
|
|
5491
5493
|
import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
5492
5494
|
var ColorThemeSwitchComponent = function ColorThemeSwitch({
|
|
@@ -5499,7 +5501,7 @@ var ColorThemeSwitchComponent = function ColorThemeSwitch({
|
|
|
5499
5501
|
setValue(checked);
|
|
5500
5502
|
document.querySelector("html")?.setAttribute("data-theme", checked ? "dark" : "light");
|
|
5501
5503
|
}, []);
|
|
5502
|
-
|
|
5504
|
+
useEffect10(() => {
|
|
5503
5505
|
const html = document.querySelector("html");
|
|
5504
5506
|
if (!html) return;
|
|
5505
5507
|
const observer = new MutationObserver((mutations) => {
|
|
@@ -5548,14 +5550,14 @@ import {
|
|
|
5548
5550
|
useState as useState11,
|
|
5549
5551
|
useImperativeHandle as useImperativeHandle2,
|
|
5550
5552
|
useRef as useRef6,
|
|
5551
|
-
useEffect as
|
|
5553
|
+
useEffect as useEffect12,
|
|
5552
5554
|
Fragment as Fragment6
|
|
5553
5555
|
} from "react";
|
|
5554
5556
|
import { darkenColor as darkenColor3, useBetterCoreContext as useBetterCoreContext8, useTheme as useTheme25 } from "react-better-core";
|
|
5555
5557
|
import styled12, { css as css2 } from "styled-components";
|
|
5556
5558
|
|
|
5557
5559
|
// src/components/Pagination.tsx
|
|
5558
|
-
import { memo as memo22, useCallback as useCallback13, useEffect as
|
|
5560
|
+
import { memo as memo22, useCallback as useCallback13, useEffect as useEffect11, useMemo as useMemo8, useState as useState10 } from "react";
|
|
5559
5561
|
import { useTheme as useTheme24 } from "react-better-core";
|
|
5560
5562
|
import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
|
|
5561
5563
|
var PaginationComponent = function Pagination({
|
|
@@ -5597,10 +5599,10 @@ var PaginationComponent = function Pagination({
|
|
|
5597
5599
|
(_, index) => startPage + index
|
|
5598
5600
|
);
|
|
5599
5601
|
}, [pageCountInternal, currentPageInternal]);
|
|
5600
|
-
|
|
5602
|
+
useEffect11(() => {
|
|
5601
5603
|
onChangePage?.(currentPageInternal);
|
|
5602
5604
|
}, [currentPageInternal, onChangePage]);
|
|
5603
|
-
|
|
5605
|
+
useEffect11(() => {
|
|
5604
5606
|
setCurrentPage(currentPage);
|
|
5605
5607
|
}, [currentPage]);
|
|
5606
5608
|
const mobileFooterBreakingPoint = mediaQuery.size700 && pageCountInternal > maximumVisiblePages2 / 1.4;
|
|
@@ -6161,13 +6163,13 @@ var TableComponent = forwardRef15(function Table({
|
|
|
6161
6163
|
[possibleFilterListValues]
|
|
6162
6164
|
);
|
|
6163
6165
|
const onClickDeselectAllFilterListItems = useCallback14(() => setFilterListSelectedItems([]), []);
|
|
6164
|
-
|
|
6166
|
+
useEffect12(() => {
|
|
6165
6167
|
onChangePage?.(currentPage);
|
|
6166
6168
|
}, [onChangePage, currentPage]);
|
|
6167
|
-
|
|
6169
|
+
useEffect12(() => {
|
|
6168
6170
|
onChangeFilter?.(filterData);
|
|
6169
6171
|
}, [onChangeFilter, filterData]);
|
|
6170
|
-
|
|
6172
|
+
useEffect12(() => {
|
|
6171
6173
|
if (!memoizeFilters) return;
|
|
6172
6174
|
if (!name) return;
|
|
6173
6175
|
localStorage.setItem(
|
|
@@ -6178,7 +6180,7 @@ var TableComponent = forwardRef15(function Table({
|
|
|
6178
6180
|
})
|
|
6179
6181
|
);
|
|
6180
6182
|
}, [memoizeFilters, name, filterData]);
|
|
6181
|
-
|
|
6183
|
+
useEffect12(() => {
|
|
6182
6184
|
onChangeFilterDataValue?.(dataAfterFilter);
|
|
6183
6185
|
}, [onChangeFilterDataValue, dataAfterFilter]);
|
|
6184
6186
|
useImperativeHandle2(
|
|
@@ -6450,7 +6452,7 @@ var Table2 = memo23(TableComponent);
|
|
|
6450
6452
|
var Table_default = Table2;
|
|
6451
6453
|
|
|
6452
6454
|
// src/components/Tooltip.tsx
|
|
6453
|
-
import { memo as memo24, useCallback as useCallback15, useRef as useRef7, useState as useState12, useEffect as
|
|
6455
|
+
import { memo as memo24, useCallback as useCallback15, useRef as useRef7, useState as useState12, useEffect as useEffect13, forwardRef as forwardRef16, useImperativeHandle as useImperativeHandle3, useMemo as useMemo10 } from "react";
|
|
6454
6456
|
import { useTheme as useTheme26 } from "react-better-core";
|
|
6455
6457
|
import styled13, { css as css3 } from "styled-components";
|
|
6456
6458
|
import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
|
|
@@ -6673,7 +6675,7 @@ var TooltipComponent = forwardRef16(function Tooltip({
|
|
|
6673
6675
|
},
|
|
6674
6676
|
[trigger, isOpen, closeTooltip]
|
|
6675
6677
|
);
|
|
6676
|
-
|
|
6678
|
+
useEffect13(() => {
|
|
6677
6679
|
if (trigger === "click") {
|
|
6678
6680
|
document.addEventListener("mousedown", onClickOutside);
|
|
6679
6681
|
return () => {
|
|
@@ -6681,7 +6683,7 @@ var TooltipComponent = forwardRef16(function Tooltip({
|
|
|
6681
6683
|
};
|
|
6682
6684
|
}
|
|
6683
6685
|
}, [trigger, onClickOutside]);
|
|
6684
|
-
|
|
6686
|
+
useEffect13(() => {
|
|
6685
6687
|
if (!disabled) return;
|
|
6686
6688
|
closeTooltip();
|
|
6687
6689
|
}, [disabled]);
|
|
@@ -6844,7 +6846,7 @@ Tooltip2.sectionTitle = TooltipComponent.sectionTitle;
|
|
|
6844
6846
|
var Tooltip_default = Tooltip2;
|
|
6845
6847
|
|
|
6846
6848
|
// src/components/Tabs.tsx
|
|
6847
|
-
import { forwardRef as forwardRef17, memo as memo25, useCallback as useCallback16, useEffect as
|
|
6849
|
+
import { forwardRef as forwardRef17, memo as memo25, useCallback as useCallback16, useEffect as useEffect14, useImperativeHandle as useImperativeHandle4, useMemo as useMemo11, useRef as useRef8, useState as useState13 } from "react";
|
|
6848
6850
|
import { useBetterCoreContext as useBetterCoreContext9, useTheme as useTheme27 } from "react-better-core";
|
|
6849
6851
|
import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
|
|
6850
6852
|
var tabBottomLineWidth = 2;
|
|
@@ -6893,7 +6895,7 @@ var TabsComponent = forwardRef17(function Tabs({ tabs, name, accentColor, style
|
|
|
6893
6895
|
});
|
|
6894
6896
|
return spacing;
|
|
6895
6897
|
}, [selectedTab, tabs, tabsGap]);
|
|
6896
|
-
|
|
6898
|
+
useEffect14(() => {
|
|
6897
6899
|
const timeout = setTimeout(() => {
|
|
6898
6900
|
setRerenderState(Math.random());
|
|
6899
6901
|
firstRenderPassedRef.current = true;
|
|
@@ -6902,7 +6904,7 @@ var TabsComponent = forwardRef17(function Tabs({ tabs, name, accentColor, style
|
|
|
6902
6904
|
clearTimeout(timeout);
|
|
6903
6905
|
};
|
|
6904
6906
|
}, []);
|
|
6905
|
-
|
|
6907
|
+
useEffect14(() => {
|
|
6906
6908
|
componentsState.tabs.setTabGroups((oldValue) => {
|
|
6907
6909
|
const thisTabGroup = oldValue.find((item) => item.name === (name ?? defaultTabName));
|
|
6908
6910
|
if (thisTabGroup) {
|
|
@@ -6923,13 +6925,13 @@ var TabsComponent = forwardRef17(function Tabs({ tabs, name, accentColor, style
|
|
|
6923
6925
|
}
|
|
6924
6926
|
});
|
|
6925
6927
|
}, [selectedTab, name]);
|
|
6926
|
-
|
|
6928
|
+
useEffect14(() => {
|
|
6927
6929
|
tabsRef.current[selectedTab]?.scrollIntoView({
|
|
6928
6930
|
behavior: firstRenderPassedRef.current ? "smooth" : void 0,
|
|
6929
6931
|
block: "nearest"
|
|
6930
6932
|
});
|
|
6931
6933
|
}, [selectedTab]);
|
|
6932
|
-
|
|
6934
|
+
useEffect14(() => {
|
|
6933
6935
|
return () => {
|
|
6934
6936
|
componentsState.tabs.setTabGroups(
|
|
6935
6937
|
(oldValue) => oldValue.filter((item) => item.name !== (name ?? defaultTabName))
|
|
@@ -7021,7 +7023,7 @@ TabsComponent.content = function Content({ tab, tabWithDot, tabsGroupName, isIni
|
|
|
7021
7023
|
() => componentsState.tabs.tabGroups.find((item) => item.name === (tabsGroupName ?? defaultTabName)),
|
|
7022
7024
|
[componentsState.tabs, tabsGroupName]
|
|
7023
7025
|
);
|
|
7024
|
-
|
|
7026
|
+
useEffect14(() => {
|
|
7025
7027
|
if (tabWithDot) {
|
|
7026
7028
|
componentsState.tabs.setTabsWithDots?.((oldValue) => oldValue.includes(tab) ? oldValue : [...oldValue, tab]);
|
|
7027
7029
|
} else {
|
|
@@ -7037,8 +7039,8 @@ Tabs2.content = TabsComponent.content;
|
|
|
7037
7039
|
var Tabs_default = Tabs2;
|
|
7038
7040
|
|
|
7039
7041
|
// src/components/Foldable.tsx
|
|
7040
|
-
import { forwardRef as forwardRef18, memo as memo26, useCallback as useCallback17, useEffect as
|
|
7041
|
-
import { useBooleanState as
|
|
7042
|
+
import { forwardRef as forwardRef18, memo as memo26, useCallback as useCallback17, useEffect as useEffect15, useImperativeHandle as useImperativeHandle5, useRef as useRef9, useState as useState14 } from "react";
|
|
7043
|
+
import { useBooleanState as useBooleanState7, useTheme as useTheme28 } from "react-better-core";
|
|
7042
7044
|
import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
|
|
7043
7045
|
var animationDurationClose = 0.15;
|
|
7044
7046
|
var animationDurationOpen = animationDurationClose * 2;
|
|
@@ -7063,7 +7065,7 @@ var FoldableComponent = forwardRef18(function Foldable({
|
|
|
7063
7065
|
}, ref) {
|
|
7064
7066
|
const theme2 = useTheme28();
|
|
7065
7067
|
const bodyRef = useRef9(null);
|
|
7066
|
-
const [internalIsOpen, setInternalIsOpen] =
|
|
7068
|
+
const [internalIsOpen, setInternalIsOpen] = useBooleanState7(defaultOpen);
|
|
7067
7069
|
const [bodyVirtualHeight, setBodyVirtualHeight] = useState14();
|
|
7068
7070
|
const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
|
|
7069
7071
|
const open = useCallback17(() => {
|
|
@@ -7078,7 +7080,7 @@ var FoldableComponent = forwardRef18(function Foldable({
|
|
|
7078
7080
|
if (controlledIsOpen === void 0) setInternalIsOpen.toggle();
|
|
7079
7081
|
onOpenChange?.(!isOpen);
|
|
7080
7082
|
}, [controlledIsOpen, isOpen, onOpenChange]);
|
|
7081
|
-
|
|
7083
|
+
useEffect15(() => {
|
|
7082
7084
|
if (!bodyRef.current) return;
|
|
7083
7085
|
const body = bodyRef.current;
|
|
7084
7086
|
setBodyVirtualHeight(body.scrollHeight * 2);
|
|
@@ -7089,7 +7091,7 @@ var FoldableComponent = forwardRef18(function Foldable({
|
|
|
7089
7091
|
clearTimeout(timeout);
|
|
7090
7092
|
};
|
|
7091
7093
|
}, [isOpen]);
|
|
7092
|
-
|
|
7094
|
+
useEffect15(() => {
|
|
7093
7095
|
if (!isOpen) return;
|
|
7094
7096
|
if (!bodyRef.current) return;
|
|
7095
7097
|
const observer = new ResizeObserver(() => {
|
|
@@ -7193,11 +7195,11 @@ Foldable2.box = FoldableComponent.box;
|
|
|
7193
7195
|
var Foldable_default = Foldable2;
|
|
7194
7196
|
|
|
7195
7197
|
// src/components/SideMenu.tsx
|
|
7196
|
-
import { createContext as createContext2, memo as memo27, useCallback as useCallback18, useContext as useContext2, useEffect as
|
|
7198
|
+
import { createContext as createContext2, memo as memo27, useCallback as useCallback18, useContext as useContext2, useEffect as useEffect16, useMemo as useMemo12, useState as useState15 } from "react";
|
|
7197
7199
|
import {
|
|
7198
7200
|
lightenColor as lightenColor3,
|
|
7199
7201
|
useBetterCoreContext as useBetterCoreContext10,
|
|
7200
|
-
useBooleanState as
|
|
7202
|
+
useBooleanState as useBooleanState8,
|
|
7201
7203
|
useTheme as useTheme29
|
|
7202
7204
|
} from "react-better-core";
|
|
7203
7205
|
import { Fragment as Fragment8, jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
|
|
@@ -7224,7 +7226,7 @@ var MenuItemComponent = memo27(function MenuItemComponent2({ item, backgroundCol
|
|
|
7224
7226
|
const { components, sideMenuIsCollapsed, setSideMenuIsCollapsed } = useBetterHtmlContextInternal();
|
|
7225
7227
|
const { colorTheme } = useBetterCoreContext10();
|
|
7226
7228
|
const { activeItem, setActiveItem } = useSideMenuContext();
|
|
7227
|
-
const [isOpened, setIsOpened] =
|
|
7229
|
+
const [isOpened, setIsOpened] = useBooleanState8();
|
|
7228
7230
|
const isCollapsed = sideMenuIsCollapsed && !mediaQuery.size1000;
|
|
7229
7231
|
const onClickElement = useCallback18(() => {
|
|
7230
7232
|
if (item.disabled) return;
|
|
@@ -7303,7 +7305,7 @@ var MenuItemComponent = memo27(function MenuItemComponent2({ item, backgroundCol
|
|
|
7303
7305
|
)
|
|
7304
7306
|
}
|
|
7305
7307
|
);
|
|
7306
|
-
|
|
7308
|
+
useEffect16(() => {
|
|
7307
7309
|
if (!item.href) return;
|
|
7308
7310
|
const isActive2 = location.pathname === "/" ? location.pathname === item.href : location.pathname.startsWith(item.href) && item.href !== "/";
|
|
7309
7311
|
if (!isActive2) return;
|
|
@@ -7314,14 +7316,14 @@ var MenuItemComponent = memo27(function MenuItemComponent2({ item, backgroundCol
|
|
|
7314
7316
|
} : void 0
|
|
7315
7317
|
);
|
|
7316
7318
|
}, [location.pathname]);
|
|
7317
|
-
|
|
7319
|
+
useEffect16(() => {
|
|
7318
7320
|
if (!item.children) return;
|
|
7319
7321
|
const toBeOpened = item.children.some(
|
|
7320
7322
|
(child) => child.href ? location.pathname === "/" ? location.pathname === child.href : location.pathname.startsWith(child.href) && child.href !== "/" : false
|
|
7321
7323
|
);
|
|
7322
7324
|
setIsOpened.setState(toBeOpened);
|
|
7323
7325
|
}, [item]);
|
|
7324
|
-
|
|
7326
|
+
useEffect16(() => {
|
|
7325
7327
|
if (!isCollapsed) return;
|
|
7326
7328
|
setIsOpened.setFalse();
|
|
7327
7329
|
}, [isCollapsed]);
|
|
@@ -7621,7 +7623,7 @@ SideMenuComponent.pageHolder = function SideMenuPageHolder({ outsideComponent, .
|
|
|
7621
7623
|
SideMenuComponent.burgerButton = function BurgerButton() {
|
|
7622
7624
|
const theme2 = useTheme29();
|
|
7623
7625
|
const { sideMenuIsOpenMobile, setSideMenuIsOpenMobile } = useBetterHtmlContextInternal();
|
|
7624
|
-
const [isHovered, setIsHovered] =
|
|
7626
|
+
const [isHovered, setIsHovered] = useBooleanState8();
|
|
7625
7627
|
const width = 2;
|
|
7626
7628
|
return /* @__PURE__ */ jsxs23(
|
|
7627
7629
|
Div_default,
|
|
@@ -7740,7 +7742,7 @@ export {
|
|
|
7740
7742
|
sideMenuControls,
|
|
7741
7743
|
useAlertControls,
|
|
7742
7744
|
useBetterHtmlContext,
|
|
7743
|
-
|
|
7745
|
+
useBooleanState9 as useBooleanState,
|
|
7744
7746
|
useDebounceState3 as useDebounceState,
|
|
7745
7747
|
useForm,
|
|
7746
7748
|
useLoader2 as useLoader,
|