fui-material 2.1.0 → 2.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import React, { forwardRef, useRef, useState, useEffect, useMemo, useCallback, useLayoutEffect, Fragment, isValidElement, cloneElement } from "react";
2
- import ReactDOM from "react-dom";
2
+ import ReactDOM, { createPortal } from "react-dom";
3
3
  import './main.css';function _mergeNamespaces(n, m) {
4
4
  for (var i = 0; i < m.length; i++) {
5
5
  const e = m[i];
@@ -1050,7 +1050,7 @@ const FTrashIcon = ({
1050
1050
  const progressBar = "_progressBar_1xp9s_48";
1051
1051
  const completed = "_completed_1xp9s_60";
1052
1052
  const progress = "_progress_1xp9s_48";
1053
- const styles$v = {
1053
+ const styles$w = {
1054
1054
  "file-preview-card": "_file-preview-card_1xp9s_1",
1055
1055
  "file-preview-info": "_file-preview-info_1xp9s_22",
1056
1056
  "file-preview-name": "_file-preview-name_1xp9s_28",
@@ -1072,18 +1072,18 @@ const FFile = ({
1072
1072
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1073
1073
  "div",
1074
1074
  {
1075
- className: `${styles$v["file-preview-card"]} ${className || ""}`,
1075
+ className: `${styles$w["file-preview-card"]} ${className || ""}`,
1076
1076
  id,
1077
1077
  style: st2,
1078
1078
  children: [
1079
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$v["file-preview-info"], children: [
1080
- /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: styles$v["file-preview-name"], title: name, children: name }),
1081
- typeof size === "number" && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: styles$v["file-preview-size"], children: [
1079
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$w["file-preview-info"], children: [
1080
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: styles$w["file-preview-name"], title: name, children: name }),
1081
+ typeof size === "number" && /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: styles$w["file-preview-size"], children: [
1082
1082
  Math.round(size / 1024),
1083
1083
  " КБ"
1084
1084
  ] })
1085
1085
  ] }),
1086
- handleDelete && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$v["trash-icon"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1086
+ handleDelete && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$w["trash-icon"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1087
1087
  FTrashIcon,
1088
1088
  {
1089
1089
  size: 20,
@@ -1091,10 +1091,10 @@ const FFile = ({
1091
1091
  handleClick: handleDelete
1092
1092
  }
1093
1093
  ) }),
1094
- typeof progress2 === "number" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$v.progressBar} ${progress2 === 100 ? styles$v.completed : ""}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1094
+ typeof progress2 === "number" && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$w.progressBar} ${progress2 === 100 ? styles$w.completed : ""}`, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1095
1095
  "div",
1096
1096
  {
1097
- className: styles$v.progress,
1097
+ className: styles$w.progress,
1098
1098
  style: { width: `${progress2}%` }
1099
1099
  }
1100
1100
  ) })
@@ -1197,7 +1197,7 @@ const FButtonFile = ({
1197
1197
  )) }) })
1198
1198
  ] });
1199
1199
  };
1200
- const styles$u = {
1200
+ const styles$v = {
1201
1201
  "f-text-field": "_f-text-field_200bb_1"
1202
1202
  };
1203
1203
  const FLoadIcon = ({ size = 30, st: st2, id, className, color = "primary" }) => {
@@ -1268,7 +1268,7 @@ const FTextField = forwardRef(
1268
1268
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1269
1269
  "div",
1270
1270
  {
1271
- className: `f-form-element ${styles$u["f-text-field"]} ${className || ""}`,
1271
+ className: `f-form-element ${styles$v["f-text-field"]} ${className || ""}`,
1272
1272
  style: mergedStyle,
1273
1273
  role: "group",
1274
1274
  id: inputId + "-text-field-block",
@@ -1359,7 +1359,7 @@ const FStack = ({
1359
1359
  }
1360
1360
  );
1361
1361
  };
1362
- const styles$t = {
1362
+ const styles$u = {
1363
1363
  "f-grid": "_f-grid_3g4xh_1",
1364
1364
  "f-grid__col": "_f-grid__col_3g4xh_10",
1365
1365
  "f-grid__col--auto": "_f-grid__col--auto_3g4xh_16",
@@ -1462,21 +1462,21 @@ const FGrid = ({
1462
1462
  xxl: xxl ?? xl ?? lg ?? md ?? sm ?? xs
1463
1463
  };
1464
1464
  const getColumnClasses = () => {
1465
- if (colAuto) return styles$t["f-grid__col--auto"];
1466
- const classes = [styles$t["f-grid__col"]];
1467
- if (resolvedSizes.xs !== void 0) classes.push(styles$t[`f-grid__col--xs-${resolvedSizes.xs}`]);
1468
- if (resolvedSizes.sm !== void 0) classes.push(styles$t[`f-grid__col--sm-${resolvedSizes.sm}`]);
1469
- if (resolvedSizes.md !== void 0) classes.push(styles$t[`f-grid__col--md-${resolvedSizes.md}`]);
1470
- if (resolvedSizes.lg !== void 0) classes.push(styles$t[`f-grid__col--lg-${resolvedSizes.lg}`]);
1471
- if (resolvedSizes.xl !== void 0) classes.push(styles$t[`f-grid__col--xl-${resolvedSizes.xl}`]);
1472
- if (resolvedSizes.xxl !== void 0) classes.push(styles$t[`f-grid__col--xxl-${resolvedSizes.xxl}`]);
1465
+ if (colAuto) return styles$u["f-grid__col--auto"];
1466
+ const classes = [styles$u["f-grid__col"]];
1467
+ if (resolvedSizes.xs !== void 0) classes.push(styles$u[`f-grid__col--xs-${resolvedSizes.xs}`]);
1468
+ if (resolvedSizes.sm !== void 0) classes.push(styles$u[`f-grid__col--sm-${resolvedSizes.sm}`]);
1469
+ if (resolvedSizes.md !== void 0) classes.push(styles$u[`f-grid__col--md-${resolvedSizes.md}`]);
1470
+ if (resolvedSizes.lg !== void 0) classes.push(styles$u[`f-grid__col--lg-${resolvedSizes.lg}`]);
1471
+ if (resolvedSizes.xl !== void 0) classes.push(styles$u[`f-grid__col--xl-${resolvedSizes.xl}`]);
1472
+ if (resolvedSizes.xxl !== void 0) classes.push(styles$u[`f-grid__col--xxl-${resolvedSizes.xxl}`]);
1473
1473
  return classes.join(" ");
1474
1474
  };
1475
1475
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
1476
1476
  obj === "container" && /* @__PURE__ */ jsxRuntimeExports.jsx(
1477
1477
  "div",
1478
1478
  {
1479
- className: `${styles$t["f-grid"]} ${className || ""}`,
1479
+ className: `${styles$u["f-grid"]} ${className || ""}`,
1480
1480
  style,
1481
1481
  id,
1482
1482
  children
@@ -1494,7 +1494,7 @@ const FGrid = ({
1494
1494
  obj === void 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className, style, id, children })
1495
1495
  ] });
1496
1496
  };
1497
- const styles$s = {
1497
+ const styles$t = {
1498
1498
  "f-grid-row": "_f-grid-row_1crbx_1",
1499
1499
  "f-grid-row--justify-start": "_f-grid-row--justify-start_1crbx_7",
1500
1500
  "f-grid-row--justify-center": "_f-grid-row--justify-center_1crbx_10",
@@ -1516,21 +1516,21 @@ const FGridRow = ({
1516
1516
  }) => {
1517
1517
  const getJustifyContentClass = () => {
1518
1518
  if (!justifyContent) return "";
1519
- return styles$s[`f-grid-row--justify-${justifyContent}`];
1519
+ return styles$t[`f-grid-row--justify-${justifyContent}`];
1520
1520
  };
1521
1521
  const getAlignItemsClass = () => {
1522
1522
  if (!alignItems) return "";
1523
- return styles$s[`f-grid-row--align-${alignItems}`];
1523
+ return styles$t[`f-grid-row--align-${alignItems}`];
1524
1524
  };
1525
1525
  const rowClasses = [
1526
- styles$s["f-grid-row"],
1526
+ styles$t["f-grid-row"],
1527
1527
  getJustifyContentClass(),
1528
1528
  getAlignItemsClass(),
1529
1529
  className
1530
1530
  ].filter(Boolean).join(" ");
1531
1531
  return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: rowClasses, style: st2, id, children });
1532
1532
  };
1533
- const styles$r = {
1533
+ const styles$s = {
1534
1534
  "f-container": "_f-container_g9ck3_1",
1535
1535
  "container-fluid": "_container-fluid_g9ck3_1",
1536
1536
  "container-xxl": "_container-xxl_g9ck3_1",
@@ -1550,7 +1550,7 @@ const FContainer = ({
1550
1550
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
1551
1551
  "div",
1552
1552
  {
1553
- className: `${styles$r["f-container"]} ${styles$r[maxWidth]} ${className || ""}`,
1553
+ className: `${styles$s["f-container"]} ${styles$s[maxWidth]} ${className || ""}`,
1554
1554
  style: st2,
1555
1555
  id,
1556
1556
  children
@@ -1558,7 +1558,7 @@ const FContainer = ({
1558
1558
  );
1559
1559
  };
1560
1560
  const panel = "_panel_yplsg_1";
1561
- const styles$q = {
1561
+ const styles$r = {
1562
1562
  panel,
1563
1563
  "panel-default": "_panel-default_yplsg_6",
1564
1564
  "panel-heading": "_panel-heading_yplsg_12",
@@ -1591,15 +1591,15 @@ const FPaper = ({
1591
1591
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
1592
1592
  "div",
1593
1593
  {
1594
- className: `${styles$q["panel"]} ${styles$q["panel-default"]} ${className || ""} ${animated ? `${styles$q[`animated-${animated.name}`]} ${animated.name}` : ""}`,
1594
+ className: `${styles$r["panel"]} ${styles$r["panel-default"]} ${className || ""} ${animated ? `${styles$r[`animated-${animated.name}`]} ${animated.name}` : ""}`,
1595
1595
  style: st2,
1596
1596
  id,
1597
1597
  onAnimationEnd,
1598
1598
  children: [
1599
- label && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$q["panel-heading"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1599
+ label && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$r["panel-heading"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1600
1600
  "h3",
1601
1601
  {
1602
- className: styles$q["panel-title"],
1602
+ className: styles$r["panel-title"],
1603
1603
  style: { fontSize: fontSizeLabel },
1604
1604
  children: label
1605
1605
  }
@@ -1607,7 +1607,7 @@ const FPaper = ({
1607
1607
  /* @__PURE__ */ jsxRuntimeExports.jsx(
1608
1608
  "div",
1609
1609
  {
1610
- className: styles$q["panel-body"],
1610
+ className: styles$r["panel-body"],
1611
1611
  style: { fontSize: fontSizeBody },
1612
1612
  children
1613
1613
  }
@@ -1620,7 +1620,7 @@ const bordered = "_bordered_19x7r_18";
1620
1620
  const left$1 = "_left_19x7r_40";
1621
1621
  const center = "_center_19x7r_43";
1622
1622
  const right = "_right_19x7r_46";
1623
- const styles$p = {
1623
+ const styles$q = {
1624
1624
  "f-table-component": "_f-table-component_19x7r_1",
1625
1625
  "f-table-component__table": "_f-table-component__table_19x7r_7",
1626
1626
  bordered,
@@ -1650,7 +1650,7 @@ const FTableHead = ({
1650
1650
  {
1651
1651
  style: st2,
1652
1652
  ...props,
1653
- className: `${styles$p["f-table-component__table_header"]} ${isSticky ? styles$p["is-sticky"] : ""} ${props.className || ""} ${styles$p[textAlignment]}`,
1653
+ className: `${styles$q["f-table-component__table_header"]} ${isSticky ? styles$q["is-sticky"] : ""} ${props.className || ""} ${styles$q[textAlignment]}`,
1654
1654
  children
1655
1655
  }
1656
1656
  );
@@ -1743,7 +1743,7 @@ const FTableBody = ({
1743
1743
  } else {
1744
1744
  visibleItems = flatChildren;
1745
1745
  }
1746
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("tbody", { ref: tableBodyRef, style: st2, ...props, className: `${styles$p["f-table-component__table_body"]} ${props.className || ""} ${styles$p[textAlignment]}`, children: [
1746
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("tbody", { ref: tableBodyRef, style: st2, ...props, className: `${styles$q["f-table-component__table_body"]} ${props.className || ""} ${styles$q[textAlignment]}`, children: [
1747
1747
  virtualizationEnabled && rowHeights.some((h) => h > 0) && /* @__PURE__ */ jsxRuntimeExports.jsx("tr", { style: { height: topOffset } }),
1748
1748
  visibleItems.map((child, idx) => React.isValidElement(child) ? React.cloneElement(child, { "data-row-index": virtualizationEnabled ? startIdx + idx : idx, key: virtualizationEnabled ? startIdx + idx : idx }) : child),
1749
1749
  virtualizationEnabled && rowHeights.some((h) => h > 0) && /* @__PURE__ */ jsxRuntimeExports.jsx("tr", { style: { height: bottomOffset } })
@@ -1782,14 +1782,14 @@ const FTable = ({
1782
1782
  "div",
1783
1783
  {
1784
1784
  ref: tableWrapperRef,
1785
- className: styles$p["f-table-component"],
1785
+ className: styles$q["f-table-component"],
1786
1786
  style: { overflowX, overflowY },
1787
1787
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1788
1788
  "table",
1789
1789
  {
1790
1790
  style: st2,
1791
1791
  ...props,
1792
- className: `table ${styles$p["f-table-component__table"]} ${styles$p["bordered"]} ${styles$p["bordered-half"]} ${props.className || ""}`,
1792
+ className: `table ${styles$q["f-table-component__table"]} ${styles$q["bordered"]} ${styles$q["bordered-half"]} ${props.className || ""}`,
1793
1793
  children: React.Children.map(children, (child) => {
1794
1794
  if (React.isValidElement(child) && child.type === FTableHead) {
1795
1795
  const headProps = child.props;
@@ -1829,7 +1829,7 @@ const FTableRow = ({
1829
1829
  {
1830
1830
  style: st2,
1831
1831
  ...props,
1832
- className: `${styles$p["f-table-component__table_row"]} ${props.className || ""}${textAlignment !== void 0 ? ` ${styles$p[textAlignment]}` : ""}`,
1832
+ className: `${styles$q["f-table-component__table_row"]} ${props.className || ""}${textAlignment !== void 0 ? ` ${styles$q[textAlignment]}` : ""}`,
1833
1833
  children
1834
1834
  }
1835
1835
  );
@@ -1857,7 +1857,7 @@ const FTableHeaderCell = ({
1857
1857
  rowSpan: row && row > 1 ? row : void 0,
1858
1858
  colSpan: col && col > 1 ? col : void 0,
1859
1859
  ...props,
1860
- className: `${styles$p["f-table-component__table_header-cell"]} ${props.className || ""}`,
1860
+ className: `${styles$q["f-table-component__table_header-cell"]} ${props.className || ""}`,
1861
1861
  children
1862
1862
  }
1863
1863
  );
@@ -1885,7 +1885,7 @@ const FTableDataCell = ({
1885
1885
  rowSpan: row && row > 1 ? row : void 0,
1886
1886
  colSpan: col && col > 1 ? col : void 0,
1887
1887
  ...props,
1888
- className: `${styles$p["f-table-component__table_body-cell"]} ${props.className || ""}`,
1888
+ className: `${styles$q["f-table-component__table_body-cell"]} ${props.className || ""}`,
1889
1889
  children
1890
1890
  }
1891
1891
  );
@@ -1900,14 +1900,14 @@ const FTableFooter = ({
1900
1900
  {
1901
1901
  style: st2,
1902
1902
  ...props,
1903
- className: `${styles$p["f-table-component__table_footer"]} ${props.className || ""}`,
1903
+ className: `${styles$q["f-table-component__table_footer"]} ${props.className || ""}`,
1904
1904
  children
1905
1905
  }
1906
1906
  );
1907
1907
  };
1908
1908
  const active$4 = "_active_16jkc_16";
1909
1909
  const hide = "_hide_16jkc_37";
1910
- const styles$o = {
1910
+ const styles$p = {
1911
1911
  "f-dialog": "_f-dialog_16jkc_1",
1912
1912
  "active-dialog": "_active-dialog_16jkc_16",
1913
1913
  "f-dialog__content": "_f-dialog__content_16jkc_20",
@@ -1959,12 +1959,12 @@ const FDialog = ({
1959
1959
  {
1960
1960
  id,
1961
1961
  style: st2,
1962
- className: `${styles$o["f-dialog"]} ${openAndClose ? styles$o["active-dialog"] : ""} ${className || ""}`,
1962
+ className: `${styles$p["f-dialog"]} ${openAndClose ? styles$p["active-dialog"] : ""} ${className || ""}`,
1963
1963
  onClick: () => closeButtonBackPage == null ? void 0 : closeButtonBackPage(false),
1964
1964
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1965
1965
  "div",
1966
1966
  {
1967
- className: `${styles$o["f-dialog__content"]} ${openAndClose ? styles$o["active"] : ""} ${hide2 ? styles$o["hide"] : ""}`,
1967
+ className: `${styles$p["f-dialog__content"]} ${openAndClose ? styles$p["active"] : ""} ${hide2 ? styles$p["hide"] : ""}`,
1968
1968
  style: {
1969
1969
  width: contentWidth
1970
1970
  },
@@ -1993,9 +1993,9 @@ const FCloseIcon = ({ color = "primary", size = 30, st: st2, id, className, hand
1993
1993
  );
1994
1994
  };
1995
1995
  const FDialogHeader = ({ title, handleClose }) => {
1996
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$o["f-dialog__header"], children: [
1997
- /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: styles$o["f-dialog__header_title"], children: title }),
1998
- handleClose && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$o["f-dialog__header_close"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1996
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$p["f-dialog__header"], children: [
1997
+ /* @__PURE__ */ jsxRuntimeExports.jsx("h3", { className: styles$p["f-dialog__header_title"], children: title }),
1998
+ handleClose && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$p["f-dialog__header_close"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
1999
1999
  FCloseIcon,
2000
2000
  {
2001
2001
  handleClose,
@@ -2010,7 +2010,7 @@ const FDialogBody = ({ st: st2, children, scroll = true }) => {
2010
2010
  ...scroll ? { overflowY: "auto" } : {},
2011
2011
  ...st2
2012
2012
  };
2013
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$o["f-dialog__body"], style, children });
2013
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$p["f-dialog__body"], style, children });
2014
2014
  };
2015
2015
  const FDialogFooter = ({ children, className, st: st2, id }) => {
2016
2016
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -2018,7 +2018,7 @@ const FDialogFooter = ({ children, className, st: st2, id }) => {
2018
2018
  {
2019
2019
  id,
2020
2020
  style: st2,
2021
- className: `${styles$o["f-dialog__footer"]} ${className || ""}`,
2021
+ className: `${styles$p["f-dialog__footer"]} ${className || ""}`,
2022
2022
  children
2023
2023
  }
2024
2024
  );
@@ -2033,7 +2033,7 @@ const info$2 = "_info_1lhk7_62";
2033
2033
  const light = "_light_1lhk7_66";
2034
2034
  const dark = "_dark_1lhk7_70";
2035
2035
  const link$1 = "_link_1lhk7_74";
2036
- const styles$n = {
2036
+ const styles$o = {
2037
2037
  "authorization-spinner": "_authorization-spinner_1lhk7_1",
2038
2038
  "spinner-item": "_spinner-item_1lhk7_7",
2039
2039
  loader,
@@ -2051,14 +2051,14 @@ const FProgress = ({ st: st2, color = "primary", id, className }) => {
2051
2051
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2052
2052
  "div",
2053
2053
  {
2054
- className: `${styles$n["authorization-spinner"]} ${styles$n.visible} ${className || ""}`,
2054
+ className: `${styles$o["authorization-spinner"]} ${styles$o.visible} ${className || ""}`,
2055
2055
  id,
2056
2056
  style: st2,
2057
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$n["spinner-item"]} ${styles$n[color]}` })
2057
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$o["spinner-item"]} ${styles$o[color]}` })
2058
2058
  }
2059
2059
  );
2060
2060
  };
2061
- const styles$m = {
2061
+ const styles$n = {
2062
2062
  "f-preloader": "_f-preloader_17f9x_1",
2063
2063
  "active-preloader": "_active-preloader_17f9x_10"
2064
2064
  };
@@ -2085,13 +2085,13 @@ const FPreloader = ({
2085
2085
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2086
2086
  "div",
2087
2087
  {
2088
- className: `${styles$m["f-preloader"]} ${open ? styles$m["active-preloader"] : ""}`,
2088
+ className: `${styles$n["f-preloader"]} ${open ? styles$n["active-preloader"] : ""}`,
2089
2089
  style: mergedStyle,
2090
2090
  children
2091
2091
  }
2092
2092
  );
2093
2093
  };
2094
- const styles$l = {
2094
+ const styles$m = {
2095
2095
  "f-checkbox": "_f-checkbox_9rvqg_1"
2096
2096
  };
2097
2097
  const FCheckbox = forwardRef(
@@ -2105,7 +2105,7 @@ const FCheckbox = forwardRef(
2105
2105
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2106
2106
  "div",
2107
2107
  {
2108
- className: `${styles$l["f-checkbox"]} ${className || ""}`,
2108
+ className: `${styles$m["f-checkbox"]} ${className || ""}`,
2109
2109
  id,
2110
2110
  style: st2,
2111
2111
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { children: [
@@ -2116,7 +2116,7 @@ const FCheckbox = forwardRef(
2116
2116
  );
2117
2117
  }
2118
2118
  );
2119
- const styles$k = {
2119
+ const styles$l = {
2120
2120
  "f-radio": "_f-radio_cwhmx_1"
2121
2121
  };
2122
2122
  const FRadioButton = ({
@@ -2131,7 +2131,7 @@ const FRadioButton = ({
2131
2131
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2132
2132
  "div",
2133
2133
  {
2134
- className: `${styles$k["f-radio"]} ${className || ""}`,
2134
+ className: `${styles$l["f-radio"]} ${className || ""}`,
2135
2135
  style: st2,
2136
2136
  id,
2137
2137
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { children: [
@@ -2201,7 +2201,7 @@ const selected = "_selected_aham2_33";
2201
2201
  const disabled$1 = "_disabled_aham2_37";
2202
2202
  const arrow = "_arrow_aham2_43";
2203
2203
  const left = "_left_aham2_56";
2204
- const styles$j = {
2204
+ const styles$k = {
2205
2205
  "pagination-container": "_pagination-container_aham2_1",
2206
2206
  "pagination-item": "_pagination-item_aham2_9",
2207
2207
  dots,
@@ -2235,26 +2235,26 @@ const FPagination = ({
2235
2235
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2236
2236
  "ul",
2237
2237
  {
2238
- className: `${styles$j["pagination-container"]} ${className || ""}`,
2238
+ className: `${styles$k["pagination-container"]} ${className || ""}`,
2239
2239
  style: st2,
2240
2240
  id,
2241
2241
  children: [
2242
2242
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2243
2243
  "li",
2244
2244
  {
2245
- className: `${styles$j["pagination-item"]} ${currentPage === 1 ? styles$j.disabled : ""}`,
2245
+ className: `${styles$k["pagination-item"]} ${currentPage === 1 ? styles$k.disabled : ""}`,
2246
2246
  onClick: onPrevious,
2247
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$j.arrow} ${styles$j.left}` })
2247
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$k.arrow} ${styles$k.left}` })
2248
2248
  }
2249
2249
  ),
2250
2250
  paginationRange.map((pageNumber, index) => {
2251
2251
  if (pageNumber === DOTS) {
2252
- return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { className: `${styles$j["pagination-item"]} ${styles$j.dots}`, children: "…" }, index);
2252
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("li", { className: `${styles$k["pagination-item"]} ${styles$k.dots}`, children: "…" }, index);
2253
2253
  }
2254
2254
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
2255
2255
  "li",
2256
2256
  {
2257
- className: `${styles$j["pagination-item"]} ${pageNumber === currentPage ? styles$j.selected : ""}`,
2257
+ className: `${styles$k["pagination-item"]} ${pageNumber === currentPage ? styles$k.selected : ""}`,
2258
2258
  onClick: () => onPageChange(pageNumber),
2259
2259
  children: pageNumber
2260
2260
  },
@@ -2264,16 +2264,16 @@ const FPagination = ({
2264
2264
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2265
2265
  "li",
2266
2266
  {
2267
- className: `${styles$j["pagination-item"]} ${currentPage === lastPage ? styles$j.disabled : ""}`,
2267
+ className: `${styles$k["pagination-item"]} ${currentPage === lastPage ? styles$k.disabled : ""}`,
2268
2268
  onClick: onNext,
2269
- children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$j.arrow} ${styles$j.right}` })
2269
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$k.arrow} ${styles$k.right}` })
2270
2270
  }
2271
2271
  )
2272
2272
  ]
2273
2273
  }
2274
2274
  );
2275
2275
  };
2276
- const styles$i = {
2276
+ const styles$j = {
2277
2277
  "f-time-line": "_f-time-line_1ybe7_1",
2278
2278
  "f-time-line__block": "_f-time-line__block_1ybe7_10",
2279
2279
  "f-time-line__block-circle": "_f-time-line__block-circle_1ybe7_29",
@@ -2287,7 +2287,7 @@ const FTimeline = ({
2287
2287
  id,
2288
2288
  className
2289
2289
  }) => {
2290
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$i["f-time-line"]} ${className || ""}`, style: st2, id, children });
2290
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$j["f-time-line"]} ${className || ""}`, style: st2, id, children });
2291
2291
  };
2292
2292
  const FTimelineCard = ({
2293
2293
  children,
@@ -2296,17 +2296,17 @@ const FTimelineCard = ({
2296
2296
  id,
2297
2297
  className
2298
2298
  }) => {
2299
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${styles$i["f-time-line__block"]} ${className || ""}`, id, children: [
2300
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["f-time-line__block-circle"] }),
2301
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$i["f-time-line__block-inner"], style: st2, children: [
2302
- title && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["f-time-line__block-title"], children: title }),
2303
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["f-time-line__block-content"], children })
2299
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${styles$j["f-time-line__block"]} ${className || ""}`, id, children: [
2300
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$j["f-time-line__block-circle"] }),
2301
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$j["f-time-line__block-inner"], style: st2, children: [
2302
+ title && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$j["f-time-line__block-title"], children: title }),
2303
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$j["f-time-line__block-content"], children })
2304
2304
  ] })
2305
2305
  ] });
2306
2306
  };
2307
2307
  const spinner = "_spinner_f7bma_133";
2308
2308
  const active$3 = "_active_f7bma_183";
2309
- const styles$h = {
2309
+ const styles$i = {
2310
2310
  "fv-opn-img-full": "_fv-opn-img-full_f7bma_1",
2311
2311
  "fv-opn-img-full-body": "_fv-opn-img-full-body_f7bma_19",
2312
2312
  "close-button": "_close-button_f7bma_33",
@@ -2441,10 +2441,10 @@ const FOpenImgFull = ({
2441
2441
  {
2442
2442
  openAndClose,
2443
2443
  st: st2,
2444
- className: `${styles$h["fv-opn-img-full"]} ${className || ""}`,
2444
+ className: `${styles$i["fv-opn-img-full"]} ${className || ""}`,
2445
2445
  id,
2446
- children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$h["fv-opn-img-full-body"], children: [
2447
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["close-button"], children: handleClose && /* @__PURE__ */ jsxRuntimeExports.jsx(
2446
+ children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$i["fv-opn-img-full-body"], children: [
2447
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["close-button"], children: handleClose && /* @__PURE__ */ jsxRuntimeExports.jsx(
2448
2448
  FCloseIcon,
2449
2449
  {
2450
2450
  handleClose: () => {
@@ -2456,21 +2456,21 @@ const FOpenImgFull = ({
2456
2456
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
2457
2457
  "div",
2458
2458
  {
2459
- className: styles$h["image-container"],
2459
+ className: styles$i["image-container"],
2460
2460
  onTouchStart: handleTouchStart,
2461
2461
  onTouchMove: handleTouchMove,
2462
2462
  onTouchEnd: handleTouchEnd,
2463
2463
  children: [
2464
- selectedImg > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["arrow-left"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2464
+ selectedImg > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["arrow-left"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2465
2465
  FArrowIcon,
2466
2466
  {
2467
2467
  direction: "left",
2468
2468
  handleClick: () => setSelectedImg(selectedImg - 1)
2469
2469
  }
2470
2470
  ) }),
2471
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$h["image-wrapper"], children: [
2472
- isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["loading-spinner"], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["spinner"] }) }),
2473
- error2 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["error-message"], children: "Ошибка загрузки изображения" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
2471
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$i["image-wrapper"], children: [
2472
+ isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["loading-spinner"], children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["spinner"] }) }),
2473
+ error2 ? /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["error-message"], children: "Ошибка загрузки изображения" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
2474
2474
  "img",
2475
2475
  {
2476
2476
  src: imagesUrl[selectedImg],
@@ -2480,7 +2480,7 @@ const FOpenImgFull = ({
2480
2480
  setError(true);
2481
2481
  setIsLoading(false);
2482
2482
  },
2483
- className: styles$h["full-image"],
2483
+ className: styles$i["full-image"],
2484
2484
  onClick: handleImageClick,
2485
2485
  style: {
2486
2486
  cursor: "zoom-in",
@@ -2490,7 +2490,7 @@ const FOpenImgFull = ({
2490
2490
  }
2491
2491
  )
2492
2492
  ] }),
2493
- selectedImg < imagesUrl.length - 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["arrow-right"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2493
+ selectedImg < imagesUrl.length - 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["arrow-right"], children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2494
2494
  FArrowIcon,
2495
2495
  {
2496
2496
  direction: "right",
@@ -2500,10 +2500,10 @@ const FOpenImgFull = ({
2500
2500
  ]
2501
2501
  }
2502
2502
  ),
2503
- imagesUrl.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$h["progress-indicator"], children: imagesUrl.map((_, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
2503
+ imagesUrl.length > 1 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$i["progress-indicator"], children: imagesUrl.map((_, index) => /* @__PURE__ */ jsxRuntimeExports.jsx(
2504
2504
  "div",
2505
2505
  {
2506
- className: `${styles$h["progress-dot"]} ${index === selectedImg ? styles$h["active"] : ""}`,
2506
+ className: `${styles$i["progress-dot"]} ${index === selectedImg ? styles$i["active"] : ""}`,
2507
2507
  onClick: () => setSelectedImg(index)
2508
2508
  },
2509
2509
  index
@@ -2516,7 +2516,7 @@ const card = "_card_1pttw_1";
2516
2516
  const warning$3 = "_warning_1pttw_16";
2517
2517
  const info$1 = "_info_1pttw_24";
2518
2518
  const alert$1 = "_alert_1pttw_32";
2519
- const styles$g = {
2519
+ const styles$h = {
2520
2520
  card,
2521
2521
  warning: warning$3,
2522
2522
  info: info$1,
@@ -2544,16 +2544,16 @@ const FAccordion = ({
2544
2544
  "div",
2545
2545
  {
2546
2546
  onClick,
2547
- className: `${styles$g.card} ${className || ""}`,
2547
+ className: `${styles$h.card} ${className || ""}`,
2548
2548
  id,
2549
2549
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(
2550
2550
  "details",
2551
2551
  {
2552
- className: styles$g[variant],
2552
+ className: styles$h[variant],
2553
2553
  open: isOpen,
2554
2554
  style: st2,
2555
2555
  children: [
2556
- /* @__PURE__ */ jsxRuntimeExports.jsx("summary", { className: styles$g["fv-accord-title"], children: title }),
2556
+ /* @__PURE__ */ jsxRuntimeExports.jsx("summary", { className: styles$h["fv-accord-title"], children: title }),
2557
2557
  children
2558
2558
  ]
2559
2559
  }
@@ -2562,7 +2562,7 @@ const FAccordion = ({
2562
2562
  );
2563
2563
  };
2564
2564
  const container = "_container_6r9j2_1";
2565
- const styles$f = {
2565
+ const styles$g = {
2566
2566
  container,
2567
2567
  "custom-file": "_custom-file_6r9j2_6",
2568
2568
  "custom-file-input": "_custom-file-input_6r9j2_9",
@@ -2689,11 +2689,11 @@ const FInputFileForm = ({
2689
2689
  setUploadProgress({});
2690
2690
  }
2691
2691
  }, [deleteFile]);
2692
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$f.container, children: [
2692
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$g.container, children: [
2693
2693
  /* @__PURE__ */ jsxRuntimeExports.jsxs(
2694
2694
  "div",
2695
2695
  {
2696
- className: `${styles$f["custom-file"]} ${styles$f["custom-file-dropzone"]} ${isDragging ? styles$f.dragging : ""}`,
2696
+ className: `${styles$g["custom-file"]} ${styles$g["custom-file-dropzone"]} ${isDragging ? styles$g.dragging : ""}`,
2697
2697
  style: st2,
2698
2698
  onDragOver: handleDragOver,
2699
2699
  onDragLeave: handleDragLeave,
@@ -2705,7 +2705,7 @@ const FInputFileForm = ({
2705
2705
  required,
2706
2706
  accept,
2707
2707
  type: "file",
2708
- className: `${styles$f["custom-file-input"]} ${className || ""}`,
2708
+ className: `${styles$g["custom-file-input"]} ${className || ""}`,
2709
2709
  name,
2710
2710
  id,
2711
2711
  title,
@@ -2716,11 +2716,11 @@ const FInputFileForm = ({
2716
2716
  ref: inputRef
2717
2717
  }
2718
2718
  ),
2719
- /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { htmlFor: id, className: styles$f["custom-file-label"], style: disabled2 ? { backgroundColor: "#F3F3F3", border: "1px dashed #C4C4C4" } : void 0, children: [
2719
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("label", { htmlFor: id, className: styles$g["custom-file-label"], style: disabled2 ? { backgroundColor: "#F3F3F3", border: "1px dashed #C4C4C4" } : void 0, children: [
2720
2720
  /* @__PURE__ */ jsxRuntimeExports.jsx(
2721
2721
  "svg",
2722
2722
  {
2723
- className: `${styles$f["svg-icon"]} ${styles$f["icon-md"]}`,
2723
+ className: `${styles$g["svg-icon"]} ${styles$g["icon-md"]}`,
2724
2724
  focusable: "false",
2725
2725
  role: "img",
2726
2726
  viewBox: "0 0 36 35",
@@ -2749,8 +2749,8 @@ const FInputFileForm = ({
2749
2749
  ]
2750
2750
  }
2751
2751
  ),
2752
- errors.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$f.errors, children: errors.map((error2, index) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$f.error, children: error2 }, index)) }),
2753
- showPreview && selectedFiles.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$f["custom-files-preview"], children: selectedFiles.map((file, index) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$f.fileItem, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2752
+ errors.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$g.errors, children: errors.map((error2, index) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$g.error, children: error2 }, index)) }),
2753
+ showPreview && selectedFiles.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$g["custom-files-preview"], children: selectedFiles.map((file, index) => /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$g.fileItem, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
2754
2754
  FFile,
2755
2755
  {
2756
2756
  name: file.name,
@@ -2761,7 +2761,7 @@ const FInputFileForm = ({
2761
2761
  ) }, index)) })
2762
2762
  ] });
2763
2763
  };
2764
- const styles$e = {
2764
+ const styles$f = {
2765
2765
  "f-select": "_f-select_16vqs_1",
2766
2766
  "f-select__control-element": "_f-select__control-element_16vqs_5"
2767
2767
  };
@@ -2791,7 +2791,7 @@ const FSelect = forwardRef(
2791
2791
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
2792
2792
  "div",
2793
2793
  {
2794
- className: `f-form-element ${styles$e["f-select"]}`,
2794
+ className: `f-form-element ${styles$f["f-select"]}`,
2795
2795
  style: mergedStyle,
2796
2796
  id: inputId + "-select-block",
2797
2797
  role: "group",
@@ -2816,7 +2816,7 @@ const FSelect = forwardRef(
2816
2816
  ...props,
2817
2817
  id: inputId,
2818
2818
  disabled: props.disabled || load,
2819
- className: `f-form-element__control-element ${styles$e["f-select__control-element"]} ${errText ? "error" : ""} ${props.className || ""}`,
2819
+ className: `f-form-element__control-element ${styles$f["f-select__control-element"]} ${errText ? "error" : ""} ${props.className || ""}`,
2820
2820
  children: !load && children
2821
2821
  }
2822
2822
  ),
@@ -2907,7 +2907,7 @@ const FFullDateField = forwardRef(
2907
2907
  }
2908
2908
  );
2909
2909
  const active$2 = "_active_j5nh9_38";
2910
- const styles$d = {
2910
+ const styles$e = {
2911
2911
  "f-select-search-db": "_f-select-search-db_j5nh9_1",
2912
2912
  "f-select-search-db__input": "_f-select-search-db__input_j5nh9_6",
2913
2913
  "f-select-search-db__input_field": "_f-select-search-db__input_field_j5nh9_10",
@@ -3055,12 +3055,12 @@ const FSelectSearchDb = ({
3055
3055
  "div",
3056
3056
  {
3057
3057
  ref: containerRef,
3058
- className: `${styles$d["f-select-search-db"]} ${className || ""}`,
3058
+ className: `${styles$e["f-select-search-db"]} ${className || ""}`,
3059
3059
  style: st2,
3060
3060
  id,
3061
3061
  "data-position": dropdownPosition,
3062
3062
  children: [
3063
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$d["f-select-search-db__input"], children: [
3063
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$e["f-select-search-db__input"], children: [
3064
3064
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3065
3065
  FTextField,
3066
3066
  {
@@ -3071,7 +3071,7 @@ const FSelectSearchDb = ({
3071
3071
  label,
3072
3072
  type,
3073
3073
  placeholder,
3074
- className: styles$d["f-select-search-db__input_field"],
3074
+ className: styles$e["f-select-search-db__input_field"],
3075
3075
  value: valueInput,
3076
3076
  onChange: handlerOnChange,
3077
3077
  onFocus,
@@ -3088,19 +3088,19 @@ const FSelectSearchDb = ({
3088
3088
  !load && !disabled2 && arrObject.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(
3089
3089
  "div",
3090
3090
  {
3091
- className: styles$d["f-select-search-db__input_arrow"],
3091
+ className: styles$e["f-select-search-db__input_arrow"],
3092
3092
  style: { marginTop: label ? "28px" : "7px" },
3093
3093
  onClick: handleArrowClick,
3094
3094
  children: /* @__PURE__ */ jsxRuntimeExports.jsx(FArrowIcon, { direction: isDropdownOpen ? "up" : "down", size: 15 })
3095
3095
  }
3096
3096
  )
3097
3097
  ] }),
3098
- isDropdownOpen && (arrObject.length > 0 || valueInput.trim() === "") && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$d["f-select-search-db__dropdown"]} ${isDropdownOpen ? styles$d.active : ""}`, children: arrObject.length === 0 && valueInput.trim() === "" ? /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: "Введите текст" }) : arrObject.length === 0 && valueInput.trim() !== "" && !load ? /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: "Ничего не найдено" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: styles$d["f-select-search-db__dropdown_content"], children: arrObject.slice(0, 10).map((opt, index) => /* @__PURE__ */ jsxRuntimeExports.jsx("li", { onClick: () => handleItemClick(opt), children: selectItem(opt) }, index)) }) })
3098
+ isDropdownOpen && (arrObject.length > 0 || valueInput.trim() === "") && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$e["f-select-search-db__dropdown"]} ${isDropdownOpen ? styles$e.active : ""}`, children: arrObject.length === 0 && valueInput.trim() === "" ? /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: "Введите текст" }) : arrObject.length === 0 && valueInput.trim() !== "" && !load ? /* @__PURE__ */ jsxRuntimeExports.jsx("li", { children: "Ничего не найдено" }) : /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: styles$e["f-select-search-db__dropdown_content"], children: arrObject.slice(0, 10).map((opt, index) => /* @__PURE__ */ jsxRuntimeExports.jsx("li", { onClick: () => handleItemClick(opt), children: selectItem(opt) }, index)) }) })
3099
3099
  ]
3100
3100
  }
3101
3101
  );
3102
3102
  };
3103
- const styles$c = {
3103
+ const styles$d = {
3104
3104
  "f-text-area": "_f-text-area_1ywhr_1"
3105
3105
  };
3106
3106
  const FTextArea = forwardRef(
@@ -3129,7 +3129,7 @@ const FTextArea = forwardRef(
3129
3129
  return /* @__PURE__ */ jsxRuntimeExports.jsxs(
3130
3130
  "div",
3131
3131
  {
3132
- className: `f-form-element ${styles$c["f-text-area"]} ${className || ""}`,
3132
+ className: `f-form-element ${styles$d["f-text-area"]} ${className || ""}`,
3133
3133
  style: mergedStyle,
3134
3134
  role: "group",
3135
3135
  id: areaId + "-text-area-block",
@@ -3488,7 +3488,7 @@ const FNative = ({
3488
3488
  const horizontal = "_horizontal_zlvc7_1";
3489
3489
  const vertical = "_vertical_zlvc7_7";
3490
3490
  const active$1 = "_active_zlvc7_50";
3491
- const styles$b = {
3491
+ const styles$c = {
3492
3492
  "f-tabs": "_f-tabs_zlvc7_1",
3493
3493
  horizontal,
3494
3494
  vertical,
@@ -3507,36 +3507,31 @@ const FTabs = ({
3507
3507
  {
3508
3508
  id,
3509
3509
  style: st2,
3510
- className: `${styles$b["f-tabs"]} ${styles$b[orientation]} ${className || ""}`,
3510
+ className: `${styles$c["f-tabs"]} ${styles$c[orientation]} ${className || ""}`,
3511
3511
  children
3512
3512
  }
3513
3513
  );
3514
3514
  };
3515
3515
  const FTab = forwardRef(({
3516
3516
  children,
3517
- id,
3518
- className,
3519
3517
  st: st2,
3520
- onClick,
3521
- disabled: disabled2,
3522
- active: active2
3518
+ active: active2,
3519
+ ...props
3523
3520
  }, ref) => {
3524
3521
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
3525
3522
  "button",
3526
3523
  {
3527
3524
  ref,
3528
3525
  type: "button",
3529
- id,
3530
3526
  style: st2,
3531
- className: `${styles$b["f-tabs__tab"]} ${active2 ? styles$b["active"] : ""} ${className || ""}`,
3532
- disabled: disabled2,
3533
- onClick,
3527
+ className: `${styles$c["f-tabs__tab"]} ${active2 ? styles$c["active"] : ""} ${props.className || ""}`,
3528
+ ...props,
3534
3529
  children
3535
3530
  }
3536
3531
  );
3537
3532
  });
3538
3533
  FTab.displayName = "FTab";
3539
- const styles$a = {
3534
+ const styles$b = {
3540
3535
  "f-dropdown": "_f-dropdown_d5i2z_1",
3541
3536
  "f-dropdown__arrow": "_f-dropdown__arrow_d5i2z_6",
3542
3537
  "f-dropdown__content": "_f-dropdown__content_d5i2z_10",
@@ -3582,7 +3577,7 @@ const FDropdown = ({
3582
3577
  return child;
3583
3578
  });
3584
3579
  };
3585
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$a["f-dropdown"], ref, children: [
3580
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$b["f-dropdown"], ref, children: [
3586
3581
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3587
3582
  FButton,
3588
3583
  {
@@ -3591,21 +3586,21 @@ const FDropdown = ({
3591
3586
  size,
3592
3587
  disabled: disabled2,
3593
3588
  st: st2,
3594
- className: `${styles$a["f-dropdown__button"]} ${className || ""}`,
3589
+ className: `${styles$b["f-dropdown__button"]} ${className || ""}`,
3595
3590
  id,
3596
3591
  onClick: () => setIsOpen((v) => !v),
3597
3592
  "aria-haspopup": "menu",
3598
3593
  "aria-expanded": isOpen,
3599
3594
  children: /* @__PURE__ */ jsxRuntimeExports.jsxs(FStack, { direction: "row", spacing: 2, justifyContent: "center", alignItems: "center", children: [
3600
3595
  label,
3601
- /* @__PURE__ */ jsxRuntimeExports.jsx(FArrowIcon, { className: styles$a["f-dropdown__arrow"], size: 16, color: "light", direction: isOpen ? "up" : "down" })
3596
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FArrowIcon, { className: styles$b["f-dropdown__arrow"], size: 16, color: "light", direction: isOpen ? "up" : "down" })
3602
3597
  ] })
3603
3598
  }
3604
3599
  ),
3605
3600
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3606
3601
  "div",
3607
3602
  {
3608
- className: styles$a["f-dropdown__content"] + (isOpen ? " " + styles$a["f-dropdown__content--open"] : ""),
3603
+ className: styles$b["f-dropdown__content"] + (isOpen ? " " + styles$b["f-dropdown__content--open"] : ""),
3609
3604
  role: "menu",
3610
3605
  children: renderChildren()
3611
3606
  }
@@ -3626,7 +3621,7 @@ const FDropdownItem = ({
3626
3621
  {
3627
3622
  id,
3628
3623
  style: st2,
3629
- className: `${styles$a["f-dropdown__content-link"]} ${className || ""} ${disabled2 ? styles$a["disabled"] : ""}`,
3624
+ className: `${styles$b["f-dropdown__content-link"]} ${className || ""} ${disabled2 ? styles$b["disabled"] : ""}`,
3630
3625
  onClick: disabled2 ? void 0 : onClick,
3631
3626
  "aria-disabled": disabled2,
3632
3627
  role: "menuitem",
@@ -3634,7 +3629,7 @@ const FDropdownItem = ({
3634
3629
  }
3635
3630
  );
3636
3631
  };
3637
- const styles$9 = {
3632
+ const styles$a = {
3638
3633
  "f-search-box": "_f-search-box_1ce2j_1",
3639
3634
  "f-search-box__input": "_f-search-box__input_1ce2j_7",
3640
3635
  "f-search-box__button": "_f-search-box__button_1ce2j_13",
@@ -3660,7 +3655,7 @@ const FSearchBox = forwardRef(
3660
3655
  type,
3661
3656
  ...props
3662
3657
  }, ref) => {
3663
- return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${styles$9["f-search-box"]} form-group`, style: st2, children: [
3658
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `${styles$a["f-search-box"]} form-group`, style: st2, children: [
3664
3659
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3665
3660
  FTextField,
3666
3661
  {
@@ -3674,14 +3669,14 @@ const FSearchBox = forwardRef(
3674
3669
  errText,
3675
3670
  load,
3676
3671
  ...props,
3677
- className: `${styles$9["f-search-box__input"]} ${props.className || ""}`
3672
+ className: `${styles$a["f-search-box__input"]} ${props.className || ""}`
3678
3673
  }
3679
3674
  ),
3680
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$9["f-search-box__button"], style: { marginTop: label ? "21.8px" : "0" }, children: [
3675
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: styles$a["f-search-box__button"], style: { marginTop: label ? "21.8px" : "0" }, children: [
3681
3676
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3682
3677
  FButton,
3683
3678
  {
3684
- className: `${styles$9["f-search-box__button_search"]} ${clearDataFromInput ? styles$9["clear-on"] : ""}`,
3679
+ className: `${styles$a["f-search-box__button_search"]} ${clearDataFromInput ? styles$a["clear-on"] : ""}`,
3685
3680
  type: "button",
3686
3681
  disabled: disabled2,
3687
3682
  onClick: onClickButton,
@@ -3693,7 +3688,7 @@ const FSearchBox = forwardRef(
3693
3688
  clearDataFromInput && /* @__PURE__ */ jsxRuntimeExports.jsx(
3694
3689
  FButton,
3695
3690
  {
3696
- className: `${styles$9["f-search-box__button_clear"]}`,
3691
+ className: `${styles$a["f-search-box__button_clear"]}`,
3697
3692
  type: "button",
3698
3693
  onClick: clearDataFromInput,
3699
3694
  color: "danger",
@@ -3705,7 +3700,7 @@ const FSearchBox = forwardRef(
3705
3700
  ] });
3706
3701
  }
3707
3702
  );
3708
- const styles$8 = {
3703
+ const styles$9 = {
3709
3704
  "f-carousel": "_f-carousel_d5w12_1",
3710
3705
  "f-carousel__viewport": "_f-carousel__viewport_d5w12_8",
3711
3706
  "f-carousel__track": "_f-carousel__track_d5w12_12",
@@ -3788,10 +3783,10 @@ const FCarousel = ({
3788
3783
  const handleTouchEnd = () => {
3789
3784
  startX.current = null;
3790
3785
  };
3791
- const rootClass = [styles$8["f-carousel"], className].filter(Boolean).join(" ");
3786
+ const rootClass = [styles$9["f-carousel"], className].filter(Boolean).join(" ");
3792
3787
  const trackClass = [
3793
- styles$8["f-carousel__track"],
3794
- isAnimating ? styles$8["f-carousel__track--animating"] : ""
3788
+ styles$9["f-carousel__track"],
3789
+ isAnimating ? styles$9["f-carousel__track--animating"] : ""
3795
3790
  ].filter(Boolean).join(" ");
3796
3791
  const trackStyle = {
3797
3792
  transform: `translateX(-${100 / itemsCount * current}%)`,
@@ -3802,7 +3797,7 @@ const FCarousel = ({
3802
3797
  showArrows && /* @__PURE__ */ jsxRuntimeExports.jsx(
3803
3798
  "button",
3804
3799
  {
3805
- className: `${styles$8["f-carousel__arrow"]} ${styles$8["f-carousel__arrow--left"]}`,
3800
+ className: `${styles$9["f-carousel__arrow"]} ${styles$9["f-carousel__arrow--left"]}`,
3806
3801
  onClick: handlePrev,
3807
3802
  disabled: !loop && current === 0,
3808
3803
  "aria-label": "Назад",
@@ -3812,14 +3807,14 @@ const FCarousel = ({
3812
3807
  /* @__PURE__ */ jsxRuntimeExports.jsx(
3813
3808
  "div",
3814
3809
  {
3815
- className: styles$8["f-carousel__viewport"],
3810
+ className: styles$9["f-carousel__viewport"],
3816
3811
  onTouchStart: handleTouchStart,
3817
3812
  onTouchMove: handleTouchMove,
3818
3813
  onTouchEnd: handleTouchEnd,
3819
3814
  children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: trackRef, className: trackClass, style: trackStyle, children: children.map((child, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3820
3815
  "div",
3821
3816
  {
3822
- className: styles$8["f-carousel__item"],
3817
+ className: styles$9["f-carousel__item"],
3823
3818
  style: { width: `${100 / itemsCount}%` },
3824
3819
  children: child
3825
3820
  },
@@ -3830,19 +3825,19 @@ const FCarousel = ({
3830
3825
  showArrows && /* @__PURE__ */ jsxRuntimeExports.jsx(
3831
3826
  "button",
3832
3827
  {
3833
- className: `${styles$8["f-carousel__arrow"]} ${styles$8["f-carousel__arrow--right"]}`,
3828
+ className: `${styles$9["f-carousel__arrow"]} ${styles$9["f-carousel__arrow--right"]}`,
3834
3829
  onClick: handleNext,
3835
3830
  disabled: !loop && current >= itemsCount - visibleCount,
3836
3831
  "aria-label": "Вперёд",
3837
3832
  children: /* @__PURE__ */ jsxRuntimeExports.jsx("img", { src: arrowRight, alt: "Следующий слайд" })
3838
3833
  }
3839
3834
  ),
3840
- /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$8["f-carousel__indicators"], children: Array.from({ length: itemsCount - visibleCount + 1 }).map((_, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3835
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$9["f-carousel__indicators"], children: Array.from({ length: itemsCount - visibleCount + 1 }).map((_, idx) => /* @__PURE__ */ jsxRuntimeExports.jsx(
3841
3836
  "button",
3842
3837
  {
3843
3838
  className: [
3844
- styles$8["f-carousel__indicator"],
3845
- idx === current ? styles$8["f-carousel__indicator--active"] : ""
3839
+ styles$9["f-carousel__indicator"],
3840
+ idx === current ? styles$9["f-carousel__indicator--active"] : ""
3846
3841
  ].join(" "),
3847
3842
  onClick: () => setCurrent(idx),
3848
3843
  "aria-label": `Перейти к слайду ${idx + 1}`
@@ -3856,10 +3851,10 @@ const FCarouselItem = ({
3856
3851
  className,
3857
3852
  id
3858
3853
  }) => {
3859
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$8["f-carousel-item"]} ${className || ""}`, id, children });
3854
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `${styles$9["f-carousel-item"]} ${className || ""}`, id, children });
3860
3855
  };
3861
3856
  const skeleton = "_skeleton_1ojrt_1";
3862
- const styles$7 = {
3857
+ const styles$8 = {
3863
3858
  "skeleton-block": "_skeleton-block_1ojrt_1",
3864
3859
  skeleton
3865
3860
  };
@@ -3869,7 +3864,7 @@ const FSkeleton = ({ children, enable, width, height }) => {
3869
3864
  const skeletons = useRef([]);
3870
3865
  const createSkeleton = (element) => {
3871
3866
  const skeleton2 = document.createElement("div");
3872
- skeleton2.className = styles$7.skeleton;
3867
+ skeleton2.className = styles$8.skeleton;
3873
3868
  const computedStyle = window.getComputedStyle(element);
3874
3869
  skeleton2.style.width = width ?? computedStyle.width;
3875
3870
  skeleton2.style.height = height ?? computedStyle.height;
@@ -3916,10 +3911,10 @@ const FSkeleton = ({ children, enable, width, height }) => {
3916
3911
  restoreOriginalElements();
3917
3912
  };
3918
3913
  }, [enable]);
3919
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: elementRef, className: styles$7["skeleton-block"], children });
3914
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { ref: elementRef, className: styles$8["skeleton-block"], children });
3920
3915
  };
3921
3916
  const active = "_active_1tib7_71";
3922
- const styles$6 = {
3917
+ const styles$7 = {
3923
3918
  "f-nav-bar": "_f-nav-bar_1tib7_1",
3924
3919
  "f-nav-bar__menu": "_f-nav-bar__menu_1tib7_8",
3925
3920
  "f-nav-bar__menu-route": "_f-nav-bar__menu-route_1tib7_31",
@@ -3931,7 +3926,7 @@ const FNavigateBar = ({
3931
3926
  id,
3932
3927
  className
3933
3928
  }) => {
3934
- return /* @__PURE__ */ jsxRuntimeExports.jsx(FGrid, { obj: "container", id, className, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FGridRow, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FGrid, { obj: "item", sm: 12, children: /* @__PURE__ */ jsxRuntimeExports.jsx("nav", { style: st2, className: styles$6["f-nav-bar"], children: /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: styles$6["f-nav-bar__menu"], children }) }) }) }) });
3929
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(FGrid, { obj: "container", id, className, children: /* @__PURE__ */ jsxRuntimeExports.jsx(FGridRow, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(FGrid, { obj: "item", sm: 12, children: /* @__PURE__ */ jsxRuntimeExports.jsx("nav", { style: st2, className: styles$7["f-nav-bar"], children: /* @__PURE__ */ jsxRuntimeExports.jsx("ul", { className: styles$7["f-nav-bar__menu"], children }) }) }) }) });
3935
3930
  };
3936
3931
  const FNavigateBarItem = ({
3937
3932
  st: st2,
@@ -3945,14 +3940,14 @@ const FNavigateBarItem = ({
3945
3940
  {
3946
3941
  id,
3947
3942
  style: st2,
3948
- className: `${styles$6["f-nav-bar__menu-route"]} ${activeClass ? styles$6.active : ""} ${className || ""}`,
3943
+ className: `${styles$7["f-nav-bar__menu-route"]} ${activeClass ? styles$7.active : ""} ${className || ""}`,
3949
3944
  children
3950
3945
  }
3951
3946
  );
3952
3947
  };
3953
3948
  const link = "_link_1desp_10";
3954
3949
  const disabled = "_disabled_1desp_36";
3955
- const styles$5 = {
3950
+ const styles$6 = {
3956
3951
  "page-links": "_page-links_1desp_3",
3957
3952
  link,
3958
3953
  disabled
@@ -3961,7 +3956,7 @@ const FMenuLinks = ({ children, className, st: st2, id, disabled: disabled2 = []
3961
3956
  const enhancedChildren = React.Children.map(children, (child, index) => {
3962
3957
  if (React.isValidElement(child)) {
3963
3958
  const isDisabled = disabled2.includes(index);
3964
- const childClassName = child.props.className ? `${child.props.className} ${styles$5.link} ${isDisabled ? styles$5.disabled : ""}` : `${styles$5.link} ${isDisabled ? styles$5.disabled : ""}`;
3959
+ const childClassName = child.props.className ? `${child.props.className} ${styles$6.link} ${isDisabled ? styles$6.disabled : ""}` : `${styles$6.link} ${isDisabled ? styles$6.disabled : ""}`;
3965
3960
  return React.cloneElement(child, {
3966
3961
  className: childClassName,
3967
3962
  ...isDisabled && { onClick: (e) => e.preventDefault() }
@@ -3972,13 +3967,218 @@ const FMenuLinks = ({ children, className, st: st2, id, disabled: disabled2 = []
3972
3967
  return /* @__PURE__ */ jsxRuntimeExports.jsx(
3973
3968
  "div",
3974
3969
  {
3975
- className: `${styles$5["page-links"]} ${className || ""}`,
3970
+ className: `${styles$6["page-links"]} ${className || ""}`,
3976
3971
  style: st2,
3977
3972
  id,
3978
3973
  children: enhancedChildren
3979
3974
  }
3980
3975
  );
3981
3976
  };
3977
+ const styles$5 = {
3978
+ "f-tooltip": "_f-tooltip_1d4l5_1",
3979
+ "f-tooltip--open": "_f-tooltip--open_1d4l5_17",
3980
+ "f-tooltip--exiting": "_f-tooltip--exiting_1d4l5_22",
3981
+ "f-tooltip__wrapper": "_f-tooltip__wrapper_1d4l5_27",
3982
+ "f-tooltip__content": "_f-tooltip__content_1d4l5_30",
3983
+ "f-tooltip__arrow": "_f-tooltip__arrow_1d4l5_35",
3984
+ "f-tooltip--top": "_f-tooltip--top_1d4l5_44",
3985
+ "f-tooltip--bottom": "_f-tooltip--bottom_1d4l5_50",
3986
+ "f-tooltip--left": "_f-tooltip--left_1d4l5_56",
3987
+ "f-tooltip--right": "_f-tooltip--right_1d4l5_62",
3988
+ "f-tooltip--with-arrow": "_f-tooltip--with-arrow_1d4l5_104"
3989
+ };
3990
+ const FTooltip = ({
3991
+ title,
3992
+ children,
3993
+ placement = "bottom",
3994
+ arrow: arrow2 = false,
3995
+ open: openProp,
3996
+ onOpen,
3997
+ onClose,
3998
+ disableHoverListener = false,
3999
+ disableFocusListener = false,
4000
+ disableTouchListener = false,
4001
+ enterDelay = 0,
4002
+ leaveDelay = 0,
4003
+ className = "",
4004
+ style
4005
+ }) => {
4006
+ const [open, setOpen] = useState(false);
4007
+ const [mountTooltip, setMountTooltip] = useState(false);
4008
+ const [isVisible, setIsVisible] = useState(false);
4009
+ const [isExiting, setIsExiting] = useState(false);
4010
+ const [tooltipStyles, setTooltipStyles] = useState({});
4011
+ const childRef = useRef(null);
4012
+ const tooltipRef = useRef(null);
4013
+ const enterTimer = useRef(null);
4014
+ const leaveTimer = useRef(null);
4015
+ const animationFrame = useRef(null);
4016
+ const isOpen = openProp !== void 0 ? openProp : open;
4017
+ const handleOpen = () => {
4018
+ if (enterTimer.current) {
4019
+ clearTimeout(enterTimer.current);
4020
+ }
4021
+ if (leaveTimer.current) {
4022
+ clearTimeout(leaveTimer.current);
4023
+ }
4024
+ enterTimer.current = setTimeout(() => {
4025
+ if (openProp === void 0) {
4026
+ setOpen(true);
4027
+ }
4028
+ setMountTooltip(true);
4029
+ setIsExiting(false);
4030
+ if (animationFrame.current) {
4031
+ cancelAnimationFrame(animationFrame.current);
4032
+ }
4033
+ animationFrame.current = requestAnimationFrame(() => {
4034
+ setIsVisible(true);
4035
+ onOpen == null ? void 0 : onOpen();
4036
+ updatePosition();
4037
+ });
4038
+ }, enterDelay);
4039
+ };
4040
+ const handleClose = () => {
4041
+ if (enterTimer.current) {
4042
+ clearTimeout(enterTimer.current);
4043
+ }
4044
+ if (leaveTimer.current) {
4045
+ clearTimeout(leaveTimer.current);
4046
+ }
4047
+ if (isOpen || isVisible) {
4048
+ if (openProp === void 0) {
4049
+ setOpen(false);
4050
+ }
4051
+ setIsVisible(false);
4052
+ setIsExiting(true);
4053
+ leaveTimer.current = setTimeout(() => {
4054
+ setIsExiting(false);
4055
+ setMountTooltip(false);
4056
+ onClose == null ? void 0 : onClose();
4057
+ }, leaveDelay || 220);
4058
+ }
4059
+ };
4060
+ const updatePosition = () => {
4061
+ if (!childRef.current || !tooltipRef.current) return;
4062
+ const childRect = childRef.current.getBoundingClientRect();
4063
+ const tooltipRect = tooltipRef.current.getBoundingClientRect();
4064
+ const scrollX = window.scrollX;
4065
+ const scrollY = window.scrollY;
4066
+ let top = 0;
4067
+ let left2 = 0;
4068
+ switch (placement) {
4069
+ case "top":
4070
+ top = childRect.top + scrollY - tooltipRect.height - (arrow2 ? 8 : 0);
4071
+ left2 = childRect.left + scrollX + (childRect.width - tooltipRect.width) / 2;
4072
+ break;
4073
+ case "bottom":
4074
+ top = childRect.bottom + scrollY + (arrow2 ? 8 : 0);
4075
+ left2 = childRect.left + scrollX + (childRect.width - tooltipRect.width) / 2;
4076
+ break;
4077
+ case "left":
4078
+ top = childRect.top + scrollY + (childRect.height - tooltipRect.height) / 2;
4079
+ left2 = childRect.left + scrollX - tooltipRect.width - (arrow2 ? 8 : 0);
4080
+ break;
4081
+ case "right":
4082
+ top = childRect.top + scrollY + (childRect.height - tooltipRect.height) / 2;
4083
+ left2 = childRect.right + scrollX + (arrow2 ? 8 : 0);
4084
+ break;
4085
+ }
4086
+ setTooltipStyles({
4087
+ top: `${top}px`,
4088
+ left: `${left2}px`
4089
+ });
4090
+ };
4091
+ useEffect(() => {
4092
+ if (isVisible) {
4093
+ updatePosition();
4094
+ }
4095
+ }, [isVisible, placement]);
4096
+ useEffect(() => {
4097
+ const handleResize = () => {
4098
+ if (isVisible) {
4099
+ updatePosition();
4100
+ }
4101
+ };
4102
+ window.addEventListener("resize", handleResize);
4103
+ return () => {
4104
+ window.removeEventListener("resize", handleResize);
4105
+ if (enterTimer.current) {
4106
+ clearTimeout(enterTimer.current);
4107
+ }
4108
+ if (leaveTimer.current) {
4109
+ clearTimeout(leaveTimer.current);
4110
+ }
4111
+ if (animationFrame.current) {
4112
+ cancelAnimationFrame(animationFrame.current);
4113
+ }
4114
+ };
4115
+ }, [isVisible]);
4116
+ const childProps = {
4117
+ ref: childRef
4118
+ };
4119
+ if (!disableHoverListener) {
4120
+ childProps.onMouseEnter = (e) => {
4121
+ var _a, _b;
4122
+ handleOpen();
4123
+ (_b = (_a = children.props).onMouseEnter) == null ? void 0 : _b.call(_a, e);
4124
+ };
4125
+ childProps.onMouseLeave = (e) => {
4126
+ var _a, _b;
4127
+ handleClose();
4128
+ (_b = (_a = children.props).onMouseLeave) == null ? void 0 : _b.call(_a, e);
4129
+ };
4130
+ }
4131
+ if (!disableFocusListener) {
4132
+ childProps.onFocus = (e) => {
4133
+ var _a, _b;
4134
+ handleOpen();
4135
+ (_b = (_a = children.props).onFocus) == null ? void 0 : _b.call(_a, e);
4136
+ };
4137
+ childProps.onBlur = (e) => {
4138
+ var _a, _b;
4139
+ handleClose();
4140
+ (_b = (_a = children.props).onBlur) == null ? void 0 : _b.call(_a, e);
4141
+ };
4142
+ }
4143
+ if (!disableTouchListener) {
4144
+ childProps.onTouchStart = (e) => {
4145
+ var _a, _b;
4146
+ handleOpen();
4147
+ (_b = (_a = children.props).onTouchStart) == null ? void 0 : _b.call(_a, e);
4148
+ };
4149
+ childProps.onTouchEnd = (e) => {
4150
+ var _a, _b;
4151
+ handleClose();
4152
+ (_b = (_a = children.props).onTouchEnd) == null ? void 0 : _b.call(_a, e);
4153
+ };
4154
+ }
4155
+ const clonedChild = cloneElement(children, childProps);
4156
+ const tooltipClasses = [
4157
+ styles$5["f-tooltip"],
4158
+ styles$5[`f-tooltip--${placement}`],
4159
+ arrow2 ? styles$5["f-tooltip--with-arrow"] : "",
4160
+ isVisible ? styles$5["f-tooltip--open"] : "",
4161
+ isExiting ? styles$5["f-tooltip--exiting"] : "",
4162
+ className
4163
+ ].filter(Boolean).join(" ");
4164
+ const tooltipElement = mountTooltip && title ? /* @__PURE__ */ jsxRuntimeExports.jsxs(
4165
+ "div",
4166
+ {
4167
+ ref: tooltipRef,
4168
+ className: tooltipClasses,
4169
+ style: { ...style, ...tooltipStyles },
4170
+ role: "tooltip",
4171
+ children: [
4172
+ arrow2 && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5["f-tooltip__arrow"] }),
4173
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: styles$5["f-tooltip__content"], children: title })
4174
+ ]
4175
+ }
4176
+ ) : null;
4177
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
4178
+ clonedChild,
4179
+ tooltipElement && createPortal(tooltipElement, document.body)
4180
+ ] });
4181
+ };
3982
4182
  const FPlusIcon = ({
3983
4183
  color = "primary",
3984
4184
  size = 30,
@@ -52214,6 +52414,7 @@ export {
52214
52414
  FTextField,
52215
52415
  FTimeline,
52216
52416
  FTimelineCard,
52417
+ FTooltip,
52217
52418
  FTrashIcon,
52218
52419
  FUnlinkIcon,
52219
52420
  fAlert,