react-better-html 1.1.218 → 1.1.220

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
@@ -14,16 +14,16 @@ import {
14
14
  eventStopPropagation,
15
15
  eventPreventStop,
16
16
  getPluralWord as getPluralWord2,
17
- useBooleanState as useBooleanState8,
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 useEffect5, useMemo as useMemo3, useState as useState4 } from "react";
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 useBooleanState2,
26
+ useBooleanState as useBooleanState3,
27
27
  colorThemeControls,
28
28
  useTheme as useTheme13,
29
29
  BetterCoreProvider,
@@ -1225,12 +1225,6 @@ function useUrlQuery() {
1225
1225
  );
1226
1226
  }
1227
1227
  const reactRouterDomPluginConfig = reactRouterDomPlugin2.getConfig();
1228
- const isInRouterContext = reactRouterDomPluginConfig.useInRouterContext();
1229
- if (!isInRouterContext) {
1230
- throw new Error(
1231
- "`useUrlQuery` hook must be used inside a React Router context. Make sure your component is wrapped in a `<BrowserRouter>`, or another Router component."
1232
- );
1233
- }
1234
1228
  const navigate = reactRouterDomPluginConfig.useNavigate();
1235
1229
  const [searchParams] = reactRouterDomPluginConfig.useSearchParams();
1236
1230
  const createSearchParams2 = reactRouterDomPluginConfig.createSearchParams;
@@ -1773,7 +1767,7 @@ Div2.box = DivComponent.box;
1773
1767
  var Div_default = Div2;
1774
1768
 
1775
1769
  // src/components/alerts/Alert.tsx
