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.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,
@@ -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 useEffect4, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
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, useState as useState2 } from "react";
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] = useState2(false);
2241
- const [isOpenedLate, setIsOpenedLate] = useState2(false);
2243
+ const [isOpened, setIsOpened] = useBooleanState2(false);
2244
+ const [isOpenedLate, setIsOpenedLate] = useBooleanState2(false);
2242
2245
  const onClickOpen = useCallback4(() => {
2243
2246
  dialogRef.current?.showModal();
2244
- setIsOpened(true);
2245
- setIsOpenedLate(true);
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(false);
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(false);
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 (alert.display === "prominent") return;
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
- useEffect4(() => {
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 alert.display === "prominent" ? /* @__PURE__ */ jsx10(
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] = useBooleanState2();
2951
- const [sideMenuIsOpenMobile, setSideMenuIsOpenMobile] = useBooleanState2();
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
- useEffect5(() => {
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
- useEffect5(() => {
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 useEffect8, useMemo as useMemo6, useRef as useRef5, useId as useId2 } from "react";
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 useBooleanState4,
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 useEffect6, useMemo as useMemo4, useRef as useRef4, useState as useState5 } from "react";
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 useBooleanState3,
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] = useBooleanState3();
3482
- const [isOpenLate, setIsOpenLate] = useBooleanState3();
3483
- const [isFocused, setIsFocused] = useBooleanState3();
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
- useEffect6(() => {
3644
+ useEffect7(() => {
3643
3645
  setInternalValue(controlledValue);
3644
3646
  }, [controlledValue]);
3645
- useEffect6(() => {
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
- useEffect6(() => {
3658
+ useEffect7(() => {
3657
3659
  setFocusedOptionIndex(void 0);
3658
3660
  }, [filteredOptions]);
3659
- useEffect6(() => {
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
- useEffect6(() => {
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 useEffect7, useId } from "react";
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
- useEffect7(() => {
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
- useEffect8(() => {
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] = useBooleanState4(true);
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] = useBooleanState4();
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
- useEffect8(() => {
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
- useEffect8(() => {
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
- useEffect8(() => {
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
- useEffect8(() => {
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 useBooleanState5, useTheme as useTheme20 } from "react-better-core";
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] = useBooleanState5();
5264
- const [isMouseDown, setIsMouseDown] = useBooleanState5();
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 useEffect9, useState as useState9 } from "react";
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
- useEffect9(() => {
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 useEffect11,
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 useEffect10, useMemo as useMemo8, useState as useState10 } from "react";
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
- useEffect10(() => {
5602
+ useEffect11(() => {
5601
5603
  onChangePage?.(currentPageInternal);
5602
5604
  }, [currentPageInternal, onChangePage]);
5603
- useEffect10(() => {
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
- useEffect11(() => {
6166
+ useEffect12(() => {
6165
6167
  onChangePage?.(currentPage);
6166
6168
  }, [onChangePage, currentPage]);
6167
- useEffect11(() => {
6169
+ useEffect12(() => {
6168
6170
  onChangeFilter?.(filterData);
6169
6171
  }, [onChangeFilter, filterData]);
6170
- useEffect11(() => {
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
- useEffect11(() => {
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 useEffect12, forwardRef as forwardRef16, useImperativeHandle as useImperativeHandle3, useMemo as useMemo10 } from "react";
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
- useEffect12(() => {
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
- useEffect12(() => {
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 useEffect13, useImperativeHandle as useImperativeHandle4, useMemo as useMemo11, useRef as useRef8, useState as useState13 } from "react";
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
- useEffect13(() => {
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
- useEffect13(() => {
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
- useEffect13(() => {
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
- useEffect13(() => {
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
- useEffect13(() => {
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 useEffect14, useImperativeHandle as useImperativeHandle5, useRef as useRef9, useState as useState14 } from "react";
7041
- import { useBooleanState as useBooleanState6, useTheme as useTheme28 } from "react-better-core";
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] = useBooleanState6(defaultOpen);
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
- useEffect14(() => {
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
- useEffect14(() => {
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 useEffect15, useMemo as useMemo12, useState as useState15 } from "react";
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 useBooleanState7,
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] = useBooleanState7();
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
- useEffect15(() => {
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
- useEffect15(() => {
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
- useEffect15(() => {
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] = useBooleanState7();
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
- useBooleanState8 as useBooleanState,
7745
+ useBooleanState9 as useBooleanState,
7744
7746
  useDebounceState3 as useDebounceState,
7745
7747
  useForm,
7746
7748
  useLoader2 as useLoader,