fui-material 2.8.9 → 2.8.11

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,15 +1,15 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
2
  import React, { forwardRef, useRef, useState, useEffect, createContext, isValidElement, Children, Fragment as Fragment$1, cloneElement, useContext, useMemo, useLayoutEffect, useDeferredValue, useCallback, useId } from "react";
3
3
  import ReactDOM, { createPortal } from "react-dom";
4
+ import axios from "axios";
4
5
  import JSZip from "jszip";
5
6
  import initializeModule from "allorion-exporting-html-to-docx";
6
7
  import { renderToStaticMarkup } from "react-dom/server";
7
8
  import { initializeModule as initializeModule$1, installFormatCode } from "allorion-exporting-html-to-xlsx";
8
- import axios from "axios";
9
9
  import { useQueryClient, useMutation, useQuery } from "@tanstack/react-query";
10
10
  import './index.css';const btn = "_btn_gdyy6_1";
11
11
  const disabled$4 = "_disabled_gdyy6_31";
12
- const styles$A = {
12
+ const styles$B = {
13
13
  btn,
14
14
  disabled: disabled$4,
15
15
  "btn-xs": "_btn-xs_gdyy6_40",
@@ -55,9 +55,9 @@ const FButton = forwardRef(({
55
55
  };
56
56
  const variantClass = variant === "contained" ? `btn-${color}` : `btn-outline-${color}`;
57
57
  const buttonClasses = [
58
- styles$A["btn"],
59
- styles$A[size],
60
- styles$A[variantClass],
58
+ styles$B["btn"],
59
+ styles$B[size],
60
+ styles$B[variantClass],
61
61
  className
62
62
  ].filter(Boolean).join(" ");
63
63
  return /* @__PURE__ */ jsx(
@@ -123,7 +123,7 @@ FTrashIcon.displayName = "FTrashIcon";
123
123
  const progressBar = "_progressBar_1iwax_48";
124
124
  const completed = "_completed_1iwax_60";
125
125
  const progress = "_progress_1iwax_48";
126
- const styles$z = {
126
+ const styles$A = {
127
127
  "file-preview-card": "_file-preview-card_1iwax_1",
128
128
  "file-preview-info": "_file-preview-info_1iwax_22",
129
129
  "file-preview-name": "_file-preview-name_1iwax_28",
@@ -145,18 +145,18 @@ const FFile = ({
145
145
  return /* @__PURE__ */ jsxs(
146
146
  "div",
147
147
  {
148
- className: `${styles$z["file-preview-card"]} ${className || ""}`,
148
+ className: `${styles$A["file-preview-card"]} ${className || ""}`,
149
149
  id,
150
150
  style: st,
151
151
  children: [
152
- /* @__PURE__ */ jsxs("div", { className: styles$z["file-preview-info"], children: [
153
- /* @__PURE__ */ jsx("span", { className: styles$z["file-preview-name"], title: name, children: name }),
154
- typeof size === "number" && /* @__PURE__ */ jsxs("span", { className: styles$z["file-preview-size"], children: [
152
+ /* @__PURE__ */ jsxs("div", { className: styles$A["file-preview-info"], children: [
153
+ /* @__PURE__ */ jsx("span", { className: styles$A["file-preview-name"], title: name, children: name }),
154
+ typeof size === "number" && /* @__PURE__ */ jsxs("span", { className: styles$A["file-preview-size"], children: [
155
155
  Math.round(size / 1024),
156
156
  " КБ"
157
157
  ] })
158
158
  ] }),
159
- handleDelete && /* @__PURE__ */ jsx("div", { className: styles$z["trash-icon"], children: /* @__PURE__ */ jsx(
159
+ handleDelete && /* @__PURE__ */ jsx("div", { className: styles$A["trash-icon"], children: /* @__PURE__ */ jsx(
160
160
  FTrashIcon,
161
161
  {
162
162
  size: 20,
@@ -164,10 +164,10 @@ const FFile = ({
164
164
  handleClick: handleDelete
165
165
  }
166
166
  ) }),
167
- typeof progress2 === "number" && /* @__PURE__ */ jsx("div", { className: `${styles$z.progressBar} ${progress2 === 100 ? styles$z.completed : ""}`, children: /* @__PURE__ */ jsx(
167
+ typeof progress2 === "number" && /* @__PURE__ */ jsx("div", { className: `${styles$A.progressBar} ${progress2 === 100 ? styles$A.completed : ""}`, children: /* @__PURE__ */ jsx(
168
168
  "div",
169
169
  {
170
- className: styles$z.progress,
170
+ className: styles$A.progress,
171
171
  style: { width: `${progress2}%` }
172
172
  }
173
173
  ) })
@@ -270,7 +270,7 @@ const FButtonFile = ({
270
270
  )) }) })
271
271
  ] });
272
272
  };
273
- const styles$y = {
273
+ const styles$z = {
274
274
  "f-text-field": "_f-text-field_200bb_1"
275
275
  };
276
276
  const FLoadIcon = React.forwardRef(({
@@ -349,7 +349,7 @@ const FTextField = forwardRef(
349
349
  return /* @__PURE__ */ jsxs(
350
350
  "div",
351
351
  {
352
- className: `f-form-element ${styles$y["f-text-field"]} ${className || ""}`,
352
+ className: `f-form-element ${styles$z["f-text-field"]} ${className || ""}`,
353
353
  style: mergedStyle,
354
354
  role: "group",
355
355
  id: inputId + "-text-field-block",
@@ -455,7 +455,7 @@ const FStack = ({
455
455
  }
456
456
  );
457
457
  };
458
- const styles$x = {
458
+ const styles$y = {
459
459
  "f-grid": "_f-grid_3g4xh_1",
460
460
  "f-grid__col": "_f-grid__col_3g4xh_10",
461
461
  "f-grid__col--auto": "_f-grid__col--auto_3g4xh_16",
@@ -558,21 +558,21 @@ const FGrid = ({
558
558
  xxl: xxl ?? xl ?? lg ?? md ?? sm ?? xs
559
559
  };
560
560
  const getColumnClasses = () => {
561
- if (colAuto) return styles$x["f-grid__col--auto"];
562
- const classes = [styles$x["f-grid__col"]];
563
- if (resolvedSizes.xs !== void 0) classes.push(styles$x[`f-grid__col--xs-${resolvedSizes.xs}`]);
564
- if (resolvedSizes.sm !== void 0) classes.push(styles$x[`f-grid__col--sm-${resolvedSizes.sm}`]);
565
- if (resolvedSizes.md !== void 0) classes.push(styles$x[`f-grid__col--md-${resolvedSizes.md}`]);
566
- if (resolvedSizes.lg !== void 0) classes.push(styles$x[`f-grid__col--lg-${resolvedSizes.lg}`]);
567
- if (resolvedSizes.xl !== void 0) classes.push(styles$x[`f-grid__col--xl-${resolvedSizes.xl}`]);
568
- if (resolvedSizes.xxl !== void 0) classes.push(styles$x[`f-grid__col--xxl-${resolvedSizes.xxl}`]);
561
+ if (colAuto) return styles$y["f-grid__col--auto"];
562
+ const classes = [styles$y["f-grid__col"]];
563
+ if (resolvedSizes.xs !== void 0) classes.push(styles$y[`f-grid__col--xs-${resolvedSizes.xs}`]);
564
+ if (resolvedSizes.sm !== void 0) classes.push(styles$y[`f-grid__col--sm-${resolvedSizes.sm}`]);
565
+ if (resolvedSizes.md !== void 0) classes.push(styles$y[`f-grid__col--md-${resolvedSizes.md}`]);
566
+ if (resolvedSizes.lg !== void 0) classes.push(styles$y[`f-grid__col--lg-${resolvedSizes.lg}`]);
567
+ if (resolvedSizes.xl !== void 0) classes.push(styles$y[`f-grid__col--xl-${resolvedSizes.xl}`]);
568
+ if (resolvedSizes.xxl !== void 0) classes.push(styles$y[`f-grid__col--xxl-${resolvedSizes.xxl}`]);
569
569
  return classes.join(" ");
570
570
  };
571
571
  return /* @__PURE__ */ jsxs(Fragment, { children: [
572
572
  obj === "container" && /* @__PURE__ */ jsx(
573
573
  "div",
574
574
  {
575
- className: `${styles$x["f-grid"]} ${className || ""}`,
575
+ className: `${styles$y["f-grid"]} ${className || ""}`,
576
576
  style,
577
577
  id,
578
578
  children
@@ -590,7 +590,7 @@ const FGrid = ({
590
590
  obj === void 0 && /* @__PURE__ */ jsx("div", { className, style, id, children })
591
591
  ] });
592
592
  };
593
- const styles$w = {
593
+ const styles$x = {
594
594
  "f-grid-row": "_f-grid-row_1crbx_1",
595
595
  "f-grid-row--justify-start": "_f-grid-row--justify-start_1crbx_7",
596
596
  "f-grid-row--justify-center": "_f-grid-row--justify-center_1crbx_10",
@@ -612,21 +612,21 @@ const FGridRow = ({
612
612
  }) => {
613
613
  const getJustifyContentClass = () => {
614
614
  if (!justifyContent) return "";
615
- return styles$w[`f-grid-row--justify-${justifyContent}`];
615
+ return styles$x[`f-grid-row--justify-${justifyContent}`];
616
616
  };
617
617
  const getAlignItemsClass = () => {
618
618
  if (!alignItems) return "";
619
- return styles$w[`f-grid-row--align-${alignItems}`];
619
+ return styles$x[`f-grid-row--align-${alignItems}`];
620
620
  };
621
621
  const rowClasses = [
622
- styles$w["f-grid-row"],
622
+ styles$x["f-grid-row"],
623
623
  getJustifyContentClass(),
624
624
  getAlignItemsClass(),
625
625
  className
626
626
  ].filter(Boolean).join(" ");
627
627
  return /* @__PURE__ */ jsx("div", { className: rowClasses, style: st, id, children });
628
628
  };
629
- const styles$v = {
629
+ const styles$w = {
630
630
  "f-container": "_f-container_g9ck3_1",
631
631
  "container-fluid": "_container-fluid_g9ck3_1",
632
632
  "container-xxl": "_container-xxl_g9ck3_1",
@@ -646,7 +646,7 @@ const FContainer = ({
646
646
  return /* @__PURE__ */ jsx(
647
647
  "div",
648
648
  {
649
- className: `${styles$v["f-container"]} ${styles$v[maxWidth]} ${className || ""}`,
649
+ className: `${styles$w["f-container"]} ${styles$w[maxWidth]} ${className || ""}`,
650
650
  style: st,
651
651
  id,
652
652
  children
@@ -654,7 +654,7 @@ const FContainer = ({
654
654
  );
655
655
  };
656
656
  const panel = "_panel_q7in0_1";
657
- const styles$u = {
657
+ const styles$v = {
658
658
  panel,
659
659
  "panel-default": "_panel-default_q7in0_6",
660
660
  "panel-heading": "_panel-heading_q7in0_12",
@@ -687,15 +687,15 @@ const FPaper = ({
687
687
  return /* @__PURE__ */ jsxs(
688
688
  "div",
689
689
  {
690
- className: `${styles$u["panel"]} ${styles$u["panel-default"]} ${className || ""} ${animated ? `${styles$u[`animated-${animated.name}`]} ${animated.name}` : ""}`,
690
+ className: `${styles$v["panel"]} ${styles$v["panel-default"]} ${className || ""} ${animated ? `${styles$v[`animated-${animated.name}`]} ${animated.name}` : ""}`,
691
691
  style: st,
692
692
  id,
693
693
  onAnimationEnd,
694
694
  children: [
695
- label && /* @__PURE__ */ jsx("div", { className: styles$u["panel-heading"], children: /* @__PURE__ */ jsx(
695
+ label && /* @__PURE__ */ jsx("div", { className: styles$v["panel-heading"], children: /* @__PURE__ */ jsx(
696
696
  "h3",
697
697
  {
698
- className: styles$u["panel-title"],
698
+ className: styles$v["panel-title"],
699
699
  style: { fontSize: fontSizeLabel },
700
700
  children: label
701
701
  }
@@ -703,7 +703,7 @@ const FPaper = ({
703
703
  /* @__PURE__ */ jsx(
704
704
  "div",
705
705
  {
706
- className: styles$u["panel-body"],
706
+ className: styles$v["panel-body"],
707
707
  style: { fontSize: fontSizeBody },
708
708
  children
709
709
  }
@@ -718,7 +718,7 @@ const center = "_center_18u6h_80";
718
718
  const right = "_right_18u6h_83";
719
719
  const justify = "_justify_18u6h_86";
720
720
  const more = "_more_18u6h_194";
721
- const styles$t = {
721
+ const styles$u = {
722
722
  "f-table-component": "_f-table-component_18u6h_1",
723
723
  "f-table-component__table": "_f-table-component__table_18u6h_14",
724
724
  "f-table-component__table_header": "_f-table-component__table_header_18u6h_22",
@@ -761,7 +761,7 @@ const FTableHead = ({
761
761
  {
762
762
  style: st,
763
763
  ...props,
764
- className: `${styles$t["f-table-component__table_header"]} ${isSticky ? styles$t["is-sticky"] : ""} ${props.className || ""} ${styles$t[textAlignment]}`,
764
+ className: `${styles$u["f-table-component__table_header"]} ${isSticky ? styles$u["is-sticky"] : ""} ${props.className || ""} ${styles$u[textAlignment]}`,
765
765
  children
766
766
  }
767
767
  );
@@ -956,14 +956,14 @@ const FTableBody = ({
956
956
  ref: tableBodyRef,
957
957
  style: st,
958
958
  ...props,
959
- className: `${styles$t["f-table-component__table_body"]} ${props.className || ""} ${styles$t[textAlignment]}`,
959
+ className: `${styles$u["f-table-component__table_body"]} ${props.className || ""} ${styles$u[textAlignment]}`,
960
960
  children: [
961
961
  virtual && start > 0 && /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", children: /* @__PURE__ */ jsx("td", { colSpan: index.columnCount, style: { height: offsets[start], padding: 0, border: 0 } }) }),
962
962
  visibleRows.map((child, index2) => React.isValidElement(child) ? React.cloneElement(child, {
963
963
  "data-row-index": start + index2,
964
964
  "data-table-row-key": keyOf(child, start + index2)
965
965
  }) : child),
966
- query.trim() && rows.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: index.columnCount, className: styles$t["table-empty"], children: /* @__PURE__ */ jsx("span", { role: "status", children: "Ничего не найдено" }) }) }),
966
+ query.trim() && rows.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: index.columnCount, className: styles$u["table-empty"], children: /* @__PURE__ */ jsx("span", { role: "status", children: "Ничего не найдено" }) }) }),
967
967
  virtual && end < rows.length && /* @__PURE__ */ jsx("tr", { "aria-hidden": "true", children: /* @__PURE__ */ jsx("td", { colSpan: index.columnCount, style: { height: offsets[rows.length] - offsets[end], padding: 0, border: 0 } }) })
968
968
  ]
969
969
  }
@@ -1013,7 +1013,7 @@ const FTable = ({
1013
1013
  };
1014
1014
  }, []);
1015
1015
  return /* @__PURE__ */ jsxs(TableControlsContext.Provider, { value: controls, children: [
1016
- searchable && /* @__PURE__ */ jsx("div", { className: styles$t["table-tools"], children: /* @__PURE__ */ jsxs("label", { className: styles$t["table-search"], children: [
1016
+ searchable && /* @__PURE__ */ jsx("div", { className: styles$u["table-tools"], children: /* @__PURE__ */ jsxs("label", { className: styles$u["table-search"], children: [
1017
1017
  /* @__PURE__ */ jsxs("svg", { width: "13", height: "13", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": "true", children: [
1018
1018
  /* @__PURE__ */ jsx("circle", { cx: "11", cy: "11", r: "7" }),
1019
1019
  /* @__PURE__ */ jsx("path", { d: "m20 20-3.5-3.5" })
@@ -1036,7 +1036,7 @@ const FTable = ({
1036
1036
  "div",
1037
1037
  {
1038
1038
  ref: tableWrapperRef,
1039
- className: styles$t["f-table-component"],
1039
+ className: styles$u["f-table-component"],
1040
1040
  style: { overflowX, overflowY },
1041
1041
  children: /* @__PURE__ */ jsx(
1042
1042
  "table",
@@ -1048,7 +1048,7 @@ const FTable = ({
1048
1048
  ...st
1049
1049
  },
1050
1050
  ...props,
1051
- className: `table ${styles$t["f-table-component__table"]} ${props.className || ""}`,
1051
+ className: `table ${styles$u["f-table-component__table"]} ${props.className || ""}`,
1052
1052
  children: React.Children.map(children, (child) => {
1053
1053
  if (React.isValidElement(child) && child.type === FTableHead) {
1054
1054
  const headProps = child.props;
@@ -1087,14 +1087,14 @@ const FTableRow = ({
1087
1087
  ...props
1088
1088
  }) => {
1089
1089
  const rowClasses = [
1090
- styles$t["f-table-component__table_row"],
1090
+ styles$u["f-table-component__table_row"],
1091
1091
  props.className || ""
1092
1092
  ];
1093
1093
  if (disableHover) {
1094
- rowClasses.push(styles$t["f-table-component__table_row_no-hover"]);
1094
+ rowClasses.push(styles$u["f-table-component__table_row_no-hover"]);
1095
1095
  }
1096
1096
  if (textAlignment !== void 0) {
1097
- rowClasses.push(styles$t[textAlignment]);
1097
+ rowClasses.push(styles$u[textAlignment]);
1098
1098
  }
1099
1099
  return /* @__PURE__ */ jsx(
1100
1100
  "tr",
@@ -1139,13 +1139,13 @@ const FTableHeaderCell = ({
1139
1139
  colSpan: col && col > 1 ? col : void 0,
1140
1140
  ...props,
1141
1141
  "aria-sort": sortable ? direction ?? "none" : props["aria-sort"],
1142
- className: `${styles$t["f-table-component__table_header-cell"]} ${props.className || ""}`,
1142
+ className: `${styles$u["f-table-component__table_header-cell"]} ${props.className || ""}`,
1143
1143
  style,
1144
1144
  children: sortable ? /* @__PURE__ */ jsxs(
1145
1145
  "button",
1146
1146
  {
1147
1147
  type: "button",
1148
- className: styles$t["table-sort"],
1148
+ className: styles$u["table-sort"],
1149
1149
  onClick: () => toggleSort == null ? void 0 : toggleSort(sortKey),
1150
1150
  title: direction === "ascending" ? "По убыванию" : direction === "descending" ? "Исходный порядок" : "По возрастанию",
1151
1151
  children: [
@@ -1209,7 +1209,7 @@ function FTableTextTooltip({ text, enabled, children }) {
1209
1209
  "span",
1210
1210
  {
1211
1211
  ref: anchor,
1212
- className: styles$t["cell-tooltip-anchor"],
1212
+ className: styles$u["cell-tooltip-anchor"],
1213
1213
  onMouseEnter: show,
1214
1214
  onMouseLeave: hide2,
1215
1215
  onFocus: show,
@@ -1222,7 +1222,7 @@ function FTableTextTooltip({ text, enabled, children }) {
1222
1222
  ref: panel2,
1223
1223
  id,
1224
1224
  role: "tooltip",
1225
- className: styles$t["cell-tooltip"],
1225
+ className: styles$u["cell-tooltip"],
1226
1226
  style: position,
1227
1227
  onMouseEnter: show,
1228
1228
  onMouseLeave: hide2,
@@ -1270,20 +1270,20 @@ const FTableDataCell = ({
1270
1270
  rowSpan: row && row > 1 ? row : void 0,
1271
1271
  colSpan: col && col > 1 ? col : void 0,
1272
1272
  ...props,
1273
- className: `${styles$t["f-table-component__table_body-cell"]} ${props.className || ""}`.trim(),
1273
+ className: `${styles$u["f-table-component__table_body-cell"]} ${props.className || ""}`.trim(),
1274
1274
  style,
1275
1275
  children: collapsible ? /* @__PURE__ */ jsx(FTableTextTooltip, { text, enabled: !expanded, children: /* @__PURE__ */ jsxs(
1276
1276
  "button",
1277
1277
  {
1278
1278
  type: "button",
1279
- className: styles$t["cell-text"],
1279
+ className: styles$u["cell-text"],
1280
1280
  "aria-expanded": expanded,
1281
1281
  "aria-controls": textId,
1282
1282
  "data-expanded": expanded,
1283
1283
  onClick: () => setExpanded((value) => !value),
1284
1284
  children: [
1285
- /* @__PURE__ */ jsx("span", { className: styles$t["cell-preview"], "aria-hidden": "true", children: /* @__PURE__ */ jsx("span", { className: styles$t["cell-preview-text"], children: text }) }),
1286
- /* @__PURE__ */ jsx("span", { className: styles$t["cell-reveal"], children: /* @__PURE__ */ jsx("span", { id: textId, children: text }) })
1285
+ /* @__PURE__ */ jsx("span", { className: styles$u["cell-preview"], "aria-hidden": "true", children: /* @__PURE__ */ jsx("span", { className: styles$u["cell-preview-text"], children: text }) }),
1286
+ /* @__PURE__ */ jsx("span", { className: styles$u["cell-reveal"], children: /* @__PURE__ */ jsx("span", { id: textId, children: text }) })
1287
1287
  ]
1288
1288
  }
1289
1289
  ) }) : children
@@ -1300,7 +1300,7 @@ const FTableFooter = ({
1300
1300
  {
1301
1301
  style: st,
1302
1302
  ...props,
1303
- className: `${styles$t["f-table-component__table_footer"]} ${props.className || ""}`,
1303
+ className: `${styles$u["f-table-component__table_footer"]} ${props.className || ""}`,
1304
1304
  children
1305
1305
  }
1306
1306
  );
@@ -1308,7 +1308,7 @@ const FTableFooter = ({
1308
1308
  const entering = "_entering_g7izy_19";
1309
1309
  const exiting = "_exiting_g7izy_25";
1310
1310
  const hide = "_hide_g7izy_50";
1311
- const styles$s = {
1311
+ const styles$t = {
1312
1312
  "f-dialog": "_f-dialog_g7izy_1",
1313
1313
  entering,
1314
1314
  "f-dialog__content": "_f-dialog__content_g7izy_22",
@@ -1388,14 +1388,14 @@ const FDialog = ({
1388
1388
  adaptive: "fit-content"
1389
1389
  };
1390
1390
  const contentWidth = widthStyles[width];
1391
- const animationClass = isClosing ? styles$s["exiting"] : styles$s["entering"];
1391
+ const animationClass = isClosing ? styles$t["exiting"] : styles$t["entering"];
1392
1392
  return ReactDOM.createPortal(
1393
1393
  /* @__PURE__ */ jsx(
1394
1394
  "div",
1395
1395
  {
1396
1396
  id,
1397
1397
  style: st,
1398
- className: `${styles$s["f-dialog"]} ${animationClass} ${className || ""}`,
1398
+ className: `${styles$t["f-dialog"]} ${animationClass} ${className || ""}`,
1399
1399
  onMouseDown: (e) => {
1400
1400
  if (e.target === e.currentTarget) {
1401
1401
  closeButtonBackPage == null ? void 0 : closeButtonBackPage(false);
@@ -1405,7 +1405,7 @@ const FDialog = ({
1405
1405
  children: /* @__PURE__ */ jsx(
1406
1406
  "div",
1407
1407
  {
1408
- className: `${styles$s["f-dialog__content"]} ${hide2 ? styles$s["hide"] : ""}`,
1408
+ className: `${styles$t["f-dialog__content"]} ${hide2 ? styles$t["hide"] : ""}`,
1409
1409
  style: {
1410
1410
  width: contentWidth
1411
1411
  },
@@ -1446,13 +1446,13 @@ const FCloseIcon = React.forwardRef(({
1446
1446
  });
1447
1447
  FCloseIcon.displayName = "FCloseIcon";
1448
1448
  const FDialogHeader = ({ title: title2, handleClose }) => {
1449
- return /* @__PURE__ */ jsxs("div", { className: styles$s["f-dialog__header"], children: [
1450
- /* @__PURE__ */ jsx("h3", { className: styles$s["f-dialog__header_title"], children: title2 }),
1449
+ return /* @__PURE__ */ jsxs("div", { className: styles$t["f-dialog__header"], children: [
1450
+ /* @__PURE__ */ jsx("h3", { className: styles$t["f-dialog__header_title"], children: title2 }),
1451
1451
  handleClose && /* @__PURE__ */ jsx(
1452
1452
  "button",
1453
1453
  {
1454
1454
  type: "button",
1455
- className: styles$s["f-dialog__header_close"],
1455
+ className: styles$t["f-dialog__header_close"],
1456
1456
  onClick: handleClose,
1457
1457
  "aria-label": "Закрыть диалог",
1458
1458
  children: /* @__PURE__ */ jsx(
@@ -1471,7 +1471,7 @@ const FDialogBody = ({ st, children, scroll = true }) => {
1471
1471
  ...scroll ? { overflowY: "auto" } : {},
1472
1472
  ...st
1473
1473
  };
1474
- return /* @__PURE__ */ jsx("div", { className: styles$s["f-dialog__body"], style, children });
1474
+ return /* @__PURE__ */ jsx("div", { className: styles$t["f-dialog__body"], style, children });
1475
1475
  };
1476
1476
  const FDialogFooter = ({ children, className, st, id }) => {
1477
1477
  return /* @__PURE__ */ jsx(
@@ -1479,47 +1479,47 @@ const FDialogFooter = ({ children, className, st, id }) => {
1479
1479
  {
1480
1480
  id,
1481
1481
  style: st,
1482
- className: `${styles$s["f-dialog__footer"]} ${className || ""}`,
1482
+ className: `${styles$t["f-dialog__footer"]} ${className || ""}`,
1483
1483
  children
1484
1484
  }
1485
1485
  );
1486
1486
  };
1487
1487
  const loader = "_loader_1glrn_1";
1488
- const primary$1 = "_primary_1glrn_42";
1489
- const secondary$1 = "_secondary_1glrn_46";
1490
- const success$3 = "_success_1glrn_50";
1491
- const danger$1 = "_danger_1glrn_54";
1492
- const warning$5 = "_warning_1glrn_58";
1493
- const info$3 = "_info_1glrn_62";
1494
- const light$1 = "_light_1glrn_66";
1495
- const dark$1 = "_dark_1glrn_70";
1488
+ const primary$2 = "_primary_1glrn_42";
1489
+ const secondary$2 = "_secondary_1glrn_46";
1490
+ const success$4 = "_success_1glrn_50";
1491
+ const danger$2 = "_danger_1glrn_54";
1492
+ const warning$6 = "_warning_1glrn_58";
1493
+ const info$4 = "_info_1glrn_62";
1494
+ const light$2 = "_light_1glrn_66";
1495
+ const dark$2 = "_dark_1glrn_70";
1496
1496
  const link$1 = "_link_1glrn_74";
1497
- const styles$r = {
1497
+ const styles$s = {
1498
1498
  "authorization-spinner": "_authorization-spinner_1glrn_1",
1499
1499
  "spinner-item": "_spinner-item_1glrn_7",
1500
1500
  loader,
1501
- primary: primary$1,
1502
- secondary: secondary$1,
1503
- success: success$3,
1504
- danger: danger$1,
1505
- warning: warning$5,
1506
- info: info$3,
1507
- light: light$1,
1508
- dark: dark$1,
1501
+ primary: primary$2,
1502
+ secondary: secondary$2,
1503
+ success: success$4,
1504
+ danger: danger$2,
1505
+ warning: warning$6,
1506
+ info: info$4,
1507
+ light: light$2,
1508
+ dark: dark$2,
1509
1509
  link: link$1
1510
1510
  };
1511
1511
  const FProgress = ({ st, color = "primary", id, className }) => {
1512
1512
  return /* @__PURE__ */ jsx(
1513
1513
  "div",
1514
1514
  {
1515
- className: `${styles$r["authorization-spinner"]} ${styles$r.visible} ${className || ""}`,
1515
+ className: `${styles$s["authorization-spinner"]} ${styles$s.visible} ${className || ""}`,
1516
1516
  id,
1517
1517
  style: st,
1518
- children: /* @__PURE__ */ jsx("div", { className: `${styles$r["spinner-item"]} ${styles$r[color]}` })
1518
+ children: /* @__PURE__ */ jsx("div", { className: `${styles$s["spinner-item"]} ${styles$s[color]}` })
1519
1519
  }
1520
1520
  );
1521
1521
  };
1522
- const styles$q = {
1522
+ const styles$r = {
1523
1523
  "f-preloader": "_f-preloader_17f9x_1",
1524
1524
  "active-preloader": "_active-preloader_17f9x_10"
1525
1525
  };
@@ -1546,13 +1546,13 @@ const FPreloader = ({
1546
1546
  return /* @__PURE__ */ jsx(
1547
1547
  "div",
1548
1548
  {
1549
- className: `${styles$q["f-preloader"]} ${open ? styles$q["active-preloader"] : ""}`,
1549
+ className: `${styles$r["f-preloader"]} ${open ? styles$r["active-preloader"] : ""}`,
1550
1550
  style: mergedStyle,
1551
1551
  children
1552
1552
  }
1553
1553
  );
1554
1554
  };
1555
- const styles$p = {
1555
+ const styles$q = {
1556
1556
  "f-checkbox": "_f-checkbox_1hxs0_1"
1557
1557
  };
1558
1558
  const FCheckbox = forwardRef(
@@ -1565,7 +1565,7 @@ const FCheckbox = forwardRef(
1565
1565
  return /* @__PURE__ */ jsx(
1566
1566
  "div",
1567
1567
  {
1568
- className: `${styles$p["f-checkbox"]} ${className || ""}`,
1568
+ className: `${styles$q["f-checkbox"]} ${className || ""}`,
1569
1569
  style: st,
1570
1570
  children: /* @__PURE__ */ jsxs("label", { children: [
1571
1571
  /* @__PURE__ */ jsx("input", { ref, type: "checkbox", ...props }),
@@ -1575,7 +1575,7 @@ const FCheckbox = forwardRef(
1575
1575
  );
1576
1576
  }
1577
1577
  );
1578
- const styles$o = {
1578
+ const styles$p = {
1579
1579
  "f-radio": "_f-radio_1oidm_1"
1580
1580
  };
1581
1581
  const FRadioButton = forwardRef(
@@ -1588,7 +1588,7 @@ const FRadioButton = forwardRef(
1588
1588
  return /* @__PURE__ */ jsx(
1589
1589
  "div",
1590
1590
  {
1591
- className: `${styles$o["f-radio"]} ${className || ""}`,
1591
+ className: `${styles$p["f-radio"]} ${className || ""}`,
1592
1592
  style: st,
1593
1593
  children: /* @__PURE__ */ jsxs("label", { children: [
1594
1594
  /* @__PURE__ */ jsx("input", { ref, type: "radio", ...props }),
@@ -1650,7 +1650,7 @@ const selected$1 = "_selected_uiqea_33";
1650
1650
  const disabled$3 = "_disabled_uiqea_37";
1651
1651
  const arrow = "_arrow_uiqea_43";
1652
1652
  const left = "_left_uiqea_56";
1653
- const styles$n = {
1653
+ const styles$o = {
1654
1654
  "pagination-container": "_pagination-container_uiqea_1",
1655
1655
  "pagination-item": "_pagination-item_uiqea_9",
1656
1656
  dots,
@@ -1684,26 +1684,26 @@ const FPagination = ({
1684
1684
  return /* @__PURE__ */ jsxs(
1685
1685
  "ul",
1686
1686
  {
1687
- className: `${styles$n["pagination-container"]} ${className || ""}`,
1687
+ className: `${styles$o["pagination-container"]} ${className || ""}`,
1688
1688
  style: st,
1689
1689
  id,
1690
1690
  children: [
1691
1691
  /* @__PURE__ */ jsx(
1692
1692
  "li",
1693
1693
  {
1694
- className: `${styles$n["pagination-item"]} ${currentPage === 1 ? styles$n.disabled : ""}`,
1694
+ className: `${styles$o["pagination-item"]} ${currentPage === 1 ? styles$o.disabled : ""}`,
1695
1695
  onClick: onPrevious,
1696
- children: /* @__PURE__ */ jsx("div", { className: `${styles$n.arrow} ${styles$n.left}` })
1696
+ children: /* @__PURE__ */ jsx("div", { className: `${styles$o.arrow} ${styles$o.left}` })
1697
1697
  }
1698
1698
  ),
1699
1699
  paginationRange.map((pageNumber, index) => {
1700
1700
  if (pageNumber === DOTS) {
1701
- return /* @__PURE__ */ jsx("li", { className: `${styles$n["pagination-item"]} ${styles$n.dots}`, children: "…" }, index);
1701
+ return /* @__PURE__ */ jsx("li", { className: `${styles$o["pagination-item"]} ${styles$o.dots}`, children: "…" }, index);
1702
1702
  }
1703
1703
  return /* @__PURE__ */ jsx(
1704
1704
  "li",
1705
1705
  {
1706
- className: `${styles$n["pagination-item"]} ${pageNumber === currentPage ? styles$n.selected : ""}`,
1706
+ className: `${styles$o["pagination-item"]} ${pageNumber === currentPage ? styles$o.selected : ""}`,
1707
1707
  onClick: () => onPageChange(pageNumber),
1708
1708
  children: pageNumber
1709
1709
  },
@@ -1713,16 +1713,16 @@ const FPagination = ({
1713
1713
  /* @__PURE__ */ jsx(
1714
1714
  "li",
1715
1715
  {
1716
- className: `${styles$n["pagination-item"]} ${currentPage === lastPage ? styles$n.disabled : ""}`,
1716
+ className: `${styles$o["pagination-item"]} ${currentPage === lastPage ? styles$o.disabled : ""}`,
1717
1717
  onClick: onNext,
1718
- children: /* @__PURE__ */ jsx("div", { className: `${styles$n.arrow} ${styles$n.right}` })
1718
+ children: /* @__PURE__ */ jsx("div", { className: `${styles$o.arrow} ${styles$o.right}` })
1719
1719
  }
1720
1720
  )
1721
1721
  ]
1722
1722
  }
1723
1723
  );
1724
1724
  };
1725
- const styles$m = {
1725
+ const styles$n = {
1726
1726
  "f-time-line": "_f-time-line_1ybe7_1",
1727
1727
  "f-time-line__block": "_f-time-line__block_1ybe7_10",
1728
1728
  "f-time-line__block-circle": "_f-time-line__block-circle_1ybe7_29",
@@ -1736,7 +1736,7 @@ const FTimeline = ({
1736
1736
  id,
1737
1737
  className
1738
1738
  }) => {
1739
- return /* @__PURE__ */ jsx("div", { className: `${styles$m["f-time-line"]} ${className || ""}`, style: st, id, children });
1739
+ return /* @__PURE__ */ jsx("div", { className: `${styles$n["f-time-line"]} ${className || ""}`, style: st, id, children });
1740
1740
  };
1741
1741
  const FTimelineCard = ({
1742
1742
  children,
@@ -1745,17 +1745,17 @@ const FTimelineCard = ({
1745
1745
  id,
1746
1746
  className
1747
1747
  }) => {
1748
- return /* @__PURE__ */ jsxs("div", { className: `${styles$m["f-time-line__block"]} ${className || ""}`, id, children: [
1749
- /* @__PURE__ */ jsx("div", { className: styles$m["f-time-line__block-circle"] }),
1750
- /* @__PURE__ */ jsxs("div", { className: styles$m["f-time-line__block-inner"], style: st, children: [
1751
- title2 && /* @__PURE__ */ jsx("div", { className: styles$m["f-time-line__block-title"], children: title2 }),
1752
- /* @__PURE__ */ jsx("div", { className: styles$m["f-time-line__block-content"], children })
1748
+ return /* @__PURE__ */ jsxs("div", { className: `${styles$n["f-time-line__block"]} ${className || ""}`, id, children: [
1749
+ /* @__PURE__ */ jsx("div", { className: styles$n["f-time-line__block-circle"] }),
1750
+ /* @__PURE__ */ jsxs("div", { className: styles$n["f-time-line__block-inner"], style: st, children: [
1751
+ title2 && /* @__PURE__ */ jsx("div", { className: styles$n["f-time-line__block-title"], children: title2 }),
1752
+ /* @__PURE__ */ jsx("div", { className: styles$n["f-time-line__block-content"], children })
1753
1753
  ] })
1754
1754
  ] });
1755
1755
  };
1756
1756
  const spinner = "_spinner_f7bma_133";
1757
1757
  const active$4 = "_active_f7bma_183";
1758
- const styles$l = {
1758
+ const styles$m = {
1759
1759
  "fv-opn-img-full": "_fv-opn-img-full_f7bma_1",
1760
1760
  "fv-opn-img-full-body": "_fv-opn-img-full-body_f7bma_19",
1761
1761
  "close-button": "_close-button_f7bma_33",
@@ -1894,10 +1894,10 @@ const FOpenImgFull = ({
1894
1894
  {
1895
1895
  openAndClose,
1896
1896
  st,
1897
- className: `${styles$l["fv-opn-img-full"]} ${className || ""}`,
1897
+ className: `${styles$m["fv-opn-img-full"]} ${className || ""}`,
1898
1898
  id,
1899
- children: /* @__PURE__ */ jsxs("div", { className: styles$l["fv-opn-img-full-body"], children: [
1900
- /* @__PURE__ */ jsx("div", { className: styles$l["close-button"], children: handleClose && /* @__PURE__ */ jsx(
1899
+ children: /* @__PURE__ */ jsxs("div", { className: styles$m["fv-opn-img-full-body"], children: [
1900
+ /* @__PURE__ */ jsx("div", { className: styles$m["close-button"], children: handleClose && /* @__PURE__ */ jsx(
1901
1901
  FCloseIcon,
1902
1902
  {
1903
1903
  handleClose: () => {
@@ -1909,21 +1909,21 @@ const FOpenImgFull = ({
1909
1909
  /* @__PURE__ */ jsxs(
1910
1910
  "div",
1911
1911
  {
1912
- className: styles$l["image-container"],
1912
+ className: styles$m["image-container"],
1913
1913
  onTouchStart: handleTouchStart,
1914
1914
  onTouchMove: handleTouchMove,
1915
1915
  onTouchEnd: handleTouchEnd,
1916
1916
  children: [
1917
- selectedImg > 0 && /* @__PURE__ */ jsx("div", { className: styles$l["arrow-left"], children: /* @__PURE__ */ jsx(
1917
+ selectedImg > 0 && /* @__PURE__ */ jsx("div", { className: styles$m["arrow-left"], children: /* @__PURE__ */ jsx(
1918
1918
  FArrowIcon,
1919
1919
  {
1920
1920
  direction: "left",
1921
1921
  handleClick: () => setSelectedImg(selectedImg - 1)
1922
1922
  }
1923
1923
  ) }),
1924
- /* @__PURE__ */ jsxs("div", { className: styles$l["image-wrapper"], children: [
1925
- isLoading && /* @__PURE__ */ jsx("div", { className: styles$l["loading-spinner"], children: /* @__PURE__ */ jsx("div", { className: styles$l["spinner"] }) }),
1926
- error2 ? /* @__PURE__ */ jsx("div", { className: styles$l["error-message"], children: "Ошибка загрузки изображения" }) : /* @__PURE__ */ jsx(
1924
+ /* @__PURE__ */ jsxs("div", { className: styles$m["image-wrapper"], children: [
1925
+ isLoading && /* @__PURE__ */ jsx("div", { className: styles$m["loading-spinner"], children: /* @__PURE__ */ jsx("div", { className: styles$m["spinner"] }) }),
1926
+ error2 ? /* @__PURE__ */ jsx("div", { className: styles$m["error-message"], children: "Ошибка загрузки изображения" }) : /* @__PURE__ */ jsx(
1927
1927
  "img",
1928
1928
  {
1929
1929
  src: imagesUrl[selectedImg],
@@ -1933,7 +1933,7 @@ const FOpenImgFull = ({
1933
1933
  setError(true);
1934
1934
  setIsLoading(false);
1935
1935
  },
1936
- className: styles$l["full-image"],
1936
+ className: styles$m["full-image"],
1937
1937
  onClick: handleImageClick,
1938
1938
  style: {
1939
1939
  cursor: "zoom-in",
@@ -1943,7 +1943,7 @@ const FOpenImgFull = ({
1943
1943
  }
1944
1944
  )
1945
1945
  ] }),
1946
- selectedImg < imagesUrl.length - 1 && /* @__PURE__ */ jsx("div", { className: styles$l["arrow-right"], children: /* @__PURE__ */ jsx(
1946
+ selectedImg < imagesUrl.length - 1 && /* @__PURE__ */ jsx("div", { className: styles$m["arrow-right"], children: /* @__PURE__ */ jsx(
1947
1947
  FArrowIcon,
1948
1948
  {
1949
1949
  direction: "right",
@@ -1953,10 +1953,10 @@ const FOpenImgFull = ({
1953
1953
  ]
1954
1954
  }
1955
1955
  ),
1956
- imagesUrl.length > 1 && /* @__PURE__ */ jsx("div", { className: styles$l["progress-indicator"], children: imagesUrl.map((_, index) => /* @__PURE__ */ jsx(
1956
+ imagesUrl.length > 1 && /* @__PURE__ */ jsx("div", { className: styles$m["progress-indicator"], children: imagesUrl.map((_, index) => /* @__PURE__ */ jsx(
1957
1957
  "div",
1958
1958
  {
1959
- className: `${styles$l["progress-dot"]} ${index === selectedImg ? styles$l["active"] : ""}`,
1959
+ className: `${styles$m["progress-dot"]} ${index === selectedImg ? styles$m["active"] : ""}`,
1960
1960
  onClick: () => setSelectedImg(index)
1961
1961
  },
1962
1962
  index
@@ -1966,29 +1966,29 @@ const FOpenImgFull = ({
1966
1966
  );
1967
1967
  };
1968
1968
  const card$2 = "_card_1ytel_1";
1969
- const primary = "_primary_1ytel_69";
1970
- const secondary = "_secondary_1ytel_81";
1971
- const success$2 = "_success_1ytel_93";
1972
- const danger = "_danger_1ytel_105";
1973
- const warning$4 = "_warning_1ytel_117";
1974
- const info$2 = "_info_1ytel_129";
1975
- const light = "_light_1ytel_141";
1976
- const dark = "_dark_1ytel_153";
1969
+ const primary$1 = "_primary_1ytel_69";
1970
+ const secondary$1 = "_secondary_1ytel_81";
1971
+ const success$3 = "_success_1ytel_93";
1972
+ const danger$1 = "_danger_1ytel_105";
1973
+ const warning$5 = "_warning_1ytel_117";
1974
+ const info$3 = "_info_1ytel_129";
1975
+ const light$1 = "_light_1ytel_141";
1976
+ const dark$1 = "_dark_1ytel_153";
1977
1977
  const link = "_link_1ytel_165";
1978
1978
  const alert = "_alert_1ytel_177";
1979
1979
  const accordExpand = "_accordExpand_1ytel_1";
1980
- const styles$k = {
1980
+ const styles$l = {
1981
1981
  card: card$2,
1982
1982
  "fv-accord-title": "_fv-accord-title_1ytel_44",
1983
1983
  "fv-accord-arrow": "_fv-accord-arrow_1ytel_47",
1984
- primary,
1985
- secondary,
1986
- success: success$2,
1987
- danger,
1988
- warning: warning$4,
1989
- info: info$2,
1990
- light,
1991
- dark,
1984
+ primary: primary$1,
1985
+ secondary: secondary$1,
1986
+ success: success$3,
1987
+ danger: danger$1,
1988
+ warning: warning$5,
1989
+ info: info$3,
1990
+ light: light$1,
1991
+ dark: dark$1,
1992
1992
  link,
1993
1993
  alert,
1994
1994
  "fv-accord-title-text": "_fv-accord-title-text_1ytel_223",
@@ -2017,18 +2017,18 @@ const FAccordion = ({
2017
2017
  "div",
2018
2018
  {
2019
2019
  onClick,
2020
- className: `${styles$k.card} ${className || ""}`,
2020
+ className: `${styles$l.card} ${className || ""}`,
2021
2021
  id,
2022
2022
  children: /* @__PURE__ */ jsxs(
2023
2023
  "details",
2024
2024
  {
2025
- className: styles$k[variant],
2025
+ className: styles$l[variant],
2026
2026
  open: isOpen,
2027
2027
  style: st,
2028
2028
  children: [
2029
- /* @__PURE__ */ jsxs("summary", { className: styles$k["fv-accord-title"], children: [
2030
- /* @__PURE__ */ jsx("span", { className: styles$k["fv-accord-title-text"], children: title2 }),
2031
- /* @__PURE__ */ jsx("span", { className: styles$k["fv-accord-arrow"], "aria-hidden": "true", children: /* @__PURE__ */ jsx(
2029
+ /* @__PURE__ */ jsxs("summary", { className: styles$l["fv-accord-title"], children: [
2030
+ /* @__PURE__ */ jsx("span", { className: styles$l["fv-accord-title-text"], children: title2 }),
2031
+ /* @__PURE__ */ jsx("span", { className: styles$l["fv-accord-arrow"], "aria-hidden": "true", children: /* @__PURE__ */ jsx(
2032
2032
  "svg",
2033
2033
  {
2034
2034
  viewBox: "0 0 24 24",
@@ -2043,7 +2043,7 @@ const FAccordion = ({
2043
2043
  }
2044
2044
  ) })
2045
2045
  ] }),
2046
- /* @__PURE__ */ jsx("div", { className: styles$k["fv-accord-content"], children: /* @__PURE__ */ jsx("div", { className: styles$k["fv-accord-body"], children }) })
2046
+ /* @__PURE__ */ jsx("div", { className: styles$l["fv-accord-content"], children: /* @__PURE__ */ jsx("div", { className: styles$l["fv-accord-body"], children }) })
2047
2047
  ]
2048
2048
  }
2049
2049
  )
@@ -2051,7 +2051,7 @@ const FAccordion = ({
2051
2051
  );
2052
2052
  };
2053
2053
  const container$1 = "_container_qk7bc_1";
2054
- const styles$j = {
2054
+ const styles$k = {
2055
2055
  container: container$1,
2056
2056
  "custom-file": "_custom-file_qk7bc_6",
2057
2057
  "custom-file-input": "_custom-file-input_qk7bc_9",
@@ -2181,11 +2181,11 @@ const FInputFileForm = ({
2181
2181
  setUploadProgress({});
2182
2182
  }
2183
2183
  }, [deleteFile]);
2184
- return /* @__PURE__ */ jsxs("div", { className: styles$j.container, children: [
2184
+ return /* @__PURE__ */ jsxs("div", { className: styles$k.container, children: [
2185
2185
  /* @__PURE__ */ jsxs(
2186
2186
  "div",
2187
2187
  {
2188
- className: `${styles$j["custom-file"]} ${styles$j["custom-file-dropzone"]} ${isDragging ? styles$j.dragging : ""}`,
2188
+ className: `${styles$k["custom-file"]} ${styles$k["custom-file-dropzone"]} ${isDragging ? styles$k.dragging : ""}`,
2189
2189
  style: st,
2190
2190
  onDragOver: handleDragOver,
2191
2191
  onDragLeave: handleDragLeave,
@@ -2197,7 +2197,7 @@ const FInputFileForm = ({
2197
2197
  required,
2198
2198
  accept,
2199
2199
  type: "file",
2200
- className: `${styles$j["custom-file-input"]} ${className || ""}`,
2200
+ className: `${styles$k["custom-file-input"]} ${className || ""}`,
2201
2201
  name,
2202
2202
  id,
2203
2203
  title: title2,
@@ -2208,7 +2208,7 @@ const FInputFileForm = ({
2208
2208
  ref: inputRef
2209
2209
  }
2210
2210
  ),
2211
- /* @__PURE__ */ jsxs("label", { htmlFor: id, className: styles$j["custom-file-label"], style: disabled2 ? { backgroundColor: "#F3F3F3", border: "1px dashed #C4C4C4" } : void 0, children: [
2211
+ /* @__PURE__ */ jsxs("label", { htmlFor: id, className: styles$k["custom-file-label"], style: disabled2 ? { backgroundColor: "#F3F3F3", border: "1px dashed #C4C4C4" } : void 0, children: [
2212
2212
  /* @__PURE__ */ jsxs("svg", { width: "30", height: "30", fill: "currentColor", viewBox: "0 0 16 16", children: [
2213
2213
  /* @__PURE__ */ jsx("path", { "fill-rule": "evenodd", d: "M7.646 5.146a.5.5 0 0 1 .708 0l2 2a.5.5 0 0 1-.708.708L8.5 6.707V10.5a.5.5 0 0 1-1 0V6.707L6.354 7.854a.5.5 0 1 1-.708-.708z" }),
2214
2214
  /* @__PURE__ */ jsx("path", { d: "M4.406 3.342A5.53 5.53 0 0 1 8 2c2.69 0 4.923 2 5.166 4.579C14.758 6.804 16 8.137 16 9.773 16 11.569 14.502 13 12.687 13H3.781C1.708 13 0 11.366 0 9.318c0-1.763 1.266-3.223 2.942-3.593.143-.863.698-1.723 1.464-2.383m.653.757c-.757.653-1.153 1.44-1.153 2.056v.448l-.445.049C2.064 6.805 1 7.952 1 9.318 1 10.785 2.23 12 3.781 12h8.906C13.98 12 15 10.988 15 9.773c0-1.216-1.02-2.228-2.313-2.228h-.5v-.5C12.188 4.825 10.328 3 8 3a4.53 4.53 0 0 0-2.941 1.1z" })
@@ -2234,8 +2234,8 @@ const FInputFileForm = ({
2234
2234
  ]
2235
2235
  }
2236
2236
  ),
2237
- errors.length > 0 && /* @__PURE__ */ jsx("div", { className: styles$j.errors, children: errors.map((error2, index) => /* @__PURE__ */ jsx("div", { className: styles$j.error, children: error2 }, index)) }),
2238
- showPreview && selectedFiles.length > 0 && /* @__PURE__ */ jsx("div", { className: styles$j["custom-files-preview"], children: selectedFiles.map((file, index) => /* @__PURE__ */ jsx("div", { className: styles$j.fileItem, children: /* @__PURE__ */ jsx(
2237
+ errors.length > 0 && /* @__PURE__ */ jsx("div", { className: styles$k.errors, children: errors.map((error2, index) => /* @__PURE__ */ jsx("div", { className: styles$k.error, children: error2 }, index)) }),
2238
+ showPreview && selectedFiles.length > 0 && /* @__PURE__ */ jsx("div", { className: styles$k["custom-files-preview"], children: selectedFiles.map((file, index) => /* @__PURE__ */ jsx("div", { className: styles$k.fileItem, children: /* @__PURE__ */ jsx(
2239
2239
  FFile,
2240
2240
  {
2241
2241
  name: file.name,
@@ -2246,7 +2246,7 @@ const FInputFileForm = ({
2246
2246
  ) }, index)) })
2247
2247
  ] });
2248
2248
  };
2249
- const styles$i = {
2249
+ const styles$j = {
2250
2250
  "f-select": "_f-select_1n6ag_1",
2251
2251
  "f-select__control-element": "_f-select__control-element_1n6ag_5"
2252
2252
  };
@@ -2276,7 +2276,7 @@ const FSelect = forwardRef(
2276
2276
  return /* @__PURE__ */ jsxs(
2277
2277
  "div",
2278
2278
  {
2279
- className: `f-form-element ${styles$i["f-select"]}`,
2279
+ className: `f-form-element ${styles$j["f-select"]}`,
2280
2280
  style: mergedStyle,
2281
2281
  id: inputId + "-select-block",
2282
2282
  role: "group",
@@ -2301,7 +2301,7 @@ const FSelect = forwardRef(
2301
2301
  ...props,
2302
2302
  id: inputId,
2303
2303
  disabled: props.disabled || load,
2304
- className: `f-form-element__control-element ${styles$i["f-select__control-element"]} ${errText ? "error" : ""} ${props.className || ""}`,
2304
+ className: `f-form-element__control-element ${styles$j["f-select__control-element"]} ${errText ? "error" : ""} ${props.className || ""}`,
2305
2305
  children: !load && children
2306
2306
  }
2307
2307
  ),
@@ -2397,7 +2397,7 @@ const FFullDateField = forwardRef(
2397
2397
  }
2398
2398
  );
2399
2399
  const active$3 = "_active_1h0yy_41";
2400
- const styles$h = {
2400
+ const styles$i = {
2401
2401
  "f-select-search-db": "_f-select-search-db_1h0yy_1",
2402
2402
  "f-select-search-db__input": "_f-select-search-db__input_1h0yy_7",
2403
2403
  "f-select-search-db__input_field": "_f-select-search-db__input_field_1h0yy_11",
@@ -2581,12 +2581,12 @@ const FSelectSearchDb = ({
2581
2581
  "div",
2582
2582
  {
2583
2583
  ref: containerRef,
2584
- className: `${styles$h["f-select-search-db"]} ${className || ""}`,
2584
+ className: `${styles$i["f-select-search-db"]} ${className || ""}`,
2585
2585
  style: st,
2586
2586
  id,
2587
2587
  "data-position": dropdownPosition,
2588
2588
  children: [
2589
- /* @__PURE__ */ jsxs("div", { className: styles$h["f-select-search-db__input"], children: [
2589
+ /* @__PURE__ */ jsxs("div", { className: styles$i["f-select-search-db__input"], children: [
2590
2590
  /* @__PURE__ */ jsx(
2591
2591
  FTextField,
2592
2592
  {
@@ -2597,7 +2597,7 @@ const FSelectSearchDb = ({
2597
2597
  label,
2598
2598
  type,
2599
2599
  placeholder,
2600
- className: styles$h["f-select-search-db__input_field"],
2600
+ className: styles$i["f-select-search-db__input_field"],
2601
2601
  value: valueInput,
2602
2602
  onChange: handlerOnChange,
2603
2603
  onFocus,
@@ -2614,7 +2614,7 @@ const FSelectSearchDb = ({
2614
2614
  !load && !disabled2 && arrObject.length > 0 && /* @__PURE__ */ jsx(
2615
2615
  "div",
2616
2616
  {
2617
- className: styles$h["f-select-search-db__input_arrow"],
2617
+ className: styles$i["f-select-search-db__input_arrow"],
2618
2618
  style: { marginTop: label ? "28px" : "7px" },
2619
2619
  onClick: handleArrowClick,
2620
2620
  children: /* @__PURE__ */ jsx(FArrowIcon, { direction: isDropdownOpen ? "up" : "down", size: 15 })
@@ -2626,8 +2626,8 @@ const FSelectSearchDb = ({
2626
2626
  "div",
2627
2627
  {
2628
2628
  ref: dropdownRef,
2629
- className: `${styles$h["f-select-search-db__dropdown"]} ${isDropdownOpen ? styles$h.active : ""}`,
2630
- children: arrObject.length === 0 && valueInput.trim() === "" ? /* @__PURE__ */ jsx("li", { children: "Введите текст" }) : arrObject.length === 0 && valueInput.trim() !== "" && !load ? /* @__PURE__ */ jsx("li", { children: "Ничего не найдено" }) : /* @__PURE__ */ jsx("ul", { className: styles$h["f-select-search-db__dropdown_content"], children: arrObject.slice(0, 10).map((opt, index) => /* @__PURE__ */ jsx("li", { onMouseDown: () => handleItemClick(opt), children: selectItem(opt) }, index)) })
2629
+ className: `${styles$i["f-select-search-db__dropdown"]} ${isDropdownOpen ? styles$i.active : ""}`,
2630
+ children: arrObject.length === 0 && valueInput.trim() === "" ? /* @__PURE__ */ jsx("li", { children: "Введите текст" }) : arrObject.length === 0 && valueInput.trim() !== "" && !load ? /* @__PURE__ */ jsx("li", { children: "Ничего не найдено" }) : /* @__PURE__ */ jsx("ul", { className: styles$i["f-select-search-db__dropdown_content"], children: arrObject.slice(0, 10).map((opt, index) => /* @__PURE__ */ jsx("li", { onMouseDown: () => handleItemClick(opt), children: selectItem(opt) }, index)) })
2631
2631
  }
2632
2632
  ),
2633
2633
  dropdownPortalRef.current
@@ -2636,7 +2636,7 @@ const FSelectSearchDb = ({
2636
2636
  }
2637
2637
  );
2638
2638
  };
2639
- const styles$g = {
2639
+ const styles$h = {
2640
2640
  "f-text-area": "_f-text-area_1ywhr_1"
2641
2641
  };
2642
2642
  const FTextArea = forwardRef(
@@ -2665,7 +2665,7 @@ const FTextArea = forwardRef(
2665
2665
  return /* @__PURE__ */ jsxs(
2666
2666
  "div",
2667
2667
  {
2668
- className: `f-form-element ${styles$g["f-text-area"]} ${className || ""}`,
2668
+ className: `f-form-element ${styles$h["f-text-area"]} ${className || ""}`,
2669
2669
  style: mergedStyle,
2670
2670
  role: "group",
2671
2671
  id: areaId + "-text-area-block",
@@ -3038,7 +3038,7 @@ const FNative = ({
3038
3038
  const horizontal = "_horizontal_1djm2_1";
3039
3039
  const vertical = "_vertical_1djm2_7";
3040
3040
  const active$2 = "_active_1djm2_51";
3041
- const styles$f = {
3041
+ const styles$g = {
3042
3042
  "f-tabs": "_f-tabs_1djm2_1",
3043
3043
  horizontal,
3044
3044
  vertical,
@@ -3057,7 +3057,7 @@ const FTabs = ({
3057
3057
  {
3058
3058
  id,
3059
3059
  style: st,
3060
- className: `${styles$f["f-tabs"]} ${styles$f[orientation]} ${className || ""}`,
3060
+ className: `${styles$g["f-tabs"]} ${styles$g[orientation]} ${className || ""}`,
3061
3061
  children
3062
3062
  }
3063
3063
  );
@@ -3074,7 +3074,7 @@ const FTab = forwardRef(({
3074
3074
  ref,
3075
3075
  type: "button",
3076
3076
  style: st,
3077
- className: `${styles$f["f-tabs__tab"]} ${active2 ? styles$f["active"] : ""} ${props.className || ""}`,
3077
+ className: `${styles$g["f-tabs__tab"]} ${active2 ? styles$g["active"] : ""} ${props.className || ""}`,
3078
3078
  ...props,
3079
3079
  children
3080
3080
  }
@@ -3082,7 +3082,7 @@ const FTab = forwardRef(({
3082
3082
  });
3083
3083
  FTab.displayName = "FTab";
3084
3084
  const disabled$2 = "_disabled_2ty2i_40";
3085
- const styles$e = {
3085
+ const styles$f = {
3086
3086
  "f-dropdown": "_f-dropdown_2ty2i_1",
3087
3087
  "f-dropdown__arrow": "_f-dropdown__arrow_2ty2i_6",
3088
3088
  "f-dropdown__content": "_f-dropdown__content_2ty2i_10",
@@ -3132,7 +3132,7 @@ const FDropdown = forwardRef(({
3132
3132
  return child;
3133
3133
  });
3134
3134
  };
3135
- return /* @__PURE__ */ jsxs("div", { className: styles$e["f-dropdown"], ref, ...props, children: [
3135
+ return /* @__PURE__ */ jsxs("div", { className: styles$f["f-dropdown"], ref, ...props, children: [
3136
3136
  /* @__PURE__ */ jsx(
3137
3137
  FButton,
3138
3138
  {
@@ -3141,21 +3141,21 @@ const FDropdown = forwardRef(({
3141
3141
  size,
3142
3142
  disabled: disabled2,
3143
3143
  st,
3144
- className: `${styles$e["f-dropdown__button"]} ${className || ""}`,
3144
+ className: `${styles$f["f-dropdown__button"]} ${className || ""}`,
3145
3145
  id,
3146
3146
  onClick: () => setIsOpen((v) => !v),
3147
3147
  "aria-haspopup": "menu",
3148
3148
  "aria-expanded": isOpen,
3149
3149
  children: /* @__PURE__ */ jsxs(FStack, { direction: "row", spacing: 2, justifyContent: "center", alignItems: "center", children: [
3150
3150
  label,
3151
- /* @__PURE__ */ jsx(FArrowIcon, { className: styles$e["f-dropdown__arrow"], size: 16, color: "light", direction: isOpen ? "up" : "down" })
3151
+ /* @__PURE__ */ jsx(FArrowIcon, { className: styles$f["f-dropdown__arrow"], size: 16, color: "light", direction: isOpen ? "up" : "down" })
3152
3152
  ] })
3153
3153
  }
3154
3154
  ),
3155
3155
  /* @__PURE__ */ jsx(
3156
3156
  "div",
3157
3157
  {
3158
- className: styles$e["f-dropdown__content"] + (isOpen ? " " + styles$e["f-dropdown__content--open"] : ""),
3158
+ className: styles$f["f-dropdown__content"] + (isOpen ? " " + styles$f["f-dropdown__content--open"] : ""),
3159
3159
  role: "menu",
3160
3160
  children: renderChildren()
3161
3161
  }
@@ -3176,7 +3176,7 @@ const FDropdownItem = ({
3176
3176
  {
3177
3177
  id,
3178
3178
  style: st,
3179
- className: `${styles$e["f-dropdown__content-link"]} ${className || ""} ${disabled2 ? styles$e["disabled"] : ""}`,
3179
+ className: `${styles$f["f-dropdown__content-link"]} ${className || ""} ${disabled2 ? styles$f["disabled"] : ""}`,
3180
3180
  onClick: disabled2 ? void 0 : onClick,
3181
3181
  "aria-disabled": disabled2,
3182
3182
  role: "menuitem",
@@ -3184,7 +3184,7 @@ const FDropdownItem = ({
3184
3184
  }
3185
3185
  );
3186
3186
  };
3187
- const styles$d = {
3187
+ const styles$e = {
3188
3188
  "f-search-box": "_f-search-box_1s9ms_1",
3189
3189
  "f-search-box__input": "_f-search-box__input_1s9ms_6",
3190
3190
  "f-search-box__button": "_f-search-box__button_1s9ms_12",
@@ -3210,7 +3210,7 @@ const FSearchBox = forwardRef(
3210
3210
  type,
3211
3211
  ...props
3212
3212
  }, ref) => {
3213
- return /* @__PURE__ */ jsxs("div", { className: `${styles$d["f-search-box"]} form-group`, style: st, children: [
3213
+ return /* @__PURE__ */ jsxs("div", { className: `${styles$e["f-search-box"]} form-group`, style: st, children: [
3214
3214
  /* @__PURE__ */ jsx(
3215
3215
  FTextField,
3216
3216
  {
@@ -3224,14 +3224,14 @@ const FSearchBox = forwardRef(
3224
3224
  errText: typeof errText === "string" ? [errText] : errText,
3225
3225
  load,
3226
3226
  ...props,
3227
- className: `${styles$d["f-search-box__input"]} ${props.className || ""}`
3227
+ className: `${styles$e["f-search-box__input"]} ${props.className || ""}`
3228
3228
  }
3229
3229
  ),
3230
- /* @__PURE__ */ jsxs("div", { className: styles$d["f-search-box__button"], style: { marginTop: label ? "26px" : "0" }, children: [
3230
+ /* @__PURE__ */ jsxs("div", { className: styles$e["f-search-box__button"], style: { marginTop: label ? "26px" : "0" }, children: [
3231
3231
  /* @__PURE__ */ jsx(
3232
3232
  FButton,
3233
3233
  {
3234
- className: `${styles$d["f-search-box__button_search"]} ${clearDataFromInput ? styles$d["clear-on"] : ""} f-search-box__button_search-st`,
3234
+ className: `${styles$e["f-search-box__button_search"]} ${clearDataFromInput ? styles$e["clear-on"] : ""} f-search-box__button_search-st`,
3235
3235
  type: "button",
3236
3236
  disabled: disabled2,
3237
3237
  onClick: onClickButton,
@@ -3243,7 +3243,7 @@ const FSearchBox = forwardRef(
3243
3243
  clearDataFromInput && /* @__PURE__ */ jsx(
3244
3244
  FButton,
3245
3245
  {
3246
- className: `${styles$d["f-search-box__button_clear"]} f-search-box__button_clear-st`,
3246
+ className: `${styles$e["f-search-box__button_clear"]} f-search-box__button_clear-st`,
3247
3247
  type: "button",
3248
3248
  disabled: disabled2,
3249
3249
  onClick: clearDataFromInput,
@@ -3256,7 +3256,7 @@ const FSearchBox = forwardRef(
3256
3256
  ] });
3257
3257
  }
3258
3258
  );
3259
- const styles$c = {
3259
+ const styles$d = {
3260
3260
  "f-carousel": "_f-carousel_d5w12_1",
3261
3261
  "f-carousel__viewport": "_f-carousel__viewport_d5w12_8",
3262
3262
  "f-carousel__track": "_f-carousel__track_d5w12_12",
@@ -3339,10 +3339,10 @@ const FCarousel = ({
3339
3339
  const handleTouchEnd = () => {
3340
3340
  startX.current = null;
3341
3341
  };
3342
- const rootClass = [styles$c["f-carousel"], className].filter(Boolean).join(" ");
3342
+ const rootClass = [styles$d["f-carousel"], className].filter(Boolean).join(" ");
3343
3343
  const trackClass = [
3344
- styles$c["f-carousel__track"],
3345
- isAnimating ? styles$c["f-carousel__track--animating"] : ""
3344
+ styles$d["f-carousel__track"],
3345
+ isAnimating ? styles$d["f-carousel__track--animating"] : ""
3346
3346
  ].filter(Boolean).join(" ");
3347
3347
  const trackStyle = {
3348
3348
  transform: `translateX(-${100 / itemsCount * current}%)`,
@@ -3353,7 +3353,7 @@ const FCarousel = ({
3353
3353
  showArrows && /* @__PURE__ */ jsx(
3354
3354
  "button",
3355
3355
  {
3356
- className: `${styles$c["f-carousel__arrow"]} ${styles$c["f-carousel__arrow--left"]}`,
3356
+ className: `${styles$d["f-carousel__arrow"]} ${styles$d["f-carousel__arrow--left"]}`,
3357
3357
  onClick: handlePrev,
3358
3358
  disabled: !loop && current === 0,
3359
3359
  "aria-label": "Назад",
@@ -3363,14 +3363,14 @@ const FCarousel = ({
3363
3363
  /* @__PURE__ */ jsx(
3364
3364
  "div",
3365
3365
  {
3366
- className: styles$c["f-carousel__viewport"],
3366
+ className: styles$d["f-carousel__viewport"],
3367
3367
  onTouchStart: handleTouchStart,
3368
3368
  onTouchMove: handleTouchMove,
3369
3369
  onTouchEnd: handleTouchEnd,
3370
3370
  children: /* @__PURE__ */ jsx("div", { ref: trackRef, className: trackClass, style: trackStyle, children: children.map((child, idx) => /* @__PURE__ */ jsx(
3371
3371
  "div",
3372
3372
  {
3373
- className: styles$c["f-carousel__item"],
3373
+ className: styles$d["f-carousel__item"],
3374
3374
  style: { width: `${100 / itemsCount}%` },
3375
3375
  children: child
3376
3376
  },
@@ -3381,19 +3381,19 @@ const FCarousel = ({
3381
3381
  showArrows && /* @__PURE__ */ jsx(
3382
3382
  "button",
3383
3383
  {
3384
- className: `${styles$c["f-carousel__arrow"]} ${styles$c["f-carousel__arrow--right"]}`,
3384
+ className: `${styles$d["f-carousel__arrow"]} ${styles$d["f-carousel__arrow--right"]}`,
3385
3385
  onClick: handleNext,
3386
3386
  disabled: !loop && current >= itemsCount - visibleCount,
3387
3387
  "aria-label": "Вперёд",
3388
3388
  children: /* @__PURE__ */ jsx("img", { src: arrowRight, alt: "Следующий слайд" })
3389
3389
  }
3390
3390
  ),
3391
- /* @__PURE__ */ jsx("div", { className: styles$c["f-carousel__indicators"], children: Array.from({ length: itemsCount - visibleCount + 1 }).map((_, idx) => /* @__PURE__ */ jsx(
3391
+ /* @__PURE__ */ jsx("div", { className: styles$d["f-carousel__indicators"], children: Array.from({ length: itemsCount - visibleCount + 1 }).map((_, idx) => /* @__PURE__ */ jsx(
3392
3392
  "button",
3393
3393
  {
3394
3394
  className: [
3395
- styles$c["f-carousel__indicator"],
3396
- idx === current ? styles$c["f-carousel__indicator--active"] : ""
3395
+ styles$d["f-carousel__indicator"],
3396
+ idx === current ? styles$d["f-carousel__indicator--active"] : ""
3397
3397
  ].join(" "),
3398
3398
  onClick: () => setCurrent(idx),
3399
3399
  "aria-label": `Перейти к слайду ${idx + 1}`
@@ -3407,10 +3407,10 @@ const FCarouselItem = ({
3407
3407
  className,
3408
3408
  id
3409
3409
  }) => {
3410
- return /* @__PURE__ */ jsx("div", { className: `${styles$c["f-carousel-item"]} ${className || ""}`, id, children });
3410
+ return /* @__PURE__ */ jsx("div", { className: `${styles$d["f-carousel-item"]} ${className || ""}`, id, children });
3411
3411
  };
3412
3412
  const skeleton = "_skeleton_3ica6_1";
3413
- const styles$b = {
3413
+ const styles$c = {
3414
3414
  "skeleton-block": "_skeleton-block_3ica6_1",
3415
3415
  skeleton
3416
3416
  };
@@ -3420,7 +3420,7 @@ const FSkeleton = ({ children, enable, width, height }) => {
3420
3420
  const skeletons = useRef([]);
3421
3421
  const createSkeleton = (element) => {
3422
3422
  const skeleton2 = document.createElement("div");
3423
- skeleton2.className = styles$b.skeleton;
3423
+ skeleton2.className = styles$c.skeleton;
3424
3424
  const computedStyle = window.getComputedStyle(element);
3425
3425
  skeleton2.style.width = width ?? computedStyle.width;
3426
3426
  skeleton2.style.height = height ?? computedStyle.height;
@@ -3467,10 +3467,10 @@ const FSkeleton = ({ children, enable, width, height }) => {
3467
3467
  restoreOriginalElements();
3468
3468
  };
3469
3469
  }, [enable]);
3470
- return /* @__PURE__ */ jsx("div", { ref: elementRef, className: styles$b["skeleton-block"], children });
3470
+ return /* @__PURE__ */ jsx("div", { ref: elementRef, className: styles$c["skeleton-block"], children });
3471
3471
  };
3472
3472
  const active$1 = "_active_lv3xi_122";
3473
- const styles$a = {
3473
+ const styles$b = {
3474
3474
  "wave-nav-wrapper": "_wave-nav-wrapper_lv3xi_5",
3475
3475
  "wave-nav-grid-item": "_wave-nav-grid-item_lv3xi_17",
3476
3476
  "wave-nav-bar": "_wave-nav-bar_lv3xi_27",
@@ -3484,7 +3484,7 @@ const FNavigateBar = ({
3484
3484
  id,
3485
3485
  className
3486
3486
  }) => {
3487
- return /* @__PURE__ */ jsx(FGrid, { obj: "container", id, className: `${styles$a["wave-nav-wrapper"]} ${className || ""}`, children: /* @__PURE__ */ jsx(FGridRow, { children: /* @__PURE__ */ jsx(FGrid, { obj: "item", sm: 12, className: styles$a["wave-nav-grid-item"], children: /* @__PURE__ */ jsx("nav", { style: st, className: styles$a["wave-nav-bar"], children: /* @__PURE__ */ jsx("ul", { className: styles$a["wave-nav-list"], children }) }) }) }) });
3487
+ return /* @__PURE__ */ jsx(FGrid, { obj: "container", id, className: `${styles$b["wave-nav-wrapper"]} ${className || ""}`, children: /* @__PURE__ */ jsx(FGridRow, { children: /* @__PURE__ */ jsx(FGrid, { obj: "item", sm: 12, className: styles$b["wave-nav-grid-item"], children: /* @__PURE__ */ jsx("nav", { style: st, className: styles$b["wave-nav-bar"], children: /* @__PURE__ */ jsx("ul", { className: styles$b["wave-nav-list"], children }) }) }) }) });
3488
3488
  };
3489
3489
  const FNavigateBarItem = ({
3490
3490
  st,
@@ -3500,7 +3500,7 @@ const FNavigateBarItem = ({
3500
3500
  {
3501
3501
  id,
3502
3502
  style: st || style,
3503
- className: `${styles$a["wave-nav-item"]} ${activeClass ? styles$a.active : ""} ${className || ""}`,
3503
+ className: `${styles$b["wave-nav-item"]} ${activeClass ? styles$b.active : ""} ${className || ""}`,
3504
3504
  ...rest,
3505
3505
  children
3506
3506
  }
@@ -3516,7 +3516,7 @@ const linksList = "_linksList_14i30_124";
3516
3516
  const linkItem = "_linkItem_14i30_131";
3517
3517
  const badge = "_badge_14i30_172";
3518
3518
  const disabled$1 = "_disabled_14i30_197";
3519
- const styles$9 = {
3519
+ const styles$a = {
3520
3520
  reportsPageContainer,
3521
3521
  searchBar,
3522
3522
  reportsGrid,
@@ -3542,8 +3542,8 @@ const FMenuBlockLinks = ({
3542
3542
  ...columns ? { "--cols": columns } : {},
3543
3543
  ...st
3544
3544
  };
3545
- return /* @__PURE__ */ jsxs("div", { className: `${styles$9.reportsPageContainer} ${className ?? ""}`.trim(), id, children: [
3546
- withSearch && /* @__PURE__ */ jsx("div", { className: styles$9.searchBar, children: /* @__PURE__ */ jsx(
3545
+ return /* @__PURE__ */ jsxs("div", { className: `${styles$a.reportsPageContainer} ${className ?? ""}`.trim(), id, children: [
3546
+ withSearch && /* @__PURE__ */ jsx("div", { className: styles$a.searchBar, children: /* @__PURE__ */ jsx(
3547
3547
  "input",
3548
3548
  {
3549
3549
  type: "text",
@@ -3552,7 +3552,7 @@ const FMenuBlockLinks = ({
3552
3552
  onChange: (e) => setSearchValue(e.target.value)
3553
3553
  }
3554
3554
  ) }),
3555
- /* @__PURE__ */ jsx(MenuSearchContext.Provider, { value: searchValue, children: /* @__PURE__ */ jsx("div", { className: styles$9.reportsGrid, style: layoutStyle, children }) })
3555
+ /* @__PURE__ */ jsx(MenuSearchContext.Provider, { value: searchValue, children: /* @__PURE__ */ jsx("div", { className: styles$a.reportsGrid, style: layoutStyle, children }) })
3556
3556
  ] });
3557
3557
  };
3558
3558
  const getElementText = (node) => {
@@ -3588,11 +3588,11 @@ const FMenuLinks = ({
3588
3588
  const badgeText = badges[originalIndex] || child.props["data-badge"];
3589
3589
  const childClass = [
3590
3590
  child.props.className,
3591
- styles$9.linkItem,
3592
- isDisabled ? styles$9.disabled : ""
3591
+ styles$a.linkItem,
3592
+ isDisabled ? styles$a.disabled : ""
3593
3593
  ].filter(Boolean).join(" ");
3594
3594
  const innerContent = badgeText ? /* @__PURE__ */ jsxs(Fragment, { children: [
3595
- /* @__PURE__ */ jsx("span", { className: styles$9.badge, children: badgeText }),
3595
+ /* @__PURE__ */ jsx("span", { className: styles$a.badge, children: badgeText }),
3596
3596
  child.props.children
3597
3597
  ] }) : child.props.children;
3598
3598
  return React.cloneElement(child, {
@@ -3605,15 +3605,15 @@ const FMenuLinks = ({
3605
3605
  }
3606
3606
  });
3607
3607
  });
3608
- return /* @__PURE__ */ jsxs("div", { className: `${styles$9.card} ${className ?? ""}`.trim(), style: st, id, children: [
3609
- title2 && /* @__PURE__ */ jsxs("div", { className: styles$9.cardHeader, children: [
3608
+ return /* @__PURE__ */ jsxs("div", { className: `${styles$a.card} ${className ?? ""}`.trim(), style: st, id, children: [
3609
+ title2 && /* @__PURE__ */ jsxs("div", { className: styles$a.cardHeader, children: [
3610
3610
  /* @__PURE__ */ jsx("h3", { children: title2 }),
3611
- /* @__PURE__ */ jsx("span", { className: styles$9.countBadge, children: filteredChildren.length })
3611
+ /* @__PURE__ */ jsx("span", { className: styles$a.countBadge, children: filteredChildren.length })
3612
3612
  ] }),
3613
- /* @__PURE__ */ jsx("div", { className: styles$9.linksList, children: enhancedChildren })
3613
+ /* @__PURE__ */ jsx("div", { className: styles$a.linksList, children: enhancedChildren })
3614
3614
  ] });
3615
3615
  };
3616
- const styles$8 = {
3616
+ const styles$9 = {
3617
3617
  "f-tooltip": "_f-tooltip_xpnbo_1",
3618
3618
  "f-tooltip--open": "_f-tooltip--open_xpnbo_17",
3619
3619
  "f-tooltip--exiting": "_f-tooltip--exiting_xpnbo_22",
@@ -3802,11 +3802,11 @@ const FTooltip = ({
3802
3802
  wrappedChild = cloneElement(children, childProps);
3803
3803
  }
3804
3804
  const tooltipClasses = [
3805
- styles$8["f-tooltip"],
3806
- styles$8[`f-tooltip--${placement}`],
3807
- arrow2 ? styles$8["f-tooltip--with-arrow"] : "",
3808
- isVisible ? styles$8["f-tooltip--open"] : "",
3809
- isExiting ? styles$8["f-tooltip--exiting"] : "",
3805
+ styles$9["f-tooltip"],
3806
+ styles$9[`f-tooltip--${placement}`],
3807
+ arrow2 ? styles$9["f-tooltip--with-arrow"] : "",
3808
+ isVisible ? styles$9["f-tooltip--open"] : "",
3809
+ isExiting ? styles$9["f-tooltip--exiting"] : "",
3810
3810
  className
3811
3811
  ].filter(Boolean).join(" ");
3812
3812
  const tooltipElement = mountTooltip && title2 ? /* @__PURE__ */ jsxs(
@@ -3817,8 +3817,8 @@ const FTooltip = ({
3817
3817
  style: { ...style, ...tooltipStyles },
3818
3818
  role: "tooltip",
3819
3819
  children: [
3820
- arrow2 && /* @__PURE__ */ jsx("div", { className: styles$8["f-tooltip__arrow"] }),
3821
- /* @__PURE__ */ jsx("div", { className: styles$8["f-tooltip__content"], children: title2 })
3820
+ arrow2 && /* @__PURE__ */ jsx("div", { className: styles$9["f-tooltip__arrow"] }),
3821
+ /* @__PURE__ */ jsx("div", { className: styles$9["f-tooltip__content"], children: title2 })
3822
3822
  ]
3823
3823
  }
3824
3824
  ) : null;
@@ -3830,7 +3830,7 @@ const FTooltip = ({
3830
3830
  const rotate = "_rotate_1kvw2_38";
3831
3831
  const focused = "_focused_1kvw2_87";
3832
3832
  const selected = "_selected_1kvw2_90";
3833
- const styles$7 = {
3833
+ const styles$8 = {
3834
3834
  "f-search-select": "_f-search-select_1kvw2_3",
3835
3835
  "f-select-native-hidden": "_f-select-native-hidden_1kvw2_9",
3836
3836
  "f-select-actions": "_f-select-actions_1kvw2_20",
@@ -3861,7 +3861,7 @@ const HighlightedText = ({ text, highlight }) => {
3861
3861
  const regex = new RegExp(`(${escapeRegExp(highlight)})`, "gi");
3862
3862
  const parts = text.split(regex);
3863
3863
  return /* @__PURE__ */ jsx("span", { children: parts.map(
3864
- (part, i) => regex.test(part) ? /* @__PURE__ */ jsx("span", { className: styles$7["f-select-highlight"], children: part }, i) : /* @__PURE__ */ jsx("span", { children: part }, i)
3864
+ (part, i) => regex.test(part) ? /* @__PURE__ */ jsx("span", { className: styles$8["f-select-highlight"], children: part }, i) : /* @__PURE__ */ jsx("span", { children: part }, i)
3865
3865
  ) });
3866
3866
  };
3867
3867
  const FSearchableSelect = forwardRef(
@@ -4074,7 +4074,7 @@ const FSearchableSelect = forwardRef(
4074
4074
  return /* @__PURE__ */ jsxs(
4075
4075
  "div",
4076
4076
  {
4077
- className: `f-form-element ${styles$7["f-search-select"]} ${restProps.className || ""}`,
4077
+ className: `f-form-element ${styles$8["f-search-select"]} ${restProps.className || ""}`,
4078
4078
  style: mergedStyle,
4079
4079
  ref: containerRef,
4080
4080
  id: inputId + "-block",
@@ -4096,7 +4096,7 @@ const FSearchableSelect = forwardRef(
4096
4096
  value: restProps.value !== void 0 ? String(restProps.value) : "",
4097
4097
  onChange: () => {
4098
4098
  },
4099
- className: styles$7["f-select-native-hidden"],
4099
+ className: styles$8["f-select-native-hidden"],
4100
4100
  tabIndex: -1,
4101
4101
  disabled: disabled2,
4102
4102
  "aria-hidden": "true"
@@ -4110,7 +4110,7 @@ const FSearchableSelect = forwardRef(
4110
4110
  id: inputId,
4111
4111
  type: "text",
4112
4112
  autoComplete: "off",
4113
- className: `f-form-element__control-element ${styles$7["has-icons"]} ${errText ? "error" : ""}`,
4113
+ className: `f-form-element__control-element ${styles$8["has-icons"]} ${errText ? "error" : ""}`,
4114
4114
  ...restProps,
4115
4115
  disabled: disabled2 || load,
4116
4116
  value: searchQuery,
@@ -4132,41 +4132,41 @@ const FSearchableSelect = forwardRef(
4132
4132
  }
4133
4133
  }
4134
4134
  ),
4135
- load ? /* @__PURE__ */ jsx("span", { className: "f-form-element__loader", children: /* @__PURE__ */ jsx(FLoadIcon, { size: 10 }) }) : /* @__PURE__ */ jsxs("div", { className: styles$7["f-select-actions"], children: [
4135
+ load ? /* @__PURE__ */ jsx("span", { className: "f-form-element__loader", children: /* @__PURE__ */ jsx(FLoadIcon, { size: 10 }) }) : /* @__PURE__ */ jsxs("div", { className: styles$8["f-select-actions"], children: [
4136
4136
  hasValue && !disabled2 && /* @__PURE__ */ jsx(
4137
4137
  "div",
4138
4138
  {
4139
4139
  onClick: handleClear,
4140
- className: `${styles$7["f-select-icon"]} close`,
4140
+ className: `${styles$8["f-select-icon"]} close`,
4141
4141
  title: "Очистить",
4142
4142
  onMouseDown: (e) => e.preventDefault(),
4143
4143
  children: /* @__PURE__ */ jsx(CloseIcon, {})
4144
4144
  }
4145
4145
  ),
4146
- /* @__PURE__ */ jsx("div", { className: `${styles$7["f-select-icon"]} ${isOpen ? styles$7["rotate"] : ""}`, children: /* @__PURE__ */ jsx(ChevronIcon, {}) })
4146
+ /* @__PURE__ */ jsx("div", { className: `${styles$8["f-select-icon"]} ${isOpen ? styles$8["rotate"] : ""}`, children: /* @__PURE__ */ jsx(ChevronIcon, {}) })
4147
4147
  ] })
4148
4148
  ] }),
4149
4149
  isOpen && !disabled2 && !load && typeof document !== "undefined" && createPortal(
4150
4150
  /* @__PURE__ */ jsx(
4151
4151
  "div",
4152
4152
  {
4153
- className: styles$7["f-select-dropdown"],
4153
+ className: styles$8["f-select-dropdown"],
4154
4154
  style: dropdownStyle,
4155
4155
  ref: dropdownRef,
4156
4156
  children: /* @__PURE__ */ jsx(
4157
4157
  "ul",
4158
4158
  {
4159
4159
  ref: listRef,
4160
- className: styles$7["f-select-list"],
4160
+ className: styles$8["f-select-list"],
4161
4161
  style: { maxHeight: `${listMaxHeight}px` },
4162
- children: isTyping ? /* @__PURE__ */ jsx("li", { className: styles$7["f-select-no-results"], children: "Ожидается окончание ввода..." }) : renderList.length === 0 ? /* @__PURE__ */ jsx("li", { className: styles$7["f-select-no-results"], children: allowCreate ? "Нет данных" : "Совпадений не найдено" }) : renderList.map((option, index) => /* @__PURE__ */ jsx(
4162
+ children: isTyping ? /* @__PURE__ */ jsx("li", { className: styles$8["f-select-no-results"], children: "Ожидается окончание ввода..." }) : renderList.length === 0 ? /* @__PURE__ */ jsx("li", { className: styles$8["f-select-no-results"], children: allowCreate ? "Нет данных" : "Совпадений не найдено" }) : renderList.map((option, index) => /* @__PURE__ */ jsx(
4163
4163
  "li",
4164
4164
  {
4165
4165
  className: `
4166
- ${styles$7["f-select-option"]}
4167
- ${option.isNew ? styles$7["f-select-create"] : ""}
4168
- ${index === highlightedIndex ? styles$7["focused"] : ""}
4169
- ${currentValStr === option.value ? styles$7["selected"] : ""}
4166
+ ${styles$8["f-select-option"]}
4167
+ ${option.isNew ? styles$8["f-select-create"] : ""}
4168
+ ${index === highlightedIndex ? styles$8["focused"] : ""}
4169
+ ${currentValStr === option.value ? styles$8["selected"] : ""}
4170
4170
  `,
4171
4171
  onMouseDown: (e) => e.preventDefault(),
4172
4172
  onClick: (e) => {
@@ -4233,7 +4233,7 @@ const FSearchableSelect = forwardRef(
4233
4233
  FSearchableSelect.displayName = "FSearchableSelect";
4234
4234
  const active = "_active_1btub_75";
4235
4235
  const disabled = "_disabled_1btub_75";
4236
- const styles$6 = {
4236
+ const styles$7 = {
4237
4237
  "f-segmented-wrapper": "_f-segmented-wrapper_1btub_2",
4238
4238
  "f-segmented-control": "_f-segmented-control_1btub_12",
4239
4239
  "f-segmented-sm": "_f-segmented-sm_1btub_28",
@@ -4279,11 +4279,11 @@ const FSegmentedControl = ({
4279
4279
  onChange(item.id);
4280
4280
  }
4281
4281
  };
4282
- return /* @__PURE__ */ jsx("div", { className: `${styles$6["f-segmented-wrapper"]} ${className}`, style, children: /* @__PURE__ */ jsxs("div", { className: `${styles$6["f-segmented-control"]} ${styles$6[`f-segmented-${size}`]}`, children: [
4282
+ return /* @__PURE__ */ jsx("div", { className: `${styles$7["f-segmented-wrapper"]} ${className}`, style, children: /* @__PURE__ */ jsxs("div", { className: `${styles$7["f-segmented-control"]} ${styles$7[`f-segmented-${size}`]}`, children: [
4283
4283
  /* @__PURE__ */ jsx(
4284
4284
  "div",
4285
4285
  {
4286
- className: styles$6["f-segmented-glider"],
4286
+ className: styles$7["f-segmented-glider"],
4287
4287
  style: {
4288
4288
  width: `${gliderStyle.width}px`,
4289
4289
  transform: `translateX(${gliderStyle.left}px)`,
@@ -4302,15 +4302,15 @@ const FSegmentedControl = ({
4302
4302
  type: "button",
4303
4303
  disabled: item.disabled,
4304
4304
  className: `
4305
- ${styles$6["f-segmented-item"]}
4306
- ${isActive ? styles$6["active"] : ""}
4307
- ${item.disabled ? styles$6["disabled"] : ""}
4305
+ ${styles$7["f-segmented-item"]}
4306
+ ${isActive ? styles$7["active"] : ""}
4307
+ ${item.disabled ? styles$7["disabled"] : ""}
4308
4308
  `,
4309
4309
  onClick: (e) => handleItemClick(e, item),
4310
4310
  children: [
4311
- item.icon && /* @__PURE__ */ jsx("span", { className: styles$6["f-segmented-icon"], children: item.icon }),
4312
- /* @__PURE__ */ jsx("span", { className: styles$6["f-segmented-label"], children: item.label }),
4313
- item.badge !== void 0 && /* @__PURE__ */ jsx("span", { className: styles$6["f-segmented-badge"], children: item.badge })
4311
+ item.icon && /* @__PURE__ */ jsx("span", { className: styles$7["f-segmented-icon"], children: item.icon }),
4312
+ /* @__PURE__ */ jsx("span", { className: styles$7["f-segmented-label"], children: item.label }),
4313
+ item.badge !== void 0 && /* @__PURE__ */ jsx("span", { className: styles$7["f-segmented-badge"], children: item.badge })
4314
4314
  ]
4315
4315
  },
4316
4316
  String(item.id)
@@ -4344,7 +4344,7 @@ function FTableActions({ children, className, onClick, ...props }) {
4344
4344
  type: "button",
4345
4345
  "aria-label": "Действия",
4346
4346
  ...props,
4347
- className: `${styles$t.more} ${className || ""}`,
4347
+ className: `${styles$u.more} ${className || ""}`,
4348
4348
  "aria-expanded": open,
4349
4349
  "aria-controls": id,
4350
4350
  onClick: (event) => {
@@ -4377,7 +4377,7 @@ function FTableActions({ children, className, onClick, ...props }) {
4377
4377
  ref: menu,
4378
4378
  id,
4379
4379
  ...{ popover: "auto" },
4380
- className: styles$t["row-menu"],
4380
+ className: styles$u["row-menu"],
4381
4381
  onKeyDown: (event) => {
4382
4382
  var _a, _b;
4383
4383
  if (event.key === "Escape") {
@@ -4400,6 +4400,55 @@ function FTableActions({ children, className, onClick, ...props }) {
4400
4400
  )
4401
4401
  ] });
4402
4402
  }
4403
+ const statusBadge = "_statusBadge_1chwj_1";
4404
+ const statusDot = "_statusDot_1chwj_21";
4405
+ const pulse = "_pulse_1chwj_57";
4406
+ const statusBadgePulse = "_statusBadgePulse_1chwj_1";
4407
+ const primary = "_primary_1chwj_80";
4408
+ const secondary = "_secondary_1chwj_86";
4409
+ const success$2 = "_success_1chwj_92";
4410
+ const danger = "_danger_1chwj_98";
4411
+ const warning$4 = "_warning_1chwj_104";
4412
+ const info$2 = "_info_1chwj_110";
4413
+ const light = "_light_1chwj_116";
4414
+ const dark = "_dark_1chwj_122";
4415
+ const styles$6 = {
4416
+ statusBadge,
4417
+ "size-sm": "_size-sm_1chwj_15",
4418
+ statusDot,
4419
+ "size-md": "_size-md_1chwj_26",
4420
+ "size-lg": "_size-lg_1chwj_37",
4421
+ pulse,
4422
+ statusBadgePulse,
4423
+ primary,
4424
+ secondary,
4425
+ success: success$2,
4426
+ danger,
4427
+ warning: warning$4,
4428
+ info: info$2,
4429
+ light,
4430
+ dark
4431
+ };
4432
+ const FStatusBadge = ({
4433
+ children,
4434
+ variant = "secondary",
4435
+ size = "md",
4436
+ showDot = true,
4437
+ pulseDot = false,
4438
+ className = ""
4439
+ }) => {
4440
+ const badgeClasses = [
4441
+ styles$6.statusBadge,
4442
+ styles$6[variant],
4443
+ styles$6[`size-${size}`],
4444
+ className
4445
+ ].filter(Boolean).join(" ");
4446
+ const dotClasses = [styles$6.statusDot, pulseDot ? styles$6.pulse : ""].filter(Boolean).join(" ");
4447
+ return /* @__PURE__ */ jsxs("span", { className: badgeClasses, children: [
4448
+ showDot && /* @__PURE__ */ jsx("span", { className: dotClasses, "aria-hidden": "true" }),
4449
+ /* @__PURE__ */ jsx("span", { children })
4450
+ ] });
4451
+ };
4403
4452
  const FPlusIcon = React.forwardRef(({
4404
4453
  color = "primary",
4405
4454
  size = 30,
@@ -8814,7 +8863,144 @@ function fConvertDate(input, options) {
8814
8863
  return "";
8815
8864
  }
8816
8865
  }
8817
- const useFApi = ({ doNotUseState = false, defaultState = null, getValueByPath = void 0 } = {}) => {
8866
+ const getRequestNow = () => {
8867
+ if (typeof performance !== "undefined" && typeof performance.now === "function") {
8868
+ return performance.now();
8869
+ }
8870
+ return Date.now();
8871
+ };
8872
+ const calcDurationMs = (startTime) => {
8873
+ return Math.max(0, Math.round(getRequestNow() - startTime));
8874
+ };
8875
+ function classifyRequestError(error2) {
8876
+ var _a, _b, _c;
8877
+ if (!error2 || typeof error2 !== "object") {
8878
+ return {
8879
+ outcome: "failure",
8880
+ errorCategory: "unknown"
8881
+ };
8882
+ }
8883
+ const err = error2;
8884
+ const isCanceled = Boolean((_b = (_a = axios).isCancel) == null ? void 0 : _b.call(_a, error2)) || err.name === "CanceledError" || err.name === "AbortError" || err.code === "ERR_CANCELED";
8885
+ if (isCanceled) {
8886
+ return {
8887
+ outcome: "aborted",
8888
+ errorCategory: "abort",
8889
+ status: typeof ((_c = err.response) == null ? void 0 : _c.status) === "number" ? err.response.status : void 0
8890
+ };
8891
+ }
8892
+ if (err.response && typeof err.response.status === "number") {
8893
+ return {
8894
+ outcome: "failure",
8895
+ errorCategory: "http",
8896
+ status: err.response.status
8897
+ };
8898
+ }
8899
+ if (err.code === "ECONNABORTED" || typeof err.message === "string" && err.message.toLowerCase().includes("timeout")) {
8900
+ return {
8901
+ outcome: "failure",
8902
+ errorCategory: "timeout"
8903
+ };
8904
+ }
8905
+ if (err.code === "ERR_NETWORK" || Boolean(err.request && !err.response)) {
8906
+ return {
8907
+ outcome: "failure",
8908
+ errorCategory: "network"
8909
+ };
8910
+ }
8911
+ return {
8912
+ outcome: "failure",
8913
+ errorCategory: "unknown"
8914
+ };
8915
+ }
8916
+ function notifyRequestObserver(observer, observation) {
8917
+ if (!observer || typeof observer.onRequestComplete !== "function") {
8918
+ return;
8919
+ }
8920
+ try {
8921
+ observer.onRequestComplete(observation);
8922
+ } catch {
8923
+ }
8924
+ }
8925
+ async function observeRequest(observer, requestFn, method, url) {
8926
+ if (!observer) {
8927
+ return requestFn();
8928
+ }
8929
+ const normalizedMethod = (method || "GET").toUpperCase();
8930
+ const startTime = getRequestNow();
8931
+ try {
8932
+ const result = await requestFn();
8933
+ const durationMs = calcDurationMs(startTime);
8934
+ const status = typeof (result == null ? void 0 : result.status) === "number" ? result.status : void 0;
8935
+ notifyRequestObserver(observer, {
8936
+ method: normalizedMethod,
8937
+ url,
8938
+ status,
8939
+ durationMs,
8940
+ outcome: "success"
8941
+ });
8942
+ return result;
8943
+ } catch (error2) {
8944
+ const durationMs = calcDurationMs(startTime);
8945
+ const { outcome, errorCategory, status } = classifyRequestError(error2);
8946
+ notifyRequestObserver(observer, {
8947
+ method: normalizedMethod,
8948
+ url,
8949
+ status,
8950
+ durationMs,
8951
+ outcome,
8952
+ errorCategory
8953
+ });
8954
+ throw error2;
8955
+ }
8956
+ }
8957
+ const LibraryContext = createContext(null);
8958
+ const FLibraryProvider = ({
8959
+ children,
8960
+ config,
8961
+ requestObserver
8962
+ }) => {
8963
+ const effectiveObserver = requestObserver ?? (config == null ? void 0 : config.requestObserver);
8964
+ const contextValue = useMemo(() => {
8965
+ if (!effectiveObserver) {
8966
+ return config;
8967
+ }
8968
+ return {
8969
+ ...config,
8970
+ requestObserver: effectiveObserver,
8971
+ apiService: {
8972
+ ...config.apiService,
8973
+ request: (url, reqConfig) => {
8974
+ return observeRequest(
8975
+ effectiveObserver,
8976
+ () => config.apiService.request(url, reqConfig),
8977
+ (reqConfig == null ? void 0 : reqConfig.method) ?? "GET",
8978
+ url
8979
+ );
8980
+ }
8981
+ }
8982
+ };
8983
+ }, [config, effectiveObserver]);
8984
+ return /* @__PURE__ */ jsx(LibraryContext.Provider, { value: contextValue, children });
8985
+ };
8986
+ const useFLibraryContext = () => {
8987
+ const context = useContext(LibraryContext);
8988
+ if (!context) {
8989
+ throw new Error("[UIKit/Lib]: Вы должны обернуть приложение в <FLibraryProvider config={{ apiService }}>");
8990
+ }
8991
+ return context;
8992
+ };
8993
+ const useFLibraryContextOptional = () => {
8994
+ return useContext(LibraryContext);
8995
+ };
8996
+ const useFApi = ({
8997
+ doNotUseState = false,
8998
+ defaultState = null,
8999
+ getValueByPath = void 0,
9000
+ requestObserver = void 0
9001
+ } = {}) => {
9002
+ const libraryContext = useFLibraryContextOptional();
9003
+ const effectiveObserver = requestObserver ?? (libraryContext == null ? void 0 : libraryContext.requestObserver);
8818
9004
  const [data, setData] = useState(defaultState === void 0 ? null : defaultState);
8819
9005
  const [loading, setLoading] = useState(false);
8820
9006
  const [error2, setError] = useState(null);
@@ -8822,8 +9008,20 @@ const useFApi = ({ doNotUseState = false, defaultState = null, getValueByPath =
8822
9008
  var _a, _b, _c;
8823
9009
  setLoading(true);
8824
9010
  setError(null);
9011
+ const startTime = effectiveObserver ? getRequestNow() : 0;
9012
+ const method = (config.method || "GET").toUpperCase();
9013
+ const url = config.url ?? "";
8825
9014
  try {
8826
9015
  const response = await axios(config);
9016
+ if (effectiveObserver) {
9017
+ notifyRequestObserver(effectiveObserver, {
9018
+ method,
9019
+ url,
9020
+ status: response.status,
9021
+ durationMs: calcDurationMs(startTime),
9022
+ outcome: "success"
9023
+ });
9024
+ }
8827
9025
  if (getValueByPath) {
8828
9026
  let returnValue = response.data;
8829
9027
  const pathParts = getValueByPath.split(".");
@@ -8842,6 +9040,17 @@ const useFApi = ({ doNotUseState = false, defaultState = null, getValueByPath =
8842
9040
  return response.data;
8843
9041
  }
8844
9042
  } catch (error22) {
9043
+ if (effectiveObserver) {
9044
+ const { outcome, errorCategory, status } = classifyRequestError(error22);
9045
+ notifyRequestObserver(effectiveObserver, {
9046
+ method,
9047
+ url,
9048
+ status,
9049
+ durationMs: calcDurationMs(startTime),
9050
+ outcome,
9051
+ errorCategory
9052
+ });
9053
+ }
8845
9054
  const err = error22;
8846
9055
  const errorMessage = ((_b = (_a = err.response) == null ? void 0 : _a.data) == null ? void 0 : _b.message) || err.message || "Неизвестная ошибка";
8847
9056
  fNotification({
@@ -8864,20 +9073,6 @@ const useFApi = ({ doNotUseState = false, defaultState = null, getValueByPath =
8864
9073
  };
8865
9074
  return { data, loading, error: error2, execute, reset };
8866
9075
  };
8867
- const LibraryContext = createContext(null);
8868
- const FLibraryProvider = ({
8869
- children,
8870
- config
8871
- }) => {
8872
- return /* @__PURE__ */ jsx(LibraryContext.Provider, { value: config, children });
8873
- };
8874
- const useFLibraryContext = () => {
8875
- const context = useContext(LibraryContext);
8876
- if (!context) {
8877
- throw new Error("[UIKit/Lib]: Вы должны обернуть приложение в <FLibraryProvider config={{ apiService }}>");
8878
- }
8879
- return context;
8880
- };
8881
9076
  const useFApiMutation = (url, config, options) => {
8882
9077
  const { apiService } = useFLibraryContext();
8883
9078
  const queryClient = useQueryClient();
@@ -9320,6 +9515,7 @@ export {
9320
9515
  FSelectSearchDb,
9321
9516
  FSkeleton,
9322
9517
  FStack,
9518
+ FStatusBadge,
9323
9519
  FTab,
9324
9520
  FTable,
9325
9521
  FTableActions,
@@ -9339,6 +9535,9 @@ export {
9339
9535
  FUnlinkIcon,
9340
9536
  FUploadIcon,
9341
9537
  FWaterErrorBoundaryPage,
9538
+ LibraryContext,
9539
+ calcDurationMs,
9540
+ classifyRequestError,
9342
9541
  fAlert,
9343
9542
  fBankRound,
9344
9543
  fConfirm,
@@ -9356,9 +9555,14 @@ export {
9356
9555
  fNotification,
9357
9556
  fNotificationDelete,
9358
9557
  fPrompt,
9558
+ getRequestNow,
9559
+ notifyRequestObserver,
9560
+ observeRequest,
9359
9561
  useFApi,
9360
9562
  useFApiMutation,
9361
9563
  useFApiQuery,
9564
+ useFLibraryContext,
9565
+ useFLibraryContextOptional,
9362
9566
  useFManualApiQuery
9363
9567
  };
9364
9568
  //# sourceMappingURL=f-ui-kit.es.js.map