1776
- import { memo as memo10, useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
1770
+ import { memo as memo10, useCallback as useCallback5, useEffect as useEffect5, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
1777
1771
  import { useTheme as useTheme11 } from "react-better-core";
1778
1772
  import styled8 from "styled-components";
1779
1773
 
@@ -1782,6 +1776,7 @@ var defaultAlertsPluginOptions = {
1782
1776
  position: "bottom",
1783
1777
  align: "right",
1784
1778
  defaultDuration: "auto",
1779
+ defaultDisplay: {},
1785
1780
  maxWidth: 460,
1786
1781
  withLoaderBar: true,
1787
1782
  withCloseButton: true
@@ -2166,10 +2161,11 @@ Button2.upload = ButtonComponent.upload;
2166
2161
  var Button_default = Button2;
2167
2162
 
2168
2163
  // src/components/Modal.tsx
2169
- import { memo as memo9, useCallback as useCallback4, forwardRef as forwardRef7, useImperativeHandle, useRef as useRef2, useState as useState2 } from "react";
2164
+ import { memo as memo9, useCallback as useCallback4, forwardRef as forwardRef7, useImperativeHandle, useRef as useRef2, useEffect as useEffect4 } from "react";
2170
2165
  import { createPortal } from "react-dom";
2171
2166
  import {
2172
2167
  useBetterCoreContext as useBetterCoreContext4,
2168
+ useBooleanState as useBooleanState2,
2173
2169
  useTheme as useTheme10
2174
2170
  } from "react-better-core";
2175
2171
  import styled7 from "styled-components";
@@ -2227,6 +2223,7 @@ var ModalComponent = forwardRef7(function Modal({
2227
2223
  name,
2228
2224
  overflow,
2229
2225
  withoutCloseButton,
2226
+ defaultIsOpened = false,
2230
2227
  onOpen,
2231
2228
  onClose,
2232
2229
  children
@@ -2237,12 +2234,12 @@ var ModalComponent = forwardRef7(function Modal({
2237
2234
  const { app } = useBetterHtmlContextInternal();
2238
2235
  const { colorTheme } = useBetterCoreContext4();
2239
2236
  const dialogRef = useRef2(null);
2240
- const [isOpened, setIsOpened] = useState2(false);
2241
- const [isOpenedLate, setIsOpenedLate] = useState2(false);
2237
+ const [isOpened, setIsOpened] = useBooleanState2(false);
2238
+ const [isOpenedLate, setIsOpenedLate] = useBooleanState2(false);
2242
2239
  const onClickOpen = useCallback4(() => {
2243
2240
  dialogRef.current?.showModal();
2244
- setIsOpened(true);
2245
- setIsOpenedLate(true);
2241
+ setIsOpened.setTrue();
2242
+ setIsOpenedLate.setTrue();
2246
2243
  if (urlQuery && name) {
2247
2244
  urlQuery.setQuery(
2248
2245
  {
@@ -2254,12 +2251,12 @@ var ModalComponent = forwardRef7(function Modal({
2254
2251
  onOpen?.();
2255
2252
  }, [onOpen, urlQuery, name]);
2256
2253
  const onClickClose = useCallback4(() => {
2257
- setIsOpened(false);
2254
+ setIsOpened.setFalse();
2258
2255
  onClose?.();
2259
2256
  if (urlQuery && name) urlQuery.removeQuery(`${name}-modal`, false);
2260
2257
  setTimeout(() => {
2261
2258
  dialogRef.current?.close();
2262
- setIsOpenedLate(false);
2259
+ setIsOpenedLate.setFalse();
2263
2260
  }, 0.2 * 1e3);
2264
2261
  }, [onClose, urlQuery, name]);
2265
2262
  const onKeyDown = useCallback4(
@@ -2271,6 +2268,10 @@ var ModalComponent = forwardRef7(function Modal({
2271
2268
  },
2272
2269
  [withoutCloseButton]
2273
2270
  );
2271
+ useEffect4(() => {
2272
+ if (!defaultIsOpened) return;
2273
+ onClickOpen();
2274
+ }, []);
2274
2275
  useImperativeHandle(
2275
2276
  ref,
2276
2277
  () => {
@@ -2620,6 +2621,7 @@ function Alert2({ alert }) {
2620
2621
  alert.duration ?? pluginConfig.defaultDuration ?? defaultAlertsPluginOptions.defaultDuration,
2621
2622
  alert
2622
2623
  );
2624
+ const defaultAlertDisplay = alert.display ?? pluginConfig.defaultDisplay?.[alert.type] ?? defaultAlertsPluginOptions.defaultDisplay[alert.type] ?? "default";
2623
2625
  const intervalRef = useRef3(void 0);
2624
2626
  const startTimeRef = useRef3(Date.now());
2625
2627
  const remainingTimeRef = useRef3(defaultAlertDurationNumber);
@@ -2639,7 +2641,7 @@ function Alert2({ alert }) {
2639
2641
  setProgress(newProgress);
2640
2642
  if (newProgress <= 0) {
2641
2643
  if (intervalRef.current) clearInterval(intervalRef.current);
2642
- if (alert.display === "prominent") return;
2644
+ if (defaultAlertDisplay === "prominent") return;
2643
2645
  setIsRemoved(true);
2644
2646
  setTimeout(() => {
2645
2647
  alertControls2.removeAlert(alert.id);
@@ -2650,7 +2652,7 @@ function Alert2({ alert }) {
2650
2652
  }, 0.2 * 1e3 - 10);
2651
2653
  }
2652
2654
  }, updateInterval);
2653
- }, [alert, progress]);
2655
+ }, [alert, progress, defaultAlertDisplay]);
2654
2656
  const onClickCloseAlert = useCallback5(() => {
2655
2657
  setIsRemoved(true);
2656
2658
  setTimeout(() => {
@@ -2709,14 +2711,7 @@ function Alert2({ alert }) {
2709
2711
  }),
2710
2712
  [theme2]
2711
2713
  );
2712
- useEffect4(() => {
2713
- if (alert.display === "prominent") {
2714
- setTimeout(() => {
2715
- modalRef.current?.open();
2716
- }, 0.1 * 1e3);
2717
- }
2718
- }, []);
2719
- useEffect4(() => {
2714
+ useEffect5(() => {
2720
2715
  startTimeRef.current = Date.now();
2721
2716
  remainingTimeRef.current = defaultAlertDurationNumber;
2722
2717
  startProgressTimer();
@@ -2726,9 +2721,10 @@ function Alert2({ alert }) {
2726
2721
  }, [defaultAlertDurationNumber, startProgressTimer]);
2727
2722
  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
2723
  const alertTitle = alert.title ?? alertData[alert.type].title;
2729
- return alert.display === "prominent" ? /* @__PURE__ */ jsx10(
2724
+ return defaultAlertDisplay === "prominent" ? /* @__PURE__ */ jsx10(
2730
2725
  Modal_default,
2731
2726
  {
2727
+ defaultIsOpened: true,
2732
2728
  icon: alertData[alert.type].icon,
2733
2729
  title: alertTitle,
2734
2730
  description: alert.message,
@@ -2947,8 +2943,8 @@ function BetterHtmlProviderInternalContent({ children }) {
2947
2943
  function BetterHtmlProviderInternal({ config, plugins, children }) {
2948
2944
  const betterCoreContext = useBetterCoreContext5();
2949
2945
  const [alerts, setAlerts] = useState4([]);
2950
- const [sideMenuIsCollapsed, setSideMenuIsCollapsed] = useBooleanState2();
2951
- const [sideMenuIsOpenMobile, setSideMenuIsOpenMobile] = useBooleanState2();
2946
+ const [sideMenuIsCollapsed, setSideMenuIsCollapsed] = useBooleanState3();
2947
+ const [sideMenuIsOpenMobile, setSideMenuIsOpenMobile] = useBooleanState3();
2952
2948
  const [tabGroups, setTabGroups] = useState4([]);
2953
2949
  const [tabsWithDots, setTabsWithDots] = useState4([]);
2954
2950
  const readyConfig = useMemo3(
@@ -2978,7 +2974,7 @@ function BetterHtmlProviderInternal({ config, plugins, children }) {
2978
2974
  }),
2979
2975
  [config, alerts, sideMenuIsCollapsed, sideMenuIsOpenMobile, plugins, tabGroups, tabsWithDots]
2980
2976
  );
2981
- useEffect5(() => {
2977
+ useEffect6(() => {
2982
2978
  if (!plugins) return;
2983
2979
  plugins.forEach((plugin) => {
2984
2980
  plugin.initialize?.();
@@ -3017,7 +3013,7 @@ function BetterHtmlProvider({ config, ...props }) {
3017
3013
  }),
3018
3014
  [config]
3019
3015
  );
3020
- useEffect5(() => {
3016
+ useEffect6(() => {
3021
3017
  const html = document.querySelector("html");
3022
3018
  if (!html) return;
3023
3019
  html.setAttribute("data-theme", localStorage.getItem("theme") === "dark" ? "dark" : "light");
@@ -3394,11 +3390,11 @@ Chip2.colored = ChipComponent.colored;
3394
3390
  var Chip_default = Chip2;
3395
3391
 
3396
3392
  // src/components/InputField.tsx
3397
- import { forwardRef as forwardRef11, memo as memo18, useCallback as useCallback10, useState as useState7, useEffect as useEffect8, useMemo as useMemo6, useRef as useRef5, useId as useId2 } from "react";
3393
+ 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
3394
  import {
3399
3395
  darkenColor as darkenColor2,
3400
3396
  lightenColor as lightenColor2,
3401
- useBooleanState as useBooleanState4,
3397
+ useBooleanState as useBooleanState5,
3402
3398
  useDebounceState as useDebounceState2,
3403
3399
  countries as countries2,
3404
3400
  useTheme as useTheme19,
@@ -3435,10 +3431,10 @@ function Label({ text, required, isError, color, htmlFor }) {
3435
3431
  var Label_default = memo15(Label);
3436
3432
 
3437
3433
  // src/components/Dropdown.tsx
3438
- import { forwardRef as forwardRef10, Fragment as Fragment3, memo as memo16, useCallback as useCallback8, useEffect as useEffect6, useMemo as useMemo4, useRef as useRef4, useState as useState5 } from "react";
3434
+ 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
3435
  import {
3440
3436
  getPluralWord,
3441
- useBooleanState as useBooleanState3,
3437
+ useBooleanState as useBooleanState4,
3442
3438
  useDebounceState,
3443
3439
  countries,
3444
3440
  useTheme as useTheme17
@@ -3478,9 +3474,9 @@ var DropdownComponent = forwardRef10(function Dropdown({
3478
3474
  const inputFieldHolderRef = useRef4(null);
3479
3475
  const buttonsRef = useRef4(null);
3480
3476
  const inputRef = useRef4(null);
3481
- const [isOpen, setIsOpen] = useBooleanState3();
3482
- const [isOpenLate, setIsOpenLate] = useBooleanState3();
3483
- const [isFocused, setIsFocused] = useBooleanState3();
3477
+ const [isOpen, setIsOpen] = useBooleanState4();
3478
+ const [isOpenLate, setIsOpenLate] = useBooleanState4();
3479
+ const [isFocused, setIsFocused] = useBooleanState4();
3484
3480
  const [searchQuery, setSearchQuery] = useState5("");
3485
3481
  const [_, debouncedSearchQuery, setDebouncedSearchQuery, isLoadingDebouncedSearchQuery] = useDebounceState(
3486
3482
  "",
@@ -3639,10 +3635,10 @@ var DropdownComponent = forwardRef10(function Dropdown({
3639
3635
  renderOptionDivider
3640
3636
  ]
3641
3637
  );
3642
- useEffect6(() => {
3638
+ useEffect7(() => {
3643
3639
  setInternalValue(controlledValue);
3644
3640
  }, [controlledValue]);
3645
- useEffect6(() => {
3641
+ useEffect7(() => {
3646
3642
  if (isOpen) {
3647
3643
  setIsOpenLate.setTrue();
3648
3644
  if (withSearch && inputRef.current) inputRef.current.focus();
@@ -3653,10 +3649,10 @@ var DropdownComponent = forwardRef10(function Dropdown({
3653
3649
  };
3654
3650
  }
3655
3651
  }, [isOpen, withSearch]);
3656
- useEffect6(() => {
3652
+ useEffect7(() => {
3657
3653
  setFocusedOptionIndex(void 0);
3658
3654
  }, [filteredOptions]);
3659
- useEffect6(() => {
3655
+ useEffect7(() => {
3660
3656
  const handleClickOutside = (event) => {
3661
3657
  if (inputFieldHolderRef.current && buttonsRef.current && !inputFieldHolderRef.current.contains(event.target) && !buttonsRef.current.contains(event.target)) {
3662
3658
  setIsOpen.setFalse();
@@ -3671,7 +3667,7 @@ var DropdownComponent = forwardRef10(function Dropdown({
3671
3667
  document.removeEventListener("mousedown", handleClickOutside);
3672
3668
  };
3673
3669
  }, [isOpen]);
3674
- useEffect6(() => {
3670
+ useEffect7(() => {
3675
3671
  if (!withDebounce) return;
3676
3672
  onChangeSearch?.(debouncedSearchQuery);
3677
3673
  }, [withDebounce, onChangeSearch, debouncedSearchQuery]);
@@ -3847,7 +3843,7 @@ Dropdown2.countries = DropdownComponent.countries;
3847
3843
  var Dropdown_default = Dropdown2;
3848
3844
 
3849
3845
  // src/components/Calendar.tsx
3850
- import { useCallback as useCallback9, useMemo as useMemo5, useState as useState6, memo as memo17, useEffect as useEffect7, useId } from "react";
3846
+ import { useCallback as useCallback9, useMemo as useMemo5, useState as useState6, memo as memo17, useEffect as useEffect8, useId } from "react";
3851
3847
  import { useTheme as useTheme18 } from "react-better-core";
3852
3848
  import styled9 from "styled-components";
3853
3849
  import { jsx as jsx16, jsxs as jsxs12 } from "react/jsx-runtime";
@@ -3957,7 +3953,7 @@ function Calendar({ value, minDate, maxDate, onChange }) {
3957
3953
  }
3958
3954
  return result;
3959
3955
  }, [daysInMonth, firstDayOfMonth]);
3960
- useEffect7(() => {
3956
+ useEffect8(() => {
3961
3957
  if (!value) return;
3962
3958
  const date = new Date(value);
3963
3959
  setCurrentDate(date);
@@ -4282,7 +4278,7 @@ var InputFieldComponent = forwardRef11(function InputField({
4282
4278
  ) ? 1002 : 1,
4283
4279
  [props.className]
4284
4280
  );
4285
- useEffect8(() => {
4281
+ useEffect9(() => {
4286
4282
  if (!withDebounce) return;
4287
4283
  onChangeValue?.(debouncedValue);
4288
4284
  }, [withDebounce, onChangeValue, debouncedValue]);
@@ -4499,7 +4495,7 @@ InputFieldComponent.email = forwardRef11(function Email({ ...props }, ref) {
4499
4495
  );
4500
4496
  });
4501
4497
  InputFieldComponent.password = forwardRef11(function Password({ ...props }, ref) {
4502
- const [isPassword, setIsPassword] = useBooleanState4(true);
4498
+ const [isPassword, setIsPassword] = useBooleanState5(true);
4503
4499
  return /* @__PURE__ */ jsx17(
4504
4500
  InputFieldComponent,
4505
4501
  {
@@ -4517,7 +4513,7 @@ InputFieldComponent.password = forwardRef11(function Password({ ...props }, ref)
4517
4513
  });
4518
4514
  InputFieldComponent.search = forwardRef11(function Search({ value, onChangeValue, onFocus, onBlur, ...props }, ref) {
4519
4515
  const [inputFieldValue, setInputFieldValue] = useState7(value?.toString() ?? "");
4520
- const [inputFieldFocused, setInputFieldFocused] = useBooleanState4();
4516
+ const [inputFieldFocused, setInputFieldFocused] = useBooleanState5();
4521
4517
  const onChangeValueElement = useCallback10(
4522
4518
  (value2) => {
4523
4519
  setInputFieldValue(value2);
@@ -4599,7 +4595,7 @@ InputFieldComponent.phoneNumber = forwardRef11(function PhoneNumber({ label, val
4599
4595
  setDropdownValue(initialDefaultValue);
4600
4596
  return initialDefaultValue;
4601
4597
  }, [options]);
4602
- useEffect8(() => {
4598
+ useEffect9(() => {
4603
4599
  if (value === void 0 || value === null) return;
4604
4600
  const newValue = value.toString();
4605
4601
  const country = countries2.find(
@@ -4735,7 +4731,7 @@ InputFieldComponent.dateTime = forwardRef11(function DateTime({ minDate, maxDate
4735
4731
  },
4736
4732
  [defaultDateAfterTimePick, internalValue, inputFieldProps.onChangeValue]
4737
4733
  );
4738
- useEffect8(() => {
4734
+ useEffect9(() => {
4739
4735
  if (isOpen && selectedHourRef.current)
4740
4736
  selectedHourRef.current.scrollIntoView({ block: "nearest", behavior: "instant" });
4741
4737
  if (isOpen && selectedMinuteRef.current)
@@ -4877,7 +4873,7 @@ InputFieldComponent.time = forwardRef11(function Time({ ...props }, ref) {
4877
4873
  },
4878
4874
  [internalValue, inputFieldProps.onChangeValue]
4879
4875
  );
4880
- useEffect8(() => {
4876
+ useEffect9(() => {
4881
4877
  if (isOpen && selectedHourRef.current)
4882
4878
  selectedHourRef.current.scrollIntoView({ block: "nearest", behavior: "instant" });
4883
4879
  if (isOpen && selectedMinuteRef.current)
@@ -4985,7 +4981,7 @@ InputFieldComponent.color = forwardRef11(function Color4({ value, onChangeValue,
4985
4981
  },
4986
4982
  [onChangeValue]
4987
4983
  );
4988
- useEffect8(() => {
4984
+ useEffect9(() => {
4989
4985
  if (value === void 0) return;
4990
4986
  setInputFieldValue(value);
4991
4987
  }, [value]);
@@ -5029,7 +5025,7 @@ var InputField_default = InputField2;
5029
5025
 
5030
5026
  // src/components/ToggleInput.tsx
5031
5027
  import { forwardRef as forwardRef12, useCallback as useCallback11, useId as useId3, useState as useState8 } from "react";
5032
- import { useBooleanState as useBooleanState5, useTheme as useTheme20 } from "react-better-core";
5028
+ import { useBooleanState as useBooleanState6, useTheme as useTheme20 } from "react-better-core";
5033
5029
  import styled11 from "styled-components";
5034
5030
  import { jsx as jsx18, jsxs as jsxs14 } from "react/jsx-runtime";
5035
5031
  var componentSize = 26;
@@ -5260,8 +5256,8 @@ var ToggleInput_default = {
5260
5256
  const { style, hoverStyle, excludeStyle, restProps } = useComponentPropsGrouper(props, true);
5261
5257
  const dataProps = useComponentPropsWithPrefix(restProps, "data");
5262
5258
  const ariaProps = useComponentPropsWithPrefix(restProps, "aria");
5263
- const [internalChecked, setInternalChecked] = useBooleanState5();
5264
- const [isMouseDown, setIsMouseDown] = useBooleanState5();
5259
+ const [internalChecked, setInternalChecked] = useBooleanState6();
5260
+ const [isMouseDown, setIsMouseDown] = useBooleanState6();
5265
5261
  const checked = controlledChecked ?? internalChecked;
5266
5262
  const onClickElement = useCallback11(() => {
5267
5263
  if (disabled) return;
@@ -5486,7 +5482,7 @@ FormRow2.withTitle = FormRowComponent.withTitle;
5486
5482
  var FormRow_default = FormRow2;
5487
5483
 
5488
5484
  // src/components/ColorThemeSwitch.tsx
5489
- import { memo as memo21, useCallback as useCallback12, useEffect as useEffect9, useState as useState9 } from "react";
5485
+ import { memo as memo21, useCallback as useCallback12, useEffect as useEffect10, useState as useState9 } from "react";
5490
5486
  import { useTheme as useTheme23 } from "react-better-core";
5491
5487
  import { jsx as jsx21, jsxs as jsxs17 } from "react/jsx-runtime";
5492
5488
  var ColorThemeSwitchComponent = function ColorThemeSwitch({
@@ -5499,7 +5495,7 @@ var ColorThemeSwitchComponent = function ColorThemeSwitch({
5499
5495
  setValue(checked);
5500
5496
  document.querySelector("html")?.setAttribute("data-theme", checked ? "dark" : "light");
5501
5497
  }, []);
5502
- useEffect9(() => {
5498
+ useEffect10(() => {
5503
5499
  const html = document.querySelector("html");
5504
5500
  if (!html) return;
5505
5501
  const observer = new MutationObserver((mutations) => {
@@ -5548,14 +5544,14 @@ import {
5548
5544
  useState as useState11,
5549
5545
  useImperativeHandle as useImperativeHandle2,
5550
5546
  useRef as useRef6,
5551
- useEffect as useEffect11,
5547
+ useEffect as useEffect12,
5552
5548
  Fragment as Fragment6
5553
5549
  } from "react";
5554
5550
  import { darkenColor as darkenColor3, useBetterCoreContext as useBetterCoreContext8, useTheme as useTheme25 } from "react-better-core";
5555
5551
  import styled12, { css as css2 } from "styled-components";
5556
5552
 
5557
5553
  // src/components/Pagination.tsx
5558
- import { memo as memo22, useCallback as useCallback13, useEffect as useEffect10, useMemo as useMemo8, useState as useState10 } from "react";
5554
+ import { memo as memo22, useCallback as useCallback13, useEffect as useEffect11, useMemo as useMemo8, useState as useState10 } from "react";
5559
5555
  import { useTheme as useTheme24 } from "react-better-core";
5560
5556
  import { jsx as jsx22, jsxs as jsxs18 } from "react/jsx-runtime";
5561
5557
  var PaginationComponent = function Pagination({
@@ -5597,10 +5593,10 @@ var PaginationComponent = function Pagination({
5597
5593
  (_, index) => startPage + index
5598
5594
  );
5599
5595
  }, [pageCountInternal, currentPageInternal]);
5600
- useEffect10(() => {
5596
+ useEffect11(() => {
5601
5597
  onChangePage?.(currentPageInternal);
5602
5598
  }, [currentPageInternal, onChangePage]);
5603
- useEffect10(() => {
5599
+ useEffect11(() => {
5604
5600
  setCurrentPage(currentPage);
5605
5601
  }, [currentPage]);
5606
5602
  const mobileFooterBreakingPoint = mediaQuery.size700 && pageCountInternal > maximumVisiblePages2 / 1.4;
@@ -6161,13 +6157,13 @@ var TableComponent = forwardRef15(function Table({
6161
6157
  [possibleFilterListValues]
6162
6158
  );
6163
6159
  const onClickDeselectAllFilterListItems = useCallback14(() => setFilterListSelectedItems([]), []);
6164
- useEffect11(() => {
6160
+ useEffect12(() => {
6165
6161
  onChangePage?.(currentPage);
6166
6162
  }, [onChangePage, currentPage]);
6167
- useEffect11(() => {
6163
+ useEffect12(() => {
6168
6164
  onChangeFilter?.(filterData);
6169
6165
  }, [onChangeFilter, filterData]);
6170
- useEffect11(() => {
6166
+ useEffect12(() => {
6171
6167
  if (!memoizeFilters) return;
6172
6168
  if (!name) return;
6173
6169
  localStorage.setItem(
@@ -6178,7 +6174,7 @@ var TableComponent = forwardRef15(function Table({
6178
6174
  })
6179
6175
  );
6180
6176
  }, [memoizeFilters, name, filterData]);
6181
- useEffect11(() => {
6177
+ useEffect12(() => {
6182
6178
  onChangeFilterDataValue?.(dataAfterFilter);
6183
6179
  }, [onChangeFilterDataValue, dataAfterFilter]);
6184
6180
  useImperativeHandle2(
@@ -6450,7 +6446,7 @@ var Table2 = memo23(TableComponent);
6450
6446
  var Table_default = Table2;
6451
6447
 
6452
6448
  // src/components/Tooltip.tsx
6453
- import { memo as memo24, useCallback as useCallback15, useRef as useRef7, useState as useState12, useEffect as useEffect12, forwardRef as forwardRef16, useImperativeHandle as useImperativeHandle3, useMemo as useMemo10 } from "react";
6449
+ 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
6450
  import { useTheme as useTheme26 } from "react-better-core";
6455
6451
  import styled13, { css as css3 } from "styled-components";
6456
6452
  import { jsx as jsx24, jsxs as jsxs20 } from "react/jsx-runtime";
@@ -6673,7 +6669,7 @@ var TooltipComponent = forwardRef16(function Tooltip({
6673
6669
  },
6674
6670
  [trigger, isOpen, closeTooltip]
6675
6671
  );
6676
- useEffect12(() => {
6672
+ useEffect13(() => {
6677
6673
  if (trigger === "click") {
6678
6674
  document.addEventListener("mousedown", onClickOutside);
6679
6675
  return () => {
@@ -6681,7 +6677,7 @@ var TooltipComponent = forwardRef16(function Tooltip({
6681
6677
  };
6682
6678
  }
6683
6679
  }, [trigger, onClickOutside]);
6684
- useEffect12(() => {
6680
+ useEffect13(() => {
6685
6681
  if (!disabled) return;
6686
6682
  closeTooltip();
6687
6683
  }, [disabled]);
@@ -6844,7 +6840,7 @@ Tooltip2.sectionTitle = TooltipComponent.sectionTitle;
6844
6840
  var Tooltip_default = Tooltip2;
6845
6841
 
6846
6842
  // src/components/Tabs.tsx
6847
- import { forwardRef as forwardRef17, memo as memo25, useCallback as useCallback16, useEffect as useEffect13, useImperativeHandle as useImperativeHandle4, useMemo as useMemo11, useRef as useRef8, useState as useState13 } from "react";
6843
+ 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
6844
  import { useBetterCoreContext as useBetterCoreContext9, useTheme as useTheme27 } from "react-better-core";
6849
6845
  import { jsx as jsx25, jsxs as jsxs21 } from "react/jsx-runtime";
6850
6846
  var tabBottomLineWidth = 2;
@@ -6893,7 +6889,7 @@ var TabsComponent = forwardRef17(function Tabs({ tabs, name, accentColor, style
6893
6889
  });
6894
6890
  return spacing;
6895
6891
  }, [selectedTab, tabs, tabsGap]);
6896
- useEffect13(() => {
6892
+ useEffect14(() => {
6897
6893
  const timeout = setTimeout(() => {
6898
6894
  setRerenderState(Math.random());
6899
6895
  firstRenderPassedRef.current = true;
@@ -6902,7 +6898,7 @@ var TabsComponent = forwardRef17(function Tabs({ tabs, name, accentColor, style
6902
6898
  clearTimeout(timeout);
6903
6899
  };
6904
6900
  }, []);
6905
- useEffect13(() => {
6901
+ useEffect14(() => {
6906
6902
  componentsState.tabs.setTabGroups((oldValue) => {
6907
6903
  const thisTabGroup = oldValue.find((item) => item.name === (name ?? defaultTabName));
6908
6904
  if (thisTabGroup) {
@@ -6923,13 +6919,13 @@ var TabsComponent = forwardRef17(function Tabs({ tabs, name, accentColor, style
6923
6919
  }
6924
6920
  });
6925
6921
  }, [selectedTab, name]);
6926
- useEffect13(() => {
6922
+ useEffect14(() => {
6927
6923
  tabsRef.current[selectedTab]?.scrollIntoView({
6928
6924
  behavior: firstRenderPassedRef.current ? "smooth" : void 0,
6929
6925
  block: "nearest"
6930
6926
  });
6931
6927
  }, [selectedTab]);
6932
- useEffect13(() => {
6928
+ useEffect14(() => {
6933
6929
  return () => {
6934
6930
  componentsState.tabs.setTabGroups(
6935
6931
  (oldValue) => oldValue.filter((item) => item.name !== (name ?? defaultTabName))
@@ -7021,7 +7017,7 @@ TabsComponent.content = function Content({ tab, tabWithDot, tabsGroupName, isIni
7021
7017
  () => componentsState.tabs.tabGroups.find((item) => item.name === (tabsGroupName ?? defaultTabName)),
7022
7018
  [componentsState.tabs, tabsGroupName]
7023
7019
  );
7024
- useEffect13(() => {
7020
+ useEffect14(() => {
7025
7021
  if (tabWithDot) {
7026
7022
  componentsState.tabs.setTabsWithDots?.((oldValue) => oldValue.includes(tab) ? oldValue : [...oldValue, tab]);
7027
7023
  } else {
@@ -7037,8 +7033,8 @@ Tabs2.content = TabsComponent.content;
7037
7033
  var Tabs_default = Tabs2;
7038
7034
 
7039
7035
  // src/components/Foldable.tsx
7040
- import { forwardRef as forwardRef18, memo as memo26, useCallback as useCallback17, useEffect as useEffect14, useImperativeHandle as useImperativeHandle5, useRef as useRef9, useState as useState14 } from "react";
7041
- import { useBooleanState as useBooleanState6, useTheme as useTheme28 } from "react-better-core";
7036
+ import { forwardRef as forwardRef18, memo as memo26, useCallback as useCallback17, useEffect as useEffect15, useImperativeHandle as useImperativeHandle5, useRef as useRef9, useState as useState14 } from "react";
7037
+ import { useBooleanState as useBooleanState7, useTheme as useTheme28 } from "react-better-core";
7042
7038
  import { jsx as jsx26, jsxs as jsxs22 } from "react/jsx-runtime";
7043
7039
  var animationDurationClose = 0.15;
7044
7040
  var animationDurationOpen = animationDurationClose * 2;
@@ -7063,7 +7059,7 @@ var FoldableComponent = forwardRef18(function Foldable({
7063
7059
  }, ref) {
7064
7060
  const theme2 = useTheme28();
7065
7061
  const bodyRef = useRef9(null);
7066
- const [internalIsOpen, setInternalIsOpen] = useBooleanState6(defaultOpen);
7062
+ const [internalIsOpen, setInternalIsOpen] = useBooleanState7(defaultOpen);
7067
7063
  const [bodyVirtualHeight, setBodyVirtualHeight] = useState14();
7068
7064
  const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
7069
7065
  const open = useCallback17(() => {
@@ -7078,7 +7074,7 @@ var FoldableComponent = forwardRef18(function Foldable({
7078
7074
  if (controlledIsOpen === void 0) setInternalIsOpen.toggle();
7079
7075
  onOpenChange?.(!isOpen);
7080
7076
  }, [controlledIsOpen, isOpen, onOpenChange]);
7081
- useEffect14(() => {
7077
+ useEffect15(() => {
7082
7078
  if (!bodyRef.current) return;
7083
7079
  const body = bodyRef.current;
7084
7080
  setBodyVirtualHeight(body.scrollHeight * 2);
@@ -7089,7 +7085,7 @@ var FoldableComponent = forwardRef18(function Foldable({
7089
7085
  clearTimeout(timeout);
7090
7086
  };
7091
7087
  }, [isOpen]);
7092
- useEffect14(() => {
7088
+ useEffect15(() => {
7093
7089
  if (!isOpen) return;
7094
7090
  if (!bodyRef.current) return;
7095
7091
  const observer = new ResizeObserver(() => {
@@ -7193,11 +7189,11 @@ Foldable2.box = FoldableComponent.box;
7193
7189
  var Foldable_default = Foldable2;
7194
7190
 
7195
7191
  // src/components/SideMenu.tsx
7196
- import { createContext as createContext2, memo as memo27, useCallback as useCallback18, useContext as useContext2, useEffect as useEffect15, useMemo as useMemo12, useState as useState15 } from "react";
7192
+ 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
7193
  import {
7198
7194
  lightenColor as lightenColor3,
7199
7195
  useBetterCoreContext as useBetterCoreContext10,
7200
- useBooleanState as useBooleanState7,
7196
+ useBooleanState as useBooleanState8,
7201
7197
  useTheme as useTheme29
7202
7198
  } from "react-better-core";
7203
7199
  import { Fragment as Fragment8, jsx as jsx27, jsxs as jsxs23 } from "react/jsx-runtime";
@@ -7224,7 +7220,7 @@ var MenuItemComponent = memo27(function MenuItemComponent2({ item, backgroundCol
7224
7220
  const { components, sideMenuIsCollapsed, setSideMenuIsCollapsed } = useBetterHtmlContextInternal();
7225
7221
  const { colorTheme } = useBetterCoreContext10();
7226
7222
  const { activeItem, setActiveItem } = useSideMenuContext();
7227
- const [isOpened, setIsOpened] = useBooleanState7();
7223
+ const [isOpened, setIsOpened] = useBooleanState8();
7228
7224
  const isCollapsed = sideMenuIsCollapsed && !mediaQuery.size1000;
7229
7225
  const onClickElement = useCallback18(() => {
7230
7226
  if (item.disabled) return;
@@ -7303,7 +7299,7 @@ var MenuItemComponent = memo27(function MenuItemComponent2({ item, backgroundCol
7303
7299
  )
7304
7300
  }
7305
7301
  );
7306
- useEffect15(() => {
7302
+ useEffect16(() => {
7307
7303
  if (!item.href) return;
7308
7304
  const isActive2 = location.pathname === "/" ? location.pathname === item.href : location.pathname.startsWith(item.href) && item.href !== "/";
7309
7305
  if (!isActive2) return;
@@ -7314,14 +7310,14 @@ var MenuItemComponent = memo27(function MenuItemComponent2({ item, backgroundCol
7314
7310
  } : void 0
7315
7311
  );
7316
7312
  }, [location.pathname]);
7317
- useEffect15(() => {
7313
+ useEffect16(() => {
7318
7314
  if (!item.children) return;
7319
7315
  const toBeOpened = item.children.some(
7320
7316
  (child) => child.href ? location.pathname === "/" ? location.pathname === child.href : location.pathname.startsWith(child.href) && child.href !== "/" : false
7321
7317
  );
7322
7318
  setIsOpened.setState(toBeOpened);
7323
7319
  }, [item]);
7324
- useEffect15(() => {
7320
+ useEffect16(() => {
7325
7321
  if (!isCollapsed) return;
7326
7322
  setIsOpened.setFalse();
7327
7323
  }, [isCollapsed]);
@@ -7621,7 +7617,7 @@ SideMenuComponent.pageHolder = function SideMenuPageHolder({ outsideComponent, .
7621
7617
  SideMenuComponent.burgerButton = function BurgerButton() {
7622
7618
  const theme2 = useTheme29();
7623
7619
  const { sideMenuIsOpenMobile, setSideMenuIsOpenMobile } = useBetterHtmlContextInternal();
7624
- const [isHovered, setIsHovered] = useBooleanState7();
7620
+ const [isHovered, setIsHovered] = useBooleanState8();
7625
7621
  const width = 2;
7626
7622
  return /* @__PURE__ */ jsxs23(
7627
7623
  Div_default,
@@ -7740,7 +7736,7 @@ export {
7740
7736
  sideMenuControls,
7741
7737
  useAlertControls,
7742
7738
  useBetterHtmlContext,
7743
- useBooleanState8 as useBooleanState,
7739
+ useBooleanState9 as useBooleanState,
7744
7740
  useDebounceState3 as useDebounceState,
7745
7741
  useForm,
7746
7742
  useLoader2 as useLoader,