fui-material 2.0.3 → 2.1.1

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