fui-material 2.8.12 → 2.8.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/f-ui-kit.es.js +451 -285
- package/dist/f-ui-kit.es.js.map +1 -1
- package/dist/f-ui-kit.umd.js +2 -2
- package/dist/f-ui-kit.umd.js.map +1 -1
- package/dist/index.css +1 -1
- package/dist/types/material/FImagePreview/FImagePreview.d.ts +10 -0
- package/dist/types/material/FImagePreview/index.d.ts +1 -0
- package/dist/types/material/FOpenImgFull/FOpenImgFull.d.ts +0 -85
- package/dist/types/material/FVideoPlayer/FVideoPlayer.d.ts +9 -0
- package/dist/types/material/FVideoPlayer/index.d.ts +1 -0
- package/dist/types/material/index.d.ts +2 -0
- package/package.json +1 -1
package/dist/f-ui-kit.es.js
CHANGED
|
@@ -9,7 +9,7 @@ import { initializeModule as initializeModule$1, installFormatCode } from "allor
|
|
|
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$
|
|
12
|
+
const styles$D = {
|
|
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$
|
|
59
|
-
styles$
|
|
60
|
-
styles$
|
|
58
|
+
styles$D["btn"],
|
|
59
|
+
styles$D[size],
|
|
60
|
+
styles$D[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$
|
|
126
|
+
const styles$C = {
|
|
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$
|
|
148
|
+
className: `${styles$C["file-preview-card"]} ${className || ""}`,
|
|
149
149
|
id,
|
|
150
150
|
style: st,
|
|
151
151
|
children: [
|
|
152
|
-
/* @__PURE__ */ jsxs("div", { className: styles$
|
|
153
|
-
/* @__PURE__ */ jsx("span", { className: styles$
|
|
154
|
-
typeof size === "number" && /* @__PURE__ */ jsxs("span", { className: styles$
|
|
152
|
+
/* @__PURE__ */ jsxs("div", { className: styles$C["file-preview-info"], children: [
|
|
153
|
+
/* @__PURE__ */ jsx("span", { className: styles$C["file-preview-name"], title: name, children: name }),
|
|
154
|
+
typeof size === "number" && /* @__PURE__ */ jsxs("span", { className: styles$C["file-preview-size"], children: [
|
|
155
155
|
Math.round(size / 1024),
|
|
156
156
|
" КБ"
|
|
157
157
|
] })
|
|
158
158
|
] }),
|
|
159
|
-
handleDelete && /* @__PURE__ */ jsx("div", { className: styles$
|
|
159
|
+
handleDelete && /* @__PURE__ */ jsx("div", { className: styles$C["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$
|
|
167
|
+
typeof progress2 === "number" && /* @__PURE__ */ jsx("div", { className: `${styles$C.progressBar} ${progress2 === 100 ? styles$C.completed : ""}`, children: /* @__PURE__ */ jsx(
|
|
168
168
|
"div",
|
|
169
169
|
{
|
|
170
|
-
className: styles$
|
|
170
|
+
className: styles$C.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$
|
|
273
|
+
const styles$B = {
|
|
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$
|
|
352
|
+
className: `f-form-element ${styles$B["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$
|
|
458
|
+
const styles$A = {
|
|
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$
|
|
562
|
-
const classes = [styles$
|
|
563
|
-
if (resolvedSizes.xs !== void 0) classes.push(styles$
|
|
564
|
-
if (resolvedSizes.sm !== void 0) classes.push(styles$
|
|
565
|
-
if (resolvedSizes.md !== void 0) classes.push(styles$
|
|
566
|
-
if (resolvedSizes.lg !== void 0) classes.push(styles$
|
|
567
|
-
if (resolvedSizes.xl !== void 0) classes.push(styles$
|
|
568
|
-
if (resolvedSizes.xxl !== void 0) classes.push(styles$
|
|
561
|
+
if (colAuto) return styles$A["f-grid__col--auto"];
|
|
562
|
+
const classes = [styles$A["f-grid__col"]];
|
|
563
|
+
if (resolvedSizes.xs !== void 0) classes.push(styles$A[`f-grid__col--xs-${resolvedSizes.xs}`]);
|
|
564
|
+
if (resolvedSizes.sm !== void 0) classes.push(styles$A[`f-grid__col--sm-${resolvedSizes.sm}`]);
|
|
565
|
+
if (resolvedSizes.md !== void 0) classes.push(styles$A[`f-grid__col--md-${resolvedSizes.md}`]);
|
|
566
|
+
if (resolvedSizes.lg !== void 0) classes.push(styles$A[`f-grid__col--lg-${resolvedSizes.lg}`]);
|
|
567
|
+
if (resolvedSizes.xl !== void 0) classes.push(styles$A[`f-grid__col--xl-${resolvedSizes.xl}`]);
|
|
568
|
+
if (resolvedSizes.xxl !== void 0) classes.push(styles$A[`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$
|
|
575
|
+
className: `${styles$A["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$
|
|
593
|
+
const styles$z = {
|
|
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$
|
|
615
|
+
return styles$z[`f-grid-row--justify-${justifyContent}`];
|
|
616
616
|
};
|
|
617
617
|
const getAlignItemsClass = () => {
|
|
618
618
|
if (!alignItems) return "";
|
|
619
|
-
return styles$
|
|
619
|
+
return styles$z[`f-grid-row--align-${alignItems}`];
|
|
620
620
|
};
|
|
621
621
|
const rowClasses = [
|
|
622
|
-
styles$
|
|
622
|
+
styles$z["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$
|
|
629
|
+
const styles$y = {
|
|
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$
|
|
649
|
+
className: `${styles$y["f-container"]} ${styles$y[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$
|
|
657
|
+
const styles$x = {
|
|
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$
|
|
690
|
+
className: `${styles$x["panel"]} ${styles$x["panel-default"]} ${className || ""} ${animated ? `${styles$x[`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$
|
|
695
|
+
label && /* @__PURE__ */ jsx("div", { className: styles$x["panel-heading"], children: /* @__PURE__ */ jsx(
|
|
696
696
|
"h3",
|
|
697
697
|
{
|
|
698
|
-
className: styles$
|
|
698
|
+
className: styles$x["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$
|
|
706
|
+
className: styles$x["panel-body"],
|
|
707
707
|
style: { fontSize: fontSizeBody },
|
|
708
708
|
children
|
|
709
709
|
}
|
|
@@ -713,39 +713,39 @@ const FPaper = ({
|
|
|
713
713
|
);
|
|
714
714
|
};
|
|
715
715
|
const TableControlsContext = createContext({ query: "", sort: null });
|
|
716
|
-
const left$
|
|
717
|
-
const center = "
|
|
718
|
-
const right = "
|
|
719
|
-
const justify = "
|
|
720
|
-
const more = "
|
|
721
|
-
const styles$
|
|
722
|
-
"f-table-component": "_f-table-
|
|
723
|
-
"f-table-component__table": "_f-table-
|
|
724
|
-
"f-table-component__table_header": "_f-table-
|
|
725
|
-
"is-sticky": "_is-
|
|
726
|
-
"f-table-
|
|
727
|
-
"f-table-
|
|
728
|
-
"f-table-component__table_body": "_f-table-
|
|
729
|
-
"f-table-component__table_row": "_f-table-
|
|
730
|
-
"f-table-component__table_row_no-hover": "_f-table-component__table_row_no-
|
|
731
|
-
"f-table-component__table_footer": "_f-table-
|
|
732
|
-
left: left$
|
|
716
|
+
const left$2 = "_left_nsv5n_81";
|
|
717
|
+
const center = "_center_nsv5n_84";
|
|
718
|
+
const right$1 = "_right_nsv5n_87";
|
|
719
|
+
const justify = "_justify_nsv5n_90";
|
|
720
|
+
const more = "_more_nsv5n_198";
|
|
721
|
+
const styles$w = {
|
|
722
|
+
"f-table-component": "_f-table-component_nsv5n_1",
|
|
723
|
+
"f-table-component__table": "_f-table-component__table_nsv5n_14",
|
|
724
|
+
"f-table-component__table_header": "_f-table-component__table_header_nsv5n_22",
|
|
725
|
+
"is-sticky": "_is-sticky_nsv5n_26",
|
|
726
|
+
"f-table-component__table_body": "_f-table-component__table_body_nsv5n_32",
|
|
727
|
+
"f-table-component__table_header-cell": "_f-table-component__table_header-cell_nsv5n_35",
|
|
728
|
+
"f-table-component__table_body-cell": "_f-table-component__table_body-cell_nsv5n_35",
|
|
729
|
+
"f-table-component__table_row": "_f-table-component__table_row_nsv5n_64",
|
|
730
|
+
"f-table-component__table_row_no-hover": "_f-table-component__table_row_no-hover_nsv5n_64",
|
|
731
|
+
"f-table-component__table_footer": "_f-table-component__table_footer_nsv5n_71",
|
|
732
|
+
left: left$2,
|
|
733
733
|
center,
|
|
734
|
-
right,
|
|
734
|
+
right: right$1,
|
|
735
735
|
justify,
|
|
736
|
-
"cell-text": "_cell-
|
|
737
|
-
"cell-preview-text": "_cell-preview-
|
|
738
|
-
"cell-preview": "_cell-
|
|
739
|
-
"cell-reveal": "_cell-
|
|
736
|
+
"cell-text": "_cell-text_nsv5n_94",
|
|
737
|
+
"cell-preview-text": "_cell-preview-text_nsv5n_115",
|
|
738
|
+
"cell-preview": "_cell-preview_nsv5n_115",
|
|
739
|
+
"cell-reveal": "_cell-reveal_nsv5n_172",
|
|
740
740
|
more,
|
|
741
|
-
"row-menu": "_row-
|
|
742
|
-
"table-tools": "_table-
|
|
743
|
-
"table-search": "_table-
|
|
744
|
-
"table-sort": "_table-
|
|
745
|
-
"table-empty": "_table-
|
|
746
|
-
"cell-tooltip-anchor": "_cell-tooltip-
|
|
747
|
-
"cell-tooltip": "_cell-
|
|
748
|
-
"cell-tooltip-in": "_cell-tooltip-
|
|
741
|
+
"row-menu": "_row-menu_nsv5n_229",
|
|
742
|
+
"table-tools": "_table-tools_nsv5n_322",
|
|
743
|
+
"table-search": "_table-search_nsv5n_328",
|
|
744
|
+
"table-sort": "_table-sort_nsv5n_363",
|
|
745
|
+
"table-empty": "_table-empty_nsv5n_391",
|
|
746
|
+
"cell-tooltip-anchor": "_cell-tooltip-anchor_nsv5n_398",
|
|
747
|
+
"cell-tooltip": "_cell-tooltip_nsv5n_398",
|
|
748
|
+
"cell-tooltip-in": "_cell-tooltip-in_nsv5n_1"
|
|
749
749
|
};
|
|
750
750
|
const FTableHead = ({
|
|
751
751
|
st,
|
|
@@ -761,7 +761,7 @@ const FTableHead = ({
|
|
|
761
761
|
{
|
|
762
762
|
style: st,
|
|
763
763
|
...props,
|
|
764
|
-
className: `${styles$
|
|
764
|
+
className: `${styles$w["f-table-component__table_header"]} ${isSticky ? styles$w["is-sticky"] : ""} ${props.className || ""} ${styles$w[textAlignment]}`,
|
|
765
765
|
children
|
|
766
766
|
}
|
|
767
767
|
);
|
|
@@ -871,7 +871,7 @@ const FTableBody = ({
|
|
|
871
871
|
const { query, sort } = useContext(TableControlsContext);
|
|
872
872
|
const index = useMemo(() => indexTableRows(children), [children]);
|
|
873
873
|
const rows = useMemo(() => selectTableRows(index, query, sort), [index, query, sort]);
|
|
874
|
-
const [
|
|
874
|
+
const [viewport2, setViewport] = useState({ top: 0, height: 0 });
|
|
875
875
|
const [heights, setHeights] = useState(() => /* @__PURE__ */ new Map());
|
|
876
876
|
const virtual = Boolean(tableWrapperRef) && visibleRowCount !== void 0 && Number.isFinite(visibleRowCount) && visibleRowCount >= 1 && !index.hasRowSpans;
|
|
877
877
|
const keyOf = (row, index2) => React.isValidElement(row) ? String(row.key ?? index2) : String(index2);
|
|
@@ -880,7 +880,7 @@ const FTableBody = ({
|
|
|
880
880
|
if (virtual) rows.forEach((row, index2) => result.push(result[index2] + (heights.get(keyOf(row, index2)) ?? 32)));
|
|
881
881
|
return result;
|
|
882
882
|
}, [rows, heights, virtual]);
|
|
883
|
-
const { start, end } = virtual ? virtualRowRange(offsets,
|
|
883
|
+
const { start, end } = virtual ? virtualRowRange(offsets, viewport2.top, viewport2.height, visibleRowCount) : { start: 0, end: rows.length };
|
|
884
884
|
const visibleRows = useMemo(() => rows.slice(start, end), [rows, start, end]);
|
|
885
885
|
useLayoutEffect(() => {
|
|
886
886
|
setViewport((previous) => ({ ...previous, top: 0 }));
|
|
@@ -956,14 +956,14 @@ const FTableBody = ({
|
|
|
956
956
|
ref: tableBodyRef,
|
|
957
957
|
style: st,
|
|
958
958
|
...props,
|
|
959
|
-
className: `${styles$
|
|
959
|
+
className: `${styles$w["f-table-component__table_body"]} ${props.className || ""} ${styles$w[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$
|
|
966
|
+
query.trim() && rows.length === 0 && /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", { colSpan: index.columnCount, className: styles$w["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$
|
|
1016
|
+
searchable && /* @__PURE__ */ jsx("div", { className: styles$w["table-tools"], children: /* @__PURE__ */ jsxs("label", { className: styles$w["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$
|
|
1039
|
+
className: styles$w["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$
|
|
1051
|
+
className: `table ${styles$w["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,20 +1087,23 @@ const FTableRow = ({
|
|
|
1087
1087
|
...props
|
|
1088
1088
|
}) => {
|
|
1089
1089
|
const rowClasses = [
|
|
1090
|
-
styles$
|
|
1090
|
+
styles$w["f-table-component__table_row"],
|
|
1091
1091
|
props.className || ""
|
|
1092
1092
|
];
|
|
1093
1093
|
if (disableHover) {
|
|
1094
|
-
rowClasses.push(styles$
|
|
1094
|
+
rowClasses.push(styles$w["f-table-component__table_row_no-hover"]);
|
|
1095
1095
|
}
|
|
1096
1096
|
if (textAlignment !== void 0) {
|
|
1097
|
-
rowClasses.push(styles$
|
|
1097
|
+
rowClasses.push(styles$w[textAlignment]);
|
|
1098
1098
|
}
|
|
1099
1099
|
return /* @__PURE__ */ jsx(
|
|
1100
1100
|
"tr",
|
|
1101
1101
|
{
|
|
1102
|
-
style: st,
|
|
1103
1102
|
...props,
|
|
1103
|
+
style: {
|
|
1104
|
+
...props.style,
|
|
1105
|
+
...st
|
|
1106
|
+
},
|
|
1104
1107
|
className: rowClasses.join(" ").trim(),
|
|
1105
1108
|
children
|
|
1106
1109
|
}
|
|
@@ -1139,13 +1142,13 @@ const FTableHeaderCell = ({
|
|
|
1139
1142
|
colSpan: col && col > 1 ? col : void 0,
|
|
1140
1143
|
...props,
|
|
1141
1144
|
"aria-sort": sortable ? direction ?? "none" : props["aria-sort"],
|
|
1142
|
-
className: `${styles$
|
|
1145
|
+
className: `${styles$w["f-table-component__table_header-cell"]} ${props.className || ""}`,
|
|
1143
1146
|
style,
|
|
1144
1147
|
children: sortable ? /* @__PURE__ */ jsxs(
|
|
1145
1148
|
"button",
|
|
1146
1149
|
{
|
|
1147
1150
|
type: "button",
|
|
1148
|
-
className: styles$
|
|
1151
|
+
className: styles$w["table-sort"],
|
|
1149
1152
|
onClick: () => toggleSort == null ? void 0 : toggleSort(sortKey),
|
|
1150
1153
|
title: direction === "ascending" ? "По убыванию" : direction === "descending" ? "Исходный порядок" : "По возрастанию",
|
|
1151
1154
|
children: [
|
|
@@ -1209,7 +1212,7 @@ function FTableTextTooltip({ text, enabled, children }) {
|
|
|
1209
1212
|
"span",
|
|
1210
1213
|
{
|
|
1211
1214
|
ref: anchor,
|
|
1212
|
-
className: styles$
|
|
1215
|
+
className: styles$w["cell-tooltip-anchor"],
|
|
1213
1216
|
onMouseEnter: show,
|
|
1214
1217
|
onMouseLeave: hide2,
|
|
1215
1218
|
onFocus: show,
|
|
@@ -1222,7 +1225,7 @@ function FTableTextTooltip({ text, enabled, children }) {
|
|
|
1222
1225
|
ref: panel2,
|
|
1223
1226
|
id,
|
|
1224
1227
|
role: "tooltip",
|
|
1225
|
-
className: styles$
|
|
1228
|
+
className: styles$w["cell-tooltip"],
|
|
1226
1229
|
style: position,
|
|
1227
1230
|
onMouseEnter: show,
|
|
1228
1231
|
onMouseLeave: hide2,
|
|
@@ -1270,20 +1273,20 @@ const FTableDataCell = ({
|
|
|
1270
1273
|
rowSpan: row && row > 1 ? row : void 0,
|
|
1271
1274
|
colSpan: col && col > 1 ? col : void 0,
|
|
1272
1275
|
...props,
|
|
1273
|
-
className: `${styles$
|
|
1276
|
+
className: `${styles$w["f-table-component__table_body-cell"]} ${props.className || ""}`.trim(),
|
|
1274
1277
|
style,
|
|
1275
1278
|
children: collapsible ? /* @__PURE__ */ jsx(FTableTextTooltip, { text, enabled: !expanded, children: /* @__PURE__ */ jsxs(
|
|
1276
1279
|
"button",
|
|
1277
1280
|
{
|
|
1278
1281
|
type: "button",
|
|
1279
|
-
className: styles$
|
|
1282
|
+
className: styles$w["cell-text"],
|
|
1280
1283
|
"aria-expanded": expanded,
|
|
1281
1284
|
"aria-controls": textId,
|
|
1282
1285
|
"data-expanded": expanded,
|
|
1283
1286
|
onClick: () => setExpanded((value) => !value),
|
|
1284
1287
|
children: [
|
|
1285
|
-
/* @__PURE__ */ jsx("span", { className: styles$
|
|
1286
|
-
/* @__PURE__ */ jsx("span", { className: styles$
|
|
1288
|
+
/* @__PURE__ */ jsx("span", { className: styles$w["cell-preview"], "aria-hidden": "true", children: /* @__PURE__ */ jsx("span", { className: styles$w["cell-preview-text"], children: text }) }),
|
|
1289
|
+
/* @__PURE__ */ jsx("span", { className: styles$w["cell-reveal"], children: /* @__PURE__ */ jsx("span", { id: textId, children: text }) })
|
|
1287
1290
|
]
|
|
1288
1291
|
}
|
|
1289
1292
|
) }) : children
|
|
@@ -1300,19 +1303,19 @@ const FTableFooter = ({
|
|
|
1300
1303
|
{
|
|
1301
1304
|
style: st,
|
|
1302
1305
|
...props,
|
|
1303
|
-
className: `${styles$
|
|
1306
|
+
className: `${styles$w["f-table-component__table_footer"]} ${props.className || ""}`,
|
|
1304
1307
|
children
|
|
1305
1308
|
}
|
|
1306
1309
|
);
|
|
1307
1310
|
};
|
|
1308
|
-
const entering = "_entering_g7izy_19";
|
|
1309
|
-
const exiting = "_exiting_g7izy_25";
|
|
1311
|
+
const entering$2 = "_entering_g7izy_19";
|
|
1312
|
+
const exiting$2 = "_exiting_g7izy_25";
|
|
1310
1313
|
const hide = "_hide_g7izy_50";
|
|
1311
|
-
const styles$
|
|
1314
|
+
const styles$v = {
|
|
1312
1315
|
"f-dialog": "_f-dialog_g7izy_1",
|
|
1313
|
-
entering,
|
|
1316
|
+
entering: entering$2,
|
|
1314
1317
|
"f-dialog__content": "_f-dialog__content_g7izy_22",
|
|
1315
|
-
exiting,
|
|
1318
|
+
exiting: exiting$2,
|
|
1316
1319
|
hide,
|
|
1317
1320
|
"f-dialog__header": "_f-dialog__header_g7izy_61",
|
|
1318
1321
|
"f-dialog__header_title": "_f-dialog__header_title_g7izy_73",
|
|
@@ -1388,14 +1391,14 @@ const FDialog = ({
|
|
|
1388
1391
|
adaptive: "fit-content"
|
|
1389
1392
|
};
|
|
1390
1393
|
const contentWidth = widthStyles[width];
|
|
1391
|
-
const animationClass = isClosing ? styles$
|
|
1394
|
+
const animationClass = isClosing ? styles$v["exiting"] : styles$v["entering"];
|
|
1392
1395
|
return ReactDOM.createPortal(
|
|
1393
1396
|
/* @__PURE__ */ jsx(
|
|
1394
1397
|
"div",
|
|
1395
1398
|
{
|
|
1396
1399
|
id,
|
|
1397
1400
|
style: st,
|
|
1398
|
-
className: `${styles$
|
|
1401
|
+
className: `${styles$v["f-dialog"]} ${animationClass} ${className || ""}`,
|
|
1399
1402
|
onMouseDown: (e) => {
|
|
1400
1403
|
if (e.target === e.currentTarget) {
|
|
1401
1404
|
closeButtonBackPage == null ? void 0 : closeButtonBackPage(false);
|
|
@@ -1405,7 +1408,7 @@ const FDialog = ({
|
|
|
1405
1408
|
children: /* @__PURE__ */ jsx(
|
|
1406
1409
|
"div",
|
|
1407
1410
|
{
|
|
1408
|
-
className: `${styles$
|
|
1411
|
+
className: `${styles$v["f-dialog__content"]} ${hide2 ? styles$v["hide"] : ""}`,
|
|
1409
1412
|
style: {
|
|
1410
1413
|
width: contentWidth
|
|
1411
1414
|
},
|
|
@@ -1446,13 +1449,13 @@ const FCloseIcon = React.forwardRef(({
|
|
|
1446
1449
|
});
|
|
1447
1450
|
FCloseIcon.displayName = "FCloseIcon";
|
|
1448
1451
|
const FDialogHeader = ({ title: title2, handleClose }) => {
|
|
1449
|
-
return /* @__PURE__ */ jsxs("div", { className: styles$
|
|
1450
|
-
/* @__PURE__ */ jsx("h3", { className: styles$
|
|
1452
|
+
return /* @__PURE__ */ jsxs("div", { className: styles$v["f-dialog__header"], children: [
|
|
1453
|
+
/* @__PURE__ */ jsx("h3", { className: styles$v["f-dialog__header_title"], children: title2 }),
|
|
1451
1454
|
handleClose && /* @__PURE__ */ jsx(
|
|
1452
1455
|
"button",
|
|
1453
1456
|
{
|
|
1454
1457
|
type: "button",
|
|
1455
|
-
className: styles$
|
|
1458
|
+
className: styles$v["f-dialog__header_close"],
|
|
1456
1459
|
onClick: handleClose,
|
|
1457
1460
|
"aria-label": "Закрыть диалог",
|
|
1458
1461
|
children: /* @__PURE__ */ jsx(
|
|
@@ -1471,7 +1474,7 @@ const FDialogBody = ({ st, children, scroll = true }) => {
|
|
|
1471
1474
|
...scroll ? { overflowY: "auto" } : {},
|
|
1472
1475
|
...st
|
|
1473
1476
|
};
|
|
1474
|
-
return /* @__PURE__ */ jsx("div", { className: styles$
|
|
1477
|
+
return /* @__PURE__ */ jsx("div", { className: styles$v["f-dialog__body"], style, children });
|
|
1475
1478
|
};
|
|
1476
1479
|
const FDialogFooter = ({ children, className, st, id }) => {
|
|
1477
1480
|
return /* @__PURE__ */ jsx(
|
|
@@ -1479,7 +1482,7 @@ const FDialogFooter = ({ children, className, st, id }) => {
|
|
|
1479
1482
|
{
|
|
1480
1483
|
id,
|
|
1481
1484
|
style: st,
|
|
1482
|
-
className: `${styles$
|
|
1485
|
+
className: `${styles$v["f-dialog__footer"]} ${className || ""}`,
|
|
1483
1486
|
children
|
|
1484
1487
|
}
|
|
1485
1488
|
);
|
|
@@ -1494,7 +1497,7 @@ const info$4 = "_info_1glrn_62";
|
|
|
1494
1497
|
const light$2 = "_light_1glrn_66";
|
|
1495
1498
|
const dark$2 = "_dark_1glrn_70";
|
|
1496
1499
|
const link$1 = "_link_1glrn_74";
|
|
1497
|
-
const styles$
|
|
1500
|
+
const styles$u = {
|
|
1498
1501
|
"authorization-spinner": "_authorization-spinner_1glrn_1",
|
|
1499
1502
|
"spinner-item": "_spinner-item_1glrn_7",
|
|
1500
1503
|
loader,
|
|
@@ -1512,14 +1515,14 @@ const FProgress = ({ st, color = "primary", id, className }) => {
|
|
|
1512
1515
|
return /* @__PURE__ */ jsx(
|
|
1513
1516
|
"div",
|
|
1514
1517
|
{
|
|
1515
|
-
className: `${styles$
|
|
1518
|
+
className: `${styles$u["authorization-spinner"]} ${styles$u.visible} ${className || ""}`,
|
|
1516
1519
|
id,
|
|
1517
1520
|
style: st,
|
|
1518
|
-
children: /* @__PURE__ */ jsx("div", { className: `${styles$
|
|
1521
|
+
children: /* @__PURE__ */ jsx("div", { className: `${styles$u["spinner-item"]} ${styles$u[color]}` })
|
|
1519
1522
|
}
|
|
1520
1523
|
);
|
|
1521
1524
|
};
|
|
1522
|
-
const styles$
|
|
1525
|
+
const styles$t = {
|
|
1523
1526
|
"f-preloader": "_f-preloader_17f9x_1",
|
|
1524
1527
|
"active-preloader": "_active-preloader_17f9x_10"
|
|
1525
1528
|
};
|
|
@@ -1546,13 +1549,13 @@ const FPreloader = ({
|
|
|
1546
1549
|
return /* @__PURE__ */ jsx(
|
|
1547
1550
|
"div",
|
|
1548
1551
|
{
|
|
1549
|
-
className: `${styles$
|
|
1552
|
+
className: `${styles$t["f-preloader"]} ${open ? styles$t["active-preloader"] : ""}`,
|
|
1550
1553
|
style: mergedStyle,
|
|
1551
1554
|
children
|
|
1552
1555
|
}
|
|
1553
1556
|
);
|
|
1554
1557
|
};
|
|
1555
|
-
const styles$
|
|
1558
|
+
const styles$s = {
|
|
1556
1559
|
"f-checkbox": "_f-checkbox_1hxs0_1"
|
|
1557
1560
|
};
|
|
1558
1561
|
const FCheckbox = forwardRef(
|
|
@@ -1565,7 +1568,7 @@ const FCheckbox = forwardRef(
|
|
|
1565
1568
|
return /* @__PURE__ */ jsx(
|
|
1566
1569
|
"div",
|
|
1567
1570
|
{
|
|
1568
|
-
className: `${styles$
|
|
1571
|
+
className: `${styles$s["f-checkbox"]} ${className || ""}`,
|
|
1569
1572
|
style: st,
|
|
1570
1573
|
children: /* @__PURE__ */ jsxs("label", { children: [
|
|
1571
1574
|
/* @__PURE__ */ jsx("input", { ref, type: "checkbox", ...props }),
|
|
@@ -1575,7 +1578,7 @@ const FCheckbox = forwardRef(
|
|
|
1575
1578
|
);
|
|
1576
1579
|
}
|
|
1577
1580
|
);
|
|
1578
|
-
const styles$
|
|
1581
|
+
const styles$r = {
|
|
1579
1582
|
"f-radio": "_f-radio_1oidm_1"
|
|
1580
1583
|
};
|
|
1581
1584
|
const FRadioButton = forwardRef(
|
|
@@ -1588,7 +1591,7 @@ const FRadioButton = forwardRef(
|
|
|
1588
1591
|
return /* @__PURE__ */ jsx(
|
|
1589
1592
|
"div",
|
|
1590
1593
|
{
|
|
1591
|
-
className: `${styles$
|
|
1594
|
+
className: `${styles$r["f-radio"]} ${className || ""}`,
|
|
1592
1595
|
style: st,
|
|
1593
1596
|
children: /* @__PURE__ */ jsxs("label", { children: [
|
|
1594
1597
|
/* @__PURE__ */ jsx("input", { ref, type: "radio", ...props }),
|
|
@@ -1648,16 +1651,16 @@ const usePagination = ({
|
|
|
1648
1651
|
const dots = "_dots_uiqea_29";
|
|
1649
1652
|
const selected$1 = "_selected_uiqea_33";
|
|
1650
1653
|
const disabled$3 = "_disabled_uiqea_37";
|
|
1651
|
-
const arrow = "_arrow_uiqea_43";
|
|
1652
|
-
const left = "_left_uiqea_56";
|
|
1653
|
-
const styles$
|
|
1654
|
+
const arrow$1 = "_arrow_uiqea_43";
|
|
1655
|
+
const left$1 = "_left_uiqea_56";
|
|
1656
|
+
const styles$q = {
|
|
1654
1657
|
"pagination-container": "_pagination-container_uiqea_1",
|
|
1655
1658
|
"pagination-item": "_pagination-item_uiqea_9",
|
|
1656
1659
|
dots,
|
|
1657
1660
|
selected: selected$1,
|
|
1658
1661
|
disabled: disabled$3,
|
|
1659
|
-
arrow,
|
|
1660
|
-
left
|
|
1662
|
+
arrow: arrow$1,
|
|
1663
|
+
left: left$1
|
|
1661
1664
|
};
|
|
1662
1665
|
const FPagination = ({
|
|
1663
1666
|
currentPage,
|
|
@@ -1684,26 +1687,26 @@ const FPagination = ({
|
|
|
1684
1687
|
return /* @__PURE__ */ jsxs(
|
|
1685
1688
|
"ul",
|
|
1686
1689
|
{
|
|
1687
|
-
className: `${styles$
|
|
1690
|
+
className: `${styles$q["pagination-container"]} ${className || ""}`,
|
|
1688
1691
|
style: st,
|
|
1689
1692
|
id,
|
|
1690
1693
|
children: [
|
|
1691
1694
|
/* @__PURE__ */ jsx(
|
|
1692
1695
|
"li",
|
|
1693
1696
|
{
|
|
1694
|
-
className: `${styles$
|
|
1697
|
+
className: `${styles$q["pagination-item"]} ${currentPage === 1 ? styles$q.disabled : ""}`,
|
|
1695
1698
|
onClick: onPrevious,
|
|
1696
|
-
children: /* @__PURE__ */ jsx("div", { className: `${styles$
|
|
1699
|
+
children: /* @__PURE__ */ jsx("div", { className: `${styles$q.arrow} ${styles$q.left}` })
|
|
1697
1700
|
}
|
|
1698
1701
|
),
|
|
1699
1702
|
paginationRange.map((pageNumber, index) => {
|
|
1700
1703
|
if (pageNumber === DOTS) {
|
|
1701
|
-
return /* @__PURE__ */ jsx("li", { className: `${styles$
|
|
1704
|
+
return /* @__PURE__ */ jsx("li", { className: `${styles$q["pagination-item"]} ${styles$q.dots}`, children: "…" }, index);
|
|
1702
1705
|
}
|
|
1703
1706
|
return /* @__PURE__ */ jsx(
|
|
1704
1707
|
"li",
|
|
1705
1708
|
{
|
|
1706
|
-
className: `${styles$
|
|
1709
|
+
className: `${styles$q["pagination-item"]} ${pageNumber === currentPage ? styles$q.selected : ""}`,
|
|
1707
1710
|
onClick: () => onPageChange(pageNumber),
|
|
1708
1711
|
children: pageNumber
|
|
1709
1712
|
},
|
|
@@ -1713,16 +1716,16 @@ const FPagination = ({
|
|
|
1713
1716
|
/* @__PURE__ */ jsx(
|
|
1714
1717
|
"li",
|
|
1715
1718
|
{
|
|
1716
|
-
className: `${styles$
|
|
1719
|
+
className: `${styles$q["pagination-item"]} ${currentPage === lastPage ? styles$q.disabled : ""}`,
|
|
1717
1720
|
onClick: onNext,
|
|
1718
|
-
children: /* @__PURE__ */ jsx("div", { className: `${styles$
|
|
1721
|
+
children: /* @__PURE__ */ jsx("div", { className: `${styles$q.arrow} ${styles$q.right}` })
|
|
1719
1722
|
}
|
|
1720
1723
|
)
|
|
1721
1724
|
]
|
|
1722
1725
|
}
|
|
1723
1726
|
);
|
|
1724
1727
|
};
|
|
1725
|
-
const styles$
|
|
1728
|
+
const styles$p = {
|
|
1726
1729
|
"f-time-line": "_f-time-line_1ybe7_1",
|
|
1727
1730
|
"f-time-line__block": "_f-time-line__block_1ybe7_10",
|
|
1728
1731
|
"f-time-line__block-circle": "_f-time-line__block-circle_1ybe7_29",
|
|
@@ -1736,7 +1739,7 @@ const FTimeline = ({
|
|
|
1736
1739
|
id,
|
|
1737
1740
|
className
|
|
1738
1741
|
}) => {
|
|
1739
|
-
return /* @__PURE__ */ jsx("div", { className: `${styles$
|
|
1742
|
+
return /* @__PURE__ */ jsx("div", { className: `${styles$p["f-time-line"]} ${className || ""}`, style: st, id, children });
|
|
1740
1743
|
};
|
|
1741
1744
|
const FTimelineCard = ({
|
|
1742
1745
|
children,
|
|
@@ -1745,32 +1748,14 @@ const FTimelineCard = ({
|
|
|
1745
1748
|
id,
|
|
1746
1749
|
className
|
|
1747
1750
|
}) => {
|
|
1748
|
-
return /* @__PURE__ */ jsxs("div", { className: `${styles$
|
|
1749
|
-
/* @__PURE__ */ jsx("div", { className: styles$
|
|
1750
|
-
/* @__PURE__ */ jsxs("div", { className: styles$
|
|
1751
|
-
title2 && /* @__PURE__ */ jsx("div", { className: styles$
|
|
1752
|
-
/* @__PURE__ */ jsx("div", { className: styles$
|
|
1751
|
+
return /* @__PURE__ */ jsxs("div", { className: `${styles$p["f-time-line__block"]} ${className || ""}`, id, children: [
|
|
1752
|
+
/* @__PURE__ */ jsx("div", { className: styles$p["f-time-line__block-circle"] }),
|
|
1753
|
+
/* @__PURE__ */ jsxs("div", { className: styles$p["f-time-line__block-inner"], style: st, children: [
|
|
1754
|
+
title2 && /* @__PURE__ */ jsx("div", { className: styles$p["f-time-line__block-title"], children: title2 }),
|
|
1755
|
+
/* @__PURE__ */ jsx("div", { className: styles$p["f-time-line__block-content"], children })
|
|
1753
1756
|
] })
|
|
1754
1757
|
] });
|
|
1755
1758
|
};
|
|
1756
|
-
const spinner = "_spinner_f7bma_133";
|
|
1757
|
-
const active$4 = "_active_f7bma_183";
|
|
1758
|
-
const styles$m = {
|
|
1759
|
-
"fv-opn-img-full": "_fv-opn-img-full_f7bma_1",
|
|
1760
|
-
"fv-opn-img-full-body": "_fv-opn-img-full-body_f7bma_19",
|
|
1761
|
-
"close-button": "_close-button_f7bma_33",
|
|
1762
|
-
"image-container": "_image-container_f7bma_58",
|
|
1763
|
-
"image-wrapper": "_image-wrapper_f7bma_68",
|
|
1764
|
-
"full-image": "_full-image_f7bma_80",
|
|
1765
|
-
"arrow-left": "_arrow-left_f7bma_89",
|
|
1766
|
-
"arrow-right": "_arrow-right_f7bma_90",
|
|
1767
|
-
"loading-spinner": "_loading-spinner_f7bma_125",
|
|
1768
|
-
spinner,
|
|
1769
|
-
"error-message": "_error-message_f7bma_147",
|
|
1770
|
-
"progress-indicator": "_progress-indicator_f7bma_158",
|
|
1771
|
-
"progress-dot": "_progress-dot_f7bma_172",
|
|
1772
|
-
active: active$4
|
|
1773
|
-
};
|
|
1774
1759
|
const FArrowIcon = React.forwardRef(({
|
|
1775
1760
|
color = "primary",
|
|
1776
1761
|
size = 30,
|
|
@@ -1810,6 +1795,39 @@ const FArrowIcon = React.forwardRef(({
|
|
|
1810
1795
|
);
|
|
1811
1796
|
});
|
|
1812
1797
|
FArrowIcon.displayName = "FArrowIcon";
|
|
1798
|
+
const overlay$1 = "_overlay_avyqh_1";
|
|
1799
|
+
const entering$1 = "_entering_avyqh_15";
|
|
1800
|
+
const exiting$1 = "_exiting_avyqh_19";
|
|
1801
|
+
const viewport = "_viewport_avyqh_24";
|
|
1802
|
+
const image = "_image_avyqh_33";
|
|
1803
|
+
const zoomed = "_zoomed_avyqh_44";
|
|
1804
|
+
const close$1 = "_close_avyqh_52";
|
|
1805
|
+
const arrow = "_arrow_avyqh_53";
|
|
1806
|
+
const left = "_left_avyqh_95";
|
|
1807
|
+
const right = "_right_avyqh_99";
|
|
1808
|
+
const indicators = "_indicators_avyqh_103";
|
|
1809
|
+
const dot = "_dot_avyqh_112";
|
|
1810
|
+
const active$4 = "_active_avyqh_121";
|
|
1811
|
+
const spinner = "_spinner_avyqh_126";
|
|
1812
|
+
const error$2 = "_error_avyqh_136";
|
|
1813
|
+
const styles$o = {
|
|
1814
|
+
overlay: overlay$1,
|
|
1815
|
+
entering: entering$1,
|
|
1816
|
+
exiting: exiting$1,
|
|
1817
|
+
viewport,
|
|
1818
|
+
image,
|
|
1819
|
+
zoomed,
|
|
1820
|
+
close: close$1,
|
|
1821
|
+
arrow,
|
|
1822
|
+
left,
|
|
1823
|
+
right,
|
|
1824
|
+
indicators,
|
|
1825
|
+
dot,
|
|
1826
|
+
active: active$4,
|
|
1827
|
+
spinner,
|
|
1828
|
+
error: error$2
|
|
1829
|
+
};
|
|
1830
|
+
let openImageViewersCount = 0;
|
|
1813
1831
|
const FOpenImgFull = ({
|
|
1814
1832
|
id,
|
|
1815
1833
|
className,
|
|
@@ -1820,151 +1838,297 @@ const FOpenImgFull = ({
|
|
|
1820
1838
|
handleClose,
|
|
1821
1839
|
openAndClose
|
|
1822
1840
|
}) => {
|
|
1841
|
+
const [isMounted, setIsMounted] = useState(openAndClose);
|
|
1842
|
+
const [isClosing, setIsClosing] = useState(false);
|
|
1823
1843
|
const [isLoading, setIsLoading] = useState(true);
|
|
1824
|
-
const [
|
|
1825
|
-
const [
|
|
1826
|
-
const [
|
|
1827
|
-
const
|
|
1844
|
+
const [hasError, setHasError] = useState(false);
|
|
1845
|
+
const [zoom, setZoom] = useState(null);
|
|
1846
|
+
const [pan, setPan] = useState({ x: 0, y: 0 });
|
|
1847
|
+
const pointerStart = useRef(null);
|
|
1848
|
+
const suppressClick = useRef(false);
|
|
1849
|
+
const imageUrl = imagesUrl[selectedImg];
|
|
1828
1850
|
useEffect(() => {
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
nextImage.onload = () => {
|
|
1835
|
-
setIsLoading(false);
|
|
1836
|
-
};
|
|
1837
|
-
nextImage.onerror = () => {
|
|
1838
|
-
setError(true);
|
|
1839
|
-
setIsLoading(false);
|
|
1840
|
-
};
|
|
1841
|
-
}, [selectedImg, imagesUrl]);
|
|
1842
|
-
const handleKeyDown = useCallback((e) => {
|
|
1843
|
-
if (!openAndClose) return;
|
|
1844
|
-
switch (e.key) {
|
|
1845
|
-
case "ArrowLeft":
|
|
1846
|
-
if (selectedImg > 0) {
|
|
1847
|
-
setSelectedImg(selectedImg - 1);
|
|
1848
|
-
}
|
|
1849
|
-
break;
|
|
1850
|
-
case "ArrowRight":
|
|
1851
|
-
if (selectedImg < imagesUrl.length - 1) {
|
|
1852
|
-
setSelectedImg(selectedImg + 1);
|
|
1853
|
-
}
|
|
1854
|
-
break;
|
|
1855
|
-
case "Escape":
|
|
1856
|
-
handleClose == null ? void 0 : handleClose();
|
|
1857
|
-
break;
|
|
1858
|
-
case "z":
|
|
1859
|
-
setIsZoomed((prev) => !prev);
|
|
1860
|
-
break;
|
|
1851
|
+
if (openAndClose) {
|
|
1852
|
+
setIsMounted(true);
|
|
1853
|
+
setIsClosing(false);
|
|
1854
|
+
} else if (isMounted) {
|
|
1855
|
+
setIsClosing(true);
|
|
1861
1856
|
}
|
|
1862
|
-
}, [
|
|
1857
|
+
}, [openAndClose]);
|
|
1863
1858
|
useEffect(() => {
|
|
1859
|
+
if (!isClosing) return;
|
|
1860
|
+
const timer = window.setTimeout(() => {
|
|
1861
|
+
setIsMounted(false);
|
|
1862
|
+
setIsClosing(false);
|
|
1863
|
+
}, 300);
|
|
1864
|
+
return () => window.clearTimeout(timer);
|
|
1865
|
+
}, [isClosing]);
|
|
1866
|
+
useEffect(() => {
|
|
1867
|
+
if (!isMounted || isClosing) return;
|
|
1868
|
+
openImageViewersCount += 1;
|
|
1869
|
+
document.body.classList.add("open-img-full");
|
|
1870
|
+
return () => {
|
|
1871
|
+
openImageViewersCount = Math.max(0, openImageViewersCount - 1);
|
|
1872
|
+
if (openImageViewersCount === 0) document.body.classList.remove("open-img-full");
|
|
1873
|
+
};
|
|
1874
|
+
}, [isMounted, isClosing]);
|
|
1875
|
+
useEffect(() => {
|
|
1876
|
+
setIsLoading(true);
|
|
1877
|
+
setHasError(false);
|
|
1878
|
+
setZoom(null);
|
|
1879
|
+
setPan({ x: 0, y: 0 });
|
|
1880
|
+
}, [imageUrl]);
|
|
1881
|
+
const handleKeyDown = useCallback((event) => {
|
|
1882
|
+
if (event.key === "Escape") handleClose == null ? void 0 : handleClose();
|
|
1883
|
+
else if (event.key === "ArrowLeft" && selectedImg > 0) setSelectedImg(selectedImg - 1);
|
|
1884
|
+
else if (event.key === "ArrowRight" && selectedImg < imagesUrl.length - 1) setSelectedImg(selectedImg + 1);
|
|
1885
|
+
}, [handleClose, imagesUrl.length, selectedImg, setSelectedImg]);
|
|
1886
|
+
useEffect(() => {
|
|
1887
|
+
if (!isMounted || isClosing) return;
|
|
1864
1888
|
window.addEventListener("keydown", handleKeyDown);
|
|
1865
1889
|
return () => window.removeEventListener("keydown", handleKeyDown);
|
|
1866
|
-
}, [handleKeyDown]);
|
|
1867
|
-
|
|
1868
|
-
|
|
1890
|
+
}, [handleKeyDown, isClosing, isMounted]);
|
|
1891
|
+
if (!isMounted || !imagesUrl.length || selectedImg < 0 || selectedImg >= imagesUrl.length) return null;
|
|
1892
|
+
const changeImage = (offset) => {
|
|
1893
|
+
const nextIndex = selectedImg + offset;
|
|
1894
|
+
if (nextIndex >= 0 && nextIndex < imagesUrl.length) setSelectedImg(nextIndex);
|
|
1869
1895
|
};
|
|
1870
|
-
|
|
1871
|
-
|
|
1872
|
-
|
|
1873
|
-
|
|
1874
|
-
|
|
1875
|
-
|
|
1876
|
-
|
|
1877
|
-
|
|
1878
|
-
|
|
1879
|
-
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
|
|
1883
|
-
|
|
1884
|
-
|
|
1885
|
-
|
|
1886
|
-
|
|
1887
|
-
|
|
1888
|
-
|
|
1889
|
-
|
|
1890
|
-
|
|
1891
|
-
|
|
1892
|
-
|
|
1893
|
-
|
|
1894
|
-
|
|
1895
|
-
|
|
1896
|
-
|
|
1897
|
-
|
|
1898
|
-
|
|
1899
|
-
|
|
1900
|
-
|
|
1901
|
-
|
|
1902
|
-
|
|
1903
|
-
|
|
1904
|
-
|
|
1905
|
-
|
|
1906
|
-
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
|
|
1913
|
-
|
|
1914
|
-
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
alt: "Полноэкранное изображение",
|
|
1931
|
-
onLoad: () => setIsLoading(false),
|
|
1932
|
-
onError: () => {
|
|
1933
|
-
setError(true);
|
|
1934
|
-
setIsLoading(false);
|
|
1935
|
-
},
|
|
1936
|
-
className: styles$m["full-image"],
|
|
1937
|
-
onClick: handleImageClick,
|
|
1938
|
-
style: {
|
|
1939
|
-
cursor: "zoom-in",
|
|
1940
|
-
transform: isZoomed ? "scale(1.5)" : "scale(1)",
|
|
1941
|
-
transition: "transform 0.3s ease"
|
|
1896
|
+
return createPortal(
|
|
1897
|
+
/* @__PURE__ */ jsxs(
|
|
1898
|
+
"div",
|
|
1899
|
+
{
|
|
1900
|
+
id,
|
|
1901
|
+
style: st,
|
|
1902
|
+
className: `${styles$o.overlay} ${isClosing ? styles$o.exiting : styles$o.entering} ${className || ""}`,
|
|
1903
|
+
onMouseDown: (event) => {
|
|
1904
|
+
if (event.target === event.currentTarget) handleClose == null ? void 0 : handleClose();
|
|
1905
|
+
},
|
|
1906
|
+
children: [
|
|
1907
|
+
handleClose && /* @__PURE__ */ jsx("button", { type: "button", className: styles$o.close, onClick: handleClose, "aria-label": "Закрыть просмотр изображений", children: /* @__PURE__ */ jsx(FCloseIcon, { color: "light", size: 24 }) }),
|
|
1908
|
+
selectedImg > 0 && /* @__PURE__ */ jsx("button", { type: "button", className: `${styles$o.arrow} ${styles$o.left}`, onClick: () => changeImage(-1), "aria-label": "Предыдущее изображение", children: /* @__PURE__ */ jsx(FArrowIcon, { direction: "left", color: "light", size: 28 }) }),
|
|
1909
|
+
/* @__PURE__ */ jsxs("div", { className: styles$o.viewport, children: [
|
|
1910
|
+
isLoading && !hasError && /* @__PURE__ */ jsx("span", { className: styles$o.spinner, "aria-label": "Загрузка изображения" }),
|
|
1911
|
+
hasError ? /* @__PURE__ */ jsx("p", { className: styles$o.error, children: "Ошибка загрузки изображения" }) : /* @__PURE__ */ jsx(
|
|
1912
|
+
"img",
|
|
1913
|
+
{
|
|
1914
|
+
src: imageUrl,
|
|
1915
|
+
alt: "Полноэкранное изображение",
|
|
1916
|
+
className: `${styles$o.image} ${zoom ? styles$o.zoomed : ""}`,
|
|
1917
|
+
style: {
|
|
1918
|
+
transform: `translate(${pan.x}px, ${pan.y}px) scale(${(zoom == null ? void 0 : zoom.scale) ?? 1})`,
|
|
1919
|
+
transformOrigin: zoom ? `${zoom.x}% ${zoom.y}%` : "center"
|
|
1920
|
+
},
|
|
1921
|
+
onLoad: () => setIsLoading(false),
|
|
1922
|
+
onError: () => {
|
|
1923
|
+
setHasError(true);
|
|
1924
|
+
setIsLoading(false);
|
|
1925
|
+
},
|
|
1926
|
+
onClick: (event) => {
|
|
1927
|
+
if (suppressClick.current) {
|
|
1928
|
+
suppressClick.current = false;
|
|
1929
|
+
return;
|
|
1930
|
+
}
|
|
1931
|
+
const bounds = event.currentTarget.getBoundingClientRect();
|
|
1932
|
+
setZoom(zoom ? null : {
|
|
1933
|
+
x: (event.clientX - bounds.left) / bounds.width * 100,
|
|
1934
|
+
y: (event.clientY - bounds.top) / bounds.height * 100,
|
|
1935
|
+
scale: 2.5
|
|
1936
|
+
});
|
|
1937
|
+
if (zoom) setPan({ x: 0, y: 0 });
|
|
1938
|
+
},
|
|
1939
|
+
onPointerDown: (event) => {
|
|
1940
|
+
pointerStart.current = { x: event.clientX, y: event.clientY };
|
|
1941
|
+
if (zoom) event.currentTarget.setPointerCapture(event.pointerId);
|
|
1942
|
+
},
|
|
1943
|
+
onPointerUp: (event) => {
|
|
1944
|
+
const start = pointerStart.current;
|
|
1945
|
+
if (!start) return;
|
|
1946
|
+
const dx = event.clientX - start.x;
|
|
1947
|
+
const dy = event.clientY - start.y;
|
|
1948
|
+
pointerStart.current = null;
|
|
1949
|
+
if (zoom) {
|
|
1950
|
+
if (Math.abs(dx) + Math.abs(dy) > 4) {
|
|
1951
|
+
setPan((position) => ({ x: position.x + dx, y: position.y + dy }));
|
|
1952
|
+
suppressClick.current = true;
|
|
1953
|
+
window.setTimeout(() => {
|
|
1954
|
+
suppressClick.current = false;
|
|
1955
|
+
}, 0);
|
|
1942
1956
|
}
|
|
1957
|
+
} else if (Math.abs(dx) > 50) {
|
|
1958
|
+
suppressClick.current = true;
|
|
1959
|
+
window.setTimeout(() => {
|
|
1960
|
+
suppressClick.current = false;
|
|
1961
|
+
}, 0);
|
|
1962
|
+
changeImage(dx < 0 ? 1 : -1);
|
|
1943
1963
|
}
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1947
|
-
|
|
1948
|
-
|
|
1949
|
-
|
|
1950
|
-
|
|
1951
|
-
|
|
1952
|
-
|
|
1953
|
-
|
|
1954
|
-
|
|
1955
|
-
|
|
1956
|
-
|
|
1957
|
-
|
|
1958
|
-
|
|
1959
|
-
|
|
1960
|
-
|
|
1961
|
-
}
|
|
1962
|
-
|
|
1963
|
-
|
|
1964
|
-
|
|
1965
|
-
|
|
1964
|
+
},
|
|
1965
|
+
draggable: false
|
|
1966
|
+
},
|
|
1967
|
+
imageUrl
|
|
1968
|
+
)
|
|
1969
|
+
] }),
|
|
1970
|
+
selectedImg < imagesUrl.length - 1 && /* @__PURE__ */ jsx("button", { type: "button", className: `${styles$o.arrow} ${styles$o.right}`, onClick: () => changeImage(1), "aria-label": "Следующее изображение", children: /* @__PURE__ */ jsx(FArrowIcon, { direction: "right", color: "light", size: 28 }) }),
|
|
1971
|
+
imagesUrl.length > 1 && /* @__PURE__ */ jsx("div", { className: styles$o.indicators, children: imagesUrl.map((_, index) => /* @__PURE__ */ jsx(
|
|
1972
|
+
"button",
|
|
1973
|
+
{
|
|
1974
|
+
type: "button",
|
|
1975
|
+
className: `${styles$o.dot} ${index === selectedImg ? styles$o.active : ""}`,
|
|
1976
|
+
onClick: () => setSelectedImg(index),
|
|
1977
|
+
"aria-label": `Изображение ${index + 1}`,
|
|
1978
|
+
"aria-current": index === selectedImg ? "true" : void 0
|
|
1979
|
+
},
|
|
1980
|
+
index
|
|
1981
|
+
)) })
|
|
1982
|
+
]
|
|
1983
|
+
}
|
|
1984
|
+
),
|
|
1985
|
+
document.body
|
|
1966
1986
|
);
|
|
1967
1987
|
};
|
|
1988
|
+
const preview$1 = "_preview_1mpqt_1";
|
|
1989
|
+
const styles$n = {
|
|
1990
|
+
preview: preview$1
|
|
1991
|
+
};
|
|
1992
|
+
const FImagePreview = ({ src, alt = "", id, className, st }) => {
|
|
1993
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
1994
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1995
|
+
/* @__PURE__ */ jsx(
|
|
1996
|
+
"button",
|
|
1997
|
+
{
|
|
1998
|
+
id,
|
|
1999
|
+
type: "button",
|
|
2000
|
+
className: `${styles$n.preview} ${className || ""}`,
|
|
2001
|
+
style: st,
|
|
2002
|
+
onClick: () => setIsOpen(true),
|
|
2003
|
+
"aria-label": alt ? `Открыть изображение: ${alt}` : "Открыть изображение в полном размере",
|
|
2004
|
+
children: /* @__PURE__ */ jsx("img", { src, alt })
|
|
2005
|
+
}
|
|
2006
|
+
),
|
|
2007
|
+
/* @__PURE__ */ jsx(
|
|
2008
|
+
FOpenImgFull,
|
|
2009
|
+
{
|
|
2010
|
+
imagesUrl: [src],
|
|
2011
|
+
selectedImg: 0,
|
|
2012
|
+
setSelectedImg: () => void 0,
|
|
2013
|
+
openAndClose: isOpen,
|
|
2014
|
+
handleClose: () => setIsOpen(false)
|
|
2015
|
+
}
|
|
2016
|
+
)
|
|
2017
|
+
] });
|
|
2018
|
+
};
|
|
2019
|
+
const preview = "_preview_1y6bd_1";
|
|
2020
|
+
const play = "_play_1y6bd_24";
|
|
2021
|
+
const overlay = "_overlay_1y6bd_53";
|
|
2022
|
+
const entering = "_entering_1y6bd_66";
|
|
2023
|
+
const exiting = "_exiting_1y6bd_70";
|
|
2024
|
+
const video = "_video_1y6bd_75";
|
|
2025
|
+
const close = "_close_1y6bd_83";
|
|
2026
|
+
const fullscreen = "_fullscreen_1y6bd_84";
|
|
2027
|
+
const styles$m = {
|
|
2028
|
+
preview,
|
|
2029
|
+
play,
|
|
2030
|
+
overlay,
|
|
2031
|
+
entering,
|
|
2032
|
+
exiting,
|
|
2033
|
+
video,
|
|
2034
|
+
close,
|
|
2035
|
+
fullscreen
|
|
2036
|
+
};
|
|
2037
|
+
let openVideoPlayersCount = 0;
|
|
2038
|
+
const FVideoPlayer = ({ src, poster, className, st }) => {
|
|
2039
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
2040
|
+
const [isMounted, setIsMounted] = useState(false);
|
|
2041
|
+
const [isClosing, setIsClosing] = useState(false);
|
|
2042
|
+
const videoRef = useRef(null);
|
|
2043
|
+
useEffect(() => {
|
|
2044
|
+
if (isOpen) {
|
|
2045
|
+
setIsMounted(true);
|
|
2046
|
+
setIsClosing(false);
|
|
2047
|
+
} else if (isMounted) {
|
|
2048
|
+
setIsClosing(true);
|
|
2049
|
+
}
|
|
2050
|
+
}, [isMounted, isOpen]);
|
|
2051
|
+
useEffect(() => {
|
|
2052
|
+
if (!isClosing) return;
|
|
2053
|
+
const timer = window.setTimeout(() => {
|
|
2054
|
+
setIsMounted(false);
|
|
2055
|
+
setIsClosing(false);
|
|
2056
|
+
}, 300);
|
|
2057
|
+
return () => window.clearTimeout(timer);
|
|
2058
|
+
}, [isClosing]);
|
|
2059
|
+
useEffect(() => {
|
|
2060
|
+
if (!isMounted || isClosing) return;
|
|
2061
|
+
openVideoPlayersCount += 1;
|
|
2062
|
+
document.body.classList.add("open-video-player");
|
|
2063
|
+
return () => {
|
|
2064
|
+
openVideoPlayersCount = Math.max(0, openVideoPlayersCount - 1);
|
|
2065
|
+
if (openVideoPlayersCount === 0) document.body.classList.remove("open-video-player");
|
|
2066
|
+
};
|
|
2067
|
+
}, [isMounted, isClosing]);
|
|
2068
|
+
useEffect(() => {
|
|
2069
|
+
if (!isMounted || isClosing) return;
|
|
2070
|
+
const video2 = videoRef.current;
|
|
2071
|
+
if (video2) void video2.play().catch(() => {
|
|
2072
|
+
});
|
|
2073
|
+
}, [isClosing, isMounted, src]);
|
|
2074
|
+
useEffect(() => {
|
|
2075
|
+
if (!isMounted || isClosing) return;
|
|
2076
|
+
const closeOnEscape = (event) => {
|
|
2077
|
+
if (event.key === "Escape" && !document.fullscreenElement) setIsOpen(false);
|
|
2078
|
+
};
|
|
2079
|
+
window.addEventListener("keydown", closeOnEscape);
|
|
2080
|
+
return () => window.removeEventListener("keydown", closeOnEscape);
|
|
2081
|
+
}, [isClosing, isMounted]);
|
|
2082
|
+
const enterFullscreen = () => {
|
|
2083
|
+
const video2 = videoRef.current;
|
|
2084
|
+
if (video2 == null ? void 0 : video2.requestFullscreen) void video2.requestFullscreen().catch(() => {
|
|
2085
|
+
});
|
|
2086
|
+
};
|
|
2087
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
2088
|
+
/* @__PURE__ */ jsxs(
|
|
2089
|
+
"button",
|
|
2090
|
+
{
|
|
2091
|
+
type: "button",
|
|
2092
|
+
className: `${styles$m.preview} ${className || ""}`,
|
|
2093
|
+
style: st,
|
|
2094
|
+
onClick: () => setIsOpen(true),
|
|
2095
|
+
"aria-label": "Открыть видео",
|
|
2096
|
+
children: [
|
|
2097
|
+
/* @__PURE__ */ jsx("video", { src, poster, preload: "metadata", muted: true, playsInline: true }),
|
|
2098
|
+
/* @__PURE__ */ jsx("span", { className: styles$m.play, "aria-hidden": "true" })
|
|
2099
|
+
]
|
|
2100
|
+
}
|
|
2101
|
+
),
|
|
2102
|
+
isMounted && createPortal(
|
|
2103
|
+
/* @__PURE__ */ jsxs(
|
|
2104
|
+
"div",
|
|
2105
|
+
{
|
|
2106
|
+
className: `${styles$m.overlay} ${isClosing ? styles$m.exiting : styles$m.entering}`,
|
|
2107
|
+
onMouseDown: (event) => {
|
|
2108
|
+
if (event.target === event.currentTarget) setIsOpen(false);
|
|
2109
|
+
},
|
|
2110
|
+
children: [
|
|
2111
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: styles$m.close, onClick: () => setIsOpen(false), "aria-label": "Закрыть видео", children: /* @__PURE__ */ jsx(FCloseIcon, { color: "light", size: 24 }) }),
|
|
2112
|
+
/* @__PURE__ */ jsx(
|
|
2113
|
+
"video",
|
|
2114
|
+
{
|
|
2115
|
+
ref: videoRef,
|
|
2116
|
+
className: styles$m.video,
|
|
2117
|
+
src,
|
|
2118
|
+
poster,
|
|
2119
|
+
controls: true,
|
|
2120
|
+
autoPlay: true,
|
|
2121
|
+
playsInline: true
|
|
2122
|
+
}
|
|
2123
|
+
),
|
|
2124
|
+
/* @__PURE__ */ jsx("button", { type: "button", className: styles$m.fullscreen, onClick: enterFullscreen, children: "На весь экран" })
|
|
2125
|
+
]
|
|
2126
|
+
}
|
|
2127
|
+
),
|
|
2128
|
+
document.body
|
|
2129
|
+
)
|
|
2130
|
+
] });
|
|
2131
|
+
};
|
|
1968
2132
|
const card$2 = "_card_1ytel_1";
|
|
1969
2133
|
const primary$1 = "_primary_1ytel_69";
|
|
1970
2134
|
const secondary$1 = "_secondary_1ytel_81";
|
|
@@ -2757,7 +2921,7 @@ const FAlert = ({
|
|
|
2757
2921
|
}) => {
|
|
2758
2922
|
const visible2 = useRef();
|
|
2759
2923
|
const hidden2 = useRef();
|
|
2760
|
-
const
|
|
2924
|
+
const close2 = useRef();
|
|
2761
2925
|
const [randomId] = useState(fGenerateUniqueId());
|
|
2762
2926
|
let newTime = displayTime;
|
|
2763
2927
|
useEffect(() => {
|
|
@@ -2765,7 +2929,7 @@ const FAlert = ({
|
|
|
2765
2929
|
if (!open) {
|
|
2766
2930
|
const el = document.querySelector(`#f-block-alert-${randomId}`);
|
|
2767
2931
|
if (el !== null) {
|
|
2768
|
-
|
|
2932
|
+
close2.current = setTimeout(() => {
|
|
2769
2933
|
if (onClose) {
|
|
2770
2934
|
onClose(false);
|
|
2771
2935
|
}
|
|
@@ -2793,7 +2957,7 @@ const FAlert = ({
|
|
|
2793
2957
|
el.classList.remove("f-alert-visible");
|
|
2794
2958
|
el.classList.add("f-alert-hidden");
|
|
2795
2959
|
}, (newTime - 1) * 1e3);
|
|
2796
|
-
|
|
2960
|
+
close2.current = setTimeout(() => {
|
|
2797
2961
|
onClose(false);
|
|
2798
2962
|
el.classList.remove("f-alert-hidden");
|
|
2799
2963
|
el.classList.remove("f-alert-visible");
|
|
@@ -2946,7 +3110,7 @@ const FAlert = ({
|
|
|
2946
3110
|
el.classList.remove("f-alert-hidden");
|
|
2947
3111
|
clearTimeout(visible2.current);
|
|
2948
3112
|
clearTimeout(hidden2.current);
|
|
2949
|
-
clearTimeout(
|
|
3113
|
+
clearTimeout(close2.current);
|
|
2950
3114
|
}
|
|
2951
3115
|
}
|
|
2952
3116
|
)
|
|
@@ -4344,7 +4508,7 @@ function FTableActions({ children, className, onClick, ...props }) {
|
|
|
4344
4508
|
type: "button",
|
|
4345
4509
|
"aria-label": "Действия",
|
|
4346
4510
|
...props,
|
|
4347
|
-
className: `${styles$
|
|
4511
|
+
className: `${styles$w.more} ${className || ""}`,
|
|
4348
4512
|
"aria-expanded": open,
|
|
4349
4513
|
"aria-controls": id,
|
|
4350
4514
|
onClick: (event) => {
|
|
@@ -4377,7 +4541,7 @@ function FTableActions({ children, className, onClick, ...props }) {
|
|
|
4377
4541
|
ref: menu,
|
|
4378
4542
|
id,
|
|
4379
4543
|
...{ popover: "auto" },
|
|
4380
|
-
className: styles$
|
|
4544
|
+
className: styles$w["row-menu"],
|
|
4381
4545
|
onKeyDown: (event) => {
|
|
4382
4546
|
var _a, _b;
|
|
4383
4547
|
if (event.key === "Escape") {
|
|
@@ -9545,6 +9709,7 @@ export {
|
|
|
9545
9709
|
FFullDateField,
|
|
9546
9710
|
FGrid,
|
|
9547
9711
|
FGridRow,
|
|
9712
|
+
FImagePreview,
|
|
9548
9713
|
FInfoCircleIcon,
|
|
9549
9714
|
FInputFileForm,
|
|
9550
9715
|
FLibraryProvider,
|
|
@@ -9593,6 +9758,7 @@ export {
|
|
|
9593
9758
|
FTrashIcon,
|
|
9594
9759
|
FUnlinkIcon,
|
|
9595
9760
|
FUploadIcon,
|
|
9761
|
+
FVideoPlayer,
|
|
9596
9762
|
FWaterErrorBoundaryPage,
|
|
9597
9763
|
LibraryContext,
|
|
9598
9764
|
calcDurationMs,
|