react-better-html 1.1.253 → 1.1.254

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.js CHANGED
@@ -7444,11 +7444,12 @@ var TabsComponent = (0, import_react29.forwardRef)(function Tabs({ tabs, name, a
7444
7444
  const firstRenderPassedRef = (0, import_react29.useRef)(false);
7445
7445
  const tabsRef = (0, import_react29.useRef)({});
7446
7446
  const [selectedTab, setSelectedTab] = (0, import_react29.useState)(() => {
7447
- const selectedTabId = tabs[0]?.id ?? "";
7447
+ const selectedTabId = tabs[0];
7448
7448
  if (urlQuery) {
7449
7449
  const tabQueryValue = urlQuery.getQuery(name ?? defaultTabName);
7450
7450
  if (!tabQueryValue) return selectedTabId;
7451
- if (tabs.some((tab) => tab.id === tabQueryValue)) return tabQueryValue;
7451
+ const queryTab = tabs.find((tab) => tab.id === tabQueryValue);
7452
+ if (queryTab) return queryTab;
7452
7453
  }
7453
7454
  return selectedTabId;
7454
7455
  });
@@ -7456,7 +7457,7 @@ var TabsComponent = (0, import_react29.forwardRef)(function Tabs({ tabs, name, a
7456
7457
  const tabsGap = style === "box" ? theme2.styles.gap / 2 : 0;
7457
7458
  const onClickTab = (0, import_react29.useCallback)(
7458
7459
  (tab) => {
7459
- setSelectedTab(tab.id);
7460
+ setSelectedTab(tab);
7460
7461
  onChange?.(tab);
7461
7462
  if (urlQuery) {
7462
7463
  urlQuery.setQuery({
@@ -7467,11 +7468,11 @@ var TabsComponent = (0, import_react29.forwardRef)(function Tabs({ tabs, name, a
7467
7468
  [onChange, name, urlQuery]
7468
7469
  );
7469
7470
  const width = (0, import_react29.useMemo)(
7470
- () => tabsRef.current[selectedTab]?.getBoundingClientRect().width ?? 0,
7471
+ () => tabsRef.current[selectedTab.id]?.getBoundingClientRect().width ?? 0,
7471
7472
  [rerenderState, selectedTab]
7472
7473
  );
7473
7474
  const leftSpacing = (0, import_react29.useMemo)(() => {
7474
- const selectedTabIndex = tabs.findIndex((tab) => tab.id === selectedTab);
7475
+ const selectedTabIndex = tabs.findIndex((tab) => tab.id === selectedTab.id);
7475
7476
  let spacing = 0;
7476
7477
  Object.values(tabsRef.current).forEach((tab, index) => {
7477
7478
  if (index < selectedTabIndex) spacing += (tab?.getBoundingClientRect().width ?? 0) + tabsGap;
@@ -7494,7 +7495,7 @@ var TabsComponent = (0, import_react29.forwardRef)(function Tabs({ tabs, name, a
7494
7495
  return oldValue.map(
7495
7496
  (item) => item.name === (name ?? defaultTabName) ? {
7496
7497
  ...item,
7497
- selectedTab
7498
+ selectedTab: selectedTab.id
7498
7499
  } : item
7499
7500
  );
7500
7501
  } else {
@@ -7502,14 +7503,14 @@ var TabsComponent = (0, import_react29.forwardRef)(function Tabs({ tabs, name, a
7502
7503
  ...oldValue,
7503
7504
  {
7504
7505
  name: name ?? defaultTabName,
7505
- selectedTab
7506
+ selectedTab: selectedTab.id
7506
7507
  }
7507
7508
  ];
7508
7509
  }
7509
7510
  });
7510
7511
  }, [selectedTab, name]);
7511
7512
  (0, import_react29.useEffect)(() => {
7512
- tabsRef.current[selectedTab]?.scrollIntoView({
7513
+ tabsRef.current[selectedTab.id]?.scrollIntoView({
7513
7514
  behavior: firstRenderPassedRef.current ? "smooth" : void 0,
7514
7515
  block: "nearest"
7515
7516
  });
@@ -7521,16 +7522,19 @@ var TabsComponent = (0, import_react29.forwardRef)(function Tabs({ tabs, name, a
7521
7522
  );
7522
7523
  };
7523
7524
  }, []);
7525
+ (0, import_react29.useEffect)(() => {
7526
+ onChange?.(selectedTab);
7527
+ }, []);
7524
7528
  (0, import_react29.useImperativeHandle)(ref, () => {
7525
7529
  return {
7526
- selectedTab,
7530
+ selectedTab: selectedTab.id,
7527
7531
  selectTab: onClickTab
7528
7532
  };
7529
7533
  }, [selectedTab, onClickTab]);
7530
7534
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Div_default.column, { width: "100%", gap: theme2.styles.space, ...props, children: [
7531
7535
  /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(Div_default, { position: "relative", className: "react-better-html-no-scrollbar", overflowY: "auto", children: [
7532
7536
  /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(Div_default.row, { position: "relative", width: "fit-content", gap: tabsGap, userSelect: "none", children: tabs.map((tab) => {
7533
- const selected = tab.id === selectedTab;
7537
+ const selected = tab.id === selectedTab.id;
7534
7538
  return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(
7535
7539
  Div_default,
7536
7540
  {