@efficiency-point/design-system 0.1.4 → 0.1.7
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/README.md +48 -44
- package/dist/components/DSAccordion/DSAccordion.d.ts +9 -3
- package/dist/components/DSAccordion/DSAccordion.d.ts.map +1 -1
- package/dist/components/DSButton/DSButton.d.ts +0 -1
- package/dist/components/DSButton/DSButton.d.ts.map +1 -1
- package/dist/components/DSCheckbox/DSCheckbox.d.ts.map +1 -1
- package/dist/components/DSDataTable/DSDataTable.d.ts.map +1 -1
- package/dist/components/DSDateTimePicker/DSDateTimePicker.d.ts.map +1 -1
- package/dist/components/DSDropDown/DSDropDown.d.ts.map +1 -1
- package/dist/components/DSDropDownMultiple/DSDropDownMultiple.d.ts +6 -2
- package/dist/components/DSDropDownMultiple/DSDropDownMultiple.d.ts.map +1 -1
- package/dist/components/DSFileInput/DSFileInput.d.ts.map +1 -1
- package/dist/components/DSIcon/DSIcon.d.ts +4 -7
- package/dist/components/DSIcon/DSIcon.d.ts.map +1 -1
- package/dist/components/DSIcon/IconSvg.d.ts +4 -0
- package/dist/components/DSIcon/IconSvg.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconBasket.d.ts +4 -0
- package/dist/components/DSIcon/source/IconBasket.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconCaptions.d.ts +4 -0
- package/dist/components/DSIcon/source/IconCaptions.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconCheck.d.ts +4 -0
- package/dist/components/DSIcon/source/IconCheck.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconChevron.d.ts +4 -0
- package/dist/components/DSIcon/source/IconChevron.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconCross.d.ts +4 -0
- package/dist/components/DSIcon/source/IconCross.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconEdit.d.ts +4 -0
- package/dist/components/DSIcon/source/IconEdit.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconErrorCircle.d.ts +4 -0
- package/dist/components/DSIcon/source/IconErrorCircle.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconEye.d.ts +4 -0
- package/dist/components/DSIcon/source/IconEye.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconEyeOff.d.ts +4 -0
- package/dist/components/DSIcon/source/IconEyeOff.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconFullscreen.d.ts +4 -0
- package/dist/components/DSIcon/source/IconFullscreen.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconFullscreenExit.d.ts +4 -0
- package/dist/components/DSIcon/source/IconFullscreenExit.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconInfo.d.ts +4 -0
- package/dist/components/DSIcon/source/IconInfo.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconInfoCircle.d.ts +4 -0
- package/dist/components/DSIcon/source/IconInfoCircle.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconMinus.d.ts +4 -0
- package/dist/components/DSIcon/source/IconMinus.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconPause.d.ts +4 -0
- package/dist/components/DSIcon/source/IconPause.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconPictureInPicture.d.ts +4 -0
- package/dist/components/DSIcon/source/IconPictureInPicture.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconPlay.d.ts +4 -0
- package/dist/components/DSIcon/source/IconPlay.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconReplay.d.ts +4 -0
- package/dist/components/DSIcon/source/IconReplay.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconSettings.d.ts +4 -0
- package/dist/components/DSIcon/source/IconSettings.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconSort.d.ts +4 -0
- package/dist/components/DSIcon/source/IconSort.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconSortAscending.d.ts +4 -0
- package/dist/components/DSIcon/source/IconSortAscending.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconSortDescending.d.ts +4 -0
- package/dist/components/DSIcon/source/IconSortDescending.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconSuccessCircle.d.ts +4 -0
- package/dist/components/DSIcon/source/IconSuccessCircle.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconUpload.d.ts +4 -0
- package/dist/components/DSIcon/source/IconUpload.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconVolume.d.ts +4 -0
- package/dist/components/DSIcon/source/IconVolume.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconVolumeMuted.d.ts +4 -0
- package/dist/components/DSIcon/source/IconVolumeMuted.d.ts.map +1 -0
- package/dist/components/DSIcon/source/IconWarning.d.ts +4 -0
- package/dist/components/DSIcon/source/IconWarning.d.ts.map +1 -0
- package/dist/components/DSIcon/source/index.d.ts +31 -0
- package/dist/components/DSIcon/source/index.d.ts.map +1 -0
- package/dist/components/DSIcon/types.d.ts +13 -0
- package/dist/components/DSIcon/types.d.ts.map +1 -0
- package/dist/components/DSInfoBlock/DSInfoBlock.d.ts.map +1 -1
- package/dist/components/DSInput/DSInput.d.ts.map +1 -1
- package/dist/components/DSLoader/DSLoader.d.ts +3 -7
- package/dist/components/DSLoader/DSLoader.d.ts.map +1 -1
- package/dist/components/DSModal/DSModal.d.ts.map +1 -1
- package/dist/components/DSPageLoader/DSPageLoader.d.ts +1 -5
- package/dist/components/DSPageLoader/DSPageLoader.d.ts.map +1 -1
- package/dist/components/DSSearchDropDown/DSSearchDropDown.d.ts.map +1 -1
- package/dist/components/DSToast/DSToast.d.ts.map +1 -1
- package/dist/components/DSVideoPlayerFrame/DSVideoPlayerFrame.d.ts.map +1 -1
- package/dist/components/DSVideoPlayerFrame/DSVideoPlayerFrame.utils.d.ts +2 -0
- package/dist/components/DSVideoPlayerFrame/DSVideoPlayerFrame.utils.d.ts.map +1 -0
- package/dist/index.cjs +2 -2
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +1505 -948
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/components/DSPopup/DSPopup.d.ts +0 -9
- package/dist/components/DSPopup/DSPopup.d.ts.map +0 -1
package/dist/index.es.js
CHANGED
|
@@ -33,17 +33,28 @@ var y = {
|
|
|
33
33
|
})
|
|
34
34
|
]
|
|
35
35
|
}), x = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
"
|
|
46
|
-
"
|
|
36
|
+
container: "_container_1h2c4_1",
|
|
37
|
+
inner: "_inner_1h2c4_21",
|
|
38
|
+
line: "_line_1h2c4_39",
|
|
39
|
+
primary: "_primary_1h2c4_57",
|
|
40
|
+
secondary: "_secondary_1h2c4_65",
|
|
41
|
+
outline: "_outline_1h2c4_73",
|
|
42
|
+
ghost: "_ghost_1h2c4_81",
|
|
43
|
+
empty: "_empty_1h2c4_89",
|
|
44
|
+
destructive: "_destructive_1h2c4_97",
|
|
45
|
+
destructiveOutline: "_destructiveOutline_1h2c4_105",
|
|
46
|
+
grow: "_grow_1h2c4_1"
|
|
47
|
+
}, S = ({ variant: e = "primary" }) => /* @__PURE__ */ t("div", {
|
|
48
|
+
className: `${x.container} ${x[e]}`,
|
|
49
|
+
children: /* @__PURE__ */ n("div", {
|
|
50
|
+
className: `${x.inner} ${x[e]}`,
|
|
51
|
+
children: [
|
|
52
|
+
/* @__PURE__ */ t("div", { className: `${x.line} ${x[e]}` }),
|
|
53
|
+
/* @__PURE__ */ t("div", { className: `${x.line} ${x[e]}` }),
|
|
54
|
+
/* @__PURE__ */ t("div", { className: `${x.line} ${x[e]}` }),
|
|
55
|
+
/* @__PURE__ */ t("div", { className: `${x.line} ${x[e]}` })
|
|
56
|
+
]
|
|
57
|
+
})
|
|
47
58
|
}), C = {
|
|
48
59
|
button: "_button_1gql6_1",
|
|
49
60
|
sm: "_sm_1gql6_43",
|
|
@@ -56,17 +67,14 @@ var y = {
|
|
|
56
67
|
empty: "_empty_1gql6_127",
|
|
57
68
|
destructive: "_destructive_1gql6_139",
|
|
58
69
|
destructiveOutline: "_destructiveOutline_1gql6_147"
|
|
59
|
-
}, w = i(({ children: e, variant: n = "primary", size: r = "md", isLoading: i = !1,
|
|
60
|
-
ref:
|
|
61
|
-
className: `${C.button} ${C[n]} ${C[r]} ${
|
|
62
|
-
disabled:
|
|
70
|
+
}, w = i(({ children: e, variant: n = "primary", size: r = "md", isLoading: i = !1, disabled: a, type: o = "button", className: s = "", ...c }, l) => /* @__PURE__ */ t("button", {
|
|
71
|
+
ref: l,
|
|
72
|
+
className: `${C.button} ${C[n]} ${C[r]} ${s}`,
|
|
73
|
+
disabled: a || i,
|
|
63
74
|
"aria-busy": i || void 0,
|
|
64
|
-
...
|
|
65
|
-
type:
|
|
66
|
-
children: i ? /* @__PURE__ */ t(S, {
|
|
67
|
-
variant: "light",
|
|
68
|
-
label: a
|
|
69
|
-
}) : e
|
|
75
|
+
...c,
|
|
76
|
+
type: o,
|
|
77
|
+
children: i ? /* @__PURE__ */ t(S, { variant: n }) : e
|
|
70
78
|
}));
|
|
71
79
|
w.displayName = "DSButton";
|
|
72
80
|
var T = {
|
|
@@ -99,22 +107,178 @@ var T = {
|
|
|
99
107
|
role: i && n === "error" ? "alert" : void 0,
|
|
100
108
|
"aria-live": i && n !== "error" ? "polite" : void 0,
|
|
101
109
|
children: e
|
|
102
|
-
}), O = {
|
|
110
|
+
}), O = ({ width: e = 24, height: r = 24, color: i, title: a, style: o, children: s, ...c }) => /* @__PURE__ */ n("svg", {
|
|
111
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
112
|
+
viewBox: "0 0 24 24",
|
|
113
|
+
width: e,
|
|
114
|
+
height: r,
|
|
115
|
+
fill: "none",
|
|
116
|
+
stroke: "currentColor",
|
|
117
|
+
strokeWidth: "1.8",
|
|
118
|
+
strokeLinecap: "round",
|
|
119
|
+
strokeLinejoin: "round",
|
|
120
|
+
role: a ? "img" : void 0,
|
|
121
|
+
"aria-hidden": !a || void 0,
|
|
122
|
+
focusable: "false",
|
|
123
|
+
style: i ? {
|
|
124
|
+
...o,
|
|
125
|
+
color: i
|
|
126
|
+
} : o,
|
|
127
|
+
...c,
|
|
128
|
+
children: [a && /* @__PURE__ */ t("title", { children: a }), s]
|
|
129
|
+
}), k = {
|
|
130
|
+
IconBasket: (e) => /* @__PURE__ */ t(O, {
|
|
131
|
+
...e,
|
|
132
|
+
children: /* @__PURE__ */ t("path", { d: "M4 7h16l-1 13H5L4 7zm3 0V4h10v3" })
|
|
133
|
+
}),
|
|
134
|
+
IconCheck: (e) => /* @__PURE__ */ t(O, {
|
|
135
|
+
...e,
|
|
136
|
+
children: /* @__PURE__ */ t("path", { d: "m5 12 4 4L19 6" })
|
|
137
|
+
}),
|
|
138
|
+
IconChevron: (e) => /* @__PURE__ */ t(O, {
|
|
139
|
+
viewBox: "0 0 20 20",
|
|
140
|
+
...e,
|
|
141
|
+
children: /* @__PURE__ */ t("path", { d: "M5 7.5L10 12.5L15 7.5" })
|
|
142
|
+
}),
|
|
143
|
+
IconCross: ({ strokeWidth: e = 2, ...n }) => /* @__PURE__ */ t(O, {
|
|
144
|
+
strokeWidth: e,
|
|
145
|
+
...n,
|
|
146
|
+
children: /* @__PURE__ */ t("path", { d: "M18 6 6 18M6 6l12 12" })
|
|
147
|
+
}),
|
|
148
|
+
IconEdit: (e) => /* @__PURE__ */ t(O, {
|
|
149
|
+
...e,
|
|
150
|
+
children: /* @__PURE__ */ t("path", { d: "M4 20h4L19 9l-4-4L4 16v4z" })
|
|
151
|
+
}),
|
|
152
|
+
IconErrorCircle: (e) => /* @__PURE__ */ n(O, {
|
|
153
|
+
...e,
|
|
154
|
+
children: [/* @__PURE__ */ t("circle", {
|
|
155
|
+
cx: "12",
|
|
156
|
+
cy: "12",
|
|
157
|
+
r: "10"
|
|
158
|
+
}), /* @__PURE__ */ t("path", { d: "m15 9-6 6M9 9l6 6" })]
|
|
159
|
+
}),
|
|
160
|
+
IconEye: (e) => /* @__PURE__ */ n(O, {
|
|
161
|
+
...e,
|
|
162
|
+
children: [/* @__PURE__ */ t("path", { d: "M3 12s3.5-5 9-5 9 5 9 5-3.5 5-9 5-9-5-9-5Z" }), /* @__PURE__ */ t("circle", {
|
|
163
|
+
cx: "12",
|
|
164
|
+
cy: "12",
|
|
165
|
+
r: "2.5"
|
|
166
|
+
})]
|
|
167
|
+
}),
|
|
168
|
+
IconEyeOff: (e) => /* @__PURE__ */ t(O, {
|
|
169
|
+
...e,
|
|
170
|
+
children: /* @__PURE__ */ t("path", { d: "M3 3l18 18M10.6 10.7a2 2 0 0 0 2.7 2.7M9.9 4.2A10.7 10.7 0 0 1 12 4c5.5 0 9 5.3 9 5.3a14 14 0 0 1-2.3 2.8M6.6 6.6C4.3 8.1 3 10 3 10s3.5 5 9 5c1 0 2-.2 2.8-.5" })
|
|
171
|
+
}),
|
|
172
|
+
IconInfo: (e) => /* @__PURE__ */ t(O, {
|
|
173
|
+
...e,
|
|
174
|
+
children: /* @__PURE__ */ t("path", { d: "M12 10v7m0-10v.01" })
|
|
175
|
+
}),
|
|
176
|
+
IconInfoCircle: (e) => /* @__PURE__ */ n(O, {
|
|
177
|
+
...e,
|
|
178
|
+
children: [/* @__PURE__ */ t("circle", {
|
|
179
|
+
cx: "12",
|
|
180
|
+
cy: "12",
|
|
181
|
+
r: "10"
|
|
182
|
+
}), /* @__PURE__ */ t("path", { d: "M12 16v-4M12 8v.01" })]
|
|
183
|
+
}),
|
|
184
|
+
IconMinus: (e) => /* @__PURE__ */ t(O, {
|
|
185
|
+
...e,
|
|
186
|
+
children: /* @__PURE__ */ t("path", { d: "M5 12h14" })
|
|
187
|
+
}),
|
|
188
|
+
IconPause: (e) => /* @__PURE__ */ t(O, {
|
|
189
|
+
...e,
|
|
190
|
+
children: /* @__PURE__ */ t("path", {
|
|
191
|
+
d: "M8 5v14M16 5v14",
|
|
192
|
+
strokeWidth: "3"
|
|
193
|
+
})
|
|
194
|
+
}),
|
|
195
|
+
IconPictureInPicture: (e) => /* @__PURE__ */ t(O, {
|
|
196
|
+
...e,
|
|
197
|
+
children: /* @__PURE__ */ t("path", { d: "M3 5h18v14H3V5Zm10 7h6v5h-6v-5Z" })
|
|
198
|
+
}),
|
|
199
|
+
IconPlay: (e) => /* @__PURE__ */ t(O, {
|
|
200
|
+
...e,
|
|
201
|
+
children: /* @__PURE__ */ t("path", {
|
|
202
|
+
d: "m8 5 11 7-11 7V5Z",
|
|
203
|
+
fill: "currentColor",
|
|
204
|
+
stroke: "none"
|
|
205
|
+
})
|
|
206
|
+
}),
|
|
207
|
+
IconReplay: (e) => /* @__PURE__ */ t(O, {
|
|
208
|
+
...e,
|
|
209
|
+
children: /* @__PURE__ */ t("path", { d: "M4 7v5h5M5.5 11a7 7 0 1 1 1.3 6.3" })
|
|
210
|
+
}),
|
|
211
|
+
IconSettings: (e) => /* @__PURE__ */ t(O, {
|
|
212
|
+
...e,
|
|
213
|
+
children: /* @__PURE__ */ t("path", { d: "M12 8.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7Zm7.4 5.2.1-1.7-.1-1.7 2-1.5-2-3.4-2.4 1a8 8 0 0 0-2.9-1.7L13.8 2h-3.9l-.4 2.7a8 8 0 0 0-2.8 1.7l-2.5-1-2 3.4 2.1 1.5-.1 1.7.1 1.7-2.1 1.5 2 3.4 2.5-1a8 8 0 0 0 2.8 1.7l.4 2.7h3.9l.3-2.7a8 8 0 0 0 2.9-1.7l2.4 1 2-3.4-2-1.5Z" })
|
|
214
|
+
}),
|
|
215
|
+
IconFullscreen: (e) => /* @__PURE__ */ t(O, {
|
|
216
|
+
...e,
|
|
217
|
+
children: /* @__PURE__ */ t("path", { d: "M9 4H4v5m11-5h5v5M9 20H4v-5m11 5h5v-5" })
|
|
218
|
+
}),
|
|
219
|
+
IconFullscreenExit: (e) => /* @__PURE__ */ t(O, {
|
|
220
|
+
...e,
|
|
221
|
+
children: /* @__PURE__ */ t("path", { d: "M4 9h5V4m6 5h5V4M4 15h5v5m6-5h5v5" })
|
|
222
|
+
}),
|
|
223
|
+
IconCaptions: (e) => /* @__PURE__ */ t(O, {
|
|
224
|
+
...e,
|
|
225
|
+
children: /* @__PURE__ */ t("path", { d: "M4 6h16v12H4V6Zm7 4a2 2 0 1 0 0 4m7-4a2 2 0 1 0 0 4" })
|
|
226
|
+
}),
|
|
227
|
+
IconVolume: (e) => /* @__PURE__ */ t(O, {
|
|
228
|
+
...e,
|
|
229
|
+
children: /* @__PURE__ */ t("path", { d: "M5 10v4h4l5 4V6l-5 4H5Zm12-1c1.3 1.5 1.3 4.5 0 6m2.5-8.5c3 3 3 8 0 11" })
|
|
230
|
+
}),
|
|
231
|
+
IconVolumeMuted: (e) => /* @__PURE__ */ t(O, {
|
|
232
|
+
...e,
|
|
233
|
+
children: /* @__PURE__ */ t("path", { d: "M5 10v4h4l5 4V6l-5 4H5Zm12 0 4 4m0-4-4 4" })
|
|
234
|
+
}),
|
|
235
|
+
IconSort: (e) => /* @__PURE__ */ t(O, {
|
|
236
|
+
...e,
|
|
237
|
+
children: /* @__PURE__ */ t("path", { d: "M8 17V5m-3 3 3-3 3 3M16 7v12m-3-3 3 3 3-3" })
|
|
238
|
+
}),
|
|
239
|
+
IconSortAscending: (e) => /* @__PURE__ */ t(O, {
|
|
240
|
+
...e,
|
|
241
|
+
children: /* @__PURE__ */ t("path", { d: "M12 19V5m-5 5 5-5 5 5" })
|
|
242
|
+
}),
|
|
243
|
+
IconSortDescending: (e) => /* @__PURE__ */ t(O, {
|
|
244
|
+
...e,
|
|
245
|
+
children: /* @__PURE__ */ t("path", { d: "M12 5v14m-5-5 5 5 5-5" })
|
|
246
|
+
}),
|
|
247
|
+
IconSuccessCircle: (e) => /* @__PURE__ */ n(O, {
|
|
248
|
+
...e,
|
|
249
|
+
children: [/* @__PURE__ */ t("circle", {
|
|
250
|
+
cx: "12",
|
|
251
|
+
cy: "12",
|
|
252
|
+
r: "10"
|
|
253
|
+
}), /* @__PURE__ */ t("path", { d: "m9 12 2 2 4-4" })]
|
|
254
|
+
}),
|
|
255
|
+
IconUpload: (e) => /* @__PURE__ */ t(O, {
|
|
256
|
+
...e,
|
|
257
|
+
children: /* @__PURE__ */ t("path", { d: "M12 19V5m-5 5 5-5 5 5" })
|
|
258
|
+
}),
|
|
259
|
+
IconWarning: (e) => /* @__PURE__ */ n(O, {
|
|
260
|
+
...e,
|
|
261
|
+
children: [/* @__PURE__ */ t("path", { d: "M12 3.5L21 19H3L12 3.5Z" }), /* @__PURE__ */ t("path", { d: "M12 9v4.5M12 16.5v.01" })]
|
|
262
|
+
})
|
|
263
|
+
}, A = ({ name: e, ...n }) => {
|
|
264
|
+
let r = k[e];
|
|
265
|
+
return /* @__PURE__ */ t(r, { ...n });
|
|
266
|
+
}, j = {
|
|
103
267
|
wrapper: "_wrapper_1gq36_1",
|
|
104
268
|
label: "_label_1gq36_3",
|
|
105
269
|
input: "_input_1gq36_5",
|
|
106
270
|
control: "_control_1gq36_7",
|
|
107
271
|
disabled: "_disabled_1gq36_13",
|
|
108
272
|
controlError: "_controlError_1gq36_17"
|
|
109
|
-
},
|
|
273
|
+
}, M = ({ checked: e, onChange: r, label: i, hint: a, error: o, disabled: l = !1, readOnly: u = !1, className: f = "", name: p, id: m, indeterminate: h = !1, ...g }) => {
|
|
110
274
|
let _ = c(), v = m ?? `ds-checkbox-${p ?? _}`, y = d(null), b = a ? `${v}-hint` : void 0, x = o ? `${v}-error` : void 0;
|
|
111
275
|
return s(() => {
|
|
112
276
|
y.current && (y.current.indeterminate = h && !e);
|
|
113
277
|
}, [e, h]), /* @__PURE__ */ n("div", {
|
|
114
|
-
className: `${
|
|
278
|
+
className: `${j.wrapper} ${f}`,
|
|
115
279
|
children: [
|
|
116
280
|
/* @__PURE__ */ n("label", {
|
|
117
|
-
className: `${
|
|
281
|
+
className: `${j.label} ${l ? j.disabled : ""}`,
|
|
118
282
|
htmlFor: v,
|
|
119
283
|
children: [
|
|
120
284
|
/* @__PURE__ */ t("input", {
|
|
@@ -127,16 +291,24 @@ var T = {
|
|
|
127
291
|
"aria-readonly": u || void 0,
|
|
128
292
|
"aria-invalid": !!o,
|
|
129
293
|
"aria-describedby": [b, x].filter(Boolean).join(" ") || void 0,
|
|
130
|
-
className:
|
|
294
|
+
className: j.input,
|
|
131
295
|
onChange: (e) => {
|
|
132
296
|
u || r?.(e.target.checked, e);
|
|
133
297
|
},
|
|
134
298
|
...g
|
|
135
299
|
}),
|
|
136
|
-
/* @__PURE__ */
|
|
137
|
-
className: `${
|
|
300
|
+
/* @__PURE__ */ n("span", {
|
|
301
|
+
className: `${j.control} ${o ? j.controlError : ""}`,
|
|
138
302
|
"aria-hidden": "true",
|
|
139
|
-
children: h && !e
|
|
303
|
+
children: [h && !e && /* @__PURE__ */ t(A, {
|
|
304
|
+
name: "IconMinus",
|
|
305
|
+
width: 16,
|
|
306
|
+
height: 16
|
|
307
|
+
}), e && /* @__PURE__ */ t(A, {
|
|
308
|
+
name: "IconCheck",
|
|
309
|
+
width: 16,
|
|
310
|
+
height: 16
|
|
311
|
+
})]
|
|
140
312
|
}),
|
|
141
313
|
i && /* @__PURE__ */ t("span", { children: i })
|
|
142
314
|
]
|
|
@@ -152,28 +324,30 @@ var T = {
|
|
|
152
324
|
})
|
|
153
325
|
]
|
|
154
326
|
});
|
|
155
|
-
},
|
|
156
|
-
wrapper: "
|
|
157
|
-
trigger: "
|
|
158
|
-
lg: "
|
|
159
|
-
chevron: "
|
|
160
|
-
chevronOpen: "
|
|
161
|
-
nav: "
|
|
162
|
-
day: "
|
|
163
|
-
monthSelect: "
|
|
164
|
-
yearInput: "
|
|
165
|
-
timeInput: "
|
|
166
|
-
value: "
|
|
167
|
-
placeholder: "
|
|
168
|
-
error: "
|
|
169
|
-
panel: "
|
|
170
|
-
calendarHeader: "
|
|
171
|
-
weekdays: "
|
|
172
|
-
days: "
|
|
173
|
-
outside: "
|
|
174
|
-
selected: "
|
|
175
|
-
timeLabel: "
|
|
176
|
-
|
|
327
|
+
}, N = {
|
|
328
|
+
wrapper: "_wrapper_1kcfm_1",
|
|
329
|
+
trigger: "_trigger_1kcfm_17",
|
|
330
|
+
lg: "_lg_1kcfm_51",
|
|
331
|
+
chevron: "_chevron_1kcfm_63",
|
|
332
|
+
chevronOpen: "_chevronOpen_1kcfm_89",
|
|
333
|
+
nav: "_nav_1kcfm_99",
|
|
334
|
+
day: "_day_1kcfm_101",
|
|
335
|
+
monthSelect: "_monthSelect_1kcfm_103",
|
|
336
|
+
yearInput: "_yearInput_1kcfm_105",
|
|
337
|
+
timeInput: "_timeInput_1kcfm_107",
|
|
338
|
+
value: "_value_1kcfm_131",
|
|
339
|
+
placeholder: "_placeholder_1kcfm_139",
|
|
340
|
+
error: "_error_1kcfm_147",
|
|
341
|
+
panel: "_panel_1kcfm_155",
|
|
342
|
+
calendarHeader: "_calendarHeader_1kcfm_181",
|
|
343
|
+
weekdays: "_weekdays_1kcfm_271",
|
|
344
|
+
days: "_days_1kcfm_273",
|
|
345
|
+
outside: "_outside_1kcfm_309",
|
|
346
|
+
selected: "_selected_1kcfm_317",
|
|
347
|
+
timeLabel: "_timeLabel_1kcfm_337",
|
|
348
|
+
previousMonth: "_previousMonth_1kcfm_385",
|
|
349
|
+
nextMonth: "_nextMonth_1kcfm_393"
|
|
350
|
+
}, P = [
|
|
177
351
|
"Пн",
|
|
178
352
|
"Вт",
|
|
179
353
|
"Ср",
|
|
@@ -181,7 +355,7 @@ var T = {
|
|
|
181
355
|
"Пт",
|
|
182
356
|
"Сб",
|
|
183
357
|
"Вс"
|
|
184
|
-
],
|
|
358
|
+
], F = [
|
|
185
359
|
"Январь",
|
|
186
360
|
"Февраль",
|
|
187
361
|
"Март",
|
|
@@ -194,11 +368,11 @@ var T = {
|
|
|
194
368
|
"Октябрь",
|
|
195
369
|
"Ноябрь",
|
|
196
370
|
"Декабрь"
|
|
197
|
-
],
|
|
371
|
+
], I = (e) => String(e).padStart(2, "0"), L = (e) => new Date(e.getFullYear(), e.getMonth(), e.getDate()), R = (e, t) => {
|
|
198
372
|
if (!e) return "";
|
|
199
|
-
let n = `${e.getFullYear()}-${
|
|
373
|
+
let n = `${e.getFullYear()}-${I(e.getMonth() + 1)}-${I(e.getDate())}`, r = `${I(e.getHours())}:${I(e.getMinutes())}`;
|
|
200
374
|
return t === "date" ? n : t === "time" ? r : `${n}T${r}`;
|
|
201
|
-
},
|
|
375
|
+
}, z = (e, t) => {
|
|
202
376
|
if (!e) return null;
|
|
203
377
|
if (t === "time") {
|
|
204
378
|
let t = /^(\d{2}):(\d{2})$/.exec(e);
|
|
@@ -208,53 +382,59 @@ var T = {
|
|
|
208
382
|
let i = /* @__PURE__ */ new Date();
|
|
209
383
|
return i.setHours(n, r, 0, 0), i;
|
|
210
384
|
}
|
|
211
|
-
|
|
385
|
+
if (t === "date") {
|
|
386
|
+
let t = /^(\d{4})-(\d{2})-(\d{2})$/.exec(e);
|
|
387
|
+
if (!t) return null;
|
|
388
|
+
let n = Number(t[1]), r = Number(t[2]) - 1, i = Number(t[3]), a = new Date(n, r, i, 12);
|
|
389
|
+
return a.getFullYear() !== n || a.getMonth() !== r || a.getDate() !== i ? null : a;
|
|
390
|
+
}
|
|
391
|
+
let n = new Date(e);
|
|
212
392
|
return Number.isNaN(n.getTime()) ? null : n;
|
|
213
|
-
},
|
|
393
|
+
}, B = (e, t) => {
|
|
214
394
|
if (!e) return "";
|
|
215
|
-
let n = `${
|
|
395
|
+
let n = `${I(e.getDate())}.${I(e.getMonth() + 1)}.${e.getFullYear()}`, r = `${I(e.getHours())}:${I(e.getMinutes())}`;
|
|
216
396
|
return t === "date" ? n : t === "time" ? r : `${n} ${r}`;
|
|
217
|
-
},
|
|
397
|
+
}, V = (e) => {
|
|
218
398
|
let t = new Date(e.getFullYear(), e.getMonth(), 1), n = (t.getDay() + 6) % 7, r = new Date(t);
|
|
219
399
|
return r.setDate(t.getDate() - n), Array.from({ length: 42 }, (e, t) => {
|
|
220
400
|
let n = new Date(r);
|
|
221
401
|
return n.setDate(r.getDate() + t), n;
|
|
222
402
|
});
|
|
223
|
-
},
|
|
224
|
-
let r =
|
|
225
|
-
return !!(t && r <
|
|
226
|
-
},
|
|
227
|
-
let k = c(),
|
|
403
|
+
}, H = (e, t) => !!(e && e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate()), ee = (e, t, n) => {
|
|
404
|
+
let r = L(e).getTime();
|
|
405
|
+
return !!(t && r < L(t).getTime() || n && r > L(n).getTime());
|
|
406
|
+
}, U = 8, W = 6, G = ({ value: r, onChange: i, mode: a = "date", label: m, placeholder: h, hint: g, error: _, disabled: v = !1, readOnly: y = !1, required: b = !1, min: x, max: S, size: C = "md", id: w, name: T, className: O = "" }) => {
|
|
407
|
+
let k = c(), j = w ?? `ds-date-time-${T ?? k}`, M = g ? `${j}-hint` : void 0, I = _ ? `${j}-error` : void 0, L = d(null), G = d(null), te = d(null), [K, q] = f(!1), [J, ne] = f(r ?? /* @__PURE__ */ new Date()), [Y, re] = f(R(r, "time")), [ie, ae] = f(null), oe = u(() => V(J), [J]), se = a !== "time", ce = a !== "date";
|
|
228
408
|
s(() => {
|
|
229
|
-
r &&
|
|
409
|
+
r && ne(r), re(R(r, "time"));
|
|
230
410
|
}, [r]);
|
|
231
|
-
let
|
|
232
|
-
let e = G.current, t =
|
|
411
|
+
let le = o(() => {
|
|
412
|
+
let e = G.current, t = te.current;
|
|
233
413
|
if (!e || !t) return;
|
|
234
|
-
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = window.innerWidth, a = window.innerHeight - n.bottom -
|
|
235
|
-
|
|
414
|
+
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = window.innerWidth, a = window.innerHeight - n.bottom - U, o = n.top - U, s = a < r.height && o > a, c = Math.max(120, s ? o : a), l = s ? Math.max(U, n.top - r.height - W) : n.bottom + W, u = n.left, d = i - r.width - U;
|
|
415
|
+
ae({
|
|
236
416
|
top: l,
|
|
237
|
-
left: Math.max(
|
|
417
|
+
left: Math.max(U, Math.min(u, d)),
|
|
238
418
|
maxHeight: c
|
|
239
419
|
});
|
|
240
420
|
}, []);
|
|
241
421
|
l(() => {
|
|
242
422
|
if (!K) {
|
|
243
|
-
|
|
423
|
+
ae(null);
|
|
244
424
|
return;
|
|
245
425
|
}
|
|
246
|
-
return
|
|
247
|
-
window.removeEventListener("resize",
|
|
426
|
+
return le(), window.addEventListener("resize", le), window.addEventListener("scroll", le, !0), () => {
|
|
427
|
+
window.removeEventListener("resize", le), window.removeEventListener("scroll", le, !0);
|
|
248
428
|
};
|
|
249
429
|
}, [
|
|
250
430
|
K,
|
|
251
|
-
|
|
431
|
+
le,
|
|
252
432
|
J,
|
|
253
|
-
|
|
433
|
+
Y
|
|
254
434
|
]), s(() => {
|
|
255
435
|
if (!K) return;
|
|
256
436
|
let e = (e) => {
|
|
257
|
-
let t = e.target, n =
|
|
437
|
+
let t = e.target, n = L.current?.contains(t), r = te.current?.contains(t);
|
|
258
438
|
!n && !r && q(!1);
|
|
259
439
|
}, t = (e) => {
|
|
260
440
|
e.key === "Escape" && (q(!1), G.current?.focus());
|
|
@@ -263,167 +443,171 @@ var T = {
|
|
|
263
443
|
document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", t);
|
|
264
444
|
};
|
|
265
445
|
}, [K]);
|
|
266
|
-
let
|
|
267
|
-
if (
|
|
268
|
-
let t = new Date(e);
|
|
269
|
-
t.setHours(r?.getHours() ?? 0, r?.getMinutes() ?? 0, 0, 0), i?.(t), a === "date" && q(!1);
|
|
446
|
+
let ue = (e) => {
|
|
447
|
+
if (ee(e, x, S)) return;
|
|
448
|
+
let t = a === "date" ? z(R(e, "date"), "date") : new Date(e);
|
|
449
|
+
t && (a !== "date" && t.setHours(r?.getHours() ?? 0, r?.getMinutes() ?? 0, 0, 0), i?.(t), a === "date" && q(!1));
|
|
270
450
|
}, X = (e) => {
|
|
271
|
-
if (
|
|
451
|
+
if (re(e), !e) {
|
|
272
452
|
i?.(null);
|
|
273
453
|
return;
|
|
274
454
|
}
|
|
275
|
-
let t =
|
|
455
|
+
let t = z(e, "time");
|
|
276
456
|
if (!t) return;
|
|
277
457
|
let n = new Date(a === "datetime" ? r ?? J : /* @__PURE__ */ new Date());
|
|
278
458
|
n.setHours(t.getHours(), t.getMinutes(), 0, 0), !(x && n < x || S && n > S) && i?.(n);
|
|
279
|
-
},
|
|
280
|
-
ref:
|
|
281
|
-
className:
|
|
459
|
+
}, de = h ?? (a === "date" ? "--.--.----" : a === "time" ? "--:--" : "--.--.---- --:--"), fe = [M, I].filter(Boolean).join(" ") || void 0, pe = K && !y ? /* @__PURE__ */ n("div", {
|
|
460
|
+
ref: te,
|
|
461
|
+
className: N.panel,
|
|
282
462
|
role: "dialog",
|
|
283
|
-
"aria-label": m ??
|
|
284
|
-
style:
|
|
285
|
-
top:
|
|
286
|
-
left:
|
|
287
|
-
maxHeight:
|
|
463
|
+
"aria-label": m ?? de,
|
|
464
|
+
style: ie ? {
|
|
465
|
+
top: ie.top,
|
|
466
|
+
left: ie.left,
|
|
467
|
+
maxHeight: ie.maxHeight
|
|
288
468
|
} : {
|
|
289
469
|
visibility: "hidden",
|
|
290
470
|
top: 0,
|
|
291
471
|
left: 0
|
|
292
472
|
},
|
|
293
|
-
children: [
|
|
473
|
+
children: [se && /* @__PURE__ */ n(e, { children: [
|
|
294
474
|
/* @__PURE__ */ n("div", {
|
|
295
|
-
className:
|
|
475
|
+
className: N.calendarHeader,
|
|
296
476
|
children: [
|
|
297
477
|
/* @__PURE__ */ t("button", {
|
|
298
478
|
type: "button",
|
|
299
|
-
className:
|
|
479
|
+
className: N.nav,
|
|
300
480
|
"aria-label": "Предыдущий месяц",
|
|
301
|
-
onClick: () =>
|
|
302
|
-
children:
|
|
481
|
+
onClick: () => ne(new Date(J.getFullYear(), J.getMonth() - 1, 1)),
|
|
482
|
+
children: /* @__PURE__ */ t(A, {
|
|
483
|
+
name: "IconChevron",
|
|
484
|
+
width: 20,
|
|
485
|
+
height: 20,
|
|
486
|
+
className: N.previousMonth
|
|
487
|
+
})
|
|
303
488
|
}),
|
|
304
489
|
/* @__PURE__ */ t("select", {
|
|
305
|
-
className:
|
|
490
|
+
className: N.monthSelect,
|
|
306
491
|
"aria-label": "Месяц",
|
|
307
492
|
value: J.getMonth(),
|
|
308
|
-
onChange: (e) =>
|
|
309
|
-
children:
|
|
493
|
+
onChange: (e) => ne(new Date(J.getFullYear(), Number(e.target.value), 1)),
|
|
494
|
+
children: F.map((e, n) => /* @__PURE__ */ t("option", {
|
|
310
495
|
value: n,
|
|
311
496
|
children: e
|
|
312
497
|
}, e))
|
|
313
498
|
}),
|
|
314
499
|
/* @__PURE__ */ t("input", {
|
|
315
|
-
className:
|
|
500
|
+
className: N.yearInput,
|
|
316
501
|
type: "number",
|
|
317
502
|
"aria-label": "Год",
|
|
318
503
|
value: J.getFullYear(),
|
|
319
|
-
onChange: (e) =>
|
|
504
|
+
onChange: (e) => ne(new Date(Number(e.target.value), J.getMonth(), 1))
|
|
320
505
|
}),
|
|
321
506
|
/* @__PURE__ */ t("button", {
|
|
322
507
|
type: "button",
|
|
323
|
-
className:
|
|
508
|
+
className: N.nav,
|
|
324
509
|
"aria-label": "Следующий месяц",
|
|
325
|
-
onClick: () =>
|
|
326
|
-
children:
|
|
510
|
+
onClick: () => ne(new Date(J.getFullYear(), J.getMonth() + 1, 1)),
|
|
511
|
+
children: /* @__PURE__ */ t(A, {
|
|
512
|
+
name: "IconChevron",
|
|
513
|
+
width: 20,
|
|
514
|
+
height: 20,
|
|
515
|
+
className: N.nextMonth
|
|
516
|
+
})
|
|
327
517
|
})
|
|
328
518
|
]
|
|
329
519
|
}),
|
|
330
520
|
/* @__PURE__ */ t("div", {
|
|
331
|
-
className:
|
|
332
|
-
children:
|
|
521
|
+
className: N.weekdays,
|
|
522
|
+
children: P.map((e) => /* @__PURE__ */ t("span", { children: e }, e))
|
|
333
523
|
}),
|
|
334
524
|
/* @__PURE__ */ t("div", {
|
|
335
|
-
className:
|
|
336
|
-
children:
|
|
337
|
-
let n =
|
|
525
|
+
className: N.days,
|
|
526
|
+
children: oe.map((e) => {
|
|
527
|
+
let n = H(r, e);
|
|
338
528
|
return /* @__PURE__ */ t("button", {
|
|
339
529
|
type: "button",
|
|
340
|
-
className: `${
|
|
341
|
-
disabled:
|
|
530
|
+
className: `${N.day} ${e.getMonth() === J.getMonth() ? "" : N.outside} ${n ? N.selected : ""}`,
|
|
531
|
+
disabled: ee(e, x, S),
|
|
342
532
|
"aria-pressed": n,
|
|
343
|
-
onClick: () =>
|
|
533
|
+
onClick: () => ue(e),
|
|
344
534
|
children: e.getDate()
|
|
345
535
|
}, e.toISOString());
|
|
346
536
|
})
|
|
347
537
|
})
|
|
348
|
-
] }),
|
|
349
|
-
className:
|
|
538
|
+
] }), ce && /* @__PURE__ */ n("label", {
|
|
539
|
+
className: N.timeLabel,
|
|
350
540
|
children: [/* @__PURE__ */ t("span", { children: "Время" }), /* @__PURE__ */ t("input", {
|
|
351
|
-
className:
|
|
541
|
+
className: N.timeInput,
|
|
352
542
|
type: "time",
|
|
353
|
-
value:
|
|
543
|
+
value: Y,
|
|
354
544
|
onChange: (e) => X(e.target.value)
|
|
355
545
|
})]
|
|
356
546
|
})]
|
|
357
547
|
}) : null;
|
|
358
548
|
return /* @__PURE__ */ n("div", {
|
|
359
|
-
ref:
|
|
360
|
-
className: `${
|
|
549
|
+
ref: L,
|
|
550
|
+
className: `${N.wrapper} ${O}`,
|
|
361
551
|
children: [
|
|
362
552
|
m && /* @__PURE__ */ t(E, {
|
|
363
|
-
htmlFor:
|
|
553
|
+
htmlFor: j,
|
|
364
554
|
required: b,
|
|
365
555
|
disabled: v,
|
|
366
556
|
children: m
|
|
367
557
|
}),
|
|
368
558
|
/* @__PURE__ */ n("button", {
|
|
369
559
|
ref: G,
|
|
370
|
-
id:
|
|
560
|
+
id: j,
|
|
371
561
|
name: T,
|
|
372
562
|
type: "button",
|
|
373
|
-
className: `${
|
|
563
|
+
className: `${N.trigger} ${N[C]} ${_ ? N.error : ""}`,
|
|
374
564
|
disabled: v,
|
|
375
565
|
"aria-readonly": y || void 0,
|
|
376
566
|
"aria-expanded": K,
|
|
377
567
|
"aria-haspopup": "dialog",
|
|
378
|
-
"aria-describedby":
|
|
568
|
+
"aria-describedby": fe,
|
|
379
569
|
onClick: () => {
|
|
380
570
|
y || q((e) => !e);
|
|
381
571
|
},
|
|
382
572
|
children: [/* @__PURE__ */ t("span", {
|
|
383
|
-
className: r ?
|
|
384
|
-
children:
|
|
573
|
+
className: r ? N.value : N.placeholder,
|
|
574
|
+
children: B(r, a) || de
|
|
385
575
|
}), /* @__PURE__ */ t("span", {
|
|
386
|
-
className: [
|
|
576
|
+
className: [N.chevron, pe ? N.chevronOpen : ""].filter(Boolean).join(" "),
|
|
387
577
|
"aria-hidden": "true",
|
|
388
|
-
children: /* @__PURE__ */ t(
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
d: "M5 7.5L10 12.5L15 7.5",
|
|
393
|
-
stroke: "currentColor",
|
|
394
|
-
strokeWidth: "1.8",
|
|
395
|
-
strokeLinecap: "round",
|
|
396
|
-
strokeLinejoin: "round"
|
|
397
|
-
})
|
|
578
|
+
children: /* @__PURE__ */ t(A, {
|
|
579
|
+
name: "IconChevron",
|
|
580
|
+
width: 20,
|
|
581
|
+
height: 20
|
|
398
582
|
})
|
|
399
583
|
})]
|
|
400
584
|
}),
|
|
401
|
-
|
|
585
|
+
pe && p(pe, document.body),
|
|
402
586
|
g && !_ && /* @__PURE__ */ t(D, {
|
|
403
|
-
id:
|
|
587
|
+
id: M,
|
|
404
588
|
children: g
|
|
405
589
|
}),
|
|
406
590
|
_ && /* @__PURE__ */ t(D, {
|
|
407
|
-
id:
|
|
591
|
+
id: I,
|
|
408
592
|
variant: "error",
|
|
409
593
|
children: _
|
|
410
594
|
})
|
|
411
595
|
]
|
|
412
596
|
});
|
|
413
|
-
},
|
|
597
|
+
}, te = {
|
|
414
598
|
root: "_root_1q42e_1",
|
|
415
599
|
legend: "_legend_1q42e_3",
|
|
416
600
|
range: "_range_1q42e_5"
|
|
417
|
-
},
|
|
601
|
+
}, K = (e) => !!(e.from && e.to && e.from.getTime() <= e.to.getTime()), q = ({ value: e, onChange: r, onDraftChange: i, mode: a = "date", fromLabel: o = "От", toLabel: s = "До", hint: c, error: l, min: u, max: d, disabled: f = !1, readOnly: p = !1, required: m = !1, className: h = "" }) => {
|
|
418
602
|
let g = l ?? (e.from && e.to && e.from > e.to ? "Дата «От» не может быть позже даты «До»" : void 0), _ = (e) => {
|
|
419
|
-
i?.(e),
|
|
603
|
+
i?.(e), K(e) && r?.(e);
|
|
420
604
|
};
|
|
421
605
|
return /* @__PURE__ */ n("fieldset", {
|
|
422
|
-
className: `${
|
|
606
|
+
className: `${te.root} ${h}`,
|
|
423
607
|
disabled: f,
|
|
424
608
|
children: [/* @__PURE__ */ n("div", {
|
|
425
|
-
className:
|
|
426
|
-
children: [/* @__PURE__ */ t(
|
|
609
|
+
className: te.range,
|
|
610
|
+
children: [/* @__PURE__ */ t(G, {
|
|
427
611
|
value: e.from,
|
|
428
612
|
mode: a === "datetime" ? "datetime" : a,
|
|
429
613
|
label: o,
|
|
@@ -437,7 +621,7 @@ var T = {
|
|
|
437
621
|
...e,
|
|
438
622
|
from: t
|
|
439
623
|
})
|
|
440
|
-
}), /* @__PURE__ */ t(
|
|
624
|
+
}), /* @__PURE__ */ t(G, {
|
|
441
625
|
value: e.to,
|
|
442
626
|
mode: a === "datetime" ? "datetime" : a,
|
|
443
627
|
label: s,
|
|
@@ -454,7 +638,7 @@ var T = {
|
|
|
454
638
|
})]
|
|
455
639
|
}), c && !g && /* @__PURE__ */ t(D, { children: c })]
|
|
456
640
|
});
|
|
457
|
-
},
|
|
641
|
+
}, J = {
|
|
458
642
|
group: "_group_1fs9e_1",
|
|
459
643
|
skeleton: "_skeleton_1fs9e_3",
|
|
460
644
|
text: "_text_1fs9e_5",
|
|
@@ -462,55 +646,55 @@ var T = {
|
|
|
462
646
|
circular: "_circular_1fs9e_9",
|
|
463
647
|
animated: "_animated_1fs9e_11",
|
|
464
648
|
"ds-skeleton": "_ds-skeleton_1fs9e_1"
|
|
465
|
-
},
|
|
466
|
-
className: `${
|
|
649
|
+
}, ne = ({ variant: e = "text", width: n = "100%", height: r, lines: i = 1, animated: a = !0, className: o = "" }) => /* @__PURE__ */ t("span", {
|
|
650
|
+
className: `${J.group} ${o}`,
|
|
467
651
|
"aria-hidden": "true",
|
|
468
652
|
children: Array.from({ length: Math.max(1, i) }, (o, s) => /* @__PURE__ */ t("span", {
|
|
469
|
-
className: `${
|
|
653
|
+
className: `${J.skeleton} ${J[e]} ${a ? J.animated : ""}`,
|
|
470
654
|
style: {
|
|
471
655
|
width: s === i - 1 && i > 1 ? "70%" : n,
|
|
472
656
|
height: r
|
|
473
657
|
}
|
|
474
658
|
}, s))
|
|
475
|
-
}),
|
|
476
|
-
wrapper: "
|
|
477
|
-
label: "
|
|
478
|
-
container: "
|
|
479
|
-
trigger: "
|
|
480
|
-
disabledText: "
|
|
481
|
-
sm: "
|
|
482
|
-
md: "
|
|
483
|
-
lg: "
|
|
484
|
-
value: "
|
|
485
|
-
placeholder: "
|
|
486
|
-
chevron: "
|
|
487
|
-
chevronOpen: "
|
|
488
|
-
menu: "
|
|
489
|
-
option: "
|
|
490
|
-
selected: "
|
|
491
|
-
message: "
|
|
492
|
-
error: "
|
|
493
|
-
errorState: "
|
|
494
|
-
},
|
|
659
|
+
}), Y = {
|
|
660
|
+
wrapper: "_wrapper_jmtfp_1",
|
|
661
|
+
label: "_label_jmtfp_17",
|
|
662
|
+
container: "_container_jmtfp_29",
|
|
663
|
+
trigger: "_trigger_jmtfp_37",
|
|
664
|
+
disabledText: "_disabledText_jmtfp_39",
|
|
665
|
+
sm: "_sm_jmtfp_61",
|
|
666
|
+
md: "_md_jmtfp_71",
|
|
667
|
+
lg: "_lg_jmtfp_81",
|
|
668
|
+
value: "_value_jmtfp_141",
|
|
669
|
+
placeholder: "_placeholder_jmtfp_143",
|
|
670
|
+
chevron: "_chevron_jmtfp_199",
|
|
671
|
+
chevronOpen: "_chevronOpen_jmtfp_225",
|
|
672
|
+
menu: "_menu_jmtfp_233",
|
|
673
|
+
option: "_option_jmtfp_263",
|
|
674
|
+
selected: "_selected_jmtfp_333",
|
|
675
|
+
message: "_message_jmtfp_353",
|
|
676
|
+
error: "_error_jmtfp_355",
|
|
677
|
+
errorState: "_errorState_jmtfp_381"
|
|
678
|
+
}, re = 8, ie = 6, ae = 120, oe = (e, t, n) => {
|
|
495
679
|
if (!e.length) return -1;
|
|
496
680
|
for (let r = 0; r < e.length; r += 1) {
|
|
497
681
|
let i = (t + r * n + e.length) % e.length;
|
|
498
682
|
if (!e[i]?.disabled) return i;
|
|
499
683
|
}
|
|
500
684
|
return -1;
|
|
501
|
-
},
|
|
685
|
+
}, se = (e) => {
|
|
502
686
|
if (typeof e == "number") return e;
|
|
503
687
|
if (typeof e == "string") {
|
|
504
688
|
let t = Number.parseFloat(e);
|
|
505
689
|
if (Number.isFinite(t)) return t;
|
|
506
690
|
}
|
|
507
691
|
return Infinity;
|
|
508
|
-
},
|
|
509
|
-
let D = c(), O = C ?? `ds-dropdown-${S ?? D}`, k = `${O}-listbox`, [
|
|
510
|
-
let e =
|
|
692
|
+
}, ce = ({ options: e, value: r, onChange: i, placeholder: a = "Выберите опцию", disabled: m = !1, stringWhileDisabled: h = !1, label: g, error: _, size: v = "md", hint: y, className: b = "", required: x = !1, name: S, id: C, needMark: w = !0, maxMenuHeight: T }) => {
|
|
693
|
+
let D = c(), O = C ?? `ds-dropdown-${S ?? D}`, k = `${O}-listbox`, [j, M] = f(!1), [N, P] = f(null), F = d(null), I = d(null), L = d(null), R = d([]), z = u(() => e.find((e) => e.value === r), [e, r]), B = y ? `${O}-hint` : void 0, V = _ ? `${O}-error` : void 0, H = [B, V].filter(Boolean).join(" ") || void 0, ee = m && h, U = o(() => {
|
|
694
|
+
let e = I.current, t = L.current;
|
|
511
695
|
if (!e || !t) return;
|
|
512
|
-
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = window.innerWidth, a = window.innerHeight - n.bottom -
|
|
513
|
-
|
|
696
|
+
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = window.innerWidth, a = window.innerHeight - n.bottom - re, o = n.top - re, s = a < r.height && o > a, c = Math.max(ae, s ? o : a), l = se(T), u = Math.min(c, l), d = n.left, f = i - n.width - re, p = Math.max(re, Math.min(d, f)), m = s ? Math.max(re, n.top - r.height - ie) : n.bottom + ie;
|
|
697
|
+
P({
|
|
514
698
|
top: m,
|
|
515
699
|
left: p,
|
|
516
700
|
width: n.width,
|
|
@@ -518,48 +702,48 @@ var T = {
|
|
|
518
702
|
});
|
|
519
703
|
}, [T]);
|
|
520
704
|
l(() => {
|
|
521
|
-
if (!
|
|
522
|
-
|
|
705
|
+
if (!j) {
|
|
706
|
+
P(null);
|
|
523
707
|
return;
|
|
524
708
|
}
|
|
525
709
|
return U(), window.addEventListener("resize", U), window.addEventListener("scroll", U, !0), () => {
|
|
526
710
|
window.removeEventListener("resize", U), window.removeEventListener("scroll", U, !0);
|
|
527
711
|
};
|
|
528
712
|
}, [
|
|
529
|
-
|
|
713
|
+
j,
|
|
530
714
|
U,
|
|
531
715
|
e.length
|
|
532
716
|
]), s(() => {
|
|
533
|
-
if (!
|
|
717
|
+
if (!j) return;
|
|
534
718
|
let e = (e) => {
|
|
535
|
-
let t = e.target, n =
|
|
536
|
-
!n && !r &&
|
|
719
|
+
let t = e.target, n = F.current?.contains(t), r = L.current?.contains(t);
|
|
720
|
+
!n && !r && M(!1);
|
|
537
721
|
}, t = (e) => {
|
|
538
|
-
e.key === "Escape" && (
|
|
722
|
+
e.key === "Escape" && (M(!1), I.current?.focus());
|
|
539
723
|
};
|
|
540
724
|
return document.addEventListener("pointerdown", e), document.addEventListener("keydown", t), () => {
|
|
541
725
|
document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", t);
|
|
542
726
|
};
|
|
543
|
-
}, [
|
|
727
|
+
}, [j]);
|
|
544
728
|
let W = (t, n) => {
|
|
545
|
-
let r =
|
|
729
|
+
let r = oe(e, t, n);
|
|
546
730
|
if (r === -1) return;
|
|
547
|
-
let i =
|
|
731
|
+
let i = R.current[r];
|
|
548
732
|
i?.focus(), i?.scrollIntoView({ block: "nearest" });
|
|
549
733
|
}, G = (e) => {
|
|
550
|
-
e.disabled || (i?.(e.value, e),
|
|
551
|
-
},
|
|
552
|
-
ref:
|
|
734
|
+
e.disabled || (i?.(e.value, e), M(!1), I.current?.focus());
|
|
735
|
+
}, te = j ? /* @__PURE__ */ t("ul", {
|
|
736
|
+
ref: L,
|
|
553
737
|
id: k,
|
|
554
|
-
className:
|
|
738
|
+
className: Y.menu,
|
|
555
739
|
role: "listbox",
|
|
556
740
|
"aria-label": g,
|
|
557
|
-
style:
|
|
741
|
+
style: N ? {
|
|
558
742
|
position: "fixed",
|
|
559
|
-
top:
|
|
560
|
-
left:
|
|
561
|
-
width:
|
|
562
|
-
maxHeight:
|
|
743
|
+
top: N.top,
|
|
744
|
+
left: N.left,
|
|
745
|
+
width: N.width,
|
|
746
|
+
maxHeight: N.maxHeight
|
|
563
747
|
} : {
|
|
564
748
|
position: "fixed",
|
|
565
749
|
top: 0,
|
|
@@ -573,16 +757,16 @@ var T = {
|
|
|
573
757
|
role: "presentation",
|
|
574
758
|
children: /* @__PURE__ */ n("button", {
|
|
575
759
|
ref: (e) => {
|
|
576
|
-
|
|
760
|
+
R.current[a] = e;
|
|
577
761
|
},
|
|
578
762
|
type: "button",
|
|
579
763
|
role: "option",
|
|
580
764
|
"aria-selected": o,
|
|
581
765
|
disabled: i.disabled,
|
|
582
766
|
className: [
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
o ?
|
|
767
|
+
Y[v],
|
|
768
|
+
Y.option,
|
|
769
|
+
o ? Y.selected : ""
|
|
586
770
|
].filter(Boolean).join(" "),
|
|
587
771
|
onClick: () => G(i),
|
|
588
772
|
onKeyDown: (t) => {
|
|
@@ -591,122 +775,117 @@ var T = {
|
|
|
591
775
|
let e = t.key === "ArrowDown" ? 1 : -1;
|
|
592
776
|
W(a + e, e);
|
|
593
777
|
}
|
|
594
|
-
if (t.key === "Tab" &&
|
|
778
|
+
if (t.key === "Tab" && M(!1), t.key === "Home" || t.key === "End") {
|
|
595
779
|
t.preventDefault();
|
|
596
780
|
let n = t.key === "Home" ? 1 : -1;
|
|
597
781
|
W(t.key === "Home" ? 0 : e.length - 1, n);
|
|
598
782
|
}
|
|
599
783
|
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), G(i));
|
|
600
784
|
},
|
|
601
|
-
children: [/* @__PURE__ */ t("span", { children: i.label }), o && w && /* @__PURE__ */ t(
|
|
602
|
-
|
|
603
|
-
|
|
785
|
+
children: [/* @__PURE__ */ t("span", { children: i.label }), o && w && /* @__PURE__ */ t(A, {
|
|
786
|
+
name: "IconCheck",
|
|
787
|
+
width: 16,
|
|
788
|
+
height: 16
|
|
604
789
|
})]
|
|
605
790
|
})
|
|
606
791
|
}, i.value);
|
|
607
792
|
})
|
|
608
793
|
}) : null;
|
|
609
794
|
return /* @__PURE__ */ n("div", {
|
|
610
|
-
ref:
|
|
795
|
+
ref: F,
|
|
611
796
|
className: [
|
|
612
|
-
|
|
613
|
-
_ ?
|
|
797
|
+
Y.wrapper,
|
|
798
|
+
_ ? Y.errorState : "",
|
|
614
799
|
b
|
|
615
800
|
].filter(Boolean).join(" "),
|
|
616
801
|
children: [
|
|
617
802
|
g && /* @__PURE__ */ t(E, {
|
|
618
803
|
required: x,
|
|
619
804
|
disabled: m,
|
|
620
|
-
htmlFor:
|
|
805
|
+
htmlFor: ee ? void 0 : O,
|
|
621
806
|
children: g
|
|
622
807
|
}),
|
|
623
808
|
/* @__PURE__ */ t("div", {
|
|
624
|
-
className:
|
|
625
|
-
children:
|
|
809
|
+
className: Y.container,
|
|
810
|
+
children: ee ? /* @__PURE__ */ t("div", {
|
|
626
811
|
id: O,
|
|
627
|
-
className:
|
|
628
|
-
"aria-describedby":
|
|
629
|
-
children:
|
|
812
|
+
className: Y.disabledText,
|
|
813
|
+
"aria-describedby": H,
|
|
814
|
+
children: z?.label ?? a
|
|
630
815
|
}) : /* @__PURE__ */ n("button", {
|
|
631
|
-
ref:
|
|
816
|
+
ref: I,
|
|
632
817
|
id: O,
|
|
633
818
|
type: "button",
|
|
634
819
|
name: S,
|
|
635
|
-
className: `${
|
|
820
|
+
className: `${Y.trigger} ${Y[v]}`,
|
|
636
821
|
disabled: m,
|
|
637
822
|
"aria-haspopup": "listbox",
|
|
638
|
-
"aria-expanded":
|
|
823
|
+
"aria-expanded": j,
|
|
639
824
|
"aria-controls": k,
|
|
640
|
-
"aria-describedby":
|
|
825
|
+
"aria-describedby": H,
|
|
641
826
|
"aria-invalid": !!_,
|
|
642
|
-
onClick: () =>
|
|
827
|
+
onClick: () => M((e) => !e),
|
|
643
828
|
onKeyDown: (t) => {
|
|
644
829
|
if (t.key === "ArrowDown" || t.key === "ArrowUp") {
|
|
645
|
-
t.preventDefault(),
|
|
830
|
+
t.preventDefault(), M(!0);
|
|
646
831
|
let n = t.key === "ArrowDown" ? 1 : -1;
|
|
647
832
|
requestAnimationFrame(() => {
|
|
648
833
|
W(t.key === "ArrowDown" ? 0 : e.length - 1, n);
|
|
649
834
|
});
|
|
650
835
|
}
|
|
651
|
-
if (t.key === "Enter" &&
|
|
836
|
+
if (t.key === "Enter" && j) {
|
|
652
837
|
t.preventDefault();
|
|
653
838
|
let n = e.findIndex((e) => e.value === r);
|
|
654
839
|
W(n >= 0 ? n : 0, 1);
|
|
655
840
|
}
|
|
656
841
|
},
|
|
657
842
|
children: [/* @__PURE__ */ t("span", {
|
|
658
|
-
className: `${
|
|
659
|
-
${
|
|
660
|
-
children:
|
|
843
|
+
className: `${z ? Y.value : Y.placeholder}
|
|
844
|
+
${Y[v]}`,
|
|
845
|
+
children: z?.label ?? a
|
|
661
846
|
}), /* @__PURE__ */ t("span", {
|
|
662
|
-
className: [
|
|
847
|
+
className: [Y.chevron, j ? Y.chevronOpen : ""].filter(Boolean).join(" "),
|
|
663
848
|
"aria-hidden": "true",
|
|
664
|
-
children: /* @__PURE__ */ t(
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
d: "M5 7.5L10 12.5L15 7.5",
|
|
669
|
-
stroke: "currentColor",
|
|
670
|
-
strokeWidth: "1.8",
|
|
671
|
-
strokeLinecap: "round",
|
|
672
|
-
strokeLinejoin: "round"
|
|
673
|
-
})
|
|
849
|
+
children: /* @__PURE__ */ t(A, {
|
|
850
|
+
name: "IconChevron",
|
|
851
|
+
width: 20,
|
|
852
|
+
height: 20
|
|
674
853
|
})
|
|
675
854
|
})]
|
|
676
855
|
})
|
|
677
856
|
}),
|
|
678
|
-
|
|
857
|
+
j && p(te, document.body),
|
|
679
858
|
y && !_ && /* @__PURE__ */ t("span", {
|
|
680
|
-
id:
|
|
681
|
-
className:
|
|
859
|
+
id: B,
|
|
860
|
+
className: Y.message,
|
|
682
861
|
children: y
|
|
683
862
|
}),
|
|
684
863
|
_ && /* @__PURE__ */ t("span", {
|
|
685
|
-
id:
|
|
686
|
-
className:
|
|
864
|
+
id: V,
|
|
865
|
+
className: Y.error,
|
|
687
866
|
children: _
|
|
688
867
|
})
|
|
689
868
|
]
|
|
690
869
|
});
|
|
691
|
-
},
|
|
870
|
+
}, le = (e) => `${e.id}:${e.direction}`, ue = ({ options: e, value: n, onChange: r, label: i = "Сортировка", placeholder: a = "Выберите сортировку", disabled: o = !1, className: s }) => {
|
|
692
871
|
let c = e.flatMap((e) => [{
|
|
693
|
-
value:
|
|
872
|
+
value: le({
|
|
694
873
|
id: e.id,
|
|
695
874
|
direction: "asc"
|
|
696
875
|
}),
|
|
697
876
|
label: e.ascLabel ?? `${e.label} · по возрастанию`,
|
|
698
877
|
disabled: e.disabled
|
|
699
878
|
}, {
|
|
700
|
-
value:
|
|
879
|
+
value: le({
|
|
701
880
|
id: e.id,
|
|
702
881
|
direction: "desc"
|
|
703
882
|
}),
|
|
704
883
|
label: e.descLabel ?? `${e.label} · по убыванию`,
|
|
705
884
|
disabled: e.disabled
|
|
706
885
|
}]);
|
|
707
|
-
return /* @__PURE__ */ t(
|
|
886
|
+
return /* @__PURE__ */ t(ce, {
|
|
708
887
|
options: c,
|
|
709
|
-
value: n ?
|
|
888
|
+
value: n ? le(n) : "",
|
|
710
889
|
label: i,
|
|
711
890
|
placeholder: a,
|
|
712
891
|
disabled: o,
|
|
@@ -719,56 +898,33 @@ var T = {
|
|
|
719
898
|
});
|
|
720
899
|
}
|
|
721
900
|
});
|
|
722
|
-
},
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
730
|
-
|
|
731
|
-
|
|
732
|
-
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
"
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
}
|
|
746
|
-
root: "_root_osyhx_1",
|
|
747
|
-
tableWrap: "_tableWrap_osyhx_3",
|
|
748
|
-
table: "_table_osyhx_3",
|
|
749
|
-
sticky: "_sticky_osyhx_15",
|
|
750
|
-
sortButton: "_sortButton_osyhx_17",
|
|
751
|
-
state: "_state_osyhx_21",
|
|
752
|
-
cards: "_cards_osyhx_23",
|
|
753
|
-
mobileSort: "_mobileSort_osyhx_23",
|
|
754
|
-
card: "_card_osyhx_23",
|
|
755
|
-
spanTwo: "_spanTwo_osyhx_37",
|
|
756
|
-
clickableRow: "_clickableRow_osyhx_39",
|
|
757
|
-
pagination: "_pagination_osyhx_43",
|
|
758
|
-
paginationRange: "_paginationRange_osyhx_56",
|
|
759
|
-
paginationControls: "_paginationControls_osyhx_62",
|
|
760
|
-
pageNumbers: "_pageNumbers_osyhx_63",
|
|
761
|
-
pageButton: "_pageButton_osyhx_69",
|
|
762
|
-
ellipsis: "_ellipsis_osyhx_74",
|
|
763
|
-
previousIcon: "_previousIcon_osyhx_80",
|
|
764
|
-
nextIcon: "_nextIcon_osyhx_84",
|
|
765
|
-
default: "_default_osyhx_104",
|
|
766
|
-
tableOnMobile: "_tableOnMobile_osyhx_104",
|
|
767
|
-
wide: "_wide_osyhx_108"
|
|
768
|
-
}, ue = g({
|
|
901
|
+
}, X = {
|
|
902
|
+
root: "_root_l2civ_1",
|
|
903
|
+
tableWrap: "_tableWrap_l2civ_3",
|
|
904
|
+
table: "_table_l2civ_3",
|
|
905
|
+
sticky: "_sticky_l2civ_15",
|
|
906
|
+
sortButton: "_sortButton_l2civ_17",
|
|
907
|
+
state: "_state_l2civ_21",
|
|
908
|
+
cards: "_cards_l2civ_23",
|
|
909
|
+
mobileSort: "_mobileSort_l2civ_23",
|
|
910
|
+
card: "_card_l2civ_23",
|
|
911
|
+
spanTwo: "_spanTwo_l2civ_37",
|
|
912
|
+
clickableRow: "_clickableRow_l2civ_41",
|
|
913
|
+
pagination: "_pagination_l2civ_49",
|
|
914
|
+
paginationRange: "_paginationRange_l2civ_75",
|
|
915
|
+
paginationControls: "_paginationControls_l2civ_87",
|
|
916
|
+
pageNumbers: "_pageNumbers_l2civ_89",
|
|
917
|
+
pageButton: "_pageButton_l2civ_101",
|
|
918
|
+
ellipsis: "_ellipsis_l2civ_111",
|
|
919
|
+
previousIcon: "_previousIcon_l2civ_123",
|
|
920
|
+
nextIcon: "_nextIcon_l2civ_131",
|
|
921
|
+
default: "_default_l2civ_169",
|
|
922
|
+
tableOnMobile: "_tableOnMobile_l2civ_169",
|
|
923
|
+
wide: "_wide_l2civ_173"
|
|
924
|
+
}, de = g({
|
|
769
925
|
rowSortingFeature: h,
|
|
770
926
|
sortedRowModel: m()
|
|
771
|
-
}),
|
|
927
|
+
}), fe = (e, t) => t <= 7 ? Array.from({ length: t }, (e, t) => t) : e <= 3 ? [
|
|
772
928
|
0,
|
|
773
929
|
1,
|
|
774
930
|
2,
|
|
@@ -792,7 +948,7 @@ var T = {
|
|
|
792
948
|
e + 1,
|
|
793
949
|
"ellipsis-end",
|
|
794
950
|
t - 1
|
|
795
|
-
],
|
|
951
|
+
], pe = (e, t) => {
|
|
796
952
|
let n = /* @__PURE__ */ new Set();
|
|
797
953
|
for (let t of e) {
|
|
798
954
|
if (!t.id.trim()) return "Идентификатор колонки не может быть пустым";
|
|
@@ -804,36 +960,36 @@ var T = {
|
|
|
804
960
|
for (let t of e) if (typeof t.accessor == "string" && !(t.accessor in r)) return `В строке ${n + 1} отсутствует колонка «${t.id}»`;
|
|
805
961
|
}
|
|
806
962
|
return null;
|
|
807
|
-
},
|
|
963
|
+
}, me = (e, t) => typeof e == "function" ? e(t) : t[e], he = (e) => {
|
|
808
964
|
if (e == null || e === "") return null;
|
|
809
965
|
let t = Date.parse(String(e));
|
|
810
966
|
return Number.isNaN(t) ? null : t;
|
|
811
|
-
}, he = (e, t, n) => {
|
|
812
|
-
let r = me(e.getValue(n)), i = me(t.getValue(n));
|
|
813
|
-
return r === null && i === null ? 0 : r === null ? -1 : i === null ? 1 : r - i;
|
|
814
967
|
}, ge = (e, t, n) => {
|
|
968
|
+
let r = he(e.getValue(n)), i = he(t.getValue(n));
|
|
969
|
+
return r === null && i === null ? 0 : r === null ? -1 : i === null ? 1 : r - i;
|
|
970
|
+
}, _e = (e, t, n) => {
|
|
815
971
|
let r = e.getValue(n), i = t.getValue(n);
|
|
816
972
|
return r == null && i == null ? 0 : r == null ? -1 : i == null ? 1 : Number(r) - Number(i);
|
|
817
|
-
},
|
|
973
|
+
}, ve = (e, t, n) => {
|
|
818
974
|
let r = e.getValue(n), i = t.getValue(n);
|
|
819
975
|
return r == null && i == null ? 0 : r == null ? -1 : i == null ? 1 : Number(!!r) - Number(!!i);
|
|
820
|
-
},
|
|
976
|
+
}, ye = (e, t, n) => {
|
|
821
977
|
let r = String(e.getValue(n) ?? ""), i = String(t.getValue(n) ?? "");
|
|
822
978
|
return r.localeCompare(i, void 0, {
|
|
823
979
|
numeric: !0,
|
|
824
980
|
sensitivity: "base"
|
|
825
981
|
});
|
|
826
|
-
},
|
|
982
|
+
}, be = (e) => {
|
|
827
983
|
switch (e) {
|
|
828
|
-
case "date": return
|
|
829
|
-
case "number": return
|
|
830
|
-
case "boolean": return
|
|
984
|
+
case "date": return ge;
|
|
985
|
+
case "number": return _e;
|
|
986
|
+
case "boolean": return ve;
|
|
831
987
|
case "text":
|
|
832
|
-
case void 0: return
|
|
988
|
+
case void 0: return ye;
|
|
833
989
|
case "custom": return;
|
|
834
990
|
}
|
|
835
|
-
},
|
|
836
|
-
let t = (t) =>
|
|
991
|
+
}, xe = (e) => {
|
|
992
|
+
let t = (t) => me(e.accessor, t), n = e.sortFn ?? be(e.dataType), r = e.enableSorting ?? (e.dataType !== "custom" && n !== void 0), i = {
|
|
837
993
|
id: e.id,
|
|
838
994
|
accessorFn: t,
|
|
839
995
|
header: () => e.header,
|
|
@@ -845,56 +1001,56 @@ var T = {
|
|
|
845
1001
|
sortDescFirst: e.sortDescFirst
|
|
846
1002
|
};
|
|
847
1003
|
return n !== void 0 && (i.sortFn = n), i;
|
|
848
|
-
},
|
|
849
|
-
let [D, O] = f([]), [k,
|
|
1004
|
+
}, Se = ({ columns: e, data: r, tableOnMobile: i = !1, breakpoint: a = "default", sorting: o, onSortingChange: c, renderMobileCard: l, getRowId: d, caption: p, ariaLabel: m, loading: h = !1, error: g, emptyState: v = "Нет данных", stickyHeader: y = !1, maxHeight: b, className: x = "", onRowClick: S, pagination: C = !1, pageSize: T = 30, visibleColumnIds: E }) => {
|
|
1005
|
+
let [D, O] = f([]), [k, j] = f(0), M = o ?? D, N = M.map((e) => `${e.id}:${e.desc ? "desc" : "asc"}`).join("|"), P = Number.isFinite(T) && T > 0 ? Math.floor(T) : 30, F = u(() => {
|
|
850
1006
|
if (E === void 0) return e;
|
|
851
1007
|
let t = new Set(E);
|
|
852
1008
|
return e.filter((e) => t.has(e.id));
|
|
853
|
-
}, [e, E]),
|
|
854
|
-
features:
|
|
855
|
-
columns:
|
|
1009
|
+
}, [e, E]), I = u(() => F.length === 0 ? "Должна быть видима хотя бы одна колонка" : pe(F, r), [r, F]), L = u(() => F.map(xe), [F]), R = _({
|
|
1010
|
+
features: de,
|
|
1011
|
+
columns: L,
|
|
856
1012
|
data: r,
|
|
857
|
-
state: { sorting:
|
|
1013
|
+
state: { sorting: M },
|
|
858
1014
|
onSortingChange: (e) => {
|
|
859
|
-
let t = typeof e == "function" ? e(
|
|
860
|
-
o === void 0 && O(t),
|
|
1015
|
+
let t = typeof e == "function" ? e(M) : e;
|
|
1016
|
+
o === void 0 && O(t), j(0), c?.(t);
|
|
861
1017
|
},
|
|
862
1018
|
getRowId: d
|
|
863
|
-
}),
|
|
864
|
-
|
|
1019
|
+
}), z = R.getRowModel().rows, B = C ? Math.max(1, Math.ceil(z.length / P)) : 1, V = Math.min(k, B - 1), H = u(() => C ? z.slice(V * P, (V + 1) * P) : z, [
|
|
1020
|
+
P,
|
|
865
1021
|
C,
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
]),
|
|
1022
|
+
V,
|
|
1023
|
+
z
|
|
1024
|
+
]), ee = u(() => F.filter((e) => e.enableSorting ?? e.dataType !== "custom").map((e) => ({
|
|
869
1025
|
id: e.id,
|
|
870
1026
|
label: typeof e.header == "string" ? e.header : e.id
|
|
871
|
-
})), [
|
|
1027
|
+
})), [F]), U = u(() => fe(V, B), [B, V]), W = [
|
|
872
1028
|
X.root,
|
|
873
1029
|
a === "wide" ? X.wide : X.default,
|
|
874
1030
|
i ? X.tableOnMobile : "",
|
|
875
1031
|
x
|
|
876
|
-
].filter(Boolean).join(" "), G =
|
|
1032
|
+
].filter(Boolean).join(" "), G = I ?? g, te = C && !h && !G && z.length > P, K = V * P + 1, q = Math.min((V + 1) * P, z.length);
|
|
877
1033
|
return s(() => {
|
|
878
|
-
|
|
1034
|
+
j(0);
|
|
879
1035
|
}, [
|
|
880
1036
|
r,
|
|
881
|
-
|
|
1037
|
+
P,
|
|
882
1038
|
C,
|
|
883
|
-
|
|
1039
|
+
N
|
|
884
1040
|
]), s(() => {
|
|
885
|
-
k >=
|
|
886
|
-
}, [
|
|
1041
|
+
k >= B && j(B - 1);
|
|
1042
|
+
}, [B, k]), /* @__PURE__ */ n("section", {
|
|
887
1043
|
className: W,
|
|
888
1044
|
"aria-busy": h,
|
|
889
1045
|
children: [
|
|
890
|
-
!i && !h && !G &&
|
|
1046
|
+
!i && !h && !G && H.length > 0 && ee.length > 0 && /* @__PURE__ */ t(ue, {
|
|
891
1047
|
className: X.mobileSort,
|
|
892
|
-
options:
|
|
893
|
-
value:
|
|
894
|
-
id:
|
|
895
|
-
direction:
|
|
1048
|
+
options: ee,
|
|
1049
|
+
value: M[0] ? {
|
|
1050
|
+
id: M[0].id,
|
|
1051
|
+
direction: M[0].desc ? "desc" : "asc"
|
|
896
1052
|
} : null,
|
|
897
|
-
onChange: (e) =>
|
|
1053
|
+
onChange: (e) => R.setSorting([{
|
|
898
1054
|
id: e.id,
|
|
899
1055
|
desc: e.direction === "desc"
|
|
900
1056
|
}])
|
|
@@ -909,7 +1065,7 @@ var T = {
|
|
|
909
1065
|
p && /* @__PURE__ */ t("caption", { children: p }),
|
|
910
1066
|
/* @__PURE__ */ t("thead", {
|
|
911
1067
|
className: y ? X.sticky : "",
|
|
912
|
-
children:
|
|
1068
|
+
children: R.getHeaderGroups().map((e) => /* @__PURE__ */ t("tr", { children: e.headers.map((e) => {
|
|
913
1069
|
let r = e.column.getIsSorted(), i = e.column.getCanSort(), a = e.column.getToggleSortingHandler();
|
|
914
1070
|
return /* @__PURE__ */ t("th", {
|
|
915
1071
|
scope: "col",
|
|
@@ -919,26 +1075,27 @@ var T = {
|
|
|
919
1075
|
className: X.sortButton,
|
|
920
1076
|
disabled: !i,
|
|
921
1077
|
onClick: a,
|
|
922
|
-
children: [/* @__PURE__ */ t(
|
|
923
|
-
"
|
|
924
|
-
|
|
1078
|
+
children: [/* @__PURE__ */ t(R.FlexRender, { header: e }), /* @__PURE__ */ t(A, {
|
|
1079
|
+
name: r === "asc" ? "IconSortAscending" : r === "desc" ? "IconSortDescending" : "IconSort",
|
|
1080
|
+
width: 16,
|
|
1081
|
+
height: 16
|
|
925
1082
|
})]
|
|
926
1083
|
})
|
|
927
1084
|
}, e.id);
|
|
928
1085
|
}) }, e.id))
|
|
929
1086
|
}),
|
|
930
1087
|
/* @__PURE__ */ t("tbody", { children: h ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", {
|
|
931
|
-
colSpan:
|
|
932
|
-
children: /* @__PURE__ */ t(
|
|
1088
|
+
colSpan: F.length,
|
|
1089
|
+
children: /* @__PURE__ */ t(ne, { lines: 3 })
|
|
933
1090
|
}) }) : G ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", {
|
|
934
1091
|
className: X.state,
|
|
935
|
-
colSpan:
|
|
1092
|
+
colSpan: F.length,
|
|
936
1093
|
children: G
|
|
937
|
-
}) }) :
|
|
1094
|
+
}) }) : H.length === 0 ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", {
|
|
938
1095
|
className: X.state,
|
|
939
|
-
colSpan:
|
|
1096
|
+
colSpan: F.length,
|
|
940
1097
|
children: v
|
|
941
|
-
}) }) :
|
|
1098
|
+
}) }) : H.map((e) => /* @__PURE__ */ t("tr", {
|
|
942
1099
|
className: S ? X.clickableRow : void 0,
|
|
943
1100
|
onClick: () => S?.(e.original),
|
|
944
1101
|
onKeyDown: (t) => {
|
|
@@ -946,7 +1103,7 @@ var T = {
|
|
|
946
1103
|
},
|
|
947
1104
|
tabIndex: S ? 0 : void 0,
|
|
948
1105
|
role: S ? "button" : void 0,
|
|
949
|
-
children: e.getAllCells().map((e) => /* @__PURE__ */ t("td", { children: /* @__PURE__ */ t(
|
|
1106
|
+
children: e.getAllCells().map((e) => /* @__PURE__ */ t("td", { children: /* @__PURE__ */ t(R.FlexRender, { cell: e }) }, e.id))
|
|
950
1107
|
}, e.id)) })
|
|
951
1108
|
]
|
|
952
1109
|
})
|
|
@@ -955,21 +1112,21 @@ var T = {
|
|
|
955
1112
|
className: X.cards,
|
|
956
1113
|
role: "list",
|
|
957
1114
|
"aria-label": m ?? p,
|
|
958
|
-
children: h ? /* @__PURE__ */ t(
|
|
1115
|
+
children: h ? /* @__PURE__ */ t(ne, { lines: 4 }) : G ? /* @__PURE__ */ t("div", {
|
|
959
1116
|
className: X.state,
|
|
960
1117
|
children: G
|
|
961
|
-
}) :
|
|
1118
|
+
}) : H.length === 0 ? /* @__PURE__ */ t("div", {
|
|
962
1119
|
className: X.state,
|
|
963
1120
|
children: v
|
|
964
|
-
}) :
|
|
1121
|
+
}) : H.map((e) => {
|
|
965
1122
|
if (l) return /* @__PURE__ */ t("div", {
|
|
966
1123
|
role: "listitem",
|
|
967
1124
|
children: l({
|
|
968
1125
|
row: e.original,
|
|
969
|
-
columns:
|
|
1126
|
+
columns: F
|
|
970
1127
|
})
|
|
971
1128
|
}, e.id);
|
|
972
|
-
let r =
|
|
1129
|
+
let r = F.filter((e) => !e.mobile?.hideOnMobile).sort((e, t) => (e.mobile?.mobileOrder ?? 0) - (t.mobile?.mobileOrder ?? 0)), i = r.find((e) => e.mobile?.primary) ?? r.find((e) => e.mobile?.mobileVariant !== "actions"), a = (t) => me(t.accessor, e.original), o = (t) => t.mobile?.renderMobile?.(e.original, a(t)) ?? t.cell?.(e.original, a(t)) ?? String(a(t) ?? "");
|
|
973
1130
|
return /* @__PURE__ */ n("article", {
|
|
974
1131
|
role: "listitem",
|
|
975
1132
|
className: X.card,
|
|
@@ -984,7 +1141,7 @@ var T = {
|
|
|
984
1141
|
}, e.id);
|
|
985
1142
|
})
|
|
986
1143
|
}),
|
|
987
|
-
|
|
1144
|
+
te && /* @__PURE__ */ n("nav", {
|
|
988
1145
|
className: X.pagination,
|
|
989
1146
|
"aria-label": "Пагинация таблицы",
|
|
990
1147
|
children: [/* @__PURE__ */ n("span", {
|
|
@@ -993,9 +1150,9 @@ var T = {
|
|
|
993
1150
|
children: [
|
|
994
1151
|
K,
|
|
995
1152
|
"–",
|
|
996
|
-
|
|
1153
|
+
q,
|
|
997
1154
|
" из ",
|
|
998
|
-
|
|
1155
|
+
z.length
|
|
999
1156
|
]
|
|
1000
1157
|
}), /* @__PURE__ */ n("div", {
|
|
1001
1158
|
className: X.paginationControls,
|
|
@@ -1003,13 +1160,13 @@ var T = {
|
|
|
1003
1160
|
/* @__PURE__ */ n(w, {
|
|
1004
1161
|
variant: "empty",
|
|
1005
1162
|
size: "md",
|
|
1006
|
-
disabled:
|
|
1163
|
+
disabled: V === 0,
|
|
1007
1164
|
"aria-label": "Предыдущая страница",
|
|
1008
1165
|
onClick: () => {
|
|
1009
|
-
|
|
1166
|
+
j((e) => Math.max(0, e - 1));
|
|
1010
1167
|
},
|
|
1011
|
-
children: [/* @__PURE__ */ t(
|
|
1012
|
-
name: "
|
|
1168
|
+
children: [/* @__PURE__ */ t(A, {
|
|
1169
|
+
name: "IconChevron",
|
|
1013
1170
|
width: 18,
|
|
1014
1171
|
height: 18,
|
|
1015
1172
|
className: X.previousIcon
|
|
@@ -1021,13 +1178,13 @@ var T = {
|
|
|
1021
1178
|
/* @__PURE__ */ t("div", {
|
|
1022
1179
|
className: X.pageNumbers,
|
|
1023
1180
|
children: U.map((e) => typeof e == "number" ? /* @__PURE__ */ t(w, {
|
|
1024
|
-
variant: e ===
|
|
1181
|
+
variant: e === V ? "secondary" : "empty",
|
|
1025
1182
|
size: "md",
|
|
1026
1183
|
className: X.pageButton,
|
|
1027
1184
|
"aria-label": `Перейти на страницу ${e + 1}`,
|
|
1028
|
-
"aria-current": e ===
|
|
1185
|
+
"aria-current": e === V ? "page" : void 0,
|
|
1029
1186
|
onClick: () => {
|
|
1030
|
-
|
|
1187
|
+
j(e);
|
|
1031
1188
|
},
|
|
1032
1189
|
children: e + 1
|
|
1033
1190
|
}, e) : /* @__PURE__ */ t("span", {
|
|
@@ -1039,16 +1196,16 @@ var T = {
|
|
|
1039
1196
|
/* @__PURE__ */ n(w, {
|
|
1040
1197
|
variant: "empty",
|
|
1041
1198
|
size: "md",
|
|
1042
|
-
disabled:
|
|
1199
|
+
disabled: V === B - 1,
|
|
1043
1200
|
"aria-label": "Следующая страница",
|
|
1044
1201
|
onClick: () => {
|
|
1045
|
-
|
|
1202
|
+
j((e) => Math.min(B - 1, e + 1));
|
|
1046
1203
|
},
|
|
1047
1204
|
children: [/* @__PURE__ */ t("span", {
|
|
1048
1205
|
className: X.paginationButtonLabel,
|
|
1049
1206
|
children: "Вперёд"
|
|
1050
|
-
}), /* @__PURE__ */ t(
|
|
1051
|
-
name: "
|
|
1207
|
+
}), /* @__PURE__ */ t(A, {
|
|
1208
|
+
name: "IconChevron",
|
|
1052
1209
|
width: 18,
|
|
1053
1210
|
height: 18,
|
|
1054
1211
|
className: X.nextIcon
|
|
@@ -1059,168 +1216,228 @@ var T = {
|
|
|
1059
1216
|
})
|
|
1060
1217
|
]
|
|
1061
1218
|
});
|
|
1062
|
-
},
|
|
1063
|
-
|
|
1064
|
-
|
|
1219
|
+
}, Ce = 8, we = 6, Te = 120, Ee = (e) => {
|
|
1220
|
+
if (typeof e == "number") return e;
|
|
1221
|
+
if (typeof e == "string") {
|
|
1222
|
+
let t = Number.parseFloat(e);
|
|
1223
|
+
if (Number.isFinite(t)) return t;
|
|
1224
|
+
}
|
|
1225
|
+
return Infinity;
|
|
1226
|
+
}, De = ({ options: e, value: r, onChange: i, placeholder: a = "Выберите опции", disabled: m = !1, stringWhileDisabled: h = !1, label: g, error: _, size: v = "md", required: y = !1, hint: b, className: x = "", name: S, id: C, closeOnSelect: w = !1, needMark: T = !0, maxMenuHeight: D }) => {
|
|
1227
|
+
let O = c(), k = C ?? `ds-dropdown-multiple-${S ?? O}`, j = `${k}-listbox`, [M, N] = f(!1), [P, F] = f(null), I = d(null), L = d(null), R = d(null), z = d([]), B = u(() => e.filter((e) => r.includes(e.value)), [e, r]).map((e) => e.label).join(", "), V = b ? `${k}-hint` : void 0, H = _ ? `${k}-error` : void 0, ee = [V, H].filter(Boolean).join(" ") || void 0, U = m && h, W = o(() => {
|
|
1228
|
+
let e = L.current, t = R.current;
|
|
1229
|
+
if (!e || !t) return;
|
|
1230
|
+
let n = e.getBoundingClientRect(), r = t.getBoundingClientRect(), i = window.innerHeight - n.bottom - Ce, a = n.top - Ce, o = i < r.height && a > i, s = Math.max(Te, o ? a : i), c = window.innerWidth - n.width - Ce;
|
|
1231
|
+
F({
|
|
1232
|
+
top: o ? Math.max(Ce, n.top - r.height - we) : n.bottom + we,
|
|
1233
|
+
left: Math.max(Ce, Math.min(n.left, c)),
|
|
1234
|
+
width: n.width,
|
|
1235
|
+
maxHeight: Math.min(s, Ee(D))
|
|
1236
|
+
});
|
|
1237
|
+
}, [D]);
|
|
1238
|
+
l(() => {
|
|
1239
|
+
if (!M) {
|
|
1240
|
+
F(null);
|
|
1241
|
+
return;
|
|
1242
|
+
}
|
|
1243
|
+
return W(), window.addEventListener("resize", W), window.addEventListener("scroll", W, !0), () => {
|
|
1244
|
+
window.removeEventListener("resize", W), window.removeEventListener("scroll", W, !0);
|
|
1245
|
+
};
|
|
1246
|
+
}, [
|
|
1247
|
+
M,
|
|
1248
|
+
e.length,
|
|
1249
|
+
W
|
|
1250
|
+
]), s(() => {
|
|
1251
|
+
if (!M) return;
|
|
1065
1252
|
let e = (e) => {
|
|
1066
|
-
|
|
1253
|
+
let t = e.target;
|
|
1254
|
+
!I.current?.contains(t) && !R.current?.contains(t) && N(!1);
|
|
1067
1255
|
}, t = (e) => {
|
|
1068
|
-
e.key === "Escape" &&
|
|
1256
|
+
e.key === "Escape" && (N(!1), L.current?.focus());
|
|
1069
1257
|
};
|
|
1070
|
-
return document.addEventListener("
|
|
1071
|
-
document.removeEventListener("
|
|
1258
|
+
return document.addEventListener("pointerdown", e), document.addEventListener("keydown", t), () => {
|
|
1259
|
+
document.removeEventListener("pointerdown", e), document.removeEventListener("keydown", t);
|
|
1072
1260
|
};
|
|
1073
|
-
}, [
|
|
1074
|
-
let
|
|
1261
|
+
}, [M]);
|
|
1262
|
+
let G = (t, n) => {
|
|
1263
|
+
let r = oe(e, t, n);
|
|
1264
|
+
r !== -1 && (z.current[r]?.focus(), z.current[r]?.scrollIntoView({ block: "nearest" }));
|
|
1265
|
+
}, te = (t) => {
|
|
1075
1266
|
if (t.disabled) return;
|
|
1076
1267
|
let n = r.includes(t.value) ? r.filter((e) => e !== t.value) : [...r, t.value];
|
|
1077
|
-
i?.(n, e.filter((e) => n.includes(e.value))),
|
|
1078
|
-
},
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1268
|
+
i?.(n, e.filter((e) => n.includes(e.value))), w && (N(!1), L.current?.focus());
|
|
1269
|
+
}, K = M ? /* @__PURE__ */ t("ul", {
|
|
1270
|
+
ref: R,
|
|
1271
|
+
id: j,
|
|
1272
|
+
className: Y.menu,
|
|
1273
|
+
role: "listbox",
|
|
1274
|
+
"aria-label": g,
|
|
1275
|
+
"aria-multiselectable": "true",
|
|
1276
|
+
style: P ? {
|
|
1277
|
+
position: "fixed",
|
|
1278
|
+
top: P.top,
|
|
1279
|
+
left: P.left,
|
|
1280
|
+
width: P.width,
|
|
1281
|
+
maxHeight: P.maxHeight
|
|
1282
|
+
} : {
|
|
1283
|
+
position: "fixed",
|
|
1284
|
+
top: 0,
|
|
1285
|
+
left: 0,
|
|
1286
|
+
visibility: "hidden",
|
|
1287
|
+
maxHeight: 0
|
|
1288
|
+
},
|
|
1289
|
+
children: e.map((i, a) => {
|
|
1290
|
+
let o = r.includes(i.value);
|
|
1291
|
+
return /* @__PURE__ */ t("li", {
|
|
1292
|
+
role: "presentation",
|
|
1293
|
+
children: /* @__PURE__ */ n("button", {
|
|
1294
|
+
ref: (e) => {
|
|
1295
|
+
z.current[a] = e;
|
|
1296
|
+
},
|
|
1297
|
+
type: "button",
|
|
1298
|
+
role: "option",
|
|
1299
|
+
"aria-selected": o,
|
|
1300
|
+
disabled: i.disabled,
|
|
1301
|
+
className: [
|
|
1302
|
+
Y[v],
|
|
1303
|
+
Y.option,
|
|
1304
|
+
o ? Y.selected : ""
|
|
1305
|
+
].filter(Boolean).join(" "),
|
|
1306
|
+
onClick: () => te(i),
|
|
1307
|
+
onKeyDown: (t) => {
|
|
1308
|
+
if (t.key === "ArrowDown" || t.key === "ArrowUp") {
|
|
1309
|
+
t.preventDefault();
|
|
1310
|
+
let e = t.key === "ArrowDown" ? 1 : -1;
|
|
1311
|
+
G(a + e, e);
|
|
1312
|
+
}
|
|
1313
|
+
if (t.key === "Home" || t.key === "End") {
|
|
1314
|
+
t.preventDefault();
|
|
1315
|
+
let n = t.key === "Home" ? 1 : -1;
|
|
1316
|
+
G(t.key === "Home" ? 0 : e.length - 1, n);
|
|
1317
|
+
}
|
|
1318
|
+
(t.key === "Enter" || t.key === " ") && (t.preventDefault(), te(i)), t.key === "Tab" && N(!1);
|
|
1319
|
+
},
|
|
1320
|
+
children: [/* @__PURE__ */ t("span", { children: i.label }), o && T && /* @__PURE__ */ t(A, {
|
|
1321
|
+
name: "IconCheck",
|
|
1322
|
+
width: 16,
|
|
1323
|
+
height: 16
|
|
1324
|
+
})]
|
|
1325
|
+
})
|
|
1326
|
+
}, i.value);
|
|
1327
|
+
})
|
|
1328
|
+
}) : null;
|
|
1082
1329
|
return /* @__PURE__ */ n("div", {
|
|
1083
|
-
ref:
|
|
1330
|
+
ref: I,
|
|
1084
1331
|
className: [
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1332
|
+
Y.wrapper,
|
|
1333
|
+
_ ? Y.errorState : "",
|
|
1334
|
+
x
|
|
1088
1335
|
].filter(Boolean).join(" "),
|
|
1089
1336
|
children: [
|
|
1090
|
-
|
|
1091
|
-
htmlFor:
|
|
1092
|
-
|
|
1093
|
-
|
|
1337
|
+
g && /* @__PURE__ */ t(E, {
|
|
1338
|
+
htmlFor: U ? void 0 : k,
|
|
1339
|
+
required: y,
|
|
1340
|
+
disabled: m,
|
|
1341
|
+
children: g
|
|
1094
1342
|
}),
|
|
1095
|
-
/* @__PURE__ */
|
|
1096
|
-
className:
|
|
1097
|
-
children:
|
|
1098
|
-
|
|
1099
|
-
|
|
1343
|
+
/* @__PURE__ */ t("div", {
|
|
1344
|
+
className: Y.container,
|
|
1345
|
+
children: U ? /* @__PURE__ */ t("div", {
|
|
1346
|
+
id: k,
|
|
1347
|
+
className: `${Y.disabledText} ${Y[v]}`,
|
|
1348
|
+
"aria-describedby": ee,
|
|
1349
|
+
children: B || a
|
|
1350
|
+
}) : /* @__PURE__ */ n("button", {
|
|
1351
|
+
ref: L,
|
|
1352
|
+
id: k,
|
|
1100
1353
|
type: "button",
|
|
1101
|
-
name:
|
|
1102
|
-
className:
|
|
1103
|
-
disabled:
|
|
1354
|
+
name: S,
|
|
1355
|
+
className: `${Y.trigger} ${Y[v]}`,
|
|
1356
|
+
disabled: m,
|
|
1104
1357
|
"aria-haspopup": "listbox",
|
|
1105
|
-
"aria-expanded":
|
|
1106
|
-
"aria-controls":
|
|
1107
|
-
"aria-describedby":
|
|
1108
|
-
"aria-invalid": !!
|
|
1109
|
-
onClick: () =>
|
|
1358
|
+
"aria-expanded": M,
|
|
1359
|
+
"aria-controls": j,
|
|
1360
|
+
"aria-describedby": ee,
|
|
1361
|
+
"aria-invalid": !!_,
|
|
1362
|
+
onClick: () => N((e) => !e),
|
|
1110
1363
|
onKeyDown: (t) => {
|
|
1111
1364
|
if (t.key === "ArrowDown" || t.key === "ArrowUp") {
|
|
1112
|
-
t.preventDefault(),
|
|
1365
|
+
t.preventDefault(), N(!0);
|
|
1113
1366
|
let n = t.key === "ArrowDown" ? 1 : -1;
|
|
1114
|
-
requestAnimationFrame(() =>
|
|
1367
|
+
requestAnimationFrame(() => G(t.key === "ArrowDown" ? 0 : e.length - 1, n));
|
|
1115
1368
|
}
|
|
1116
1369
|
},
|
|
1117
1370
|
children: [/* @__PURE__ */ t("span", {
|
|
1118
|
-
className:
|
|
1119
|
-
children:
|
|
1371
|
+
className: `${B ? Y.value : Y.placeholder} ${Y[v]}`,
|
|
1372
|
+
children: B || a
|
|
1120
1373
|
}), /* @__PURE__ */ t("span", {
|
|
1121
|
-
className:
|
|
1374
|
+
className: [Y.chevron, M ? Y.chevronOpen : ""].filter(Boolean).join(" "),
|
|
1122
1375
|
"aria-hidden": "true",
|
|
1123
|
-
children:
|
|
1376
|
+
children: /* @__PURE__ */ t(A, {
|
|
1377
|
+
name: "IconChevron",
|
|
1378
|
+
width: 20,
|
|
1379
|
+
height: 20
|
|
1380
|
+
})
|
|
1124
1381
|
})]
|
|
1125
|
-
})
|
|
1126
|
-
id: `${x}-listbox`,
|
|
1127
|
-
className: J.menu,
|
|
1128
|
-
role: "listbox",
|
|
1129
|
-
"aria-label": l,
|
|
1130
|
-
"aria-multiselectable": "true",
|
|
1131
|
-
style: { maxHeight: y },
|
|
1132
|
-
children: e.map((i, a) => {
|
|
1133
|
-
let o = r.includes(i.value);
|
|
1134
|
-
return /* @__PURE__ */ t("li", {
|
|
1135
|
-
role: "presentation",
|
|
1136
|
-
children: /* @__PURE__ */ n("button", {
|
|
1137
|
-
ref: (e) => {
|
|
1138
|
-
E.current[a] = e;
|
|
1139
|
-
},
|
|
1140
|
-
type: "button",
|
|
1141
|
-
role: "option",
|
|
1142
|
-
"aria-selected": o,
|
|
1143
|
-
disabled: i.disabled,
|
|
1144
|
-
className: `${J.option} ${o ? J.selected : ""}`,
|
|
1145
|
-
onClick: () => j(i),
|
|
1146
|
-
onKeyDown: (t) => {
|
|
1147
|
-
if (t.key === "ArrowDown" || t.key === "ArrowUp") {
|
|
1148
|
-
t.preventDefault();
|
|
1149
|
-
let e = t.key === "ArrowDown" ? 1 : -1;
|
|
1150
|
-
M(a + e, e);
|
|
1151
|
-
}
|
|
1152
|
-
if (t.key === "Home" || t.key === "End") {
|
|
1153
|
-
t.preventDefault();
|
|
1154
|
-
let n = t.key === "Home" ? 1 : -1;
|
|
1155
|
-
M(t.key === "Home" ? 0 : e.length - 1, n);
|
|
1156
|
-
}
|
|
1157
|
-
t.key === "Tab" && C(!1);
|
|
1158
|
-
},
|
|
1159
|
-
children: [/* @__PURE__ */ t("span", { children: i.label }), /* @__PURE__ */ t("span", {
|
|
1160
|
-
"aria-hidden": "true",
|
|
1161
|
-
children: o ? "✓" : ""
|
|
1162
|
-
})]
|
|
1163
|
-
})
|
|
1164
|
-
}, i.value);
|
|
1165
|
-
})
|
|
1166
|
-
})]
|
|
1382
|
+
})
|
|
1167
1383
|
}),
|
|
1168
|
-
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1384
|
+
M && p(K, document.body),
|
|
1385
|
+
b && !_ && /* @__PURE__ */ t("span", {
|
|
1386
|
+
id: V,
|
|
1387
|
+
className: Y.message,
|
|
1388
|
+
children: b
|
|
1172
1389
|
}),
|
|
1173
|
-
|
|
1174
|
-
id:
|
|
1175
|
-
className:
|
|
1176
|
-
children:
|
|
1390
|
+
_ && /* @__PURE__ */ t("span", {
|
|
1391
|
+
id: H,
|
|
1392
|
+
className: Y.error,
|
|
1393
|
+
children: _
|
|
1177
1394
|
})
|
|
1178
1395
|
]
|
|
1179
1396
|
});
|
|
1180
|
-
},
|
|
1181
|
-
wrapper: "
|
|
1182
|
-
control: "
|
|
1183
|
-
input: "
|
|
1184
|
-
disabledText: "
|
|
1185
|
-
sm: "
|
|
1186
|
-
md: "
|
|
1187
|
-
lg: "
|
|
1188
|
-
inputError: "
|
|
1189
|
-
trailingAction: "
|
|
1190
|
-
},
|
|
1191
|
-
let
|
|
1397
|
+
}, Oe = {
|
|
1398
|
+
wrapper: "_wrapper_yuep3_1",
|
|
1399
|
+
control: "_control_yuep3_3",
|
|
1400
|
+
input: "_input_yuep3_7",
|
|
1401
|
+
disabledText: "_disabledText_yuep3_7",
|
|
1402
|
+
sm: "_sm_yuep3_45",
|
|
1403
|
+
md: "_md_yuep3_57",
|
|
1404
|
+
lg: "_lg_yuep3_69",
|
|
1405
|
+
inputError: "_inputError_yuep3_81",
|
|
1406
|
+
trailingAction: "_trailingAction_yuep3_83"
|
|
1407
|
+
}, ke = ({ value: e, onChange: r, type: i = "text", placeholder: a = "", disabled: o = !1, readOnly: l = !1, stringWhileDisabled: u = !1, label: p, error: m, hint: h, className: g = "", name: _, id: v, size: y = "md", clearable: b = !0, required: x = !1, selectTextOnFocus: S = !1, isPassword: C = !1, passwordVisibleLabel: w = "Скрыть пароль", passwordHiddenLabel: T = "Показать пароль", onFocus: O, ...k }) => {
|
|
1408
|
+
let j = c(), M = v ?? `ds-input-${_ ?? j}`, N = d(null), [P, F] = f(!1), I = h ? `${M}-hint` : void 0, L = m ? `${M}-error` : void 0, R = String(e ?? ""), z = [I, L].filter(Boolean).join(" ") || void 0, B = C ? P ? "text" : "password" : i;
|
|
1192
1409
|
return s(() => {
|
|
1193
|
-
C ||
|
|
1410
|
+
C || F(!1);
|
|
1194
1411
|
}, [C]), /* @__PURE__ */ n("div", {
|
|
1195
|
-
className: `${
|
|
1412
|
+
className: `${Oe.wrapper} ${g}`,
|
|
1196
1413
|
children: [
|
|
1197
1414
|
p && /* @__PURE__ */ t(E, {
|
|
1198
|
-
htmlFor:
|
|
1415
|
+
htmlFor: M,
|
|
1199
1416
|
required: x,
|
|
1200
1417
|
disabled: o,
|
|
1201
1418
|
children: p
|
|
1202
1419
|
}),
|
|
1203
1420
|
o && u ? /* @__PURE__ */ t("div", {
|
|
1204
|
-
id:
|
|
1205
|
-
className:
|
|
1206
|
-
"aria-describedby":
|
|
1207
|
-
children:
|
|
1421
|
+
id: M,
|
|
1422
|
+
className: Oe.disabledText,
|
|
1423
|
+
"aria-describedby": z,
|
|
1424
|
+
children: R || a
|
|
1208
1425
|
}) : /* @__PURE__ */ n("div", {
|
|
1209
|
-
className:
|
|
1426
|
+
className: Oe.control,
|
|
1210
1427
|
children: [
|
|
1211
1428
|
/* @__PURE__ */ t("input", {
|
|
1212
|
-
ref:
|
|
1213
|
-
id:
|
|
1429
|
+
ref: N,
|
|
1430
|
+
id: M,
|
|
1214
1431
|
name: _,
|
|
1215
|
-
type:
|
|
1216
|
-
value:
|
|
1432
|
+
type: B,
|
|
1433
|
+
value: R,
|
|
1217
1434
|
placeholder: a,
|
|
1218
1435
|
disabled: o,
|
|
1219
1436
|
readOnly: l,
|
|
1220
1437
|
required: x,
|
|
1221
1438
|
"aria-invalid": !!m,
|
|
1222
|
-
"aria-describedby":
|
|
1223
|
-
className: `${
|
|
1439
|
+
"aria-describedby": z,
|
|
1440
|
+
className: `${Oe.input} ${Oe[y]} ${m ? Oe.inputError : ""}`,
|
|
1224
1441
|
onChange: (e) => {
|
|
1225
1442
|
if (i === "number" && !C) {
|
|
1226
1443
|
let t = e.target.value === "" ? "" : Number(e.target.value);
|
|
@@ -1236,52 +1453,48 @@ var T = {
|
|
|
1236
1453
|
}),
|
|
1237
1454
|
C && /* @__PURE__ */ t("button", {
|
|
1238
1455
|
type: "button",
|
|
1239
|
-
className:
|
|
1456
|
+
className: Oe.trailingAction,
|
|
1240
1457
|
disabled: o,
|
|
1241
|
-
"aria-label":
|
|
1242
|
-
"aria-pressed":
|
|
1243
|
-
onClick: () =>
|
|
1244
|
-
children:
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
}) : /* @__PURE__ */ n("svg", {
|
|
1249
|
-
viewBox: "0 0 24 24",
|
|
1250
|
-
"aria-hidden": "true",
|
|
1251
|
-
children: [/* @__PURE__ */ t("path", { d: "M3 12s3.5-5 9-5 9 5 9 5-3.5 5-9 5-9-5-9-5Z" }), /* @__PURE__ */ t("circle", {
|
|
1252
|
-
cx: "12",
|
|
1253
|
-
cy: "12",
|
|
1254
|
-
r: "2.5"
|
|
1255
|
-
})]
|
|
1458
|
+
"aria-label": P ? w : T,
|
|
1459
|
+
"aria-pressed": P,
|
|
1460
|
+
onClick: () => F((e) => !e),
|
|
1461
|
+
children: /* @__PURE__ */ t(A, {
|
|
1462
|
+
name: P ? "IconEyeOff" : "IconEye",
|
|
1463
|
+
width: 20,
|
|
1464
|
+
height: 20
|
|
1256
1465
|
})
|
|
1257
1466
|
}),
|
|
1258
|
-
!C && b &&
|
|
1467
|
+
!C && b && R && !o && !l && /* @__PURE__ */ t("button", {
|
|
1259
1468
|
type: "button",
|
|
1260
|
-
className:
|
|
1469
|
+
className: Oe.trailingAction,
|
|
1261
1470
|
"aria-label": "Очистить поле",
|
|
1262
1471
|
onClick: () => {
|
|
1263
|
-
let e =
|
|
1472
|
+
let e = N.current;
|
|
1264
1473
|
e && ((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value")?.set)?.call(e, ""), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.focus());
|
|
1265
1474
|
},
|
|
1266
|
-
children:
|
|
1475
|
+
children: /* @__PURE__ */ t(A, {
|
|
1476
|
+
name: "IconCross",
|
|
1477
|
+
width: 20,
|
|
1478
|
+
height: 20
|
|
1479
|
+
})
|
|
1267
1480
|
})
|
|
1268
1481
|
]
|
|
1269
1482
|
}),
|
|
1270
1483
|
h && !m && /* @__PURE__ */ t(D, {
|
|
1271
|
-
id:
|
|
1484
|
+
id: I,
|
|
1272
1485
|
children: h
|
|
1273
1486
|
}),
|
|
1274
1487
|
m && /* @__PURE__ */ t(D, {
|
|
1275
|
-
id:
|
|
1488
|
+
id: L,
|
|
1276
1489
|
variant: "error",
|
|
1277
1490
|
children: m
|
|
1278
1491
|
})
|
|
1279
1492
|
]
|
|
1280
1493
|
});
|
|
1281
|
-
},
|
|
1494
|
+
}, Ae = (e, t) => {
|
|
1282
1495
|
let n = t.trim().toLocaleLowerCase();
|
|
1283
1496
|
return n ? e.filter((e) => e.label.toLocaleLowerCase().includes(n) || e.value.toLocaleLowerCase().includes(n)) : e;
|
|
1284
|
-
},
|
|
1497
|
+
}, je = (e, t, n) => {
|
|
1285
1498
|
if (!e.length) return -1;
|
|
1286
1499
|
for (let r = 0; r < e.length; r += 1) {
|
|
1287
1500
|
let i = (t + r * n + e.length) % e.length;
|
|
@@ -1289,40 +1502,40 @@ var T = {
|
|
|
1289
1502
|
}
|
|
1290
1503
|
return -1;
|
|
1291
1504
|
}, Z = {
|
|
1292
|
-
wrapper: "
|
|
1293
|
-
control: "
|
|
1294
|
-
inputHost: "
|
|
1295
|
-
sm: "
|
|
1296
|
-
md: "
|
|
1297
|
-
lg: "
|
|
1298
|
-
errorState: "
|
|
1299
|
-
disabledText: "
|
|
1300
|
-
chevron: "
|
|
1301
|
-
chevronOpen: "
|
|
1302
|
-
menu: "
|
|
1303
|
-
option: "
|
|
1304
|
-
empty: "
|
|
1305
|
-
selected: "
|
|
1306
|
-
active: "
|
|
1307
|
-
visuallyHidden: "
|
|
1308
|
-
},
|
|
1505
|
+
wrapper: "_wrapper_1uxs8_1",
|
|
1506
|
+
control: "_control_1uxs8_5",
|
|
1507
|
+
inputHost: "_inputHost_1uxs8_9",
|
|
1508
|
+
sm: "_sm_1uxs8_25",
|
|
1509
|
+
md: "_md_1uxs8_35",
|
|
1510
|
+
lg: "_lg_1uxs8_43",
|
|
1511
|
+
errorState: "_errorState_1uxs8_57",
|
|
1512
|
+
disabledText: "_disabledText_1uxs8_65",
|
|
1513
|
+
chevron: "_chevron_1uxs8_105",
|
|
1514
|
+
chevronOpen: "_chevronOpen_1uxs8_129",
|
|
1515
|
+
menu: "_menu_1uxs8_133",
|
|
1516
|
+
option: "_option_1uxs8_161",
|
|
1517
|
+
empty: "_empty_1uxs8_161",
|
|
1518
|
+
selected: "_selected_1uxs8_205",
|
|
1519
|
+
active: "_active_1uxs8_205",
|
|
1520
|
+
visuallyHidden: "_visuallyHidden_1uxs8_217"
|
|
1521
|
+
}, Me = 8, Ne = 6, Pe = 5, Fe = {
|
|
1309
1522
|
sm: 20,
|
|
1310
1523
|
md: 30,
|
|
1311
1524
|
lg: 40
|
|
1312
|
-
},
|
|
1313
|
-
let k = c(),
|
|
1314
|
-
M,
|
|
1525
|
+
}, Ie = ({ options: e, value: r, onChange: i, placeholder: a = "Начните вводить", noResultsText: m = "Ничего не найдено", disabled: h = !1, readOnly: g = !1, stringWhileDisabled: _ = !1, label: v, error: y, hint: b, size: x = "md", required: S = !1, className: C = "", name: w, id: T, needMark: O = !0 }) => {
|
|
1526
|
+
let k = c(), j = T ?? `ds-search-dropdown-${w ?? k}`, M = `${j}-listbox`, N = `${j}-status`, P = b ? `${j}-hint` : void 0, F = y ? `${j}-error` : void 0, I = [
|
|
1315
1527
|
N,
|
|
1316
|
-
P
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1528
|
+
P,
|
|
1529
|
+
F
|
|
1530
|
+
].filter(Boolean).join(" "), L = d(null), R = d(null), z = d([]), [B, V] = f(!1), [H, ee] = f(""), [U, W] = f(-1), [G, te] = f(null), K = u(() => e.find((e) => e.value === r), [e, r]), q = u(() => Ae(e, H), [e, H]), J = h && _, ne = U >= 0 ? q[U] : void 0;
|
|
1531
|
+
s(() => ee(K?.label ?? ""), [K?.label, r]);
|
|
1532
|
+
let Y = o(() => L.current?.querySelector("input") ?? null, []), re = o((e, t) => je(q, e, t), [q]), ie = o((e) => {
|
|
1533
|
+
W(e), !(e < 0) && requestAnimationFrame(() => z.current[e]?.scrollIntoView({ block: "nearest" }));
|
|
1534
|
+
}, []), ae = o(() => {
|
|
1535
|
+
let e = Y();
|
|
1323
1536
|
if (!e) return;
|
|
1324
|
-
let t = e.getBoundingClientRect(), n = Math.max(1, Math.min(q.length,
|
|
1325
|
-
|
|
1537
|
+
let t = e.getBoundingClientRect(), n = Math.max(1, Math.min(q.length, Pe)) * Fe[x] + 2, r = window.innerHeight - t.bottom - Me, i = t.top - Me, a = r < n && i > r, o = a ? i : r, s = Math.max(Fe[x] + 2, Math.min(n, o)), c = window.innerWidth - t.width - Me, l = Math.max(Me, Math.min(t.left, c)), u = a ? Math.max(Me, t.top - s - Ne) : t.bottom + Ne;
|
|
1538
|
+
te({
|
|
1326
1539
|
top: u,
|
|
1327
1540
|
left: l,
|
|
1328
1541
|
width: t.width,
|
|
@@ -1330,32 +1543,32 @@ var T = {
|
|
|
1330
1543
|
});
|
|
1331
1544
|
}, [
|
|
1332
1545
|
q.length,
|
|
1333
|
-
|
|
1546
|
+
Y,
|
|
1334
1547
|
x
|
|
1335
1548
|
]);
|
|
1336
1549
|
l(() => {
|
|
1337
|
-
if (!
|
|
1338
|
-
|
|
1550
|
+
if (!B) {
|
|
1551
|
+
te(null);
|
|
1339
1552
|
return;
|
|
1340
1553
|
}
|
|
1341
|
-
return
|
|
1342
|
-
window.removeEventListener("resize",
|
|
1554
|
+
return ae(), window.addEventListener("resize", ae), window.addEventListener("scroll", ae, !0), () => {
|
|
1555
|
+
window.removeEventListener("resize", ae), window.removeEventListener("scroll", ae, !0);
|
|
1343
1556
|
};
|
|
1344
|
-
}, [
|
|
1345
|
-
if (!
|
|
1557
|
+
}, [B, ae]), s(() => {
|
|
1558
|
+
if (!B) return;
|
|
1346
1559
|
let e = (e) => {
|
|
1347
1560
|
let t = e.target;
|
|
1348
|
-
!
|
|
1561
|
+
!L.current?.contains(t) && !R.current?.contains(t) && (V(!1), W(-1));
|
|
1349
1562
|
};
|
|
1350
1563
|
return document.addEventListener("pointerdown", e), () => document.removeEventListener("pointerdown", e);
|
|
1351
|
-
}, [
|
|
1352
|
-
let
|
|
1353
|
-
h || g || (
|
|
1354
|
-
},
|
|
1355
|
-
e.disabled || (
|
|
1356
|
-
},
|
|
1357
|
-
ref:
|
|
1358
|
-
id:
|
|
1564
|
+
}, [B]);
|
|
1565
|
+
let oe = () => {
|
|
1566
|
+
h || g || (V(!0), W(re(0, 1)));
|
|
1567
|
+
}, se = (e) => {
|
|
1568
|
+
e.disabled || (ee(e.label), V(!1), W(-1), i?.(e.value, e), Y()?.focus());
|
|
1569
|
+
}, ce = B ? /* @__PURE__ */ t("ul", {
|
|
1570
|
+
ref: R,
|
|
1571
|
+
id: M,
|
|
1359
1572
|
className: Z.menu,
|
|
1360
1573
|
role: "listbox",
|
|
1361
1574
|
"aria-label": v,
|
|
@@ -1379,9 +1592,9 @@ var T = {
|
|
|
1379
1592
|
role: "presentation",
|
|
1380
1593
|
children: /* @__PURE__ */ n("button", {
|
|
1381
1594
|
ref: (e) => {
|
|
1382
|
-
|
|
1595
|
+
z.current[i] = e;
|
|
1383
1596
|
},
|
|
1384
|
-
id: `${
|
|
1597
|
+
id: `${j}-option-${i}`,
|
|
1385
1598
|
type: "button",
|
|
1386
1599
|
role: "option",
|
|
1387
1600
|
tabIndex: -1,
|
|
@@ -1397,17 +1610,18 @@ var T = {
|
|
|
1397
1610
|
onPointerMove: () => {
|
|
1398
1611
|
e.disabled || W(i);
|
|
1399
1612
|
},
|
|
1400
|
-
onClick: () =>
|
|
1401
|
-
children: [/* @__PURE__ */ t("span", { children: e.label }), a && O && /* @__PURE__ */ t(
|
|
1402
|
-
|
|
1403
|
-
|
|
1613
|
+
onClick: () => se(e),
|
|
1614
|
+
children: [/* @__PURE__ */ t("span", { children: e.label }), a && O && /* @__PURE__ */ t(A, {
|
|
1615
|
+
name: "IconCheck",
|
|
1616
|
+
width: 16,
|
|
1617
|
+
height: 16
|
|
1404
1618
|
})]
|
|
1405
1619
|
})
|
|
1406
1620
|
}, e.value);
|
|
1407
1621
|
})
|
|
1408
1622
|
}) : null;
|
|
1409
1623
|
return /* @__PURE__ */ n("div", {
|
|
1410
|
-
ref:
|
|
1624
|
+
ref: L,
|
|
1411
1625
|
className: [
|
|
1412
1626
|
Z.wrapper,
|
|
1413
1627
|
y ? Z.errorState : "",
|
|
@@ -1415,7 +1629,7 @@ var T = {
|
|
|
1415
1629
|
].filter(Boolean).join(" "),
|
|
1416
1630
|
children: [
|
|
1417
1631
|
v && /* @__PURE__ */ t(E, {
|
|
1418
|
-
htmlFor: J ? void 0 :
|
|
1632
|
+
htmlFor: J ? void 0 : j,
|
|
1419
1633
|
required: S,
|
|
1420
1634
|
disabled: h,
|
|
1421
1635
|
children: v
|
|
@@ -1425,10 +1639,10 @@ var T = {
|
|
|
1425
1639
|
children: K?.label ?? a
|
|
1426
1640
|
}) : /* @__PURE__ */ n("div", {
|
|
1427
1641
|
className: Z.control,
|
|
1428
|
-
children: [/* @__PURE__ */ t(
|
|
1429
|
-
id:
|
|
1642
|
+
children: [/* @__PURE__ */ t(ke, {
|
|
1643
|
+
id: j,
|
|
1430
1644
|
name: w,
|
|
1431
|
-
value:
|
|
1645
|
+
value: H,
|
|
1432
1646
|
placeholder: a,
|
|
1433
1647
|
disabled: h,
|
|
1434
1648
|
readOnly: g,
|
|
@@ -1437,122 +1651,110 @@ var T = {
|
|
|
1437
1651
|
clearable: !1,
|
|
1438
1652
|
autoComplete: "off",
|
|
1439
1653
|
className: `${Z.inputHost} ${Z[x]}`,
|
|
1440
|
-
onFocus:
|
|
1654
|
+
onFocus: oe,
|
|
1441
1655
|
onChange: (t) => {
|
|
1442
|
-
let n = String(t), r =
|
|
1443
|
-
|
|
1656
|
+
let n = String(t), r = Ae(e, n);
|
|
1657
|
+
ee(n), V(!0), W(je(r, 0, 1));
|
|
1444
1658
|
},
|
|
1445
1659
|
role: "combobox",
|
|
1446
1660
|
"aria-autocomplete": "list",
|
|
1447
|
-
"aria-expanded":
|
|
1448
|
-
"aria-controls":
|
|
1449
|
-
"aria-activedescendant":
|
|
1661
|
+
"aria-expanded": B,
|
|
1662
|
+
"aria-controls": M,
|
|
1663
|
+
"aria-activedescendant": ne ? `${j}-option-${U}` : void 0,
|
|
1450
1664
|
"aria-invalid": !!y,
|
|
1451
|
-
"aria-describedby":
|
|
1452
|
-
onClick:
|
|
1665
|
+
"aria-describedby": I,
|
|
1666
|
+
onClick: oe,
|
|
1453
1667
|
onKeyDown: (e) => {
|
|
1454
1668
|
if (!(h || g)) {
|
|
1455
1669
|
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
1456
1670
|
e.preventDefault();
|
|
1457
1671
|
let t = e.key === "ArrowDown" ? 1 : -1, n = U >= 0 ? U + t : t === 1 ? 0 : q.length - 1;
|
|
1458
|
-
|
|
1672
|
+
V(!0), ie(re(n, t));
|
|
1459
1673
|
} else if (e.key === "Home" || e.key === "End") {
|
|
1460
|
-
if (!
|
|
1674
|
+
if (!B) return;
|
|
1461
1675
|
e.preventDefault();
|
|
1462
1676
|
let t = e.key === "Home" ? 1 : -1;
|
|
1463
|
-
re(
|
|
1464
|
-
} else e.key === "Enter" &&
|
|
1677
|
+
ie(re(e.key === "Home" ? 0 : q.length - 1, t));
|
|
1678
|
+
} else e.key === "Enter" && B && ne ? (e.preventDefault(), se(ne)) : e.key === "Escape" && B ? (e.preventDefault(), V(!1), W(-1)) : e.key === "Tab" && (V(!1), W(-1));
|
|
1465
1679
|
}
|
|
1466
1680
|
}
|
|
1467
1681
|
}), /* @__PURE__ */ t("span", {
|
|
1468
|
-
className: `${Z.chevron} ${
|
|
1682
|
+
className: `${Z.chevron} ${B ? Z.chevronOpen : ""}`,
|
|
1469
1683
|
"aria-hidden": "true",
|
|
1470
|
-
children: /* @__PURE__ */ t(
|
|
1471
|
-
|
|
1472
|
-
|
|
1473
|
-
|
|
1474
|
-
d: "M5 7.5L10 12.5L15 7.5",
|
|
1475
|
-
stroke: "currentColor",
|
|
1476
|
-
strokeWidth: "1.8",
|
|
1477
|
-
strokeLinecap: "round",
|
|
1478
|
-
strokeLinejoin: "round"
|
|
1479
|
-
})
|
|
1684
|
+
children: /* @__PURE__ */ t(A, {
|
|
1685
|
+
name: "IconChevron",
|
|
1686
|
+
width: 20,
|
|
1687
|
+
height: 20
|
|
1480
1688
|
})
|
|
1481
1689
|
})]
|
|
1482
1690
|
}),
|
|
1483
|
-
|
|
1691
|
+
B && typeof document < "u" && p(ce, document.body),
|
|
1484
1692
|
/* @__PURE__ */ n("span", {
|
|
1485
|
-
id:
|
|
1693
|
+
id: N,
|
|
1486
1694
|
className: Z.visuallyHidden,
|
|
1487
1695
|
"aria-live": "polite",
|
|
1488
1696
|
children: ["Найдено вариантов: ", q.length]
|
|
1489
1697
|
}),
|
|
1490
1698
|
b && !y && /* @__PURE__ */ t(D, {
|
|
1491
|
-
id:
|
|
1699
|
+
id: P,
|
|
1492
1700
|
children: b
|
|
1493
1701
|
}),
|
|
1494
1702
|
y && /* @__PURE__ */ t(D, {
|
|
1495
|
-
id:
|
|
1703
|
+
id: F,
|
|
1496
1704
|
variant: "error",
|
|
1497
1705
|
children: y
|
|
1498
1706
|
})
|
|
1499
1707
|
]
|
|
1500
1708
|
});
|
|
1501
|
-
},
|
|
1502
|
-
root: "
|
|
1503
|
-
header: "
|
|
1504
|
-
title: "
|
|
1505
|
-
dismiss: "
|
|
1506
|
-
content: "
|
|
1507
|
-
},
|
|
1709
|
+
}, Le = {
|
|
1710
|
+
root: "_root_1gjqg_1",
|
|
1711
|
+
header: "_header_1gjqg_21",
|
|
1712
|
+
title: "_title_1gjqg_41",
|
|
1713
|
+
dismiss: "_dismiss_1gjqg_55",
|
|
1714
|
+
content: "_content_1gjqg_65"
|
|
1715
|
+
}, Re = ({ title: e, children: r, dismissible: i = !1, onDismiss: a, dismissLabel: o = "Закрыть информационный блок", headingAs: s = "h3", className: l = "" }) => {
|
|
1508
1716
|
let u = `ds-info-block-${c()}`;
|
|
1509
1717
|
return /* @__PURE__ */ n("section", {
|
|
1510
|
-
className: `${
|
|
1718
|
+
className: `${Le.root} ${l}`,
|
|
1511
1719
|
"aria-labelledby": u,
|
|
1512
1720
|
children: [/* @__PURE__ */ n("header", {
|
|
1513
|
-
className:
|
|
1721
|
+
className: Le.header,
|
|
1514
1722
|
children: [/* @__PURE__ */ t(s, {
|
|
1515
1723
|
id: u,
|
|
1516
|
-
className:
|
|
1724
|
+
className: Le.title,
|
|
1517
1725
|
children: e
|
|
1518
|
-
}), i && /* @__PURE__ */ t(
|
|
1519
|
-
|
|
1520
|
-
|
|
1726
|
+
}), i && /* @__PURE__ */ t(w, {
|
|
1727
|
+
className: Le.dismiss,
|
|
1728
|
+
variant: "empty",
|
|
1521
1729
|
onClick: a,
|
|
1522
1730
|
"aria-label": o,
|
|
1523
|
-
children: /* @__PURE__ */ t(
|
|
1524
|
-
|
|
1525
|
-
|
|
1526
|
-
|
|
1527
|
-
d: "M5 5L15 15M15 5L5 15",
|
|
1528
|
-
fill: "none",
|
|
1529
|
-
stroke: "currentColor",
|
|
1530
|
-
strokeWidth: "1.8",
|
|
1531
|
-
strokeLinecap: "round"
|
|
1532
|
-
})
|
|
1731
|
+
children: /* @__PURE__ */ t(A, {
|
|
1732
|
+
name: "IconCross",
|
|
1733
|
+
width: 20,
|
|
1734
|
+
height: 20
|
|
1533
1735
|
})
|
|
1534
1736
|
})]
|
|
1535
1737
|
}), /* @__PURE__ */ t("div", {
|
|
1536
|
-
className:
|
|
1738
|
+
className: Le.content,
|
|
1537
1739
|
children: r
|
|
1538
1740
|
})]
|
|
1539
1741
|
});
|
|
1540
|
-
},
|
|
1541
|
-
wrapper: "
|
|
1542
|
-
input: "
|
|
1543
|
-
switch: "
|
|
1544
|
-
thumb: "
|
|
1545
|
-
label: "
|
|
1546
|
-
disabled: "
|
|
1547
|
-
},
|
|
1742
|
+
}, ze = {
|
|
1743
|
+
wrapper: "_wrapper_ecmvo_1",
|
|
1744
|
+
input: "_input_ecmvo_21",
|
|
1745
|
+
switch: "_switch_ecmvo_35",
|
|
1746
|
+
thumb: "_thumb_ecmvo_67",
|
|
1747
|
+
label: "_label_ecmvo_113",
|
|
1748
|
+
disabled: "_disabled_ecmvo_125"
|
|
1749
|
+
}, Be = ({ checked: e, onChange: r, label: i, disabled: a = !1, readOnly: o = !1, className: s = "", name: l, id: u, value: d }) => {
|
|
1548
1750
|
let f = c(), p = u ?? `ds-radio-button-${l ?? f}`;
|
|
1549
1751
|
return /* @__PURE__ */ n("label", {
|
|
1550
1752
|
htmlFor: p,
|
|
1551
|
-
className: `${
|
|
1753
|
+
className: `${ze.wrapper} ${a ? ze.disabled : ""} ${s}`,
|
|
1552
1754
|
children: [
|
|
1553
1755
|
/* @__PURE__ */ t("input", {
|
|
1554
1756
|
id: p,
|
|
1555
|
-
className:
|
|
1757
|
+
className: ze.input,
|
|
1556
1758
|
type: "checkbox",
|
|
1557
1759
|
role: "switch",
|
|
1558
1760
|
name: l,
|
|
@@ -1565,21 +1767,21 @@ var T = {
|
|
|
1565
1767
|
}
|
|
1566
1768
|
}),
|
|
1567
1769
|
/* @__PURE__ */ t("span", {
|
|
1568
|
-
className:
|
|
1770
|
+
className: ze.switch,
|
|
1569
1771
|
"aria-hidden": "true",
|
|
1570
|
-
children: /* @__PURE__ */ t("span", { className:
|
|
1772
|
+
children: /* @__PURE__ */ t("span", { className: ze.thumb })
|
|
1571
1773
|
}),
|
|
1572
1774
|
i && /* @__PURE__ */ t("span", {
|
|
1573
|
-
className:
|
|
1775
|
+
className: ze.label,
|
|
1574
1776
|
children: i
|
|
1575
1777
|
})
|
|
1576
1778
|
]
|
|
1577
1779
|
});
|
|
1578
|
-
},
|
|
1579
|
-
root: "
|
|
1580
|
-
grid: "
|
|
1581
|
-
actions: "
|
|
1582
|
-
},
|
|
1780
|
+
}, Ve = {
|
|
1781
|
+
root: "_root_13nj5_1",
|
|
1782
|
+
grid: "_grid_13nj5_3",
|
|
1783
|
+
actions: "_actions_13nj5_5"
|
|
1784
|
+
}, He = ({ filters: e, values: r, onChange: i, onApply: a, onReset: o, applyMode: s = "instant", loading: c = !1, disabled: l = !1, className: u = "" }) => {
|
|
1583
1785
|
let d = (e, t) => {
|
|
1584
1786
|
let n = {
|
|
1585
1787
|
...r,
|
|
@@ -1588,11 +1790,11 @@ var T = {
|
|
|
1588
1790
|
i?.(n, e), s === "instant" && a?.(n);
|
|
1589
1791
|
};
|
|
1590
1792
|
return /* @__PURE__ */ n("section", {
|
|
1591
|
-
className: `${
|
|
1793
|
+
className: `${Ve.root} ${u}`,
|
|
1592
1794
|
"aria-label": "Фильтры",
|
|
1593
1795
|
"aria-busy": c,
|
|
1594
1796
|
children: [/* @__PURE__ */ t("div", {
|
|
1595
|
-
className:
|
|
1797
|
+
className: Ve.grid,
|
|
1596
1798
|
children: e.filter((e) => !e.hidden).map((e) => {
|
|
1597
1799
|
let n = l || c || e.disabled, i = r[e.id];
|
|
1598
1800
|
if (e.type === "input") {
|
|
@@ -1602,19 +1804,20 @@ var T = {
|
|
|
1602
1804
|
placeholder: e.placeholder,
|
|
1603
1805
|
disabled: n
|
|
1604
1806
|
};
|
|
1605
|
-
return e.inputType === "number" ? /* @__PURE__ */ t(
|
|
1807
|
+
return e.inputType === "number" ? /* @__PURE__ */ t(ke, {
|
|
1606
1808
|
...r,
|
|
1607
1809
|
type: "number",
|
|
1608
1810
|
value: i ?? "",
|
|
1609
1811
|
onChange: (t) => d(e.id, t)
|
|
1610
|
-
}, e.id) : /* @__PURE__ */ t(
|
|
1812
|
+
}, e.id) : /* @__PURE__ */ t(ke, {
|
|
1611
1813
|
...r,
|
|
1612
1814
|
type: "text",
|
|
1613
1815
|
value: String(i ?? ""),
|
|
1614
1816
|
onChange: (t) => d(e.id, t)
|
|
1615
1817
|
}, e.id);
|
|
1616
1818
|
}
|
|
1617
|
-
if (e.type === "dropdown") return /* @__PURE__ */ t(
|
|
1819
|
+
if (e.type === "dropdown") return /* @__PURE__ */ t(ce, {
|
|
1820
|
+
size: "lg",
|
|
1618
1821
|
label: e.label,
|
|
1619
1822
|
hint: e.hint,
|
|
1620
1823
|
placeholder: e.placeholder,
|
|
@@ -1623,7 +1826,8 @@ var T = {
|
|
|
1623
1826
|
disabled: n,
|
|
1624
1827
|
onChange: (t) => d(e.id, t)
|
|
1625
1828
|
}, e.id);
|
|
1626
|
-
if (e.type === "multiple") return /* @__PURE__ */ t(
|
|
1829
|
+
if (e.type === "multiple") return /* @__PURE__ */ t(De, {
|
|
1830
|
+
size: "lg",
|
|
1627
1831
|
label: e.label,
|
|
1628
1832
|
hint: e.hint,
|
|
1629
1833
|
placeholder: e.placeholder,
|
|
@@ -1632,14 +1836,14 @@ var T = {
|
|
|
1632
1836
|
disabled: n,
|
|
1633
1837
|
onChange: (t) => d(e.id, t)
|
|
1634
1838
|
}, e.id);
|
|
1635
|
-
if (e.type === "checkbox") return /* @__PURE__ */ t(
|
|
1839
|
+
if (e.type === "checkbox") return /* @__PURE__ */ t(M, {
|
|
1636
1840
|
label: e.label,
|
|
1637
1841
|
hint: e.hint,
|
|
1638
1842
|
checked: !!i,
|
|
1639
1843
|
disabled: n,
|
|
1640
1844
|
onChange: (t) => d(e.id, t)
|
|
1641
1845
|
}, e.id);
|
|
1642
|
-
if (e.type === "radio") return /* @__PURE__ */ t(
|
|
1846
|
+
if (e.type === "radio") return /* @__PURE__ */ t(Be, {
|
|
1643
1847
|
label: e.label,
|
|
1644
1848
|
checked: !!i,
|
|
1645
1849
|
disabled: n,
|
|
@@ -1649,7 +1853,7 @@ var T = {
|
|
|
1649
1853
|
from: null,
|
|
1650
1854
|
to: null
|
|
1651
1855
|
};
|
|
1652
|
-
return /* @__PURE__ */ t(
|
|
1856
|
+
return /* @__PURE__ */ t(q, {
|
|
1653
1857
|
hint: e.hint,
|
|
1654
1858
|
mode: e.mode,
|
|
1655
1859
|
min: e.min,
|
|
@@ -1660,7 +1864,7 @@ var T = {
|
|
|
1660
1864
|
}, e.id);
|
|
1661
1865
|
})
|
|
1662
1866
|
}), (o || s === "manual") && /* @__PURE__ */ n("div", {
|
|
1663
|
-
className:
|
|
1867
|
+
className: Ve.actions,
|
|
1664
1868
|
children: [o && /* @__PURE__ */ t(w, {
|
|
1665
1869
|
variant: "destructiveOutline",
|
|
1666
1870
|
disabled: l || c,
|
|
@@ -1674,36 +1878,35 @@ var T = {
|
|
|
1674
1878
|
})]
|
|
1675
1879
|
})]
|
|
1676
1880
|
});
|
|
1677
|
-
},
|
|
1678
|
-
wrapper: "
|
|
1679
|
-
dropzone: "
|
|
1680
|
-
dragActive: "
|
|
1681
|
-
disabled: "
|
|
1682
|
-
error: "
|
|
1683
|
-
nativeInput: "
|
|
1684
|
-
empty: "
|
|
1685
|
-
uploadIcon: "
|
|
1686
|
-
|
|
1687
|
-
|
|
1688
|
-
|
|
1689
|
-
|
|
1690
|
-
|
|
1691
|
-
|
|
1692
|
-
|
|
1693
|
-
let t = [], n = new Set(r.map(Re)), c = e.filter((e) => Be(e, o) ? s !== void 0 && e.size > s ? (t.push({
|
|
1881
|
+
}, Ue = {
|
|
1882
|
+
wrapper: "_wrapper_8w6xl_1",
|
|
1883
|
+
dropzone: "_dropzone_8w6xl_3",
|
|
1884
|
+
dragActive: "_dragActive_8w6xl_5",
|
|
1885
|
+
disabled: "_disabled_8w6xl_7",
|
|
1886
|
+
error: "_error_8w6xl_9",
|
|
1887
|
+
nativeInput: "_nativeInput_8w6xl_11",
|
|
1888
|
+
empty: "_empty_8w6xl_13",
|
|
1889
|
+
uploadIcon: "_uploadIcon_8w6xl_15",
|
|
1890
|
+
files: "_files_8w6xl_17",
|
|
1891
|
+
file: "_file_8w6xl_17",
|
|
1892
|
+
fileName: "_fileName_8w6xl_21",
|
|
1893
|
+
fileSize: "_fileSize_8w6xl_23"
|
|
1894
|
+
}, We = (e) => `${e.name}:${e.size}:${e.lastModified}`, Ge = (e) => e < 1024 ? `${e} Б` : e < 1048576 ? `${(e / 1024).toFixed(1)} КБ` : `${(e / 1024 / 1024).toFixed(1)} МБ`, Ke = (e, t) => !t || t.split(",").map((e) => e.trim().toLowerCase()).some((t) => t.startsWith(".") ? e.name.toLowerCase().endsWith(t) : t.endsWith("/*") ? e.type.startsWith(t.slice(0, -1)) : e.type.toLowerCase() === t), qe = ({ value: r, onChange: i, multiple: a = !1, accept: o, maxSize: s, maxFiles: l, label: u, hint: p, error: m, required: h = !1, disabled: g = !1, readOnly: _ = !1, name: v, id: y, className: b = "", dropLabel: x = "Перетащите файлы в эту область", browseLabel: S = "Выбрать файлы", addMoreLabel: C = "Добавить ещё", onReject: T }) => {
|
|
1895
|
+
let O = c(), k = y ?? `ds-file-input-${v ?? O}`, j = d(null), M = d(0), [N, P] = f(!1), F = p ? `${k}-hint` : void 0, I = m ? `${k}-error` : void 0, L = [F, I].filter(Boolean).join(" ") || void 0, R = !g && !_, z = (e) => {
|
|
1896
|
+
let t = [], n = new Set(r.map(We)), c = e.filter((e) => Ke(e, o) ? s !== void 0 && e.size > s ? (t.push({
|
|
1694
1897
|
file: e,
|
|
1695
1898
|
reason: "maxSize"
|
|
1696
|
-
}), !1) : !n.has(
|
|
1899
|
+
}), !1) : !n.has(We(e)) && (n.add(We(e)), !0) : (t.push({
|
|
1697
1900
|
file: e,
|
|
1698
1901
|
reason: "accept"
|
|
1699
1902
|
}), !1)), u = a ? l : 1, d = a ? [...r, ...c] : c.slice(-1);
|
|
1700
1903
|
u !== void 0 && d.length > u && (d.slice(u).forEach((e) => t.push({
|
|
1701
1904
|
file: e,
|
|
1702
1905
|
reason: "maxFiles"
|
|
1703
|
-
})), d = d.slice(0, u)), t.length && T?.(t), c.length && i?.(d),
|
|
1906
|
+
})), d = d.slice(0, u)), t.length && T?.(t), c.length && i?.(d), j.current && (j.current.value = "");
|
|
1704
1907
|
};
|
|
1705
1908
|
return /* @__PURE__ */ n("div", {
|
|
1706
|
-
className: `${
|
|
1909
|
+
className: `${Ue.wrapper} ${b}`,
|
|
1707
1910
|
children: [
|
|
1708
1911
|
u && /* @__PURE__ */ t(E, {
|
|
1709
1912
|
htmlFor: k,
|
|
@@ -1712,102 +1915,109 @@ var T = {
|
|
|
1712
1915
|
children: u
|
|
1713
1916
|
}),
|
|
1714
1917
|
/* @__PURE__ */ n("div", {
|
|
1715
|
-
className: `${
|
|
1918
|
+
className: `${Ue.dropzone} ${N ? Ue.dragActive : ""} ${g ? Ue.disabled : ""} ${m ? Ue.error : ""}`,
|
|
1716
1919
|
onDragEnter: (e) => {
|
|
1717
|
-
e.preventDefault(),
|
|
1920
|
+
e.preventDefault(), R && ++M.current === 1 && P(!0);
|
|
1718
1921
|
},
|
|
1719
1922
|
onDragOver: (e) => e.preventDefault(),
|
|
1720
1923
|
onDragLeave: (e) => {
|
|
1721
|
-
e.preventDefault(), --
|
|
1924
|
+
e.preventDefault(), --M.current <= 0 && (M.current = 0, P(!1));
|
|
1722
1925
|
},
|
|
1723
1926
|
onDrop: (e) => {
|
|
1724
|
-
e.preventDefault(),
|
|
1927
|
+
e.preventDefault(), M.current = 0, P(!1), R && z(Array.from(e.dataTransfer.files));
|
|
1725
1928
|
},
|
|
1726
1929
|
children: [/* @__PURE__ */ t("input", {
|
|
1727
|
-
ref:
|
|
1930
|
+
ref: j,
|
|
1728
1931
|
id: k,
|
|
1729
1932
|
name: v,
|
|
1730
|
-
className:
|
|
1933
|
+
className: Ue.nativeInput,
|
|
1731
1934
|
type: "file",
|
|
1732
1935
|
multiple: a,
|
|
1733
1936
|
accept: o,
|
|
1734
1937
|
required: h && r.length === 0,
|
|
1735
|
-
disabled: !
|
|
1736
|
-
"aria-describedby":
|
|
1938
|
+
disabled: !R,
|
|
1939
|
+
"aria-describedby": L,
|
|
1737
1940
|
"aria-invalid": !!m,
|
|
1738
|
-
onChange: (e) =>
|
|
1941
|
+
onChange: (e) => z(Array.from(e.target.files ?? []))
|
|
1739
1942
|
}), r.length ? /* @__PURE__ */ n(e, { children: [
|
|
1740
1943
|
/* @__PURE__ */ t("ul", {
|
|
1741
|
-
className:
|
|
1944
|
+
className: Ue.files,
|
|
1742
1945
|
"aria-live": "polite",
|
|
1743
1946
|
children: r.map((e, a) => /* @__PURE__ */ n("li", {
|
|
1744
|
-
className:
|
|
1947
|
+
className: Ue.file,
|
|
1745
1948
|
children: [
|
|
1746
1949
|
/* @__PURE__ */ t("span", {
|
|
1747
|
-
className:
|
|
1950
|
+
className: Ue.fileName,
|
|
1748
1951
|
title: e.name,
|
|
1749
1952
|
children: e.name
|
|
1750
1953
|
}),
|
|
1751
1954
|
/* @__PURE__ */ t("span", {
|
|
1752
|
-
className:
|
|
1753
|
-
children:
|
|
1955
|
+
className: Ue.fileSize,
|
|
1956
|
+
children: Ge(e.size)
|
|
1754
1957
|
}),
|
|
1755
|
-
|
|
1958
|
+
R && /* @__PURE__ */ t(w, {
|
|
1756
1959
|
variant: "empty",
|
|
1757
1960
|
size: "sm",
|
|
1758
1961
|
"aria-label": `Удалить файл ${e.name}`,
|
|
1759
1962
|
onClick: () => i?.(r.filter((e, t) => t !== a)),
|
|
1760
|
-
children:
|
|
1963
|
+
children: /* @__PURE__ */ t(A, {
|
|
1964
|
+
name: "IconCross",
|
|
1965
|
+
width: 16,
|
|
1966
|
+
height: 16
|
|
1967
|
+
})
|
|
1761
1968
|
})
|
|
1762
1969
|
]
|
|
1763
|
-
},
|
|
1970
|
+
}, We(e)))
|
|
1764
1971
|
}),
|
|
1765
|
-
|
|
1766
|
-
className:
|
|
1972
|
+
R && (a || r.length === 0) && /* @__PURE__ */ t(w, {
|
|
1973
|
+
className: Ue.browseButton,
|
|
1767
1974
|
size: "sm",
|
|
1768
|
-
onClick: () =>
|
|
1975
|
+
onClick: () => j.current?.click(),
|
|
1769
1976
|
children: C
|
|
1770
1977
|
}),
|
|
1771
|
-
|
|
1772
|
-
className:
|
|
1978
|
+
R && !a && /* @__PURE__ */ t(w, {
|
|
1979
|
+
className: Ue.browseButton,
|
|
1773
1980
|
size: "sm",
|
|
1774
|
-
onClick: () =>
|
|
1981
|
+
onClick: () => j.current?.click(),
|
|
1775
1982
|
children: S
|
|
1776
1983
|
})
|
|
1777
1984
|
] }) : /* @__PURE__ */ n("div", {
|
|
1778
|
-
className:
|
|
1985
|
+
className: Ue.empty,
|
|
1779
1986
|
children: [
|
|
1780
1987
|
/* @__PURE__ */ t("span", {
|
|
1781
|
-
className:
|
|
1988
|
+
className: Ue.uploadIcon,
|
|
1782
1989
|
"aria-hidden": "true",
|
|
1783
|
-
children:
|
|
1990
|
+
children: /* @__PURE__ */ t(A, {
|
|
1991
|
+
name: "IconUpload",
|
|
1992
|
+
width: 24,
|
|
1993
|
+
height: 24
|
|
1994
|
+
})
|
|
1784
1995
|
}),
|
|
1785
|
-
/* @__PURE__ */ t("strong", { children:
|
|
1786
|
-
!
|
|
1787
|
-
|
|
1788
|
-
onClick: () => A.current?.click(),
|
|
1996
|
+
/* @__PURE__ */ t("strong", { children: N ? "Отпустите файлы здесь" : x }),
|
|
1997
|
+
!N && R && /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("span", { children: "или" }), /* @__PURE__ */ t(w, {
|
|
1998
|
+
onClick: () => j.current?.click(),
|
|
1789
1999
|
children: S
|
|
1790
2000
|
})] })
|
|
1791
2001
|
]
|
|
1792
2002
|
})]
|
|
1793
2003
|
}),
|
|
1794
2004
|
p && !m && /* @__PURE__ */ t(D, {
|
|
1795
|
-
id:
|
|
2005
|
+
id: F,
|
|
1796
2006
|
children: p
|
|
1797
2007
|
}),
|
|
1798
2008
|
m && /* @__PURE__ */ t(D, {
|
|
1799
|
-
id:
|
|
2009
|
+
id: I,
|
|
1800
2010
|
variant: "error",
|
|
1801
2011
|
live: !0,
|
|
1802
2012
|
children: m
|
|
1803
2013
|
})
|
|
1804
2014
|
]
|
|
1805
2015
|
});
|
|
1806
|
-
},
|
|
2016
|
+
}, Je = 0, Q = v((e) => ({
|
|
1807
2017
|
modals: [],
|
|
1808
2018
|
openModal: (t, n = {}, r = {}) => {
|
|
1809
|
-
|
|
1810
|
-
let i = `ds-modal-${
|
|
2019
|
+
Je += 1;
|
|
2020
|
+
let i = `ds-modal-${Je}`;
|
|
1811
2021
|
return e((e) => ({ modals: [...e.modals, {
|
|
1812
2022
|
id: i,
|
|
1813
2023
|
name: t,
|
|
@@ -1819,22 +2029,23 @@ var T = {
|
|
|
1819
2029
|
closeModal: (t) => e((e) => ({ modals: e.modals.filter((e) => e.id !== t) })),
|
|
1820
2030
|
closeTopModal: () => e((e) => ({ modals: e.modals.slice(0, -1) })),
|
|
1821
2031
|
closeAllModals: () => e({ modals: [] })
|
|
1822
|
-
})),
|
|
1823
|
-
layer: "
|
|
1824
|
-
backdrop: "
|
|
1825
|
-
panel: "
|
|
1826
|
-
header: "
|
|
1827
|
-
title: "
|
|
1828
|
-
description: "
|
|
1829
|
-
content: "
|
|
1830
|
-
|
|
1831
|
-
|
|
2032
|
+
})), Ye = () => Q.setState({ modals: [] }), Xe = {
|
|
2033
|
+
layer: "_layer_1opno_1",
|
|
2034
|
+
backdrop: "_backdrop_1opno_3",
|
|
2035
|
+
panel: "_panel_1opno_5",
|
|
2036
|
+
header: "_header_1opno_9",
|
|
2037
|
+
title: "_title_1opno_11",
|
|
2038
|
+
description: "_description_1opno_13",
|
|
2039
|
+
content: "_content_1opno_15",
|
|
2040
|
+
close: "_close_1opno_17"
|
|
2041
|
+
}, Ze = "button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"])", Qe = ({ children: e, title: r, description: i, modalId: a, closeLabel: o = "Закрыть модальное окно", className: l = "", role: u = "dialog" }) => {
|
|
2042
|
+
let f = c(), p = c(), m = d(null), h = Q((e) => e.closeModal);
|
|
1832
2043
|
return s(() => {
|
|
1833
2044
|
let e = document.activeElement, t = m.current;
|
|
1834
|
-
return (t?.querySelector(
|
|
2045
|
+
return (t?.querySelector(Ze) ?? t)?.focus(), () => e?.focus();
|
|
1835
2046
|
}, []), /* @__PURE__ */ n("div", {
|
|
1836
2047
|
ref: m,
|
|
1837
|
-
className: `${
|
|
2048
|
+
className: `${Xe.panel} ${l}`,
|
|
1838
2049
|
role: u,
|
|
1839
2050
|
"aria-modal": "true",
|
|
1840
2051
|
"aria-labelledby": r ? f : void 0,
|
|
@@ -1842,7 +2053,7 @@ var T = {
|
|
|
1842
2053
|
tabIndex: -1,
|
|
1843
2054
|
onKeyDown: (e) => {
|
|
1844
2055
|
if (e.key !== "Tab") return;
|
|
1845
|
-
let t = Array.from(m.current?.querySelectorAll(
|
|
2056
|
+
let t = Array.from(m.current?.querySelectorAll(Ze) ?? []);
|
|
1846
2057
|
if (!t.length) {
|
|
1847
2058
|
e.preventDefault();
|
|
1848
2059
|
return;
|
|
@@ -1852,57 +2063,51 @@ var T = {
|
|
|
1852
2063
|
},
|
|
1853
2064
|
children: [
|
|
1854
2065
|
(r || o) && /* @__PURE__ */ n("header", {
|
|
1855
|
-
className:
|
|
2066
|
+
className: Xe.header,
|
|
1856
2067
|
children: [r && /* @__PURE__ */ t("h2", {
|
|
1857
2068
|
id: f,
|
|
1858
|
-
className:
|
|
2069
|
+
className: Xe.title,
|
|
1859
2070
|
children: r
|
|
1860
2071
|
}), /* @__PURE__ */ t(w, {
|
|
2072
|
+
className: Xe.close,
|
|
1861
2073
|
variant: "empty",
|
|
1862
2074
|
size: "sm",
|
|
1863
2075
|
"aria-label": o,
|
|
1864
2076
|
onClick: () => h(a),
|
|
1865
|
-
children: /* @__PURE__ */
|
|
1866
|
-
|
|
1867
|
-
width:
|
|
1868
|
-
height:
|
|
1869
|
-
viewBox: "0 0 24 24",
|
|
1870
|
-
fill: "none",
|
|
1871
|
-
stroke: "currentColor",
|
|
1872
|
-
strokeWidth: "2",
|
|
1873
|
-
strokeLinecap: "round",
|
|
1874
|
-
strokeLinejoin: "round",
|
|
1875
|
-
children: [/* @__PURE__ */ t("path", { d: "M18 6 6 18" }), /* @__PURE__ */ t("path", { d: "m6 6 12 12" })]
|
|
2077
|
+
children: /* @__PURE__ */ t(A, {
|
|
2078
|
+
name: "IconCross",
|
|
2079
|
+
width: 24,
|
|
2080
|
+
height: 24
|
|
1876
2081
|
})
|
|
1877
2082
|
})]
|
|
1878
2083
|
}),
|
|
1879
2084
|
i && /* @__PURE__ */ t("p", {
|
|
1880
2085
|
id: p,
|
|
1881
|
-
className:
|
|
2086
|
+
className: Xe.description,
|
|
1882
2087
|
children: i
|
|
1883
2088
|
}),
|
|
1884
2089
|
/* @__PURE__ */ t("div", {
|
|
1885
|
-
className:
|
|
2090
|
+
className: Xe.content,
|
|
1886
2091
|
children: e
|
|
1887
2092
|
})
|
|
1888
2093
|
]
|
|
1889
2094
|
});
|
|
1890
|
-
},
|
|
1891
|
-
let n =
|
|
2095
|
+
}, $e = ({ registry: e }) => {
|
|
2096
|
+
let n = Q((e) => e.modals), r = Q((e) => e.closeModal), i = Q((e) => e.closeAllModals);
|
|
1892
2097
|
return s(() => {
|
|
1893
2098
|
let e = (e) => {
|
|
1894
2099
|
if (e.key !== "Escape") return;
|
|
1895
|
-
let t =
|
|
2100
|
+
let t = Q.getState().modals.at(-1);
|
|
1896
2101
|
t?.closeOnEscape && r(t.id);
|
|
1897
2102
|
};
|
|
1898
2103
|
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
1899
2104
|
}, [r]), !n.length || typeof document > "u" ? null : p(/* @__PURE__ */ t("div", {
|
|
1900
|
-
className:
|
|
2105
|
+
className: Xe.layer,
|
|
1901
2106
|
"aria-label": "Модальные окна",
|
|
1902
2107
|
children: n.map((a, o) => {
|
|
1903
2108
|
let s = e[a.name];
|
|
1904
2109
|
return s ? /* @__PURE__ */ t("div", {
|
|
1905
|
-
className:
|
|
2110
|
+
className: Xe.backdrop,
|
|
1906
2111
|
"aria-hidden": o !== n.length - 1 || void 0,
|
|
1907
2112
|
onMouseDown: (e) => {
|
|
1908
2113
|
e.target === e.currentTarget && a.closeOnBackdrop && r(a.id);
|
|
@@ -1916,31 +2121,31 @@ var T = {
|
|
|
1916
2121
|
}, a.id) : null;
|
|
1917
2122
|
})
|
|
1918
2123
|
}), document.body);
|
|
1919
|
-
},
|
|
1920
|
-
let o =
|
|
2124
|
+
}, et = ({ registry: r, children: i, lockBodyScroll: a = !0 }) => {
|
|
2125
|
+
let o = Q((e) => e.modals.length);
|
|
1921
2126
|
return s(() => {
|
|
1922
2127
|
if (!a || o === 0) return;
|
|
1923
2128
|
let e = document.body.style.overflow;
|
|
1924
2129
|
return document.body.style.overflow = "hidden", () => {
|
|
1925
2130
|
document.body.style.overflow = e;
|
|
1926
2131
|
};
|
|
1927
|
-
}, [a, o]), /* @__PURE__ */ n(e, { children: [i, /* @__PURE__ */ t(
|
|
1928
|
-
},
|
|
2132
|
+
}, [a, o]), /* @__PURE__ */ n(e, { children: [i, /* @__PURE__ */ t($e, { registry: r })] });
|
|
2133
|
+
}, tt = (e) => e, nt = {
|
|
1929
2134
|
message: "_message_1vtru_1",
|
|
1930
2135
|
actions: "_actions_1vtru_3"
|
|
1931
|
-
},
|
|
2136
|
+
}, rt = /* @__PURE__ */ new Map(), it = 0, at = ({ modalId: e, close: r, title: i = "Подтверждение", message: a = "Продолжить действие?", confirmLabel: o = "Подтвердить", cancelLabel: s = "Отмена", tone: c = "default", requestId: l }) => {
|
|
1932
2137
|
let u = (e) => {
|
|
1933
|
-
|
|
2138
|
+
rt.get(l)?.(e), rt.delete(l), r();
|
|
1934
2139
|
};
|
|
1935
|
-
return /* @__PURE__ */ n(
|
|
2140
|
+
return /* @__PURE__ */ n(Qe, {
|
|
1936
2141
|
modalId: e,
|
|
1937
2142
|
title: i,
|
|
1938
2143
|
role: "alertdialog",
|
|
1939
2144
|
children: [/* @__PURE__ */ t("p", {
|
|
1940
|
-
className:
|
|
2145
|
+
className: nt.message,
|
|
1941
2146
|
children: a
|
|
1942
2147
|
}), /* @__PURE__ */ n("div", {
|
|
1943
|
-
className:
|
|
2148
|
+
className: nt.actions,
|
|
1944
2149
|
children: [/* @__PURE__ */ t(w, {
|
|
1945
2150
|
variant: "outline",
|
|
1946
2151
|
onClick: () => u(!1),
|
|
@@ -1952,55 +2157,80 @@ var T = {
|
|
|
1952
2157
|
})]
|
|
1953
2158
|
})]
|
|
1954
2159
|
});
|
|
1955
|
-
},
|
|
2160
|
+
}, ot = ({ modalId: e, close: r, title: i = "Ошибка", message: a, closeLabel: o = "Закрыть" }) => /* @__PURE__ */ n(Qe, {
|
|
1956
2161
|
modalId: e,
|
|
1957
2162
|
title: i,
|
|
1958
2163
|
role: "alertdialog",
|
|
1959
2164
|
children: [/* @__PURE__ */ t("p", {
|
|
1960
|
-
className:
|
|
2165
|
+
className: nt.message,
|
|
1961
2166
|
children: a
|
|
1962
2167
|
}), /* @__PURE__ */ t("div", {
|
|
1963
|
-
className:
|
|
2168
|
+
className: nt.actions,
|
|
1964
2169
|
children: /* @__PURE__ */ t(w, {
|
|
1965
2170
|
onClick: r,
|
|
1966
2171
|
children: o
|
|
1967
2172
|
})
|
|
1968
2173
|
})]
|
|
1969
|
-
}),
|
|
1970
|
-
ConfirmModal:
|
|
1971
|
-
ErrorModal:
|
|
1972
|
-
}),
|
|
1973
|
-
let e =
|
|
2174
|
+
}), st = tt({
|
|
2175
|
+
ConfirmModal: at,
|
|
2176
|
+
ErrorModal: ot
|
|
2177
|
+
}), ct = () => {
|
|
2178
|
+
let e = Q((e) => e.openModal);
|
|
1974
2179
|
return (t = {}) => new Promise((n) => {
|
|
1975
|
-
|
|
1976
|
-
let r = `confirm-${
|
|
1977
|
-
|
|
2180
|
+
it += 1;
|
|
2181
|
+
let r = `confirm-${it}`;
|
|
2182
|
+
rt.set(r, n), e("ConfirmModal", {
|
|
1978
2183
|
...t,
|
|
1979
2184
|
requestId: r
|
|
1980
2185
|
}, { closeOnEscape: !1 });
|
|
1981
2186
|
});
|
|
1982
|
-
},
|
|
1983
|
-
let e =
|
|
2187
|
+
}, lt = (e) => e instanceof Error ? e.message : typeof e == "string" ? e : e && typeof e == "object" && "message" in e && typeof e.message == "string" ? e.message : "Произошла неизвестная ошибка", ut = () => {
|
|
2188
|
+
let e = Q((e) => e.openModal);
|
|
1984
2189
|
return { showError: (t, n) => e("ErrorModal", {
|
|
1985
2190
|
title: n,
|
|
1986
|
-
message:
|
|
2191
|
+
message: lt(t)
|
|
1987
2192
|
}) };
|
|
1988
|
-
},
|
|
1989
|
-
let e =
|
|
2193
|
+
}, dt = v(() => ({})), ft = v(() => ({})), pt = () => {
|
|
2194
|
+
let e = Q((e) => e.modals), t = Q((e) => e.openModal);
|
|
1990
2195
|
return {
|
|
1991
2196
|
openModal: (e, n = {}, r) => t(e, n, r),
|
|
1992
|
-
closeModal:
|
|
1993
|
-
closeTopModal:
|
|
1994
|
-
closeAllModals:
|
|
2197
|
+
closeModal: Q((e) => e.closeModal),
|
|
2198
|
+
closeTopModal: Q((e) => e.closeTopModal),
|
|
2199
|
+
closeAllModals: Q((e) => e.closeAllModals),
|
|
1995
2200
|
isOpen: (t) => e.some((e) => e.name === t),
|
|
1996
2201
|
count: e.length
|
|
1997
2202
|
};
|
|
1998
|
-
},
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
"
|
|
2002
|
-
|
|
2003
|
-
|
|
2203
|
+
}, mt = {
|
|
2204
|
+
wrapper: "_wrapper_1qbyz_1",
|
|
2205
|
+
container: "_container_1qbyz_15",
|
|
2206
|
+
inner: "_inner_1qbyz_35",
|
|
2207
|
+
cube: "_cube_1qbyz_53",
|
|
2208
|
+
jump: "_jump_1qbyz_1",
|
|
2209
|
+
cube__inner: "_cube__inner_1qbyz_67",
|
|
2210
|
+
morph: "_morph_1qbyz_1"
|
|
2211
|
+
}, ht = () => /* @__PURE__ */ t("div", {
|
|
2212
|
+
className: mt.wrapper,
|
|
2213
|
+
children: /* @__PURE__ */ t("div", {
|
|
2214
|
+
className: mt.container,
|
|
2215
|
+
children: /* @__PURE__ */ n("div", {
|
|
2216
|
+
className: mt.inner,
|
|
2217
|
+
children: [
|
|
2218
|
+
/* @__PURE__ */ t("div", {
|
|
2219
|
+
className: mt.cube,
|
|
2220
|
+
children: /* @__PURE__ */ t("div", { className: mt.cube__inner })
|
|
2221
|
+
}),
|
|
2222
|
+
/* @__PURE__ */ t("div", {
|
|
2223
|
+
className: mt.cube,
|
|
2224
|
+
children: /* @__PURE__ */ t("div", { className: mt.cube__inner })
|
|
2225
|
+
}),
|
|
2226
|
+
/* @__PURE__ */ t("div", {
|
|
2227
|
+
className: mt.cube,
|
|
2228
|
+
children: /* @__PURE__ */ t("div", { className: mt.cube__inner })
|
|
2229
|
+
})
|
|
2230
|
+
]
|
|
2231
|
+
})
|
|
2232
|
+
})
|
|
2233
|
+
}), gt = {
|
|
2004
2234
|
viewport: "_viewport_15mi5_1",
|
|
2005
2235
|
"top-right": "_top-right_15mi5_3",
|
|
2006
2236
|
"top-left": "_top-left_15mi5_5",
|
|
@@ -2013,93 +2243,24 @@ var T = {
|
|
|
2013
2243
|
success: "_success_15mi5_19",
|
|
2014
2244
|
warning: "_warning_15mi5_21",
|
|
2015
2245
|
error: "_error_15mi5_23"
|
|
2016
|
-
},
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2021
|
-
|
|
2022
|
-
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
|
|
2029
|
-
|
|
2030
|
-
|
|
2031
|
-
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
/* @__PURE__ */ t("path", { d: "M12 16v-4" }),
|
|
2035
|
-
/* @__PURE__ */ t("path", { d: "M12 8h.01" })
|
|
2036
|
-
]
|
|
2037
|
-
}) : e === "success" ? /* @__PURE__ */ n("svg", {
|
|
2038
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2039
|
-
width: "24",
|
|
2040
|
-
height: "24",
|
|
2041
|
-
viewBox: "0 0 24 24",
|
|
2042
|
-
fill: "none",
|
|
2043
|
-
stroke: "#179c66",
|
|
2044
|
-
strokeWidth: "2",
|
|
2045
|
-
strokeLinecap: "round",
|
|
2046
|
-
strokeLinejoin: "round",
|
|
2047
|
-
children: [/* @__PURE__ */ t("circle", {
|
|
2048
|
-
cx: "12",
|
|
2049
|
-
cy: "12",
|
|
2050
|
-
r: "10"
|
|
2051
|
-
}), /* @__PURE__ */ t("path", { d: "m9 12 2 2 4-4" })]
|
|
2052
|
-
}) : e === "warning" ? /* @__PURE__ */ n("svg", {
|
|
2053
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2054
|
-
width: "24",
|
|
2055
|
-
height: "24",
|
|
2056
|
-
viewBox: "0 0 24 24",
|
|
2057
|
-
fill: "none",
|
|
2058
|
-
stroke: "#f59e0b",
|
|
2059
|
-
strokeWidth: "2",
|
|
2060
|
-
strokeLinecap: "round",
|
|
2061
|
-
strokeLinejoin: "round",
|
|
2062
|
-
children: [
|
|
2063
|
-
/* @__PURE__ */ t("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
|
|
2064
|
-
/* @__PURE__ */ t("path", { d: "M12 9v4" }),
|
|
2065
|
-
/* @__PURE__ */ t("path", { d: "M12 17h.01" })
|
|
2066
|
-
]
|
|
2067
|
-
}) : e === "error" ? /* @__PURE__ */ n("svg", {
|
|
2068
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2069
|
-
width: "24",
|
|
2070
|
-
height: "24",
|
|
2071
|
-
viewBox: "0 0 24 24",
|
|
2072
|
-
fill: "none",
|
|
2073
|
-
stroke: "#dc2626",
|
|
2074
|
-
strokeWidth: "2",
|
|
2075
|
-
strokeLinecap: "round",
|
|
2076
|
-
strokeLinejoin: "round",
|
|
2077
|
-
children: [
|
|
2078
|
-
/* @__PURE__ */ t("path", { d: "m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3" }),
|
|
2079
|
-
/* @__PURE__ */ t("path", { d: "M12 9v4" }),
|
|
2080
|
-
/* @__PURE__ */ t("path", { d: "M12 17h.01" })
|
|
2081
|
-
]
|
|
2082
|
-
}) : /* @__PURE__ */ n("svg", {
|
|
2083
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
2084
|
-
width: "24",
|
|
2085
|
-
height: "24",
|
|
2086
|
-
viewBox: "0 0 24 24",
|
|
2087
|
-
fill: "none",
|
|
2088
|
-
stroke: "currentColor",
|
|
2089
|
-
strokeWidth: "2",
|
|
2090
|
-
strokeLinecap: "round",
|
|
2091
|
-
strokeLinejoin: "round",
|
|
2092
|
-
children: [
|
|
2093
|
-
/* @__PURE__ */ t("circle", {
|
|
2094
|
-
cx: "12",
|
|
2095
|
-
cy: "12",
|
|
2096
|
-
r: "10"
|
|
2097
|
-
}),
|
|
2098
|
-
/* @__PURE__ */ t("path", { d: "m15 9-6 6" }),
|
|
2099
|
-
/* @__PURE__ */ t("path", { d: "m9 9 6 6" })
|
|
2100
|
-
]
|
|
2101
|
-
}), r;
|
|
2102
|
-
}, ft = ({ toast: e, onClose: r }) => {
|
|
2246
|
+
}, _t = {
|
|
2247
|
+
info: {
|
|
2248
|
+
name: "IconInfoCircle",
|
|
2249
|
+
color: "var(--color-primary)"
|
|
2250
|
+
},
|
|
2251
|
+
success: {
|
|
2252
|
+
name: "IconSuccessCircle",
|
|
2253
|
+
color: "var(--color-success)"
|
|
2254
|
+
},
|
|
2255
|
+
warning: {
|
|
2256
|
+
name: "IconWarning",
|
|
2257
|
+
color: "var(--color-warning)"
|
|
2258
|
+
},
|
|
2259
|
+
error: {
|
|
2260
|
+
name: "IconWarning",
|
|
2261
|
+
color: "var(--color-error)"
|
|
2262
|
+
}
|
|
2263
|
+
}, vt = ({ toast: e, onClose: r }) => {
|
|
2103
2264
|
let [i, a] = f(!1), o = d(e.duration), c = d(Date.now());
|
|
2104
2265
|
return s(() => {
|
|
2105
2266
|
if (i || e.duration <= 0) return;
|
|
@@ -2114,7 +2275,7 @@ var T = {
|
|
|
2114
2275
|
e.duration,
|
|
2115
2276
|
e.id
|
|
2116
2277
|
]), /* @__PURE__ */ n("article", {
|
|
2117
|
-
className: `${
|
|
2278
|
+
className: `${gt.toast} ${gt[e.variant]}`,
|
|
2118
2279
|
role: e.variant === "error" ? "alert" : "status",
|
|
2119
2280
|
"aria-live": e.variant === "error" ? "assertive" : "polite",
|
|
2120
2281
|
onMouseEnter: () => a(!0),
|
|
@@ -2122,9 +2283,13 @@ var T = {
|
|
|
2122
2283
|
onFocus: () => a(!0),
|
|
2123
2284
|
onBlur: () => a(!1),
|
|
2124
2285
|
children: [
|
|
2125
|
-
/* @__PURE__ */ t("div", { children:
|
|
2286
|
+
/* @__PURE__ */ t("div", { children: /* @__PURE__ */ t(A, {
|
|
2287
|
+
..._t[e.variant],
|
|
2288
|
+
width: 24,
|
|
2289
|
+
height: 24
|
|
2290
|
+
}) }),
|
|
2126
2291
|
/* @__PURE__ */ n("div", {
|
|
2127
|
-
className:
|
|
2292
|
+
className: gt.body,
|
|
2128
2293
|
children: [
|
|
2129
2294
|
e.title && /* @__PURE__ */ t("strong", { children: e.title }),
|
|
2130
2295
|
/* @__PURE__ */ t("div", { children: e.message }),
|
|
@@ -2143,26 +2308,19 @@ var T = {
|
|
|
2143
2308
|
size: "sm",
|
|
2144
2309
|
"aria-label": "Закрыть уведомление",
|
|
2145
2310
|
onClick: () => r(e.id),
|
|
2146
|
-
children: /* @__PURE__ */
|
|
2147
|
-
|
|
2148
|
-
width:
|
|
2149
|
-
height:
|
|
2150
|
-
viewBox: "0 0 24 24",
|
|
2151
|
-
fill: "none",
|
|
2152
|
-
stroke: "currentColor",
|
|
2153
|
-
strokeWidth: "2",
|
|
2154
|
-
strokeLinecap: "round",
|
|
2155
|
-
strokeLinejoin: "round",
|
|
2156
|
-
children: [/* @__PURE__ */ t("path", { d: "M18 6 6 18" }), /* @__PURE__ */ t("path", { d: "m6 6 12 12" })]
|
|
2311
|
+
children: /* @__PURE__ */ t(A, {
|
|
2312
|
+
name: "IconCross",
|
|
2313
|
+
width: 24,
|
|
2314
|
+
height: 24
|
|
2157
2315
|
})
|
|
2158
2316
|
})
|
|
2159
2317
|
]
|
|
2160
2318
|
});
|
|
2161
|
-
},
|
|
2319
|
+
}, yt = 0, bt = v((e) => ({
|
|
2162
2320
|
toasts: [],
|
|
2163
2321
|
showToast: (t) => {
|
|
2164
|
-
|
|
2165
|
-
let n = `ds-toast-${
|
|
2322
|
+
yt += 1;
|
|
2323
|
+
let n = `ds-toast-${yt}`;
|
|
2166
2324
|
return e((e) => ({ toasts: [...e.toasts, {
|
|
2167
2325
|
variant: "info",
|
|
2168
2326
|
duration: 5e3,
|
|
@@ -2173,18 +2331,18 @@ var T = {
|
|
|
2173
2331
|
},
|
|
2174
2332
|
removeToast: (t) => e((e) => ({ toasts: e.toasts.filter((e) => e.id !== t) })),
|
|
2175
2333
|
clearToasts: () => e({ toasts: [] })
|
|
2176
|
-
})),
|
|
2177
|
-
let n =
|
|
2334
|
+
})), xt = () => bt.setState({ toasts: [] }), St = ({ position: e = "top-right" }) => {
|
|
2335
|
+
let n = bt((e) => e.toasts), r = bt((e) => e.removeToast);
|
|
2178
2336
|
return /* @__PURE__ */ t("div", {
|
|
2179
|
-
className: `${
|
|
2337
|
+
className: `${gt.viewport} ${gt[e]}`,
|
|
2180
2338
|
"aria-label": "Уведомления",
|
|
2181
|
-
children: n.map((e) => /* @__PURE__ */ t(
|
|
2339
|
+
children: n.map((e) => /* @__PURE__ */ t(vt, {
|
|
2182
2340
|
toast: e,
|
|
2183
2341
|
onClose: r
|
|
2184
2342
|
}, e.id))
|
|
2185
2343
|
});
|
|
2186
|
-
},
|
|
2187
|
-
let e =
|
|
2344
|
+
}, Ct = () => {
|
|
2345
|
+
let e = bt((e) => e.showToast), t = bt((e) => e.removeToast), n = bt((e) => e.clearToasts), r = o((t) => e({
|
|
2188
2346
|
...t,
|
|
2189
2347
|
variant: "info"
|
|
2190
2348
|
}), [e]), i = o((t) => e({
|
|
@@ -2214,7 +2372,7 @@ var T = {
|
|
|
2214
2372
|
i,
|
|
2215
2373
|
a
|
|
2216
2374
|
]);
|
|
2217
|
-
},
|
|
2375
|
+
}, wt = {
|
|
2218
2376
|
root: "_root_s9o0g_1",
|
|
2219
2377
|
tooltip: "_tooltip_s9o0g_3",
|
|
2220
2378
|
"ds-tooltip-in": "_ds-tooltip-in_s9o0g_1",
|
|
@@ -2222,7 +2380,7 @@ var T = {
|
|
|
2222
2380
|
bottom: "_bottom_s9o0g_7",
|
|
2223
2381
|
left: "_left_s9o0g_9",
|
|
2224
2382
|
right: "_right_s9o0g_11"
|
|
2225
|
-
},
|
|
2383
|
+
}, Tt = ({ content: e, children: i, placement: o = "top", delay: l = 450, disabled: u = !1, maxWidth: p = 280, className: m = "" }) => {
|
|
2226
2384
|
let h = c(), [g, _] = f(!1), v = d(null), y = () => {
|
|
2227
2385
|
u || !e || (v.current = setTimeout(() => _(!0), l));
|
|
2228
2386
|
}, b = () => {
|
|
@@ -2244,77 +2402,431 @@ var T = {
|
|
|
2244
2402
|
onBlur: b
|
|
2245
2403
|
});
|
|
2246
2404
|
return /* @__PURE__ */ n("span", {
|
|
2247
|
-
className: `${
|
|
2405
|
+
className: `${wt.root} ${m}`,
|
|
2248
2406
|
onPointerDown: g ? b : y,
|
|
2249
2407
|
children: [x, g && /* @__PURE__ */ t("span", {
|
|
2250
2408
|
id: h,
|
|
2251
2409
|
role: "tooltip",
|
|
2252
|
-
className: `${
|
|
2410
|
+
className: `${wt.tooltip} ${wt[o]}`,
|
|
2253
2411
|
style: { maxWidth: p },
|
|
2254
2412
|
children: e
|
|
2255
2413
|
})]
|
|
2256
2414
|
});
|
|
2257
|
-
},
|
|
2258
|
-
|
|
2259
|
-
|
|
2260
|
-
|
|
2261
|
-
|
|
2262
|
-
|
|
2263
|
-
|
|
2264
|
-
|
|
2265
|
-
|
|
2415
|
+
}, Et = (e) => {
|
|
2416
|
+
if (!Number.isFinite(e) || e < 0) return "00:00";
|
|
2417
|
+
let t = Math.floor(e), n = Math.floor(t / 3600), r = Math.floor(t % 3600 / 60), i = t % 60, a = `${String(r).padStart(2, "0")}:${String(i).padStart(2, "0")}`;
|
|
2418
|
+
return n ? `${n}:${a}` : a;
|
|
2419
|
+
}, $ = {
|
|
2420
|
+
root: "_root_1oxvl_1",
|
|
2421
|
+
frame: "_frame_1oxvl_35",
|
|
2422
|
+
video: "_video_1oxvl_65",
|
|
2423
|
+
overlay: "_overlay_1oxvl_79",
|
|
2424
|
+
state: "_state_1oxvl_81",
|
|
2425
|
+
buffering: "_buffering_1oxvl_83",
|
|
2426
|
+
loaderViewport: "_loaderViewport_1oxvl_143",
|
|
2427
|
+
loaderScale: "_loaderScale_1oxvl_155",
|
|
2428
|
+
stateIcon: "_stateIcon_1oxvl_169",
|
|
2429
|
+
empty: "_empty_1oxvl_201",
|
|
2430
|
+
error: "_error_1oxvl_211",
|
|
2431
|
+
replay: "_replay_1oxvl_223",
|
|
2432
|
+
controlsLayer: "_controlsLayer_1oxvl_259",
|
|
2433
|
+
controlsVisible: "_controlsVisible_1oxvl_285",
|
|
2434
|
+
controls: "_controls_1oxvl_259",
|
|
2435
|
+
controlGroup: "_controlGroup_1oxvl_309",
|
|
2436
|
+
controlButton: "_controlButton_1oxvl_335",
|
|
2437
|
+
settingsAction: "_settingsAction_1oxvl_367",
|
|
2438
|
+
timeline: "_timeline_1oxvl_385",
|
|
2439
|
+
volume: "_volume_1oxvl_387",
|
|
2440
|
+
settings: "_settings_1oxvl_367",
|
|
2441
|
+
playButton: "_playButton_1oxvl_401",
|
|
2442
|
+
volumeGroup: "_volumeGroup_1oxvl_415",
|
|
2443
|
+
timelineGroup: "_timelineGroup_1oxvl_439",
|
|
2444
|
+
time: "_time_1oxvl_385",
|
|
2445
|
+
settingsActionLabel: "_settingsActionLabel_1oxvl_677",
|
|
2446
|
+
caption: "_caption_1oxvl_689",
|
|
2447
|
+
fullscreen: "_fullscreen_1oxvl_703"
|
|
2448
|
+
}, Dt = 2500, Ot = 5, kt = .05, At = [
|
|
2449
|
+
.5,
|
|
2450
|
+
.75,
|
|
2451
|
+
1,
|
|
2452
|
+
1.25,
|
|
2453
|
+
1.5,
|
|
2454
|
+
2
|
|
2455
|
+
], jt = ({ sources: r, tracks: i = [], title: a, aspectRatio: c = "16 / 9", objectFit: l = "contain", loading: u = !1, error: p, fallback: m, className: h = "", controls: g = !0, playsInline: _ = !0, ...v }) => {
|
|
2456
|
+
let y = d(null), b = d(null), x = d(null), C = d(void 0), [T, E] = f(!1), [D, O] = f(r.length > 0), [k, j] = f(!1), [M, N] = f(!1), [P, F] = f(!1), [I, L] = f(0), [R, z] = f(0), [B, V] = f(0), [H, ee] = f(1), [U, W] = f(!!v.muted), [G, te] = f(1), [K, q] = f(!!v.loop), [J, ne] = f(-1), [Y, re] = f(!1), [ie, ae] = f(!0), [oe, se] = f(!1), [ce, le] = f(!1), ue = r.map(({ src: e, type: t }) => `${e}:${t ?? ""}`).join("|"), X = i.map((e, t) => ({
|
|
2457
|
+
track: e,
|
|
2458
|
+
index: t
|
|
2459
|
+
})).filter(({ track: e }) => e.kind === "captions" || e.kind === "subtitles"), de = p ?? (T ? "Не удалось воспроизвести видео" : void 0), fe = u || D && !de && r.length > 0, pe = !fe && !de && r.length === 0, me = typeof document < "u" && "pictureInPictureEnabled" in document && document.pictureInPictureEnabled, he = o(() => {
|
|
2460
|
+
ae(!0), window.clearTimeout(C.current), M && !Y && (C.current = window.setTimeout(() => ae(!1), Dt));
|
|
2461
|
+
}, [M, Y]);
|
|
2462
|
+
s(() => {
|
|
2463
|
+
E(!1), O(r.length > 0), j(!1), N(!1), F(!1), L(0), z(0), V(0);
|
|
2464
|
+
}, [ue, r.length]), s(() => (he(), () => window.clearTimeout(C.current)), [he]), s(() => {
|
|
2465
|
+
let e = () => se(document.fullscreenElement === b.current), t = () => le(document.pictureInPictureElement === x.current);
|
|
2466
|
+
return document.addEventListener("fullscreenchange", e), document.addEventListener("enterpictureinpicture", t), document.addEventListener("leavepictureinpicture", t), () => {
|
|
2467
|
+
document.removeEventListener("fullscreenchange", e), document.removeEventListener("enterpictureinpicture", t), document.removeEventListener("leavepictureinpicture", t);
|
|
2468
|
+
};
|
|
2469
|
+
}, []), s(() => {
|
|
2470
|
+
if (!Y) return;
|
|
2471
|
+
let e = (e) => {
|
|
2472
|
+
y.current?.contains(e.target) || re(!1);
|
|
2473
|
+
};
|
|
2474
|
+
return document.addEventListener("pointerdown", e), () => document.removeEventListener("pointerdown", e);
|
|
2475
|
+
}, [Y]);
|
|
2476
|
+
let ge = async () => {
|
|
2477
|
+
let e = x.current;
|
|
2478
|
+
if (!(!e || de || fe)) {
|
|
2479
|
+
if (e.paused || e.ended) {
|
|
2480
|
+
e.ended && (e.currentTime = 0);
|
|
2481
|
+
try {
|
|
2482
|
+
await e.play();
|
|
2483
|
+
} catch {
|
|
2484
|
+
E(!0);
|
|
2485
|
+
}
|
|
2486
|
+
} else e.pause();
|
|
2487
|
+
}
|
|
2488
|
+
}, _e = () => {
|
|
2489
|
+
let e = x.current;
|
|
2490
|
+
e && (e.muted = !e.muted);
|
|
2491
|
+
}, ve = (e) => {
|
|
2492
|
+
let t = x.current;
|
|
2493
|
+
t && (t.volume = Math.min(1, Math.max(0, e)), t.muted = t.volume === 0);
|
|
2494
|
+
}, ye = (e) => {
|
|
2495
|
+
let t = x.current;
|
|
2496
|
+
!t || !R || (t.currentTime = Math.min(R, Math.max(0, e)), L(t.currentTime));
|
|
2497
|
+
}, be = async () => {
|
|
2498
|
+
if (b.current) try {
|
|
2499
|
+
document.fullscreenElement ? await document.exitFullscreen() : await b.current.requestFullscreen();
|
|
2500
|
+
} catch {
|
|
2501
|
+
se(!1);
|
|
2502
|
+
}
|
|
2503
|
+
}, xe = async () => {
|
|
2504
|
+
let e = x.current;
|
|
2505
|
+
if (!(!e || !me)) try {
|
|
2506
|
+
document.pictureInPictureElement ? await document.exitPictureInPicture() : await e.requestPictureInPicture();
|
|
2507
|
+
} catch {
|
|
2508
|
+
le(!1);
|
|
2509
|
+
}
|
|
2510
|
+
}, Se = (e) => {
|
|
2511
|
+
let t = x.current;
|
|
2512
|
+
t && (Array.from(t.textTracks).forEach((t, n) => {
|
|
2513
|
+
t.mode = n === e ? "showing" : "disabled";
|
|
2514
|
+
}), ne(e));
|
|
2515
|
+
}, Ce = (e) => {
|
|
2516
|
+
let t = e.target;
|
|
2517
|
+
if (/^(INPUT|SELECT|BUTTON)$/.test(t.tagName)) return;
|
|
2518
|
+
let n = e.key.toLowerCase();
|
|
2519
|
+
n === " " || n === "k" ? (e.preventDefault(), ge()) : n === "m" ? (e.preventDefault(), _e()) : n === "f" ? (e.preventDefault(), be()) : n === "c" && X.length ? (e.preventDefault(), Se(J === -1 ? X[0].index : -1)) : e.key === "ArrowLeft" || e.key === "ArrowRight" ? (e.preventDefault(), ye(I + (e.key === "ArrowRight" ? Ot : -5))) : e.key === "ArrowUp" || e.key === "ArrowDown" ? (e.preventDefault(), ve(H + (e.key === "ArrowUp" ? kt : -.05))) : e.key === "Escape" && re(!1), he();
|
|
2520
|
+
}, we = () => {
|
|
2521
|
+
let e = x.current;
|
|
2522
|
+
E(!1), O(!0), e?.load();
|
|
2523
|
+
}, Te = {
|
|
2524
|
+
"--video-progress": `${R ? I / R * 100 : 0}%`,
|
|
2525
|
+
"--video-buffered": `${B * 100}%`
|
|
2526
|
+
};
|
|
2266
2527
|
return /* @__PURE__ */ n("figure", {
|
|
2267
|
-
|
|
2528
|
+
ref: y,
|
|
2529
|
+
className: `${$.root} ${h}`,
|
|
2530
|
+
onKeyDown: Ce,
|
|
2268
2531
|
children: [/* @__PURE__ */ n("div", {
|
|
2269
|
-
|
|
2270
|
-
|
|
2532
|
+
ref: b,
|
|
2533
|
+
className: `${$.frame} ${oe ? $.fullscreen : ""}`,
|
|
2534
|
+
style: { aspectRatio: c },
|
|
2535
|
+
"aria-busy": fe || void 0,
|
|
2536
|
+
tabIndex: g && r.length ? 0 : void 0,
|
|
2537
|
+
onPointerMove: he,
|
|
2538
|
+
onPointerDown: he,
|
|
2539
|
+
onFocusCapture: he,
|
|
2540
|
+
onMouseLeave: () => {
|
|
2541
|
+
M && !Y && ae(!1);
|
|
2542
|
+
},
|
|
2271
2543
|
children: [
|
|
2272
|
-
|
|
2273
|
-
...
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
|
|
2544
|
+
r.length > 0 && /* @__PURE__ */ n("video", {
|
|
2545
|
+
...v,
|
|
2546
|
+
ref: x,
|
|
2547
|
+
"aria-label": a,
|
|
2548
|
+
controls: !1,
|
|
2549
|
+
playsInline: _,
|
|
2550
|
+
loop: K,
|
|
2551
|
+
className: $.video,
|
|
2552
|
+
style: { objectFit: l },
|
|
2553
|
+
onClick: (e) => {
|
|
2554
|
+
v.onClick?.(e), ge();
|
|
2555
|
+
},
|
|
2556
|
+
onDoubleClick: (e) => {
|
|
2557
|
+
v.onDoubleClick?.(e), be();
|
|
2558
|
+
},
|
|
2559
|
+
onLoadStart: (e) => {
|
|
2560
|
+
O(!0), v.onLoadStart?.(e);
|
|
2561
|
+
},
|
|
2562
|
+
onLoadedMetadata: (e) => {
|
|
2563
|
+
z(e.currentTarget.duration || 0);
|
|
2564
|
+
let t = X.find(({ track: e }) => e.default);
|
|
2565
|
+
Se(t?.index ?? -1), v.onLoadedMetadata?.(e);
|
|
2566
|
+
},
|
|
2567
|
+
onDurationChange: (e) => {
|
|
2568
|
+
z(e.currentTarget.duration || 0), v.onDurationChange?.(e);
|
|
2569
|
+
},
|
|
2570
|
+
onTimeUpdate: (e) => {
|
|
2571
|
+
L(e.currentTarget.currentTime), v.onTimeUpdate?.(e);
|
|
2572
|
+
},
|
|
2573
|
+
onProgress: (e) => {
|
|
2574
|
+
let t = e.currentTarget;
|
|
2575
|
+
t.duration && t.buffered.length && V(t.buffered.end(t.buffered.length - 1) / t.duration), v.onProgress?.(e);
|
|
2576
|
+
},
|
|
2577
|
+
onLoadedData: (e) => {
|
|
2578
|
+
O(!1), j(!1), v.onLoadedData?.(e);
|
|
2579
|
+
},
|
|
2580
|
+
onCanPlay: (e) => {
|
|
2581
|
+
O(!1), j(!1), v.onCanPlay?.(e);
|
|
2582
|
+
},
|
|
2583
|
+
onWaiting: (e) => {
|
|
2584
|
+
j(!0), v.onWaiting?.(e);
|
|
2585
|
+
},
|
|
2586
|
+
onPlaying: (e) => {
|
|
2587
|
+
N(!0), F(!1), j(!1), v.onPlaying?.(e);
|
|
2588
|
+
},
|
|
2589
|
+
onPlay: (e) => {
|
|
2590
|
+
N(!0), v.onPlay?.(e);
|
|
2591
|
+
},
|
|
2592
|
+
onPause: (e) => {
|
|
2593
|
+
N(!1), v.onPause?.(e);
|
|
2594
|
+
},
|
|
2595
|
+
onEnded: (e) => {
|
|
2596
|
+
N(!1), F(!0), ae(!0), v.onEnded?.(e);
|
|
2597
|
+
},
|
|
2598
|
+
onVolumeChange: (e) => {
|
|
2599
|
+
ee(e.currentTarget.volume), W(e.currentTarget.muted), v.onVolumeChange?.(e);
|
|
2600
|
+
},
|
|
2601
|
+
onRateChange: (e) => {
|
|
2602
|
+
te(e.currentTarget.playbackRate), v.onRateChange?.(e);
|
|
2603
|
+
},
|
|
2279
2604
|
onError: (e) => {
|
|
2280
|
-
|
|
2605
|
+
O(!1), j(!1), E(!0), v.onError?.(e);
|
|
2281
2606
|
},
|
|
2282
|
-
children: [
|
|
2607
|
+
children: [r.map((e) => /* @__PURE__ */ t("source", { ...e }, `${e.src}-${e.type}`)), i.map((e) => /* @__PURE__ */ t("track", { ...e }, `${e.src}-${e.srcLang}`))]
|
|
2283
2608
|
}),
|
|
2284
|
-
|
|
2285
|
-
className:
|
|
2286
|
-
|
|
2609
|
+
fe && /* @__PURE__ */ n("div", {
|
|
2610
|
+
className: $.overlay,
|
|
2611
|
+
role: "status",
|
|
2612
|
+
"aria-live": "polite",
|
|
2613
|
+
children: [/* @__PURE__ */ t("div", {
|
|
2614
|
+
className: $.loaderViewport,
|
|
2615
|
+
"aria-hidden": "true",
|
|
2616
|
+
children: /* @__PURE__ */ t("div", {
|
|
2617
|
+
className: $.loaderScale,
|
|
2618
|
+
children: /* @__PURE__ */ t(ht, {})
|
|
2619
|
+
})
|
|
2620
|
+
}), /* @__PURE__ */ t("span", { children: "Загрузка видео" })]
|
|
2621
|
+
}),
|
|
2622
|
+
!fe && k && !de && /* @__PURE__ */ t("div", {
|
|
2623
|
+
className: $.buffering,
|
|
2624
|
+
role: "status",
|
|
2625
|
+
"aria-label": "Буферизация видео",
|
|
2626
|
+
children: /* @__PURE__ */ t(S, { variant: "empty" })
|
|
2627
|
+
}),
|
|
2628
|
+
pe && /* @__PURE__ */ n("div", {
|
|
2629
|
+
className: `${$.state} ${$.empty}`,
|
|
2630
|
+
role: "status",
|
|
2631
|
+
children: [
|
|
2632
|
+
/* @__PURE__ */ t(A, {
|
|
2633
|
+
name: "IconInfoCircle",
|
|
2634
|
+
className: $.stateIcon,
|
|
2635
|
+
width: 40,
|
|
2636
|
+
height: 40
|
|
2637
|
+
}),
|
|
2638
|
+
/* @__PURE__ */ t("strong", { children: "Видео отсутствует" }),
|
|
2639
|
+
m ?? /* @__PURE__ */ t("span", { children: "Источник видео не указан" })
|
|
2640
|
+
]
|
|
2287
2641
|
}),
|
|
2288
|
-
|
|
2289
|
-
className:
|
|
2642
|
+
!fe && de && /* @__PURE__ */ n("div", {
|
|
2643
|
+
className: `${$.state} ${$.error}`,
|
|
2290
2644
|
role: "alert",
|
|
2291
|
-
children:
|
|
2645
|
+
children: [
|
|
2646
|
+
/* @__PURE__ */ t(A, {
|
|
2647
|
+
name: "IconWarning",
|
|
2648
|
+
className: $.stateIcon,
|
|
2649
|
+
width: 40,
|
|
2650
|
+
height: 40
|
|
2651
|
+
}),
|
|
2652
|
+
m ?? /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("strong", { children: "Видео недоступно" }), /* @__PURE__ */ t("span", { children: de })] }),
|
|
2653
|
+
r.length > 0 && /* @__PURE__ */ t(w, {
|
|
2654
|
+
size: "sm",
|
|
2655
|
+
variant: "secondary",
|
|
2656
|
+
onClick: we,
|
|
2657
|
+
children: "Повторить"
|
|
2658
|
+
})
|
|
2659
|
+
]
|
|
2660
|
+
}),
|
|
2661
|
+
!fe && !de && P && /* @__PURE__ */ t("button", {
|
|
2662
|
+
type: "button",
|
|
2663
|
+
className: $.replay,
|
|
2664
|
+
"aria-label": "Воспроизвести заново",
|
|
2665
|
+
onClick: () => void ge(),
|
|
2666
|
+
children: /* @__PURE__ */ t(A, {
|
|
2667
|
+
name: "IconReplay",
|
|
2668
|
+
width: 28,
|
|
2669
|
+
height: 28
|
|
2670
|
+
})
|
|
2671
|
+
}),
|
|
2672
|
+
g && r.length > 0 && !fe && !de && /* @__PURE__ */ n("div", {
|
|
2673
|
+
className: `${$.controlsLayer} ${ie || !M ? $.controlsVisible : ""}`,
|
|
2674
|
+
onClick: (e) => e.stopPropagation(),
|
|
2675
|
+
children: [Y && /* @__PURE__ */ n("div", {
|
|
2676
|
+
className: $.settings,
|
|
2677
|
+
role: "dialog",
|
|
2678
|
+
"aria-label": "Настройки видео",
|
|
2679
|
+
children: [
|
|
2680
|
+
/* @__PURE__ */ n("label", { children: [/* @__PURE__ */ t("span", { children: "Скорость" }), /* @__PURE__ */ t("select", {
|
|
2681
|
+
value: G,
|
|
2682
|
+
onChange: (e) => {
|
|
2683
|
+
let t = Number(e.target.value);
|
|
2684
|
+
x.current && (x.current.playbackRate = t);
|
|
2685
|
+
},
|
|
2686
|
+
children: At.map((e) => /* @__PURE__ */ n("option", {
|
|
2687
|
+
value: e,
|
|
2688
|
+
children: [e, "×"]
|
|
2689
|
+
}, e))
|
|
2690
|
+
})] }),
|
|
2691
|
+
X.length > 0 && /* @__PURE__ */ n("label", { children: [/* @__PURE__ */ t("span", { children: "Субтитры" }), /* @__PURE__ */ n("select", {
|
|
2692
|
+
value: J,
|
|
2693
|
+
onChange: (e) => Se(Number(e.target.value)),
|
|
2694
|
+
children: [/* @__PURE__ */ t("option", {
|
|
2695
|
+
value: -1,
|
|
2696
|
+
children: "Выключены"
|
|
2697
|
+
}), X.map(({ track: e, index: n }) => /* @__PURE__ */ t("option", {
|
|
2698
|
+
value: n,
|
|
2699
|
+
children: e.label
|
|
2700
|
+
}, `${e.srcLang}-${e.label}`))]
|
|
2701
|
+
})] }),
|
|
2702
|
+
/* @__PURE__ */ n("button", {
|
|
2703
|
+
type: "button",
|
|
2704
|
+
className: $.settingsAction,
|
|
2705
|
+
"aria-pressed": K,
|
|
2706
|
+
onClick: () => q((e) => !e),
|
|
2707
|
+
children: [/* @__PURE__ */ t("span", { children: "Повтор" }), /* @__PURE__ */ t("span", { children: K ? "Вкл." : "Выкл." })]
|
|
2708
|
+
}),
|
|
2709
|
+
me && /* @__PURE__ */ t("button", {
|
|
2710
|
+
type: "button",
|
|
2711
|
+
className: $.settingsAction,
|
|
2712
|
+
"aria-pressed": ce,
|
|
2713
|
+
onClick: () => void xe(),
|
|
2714
|
+
children: /* @__PURE__ */ n("span", {
|
|
2715
|
+
className: $.settingsActionLabel,
|
|
2716
|
+
children: [/* @__PURE__ */ t(A, {
|
|
2717
|
+
name: "IconPictureInPicture",
|
|
2718
|
+
width: 18,
|
|
2719
|
+
height: 18
|
|
2720
|
+
}), "Картинка в картинке"]
|
|
2721
|
+
})
|
|
2722
|
+
})
|
|
2723
|
+
]
|
|
2724
|
+
}), /* @__PURE__ */ n("div", {
|
|
2725
|
+
className: $.controls,
|
|
2726
|
+
children: [
|
|
2727
|
+
/* @__PURE__ */ t("div", {
|
|
2728
|
+
className: $.controlGroup,
|
|
2729
|
+
children: /* @__PURE__ */ t("button", {
|
|
2730
|
+
type: "button",
|
|
2731
|
+
className: `${$.controlButton} ${$.playButton}`,
|
|
2732
|
+
"aria-label": M ? "Пауза" : "Воспроизвести",
|
|
2733
|
+
title: M ? "Пауза (K)" : "Воспроизвести (K)",
|
|
2734
|
+
onClick: () => void ge(),
|
|
2735
|
+
children: /* @__PURE__ */ t(A, {
|
|
2736
|
+
name: M ? "IconPause" : "IconPlay",
|
|
2737
|
+
width: 24,
|
|
2738
|
+
height: 24
|
|
2739
|
+
})
|
|
2740
|
+
})
|
|
2741
|
+
}),
|
|
2742
|
+
/* @__PURE__ */ n("div", {
|
|
2743
|
+
className: `${$.controlGroup} ${$.volumeGroup}`,
|
|
2744
|
+
children: [/* @__PURE__ */ t("button", {
|
|
2745
|
+
type: "button",
|
|
2746
|
+
className: $.controlButton,
|
|
2747
|
+
"aria-label": U ? "Включить звук" : "Выключить звук",
|
|
2748
|
+
"aria-pressed": U,
|
|
2749
|
+
title: "Звук (M)",
|
|
2750
|
+
onClick: _e,
|
|
2751
|
+
children: /* @__PURE__ */ t(A, {
|
|
2752
|
+
name: U || H === 0 ? "IconVolumeMuted" : "IconVolume",
|
|
2753
|
+
width: 22,
|
|
2754
|
+
height: 22
|
|
2755
|
+
})
|
|
2756
|
+
}), /* @__PURE__ */ t("input", {
|
|
2757
|
+
className: $.volume,
|
|
2758
|
+
type: "range",
|
|
2759
|
+
min: 0,
|
|
2760
|
+
max: 1,
|
|
2761
|
+
step: .05,
|
|
2762
|
+
value: U ? 0 : H,
|
|
2763
|
+
"aria-label": "Громкость",
|
|
2764
|
+
"aria-valuetext": `${Math.round((U ? 0 : H) * 100)}%`,
|
|
2765
|
+
onChange: (e) => ve(Number(e.target.value))
|
|
2766
|
+
})]
|
|
2767
|
+
}),
|
|
2768
|
+
/* @__PURE__ */ n("div", {
|
|
2769
|
+
className: `${$.controlGroup} ${$.timelineGroup}`,
|
|
2770
|
+
children: [
|
|
2771
|
+
/* @__PURE__ */ t("span", {
|
|
2772
|
+
className: $.time,
|
|
2773
|
+
children: Et(I)
|
|
2774
|
+
}),
|
|
2775
|
+
/* @__PURE__ */ t("input", {
|
|
2776
|
+
className: $.timeline,
|
|
2777
|
+
style: Te,
|
|
2778
|
+
type: "range",
|
|
2779
|
+
min: 0,
|
|
2780
|
+
max: R || 0,
|
|
2781
|
+
step: .01,
|
|
2782
|
+
value: Math.min(I, R || 0),
|
|
2783
|
+
"aria-label": "Позиция воспроизведения",
|
|
2784
|
+
"aria-valuetext": `${Et(I)} из ${Et(R)}`,
|
|
2785
|
+
onChange: (e) => ye(Number(e.target.value))
|
|
2786
|
+
}),
|
|
2787
|
+
/* @__PURE__ */ t("span", {
|
|
2788
|
+
className: $.time,
|
|
2789
|
+
children: Et(R)
|
|
2790
|
+
})
|
|
2791
|
+
]
|
|
2792
|
+
}),
|
|
2793
|
+
/* @__PURE__ */ n("div", {
|
|
2794
|
+
className: $.controlGroup,
|
|
2795
|
+
children: [/* @__PURE__ */ t("button", {
|
|
2796
|
+
type: "button",
|
|
2797
|
+
className: $.controlButton,
|
|
2798
|
+
"aria-label": "Настройки",
|
|
2799
|
+
"aria-expanded": Y,
|
|
2800
|
+
title: "Настройки",
|
|
2801
|
+
onClick: () => re((e) => !e),
|
|
2802
|
+
children: /* @__PURE__ */ t(A, {
|
|
2803
|
+
name: "IconSettings",
|
|
2804
|
+
width: 22,
|
|
2805
|
+
height: 22
|
|
2806
|
+
})
|
|
2807
|
+
}), /* @__PURE__ */ t("button", {
|
|
2808
|
+
type: "button",
|
|
2809
|
+
className: $.controlButton,
|
|
2810
|
+
"aria-label": oe ? "Выйти из полноэкранного режима" : "Полноэкранный режим",
|
|
2811
|
+
title: "Полноэкранный режим (F)",
|
|
2812
|
+
onClick: () => void be(),
|
|
2813
|
+
children: /* @__PURE__ */ t(A, {
|
|
2814
|
+
name: oe ? "IconFullscreenExit" : "IconFullscreen",
|
|
2815
|
+
width: 22,
|
|
2816
|
+
height: 22
|
|
2817
|
+
})
|
|
2818
|
+
})]
|
|
2819
|
+
})
|
|
2820
|
+
]
|
|
2821
|
+
})]
|
|
2292
2822
|
})
|
|
2293
2823
|
]
|
|
2294
2824
|
}), /* @__PURE__ */ t("figcaption", {
|
|
2295
|
-
className:
|
|
2296
|
-
children:
|
|
2825
|
+
className: $.caption,
|
|
2826
|
+
children: a
|
|
2297
2827
|
})]
|
|
2298
2828
|
});
|
|
2299
|
-
},
|
|
2300
|
-
popup: "_popup_15ovj_1",
|
|
2301
|
-
trigger: "_trigger_15ovj_15",
|
|
2302
|
-
content: "_content_15ovj_23",
|
|
2303
|
-
top: "_top_15ovj_107",
|
|
2304
|
-
right: "_right_15ovj_141",
|
|
2305
|
-
bottom: "_bottom_15ovj_175",
|
|
2306
|
-
left: "_left_15ovj_209"
|
|
2307
|
-
}, Ct = ({ content: r, children: i, placement: a = "top", disabled: o = !1 }) => o ? /* @__PURE__ */ t(e, { children: i }) : /* @__PURE__ */ n("span", {
|
|
2308
|
-
className: `${St.popup} ${St[a]}`,
|
|
2309
|
-
children: [/* @__PURE__ */ t("span", {
|
|
2310
|
-
className: St.trigger,
|
|
2311
|
-
children: i
|
|
2312
|
-
}), /* @__PURE__ */ t("span", {
|
|
2313
|
-
className: St.content,
|
|
2314
|
-
role: "tooltip",
|
|
2315
|
-
children: r
|
|
2316
|
-
})]
|
|
2317
|
-
}), wt = {
|
|
2829
|
+
}, Mt = {
|
|
2318
2830
|
root: "_root_1tdda_1",
|
|
2319
2831
|
trigger: "_trigger_1tdda_15",
|
|
2320
2832
|
heading: "_heading_1tdda_41",
|
|
@@ -2324,54 +2836,99 @@ var T = {
|
|
|
2324
2836
|
open: "_open_1tdda_91",
|
|
2325
2837
|
content: "_content_1tdda_99",
|
|
2326
2838
|
contentInner: "_contentInner_1tdda_119"
|
|
2327
|
-
},
|
|
2328
|
-
|
|
2329
|
-
|
|
2330
|
-
|
|
2839
|
+
}, Nt = (e, t, n, r = 16) => {
|
|
2840
|
+
if (t > Math.max(0, n - r * 2)) {
|
|
2841
|
+
let t = e - r;
|
|
2842
|
+
return Math.abs(t) <= 1 ? {
|
|
2843
|
+
alignment: "none",
|
|
2844
|
+
delta: 0
|
|
2845
|
+
} : {
|
|
2846
|
+
alignment: "start",
|
|
2847
|
+
delta: t
|
|
2848
|
+
};
|
|
2849
|
+
}
|
|
2850
|
+
let i = e + t, a = n - r;
|
|
2851
|
+
return i > a ? {
|
|
2852
|
+
alignment: "end",
|
|
2853
|
+
delta: i - a
|
|
2854
|
+
} : e < r ? {
|
|
2855
|
+
alignment: "start",
|
|
2856
|
+
delta: e - r
|
|
2857
|
+
} : {
|
|
2858
|
+
alignment: "none",
|
|
2859
|
+
delta: 0
|
|
2860
|
+
};
|
|
2861
|
+
}, Pt = ({ title: e, subtitle: r, children: i, defaultOpen: a = !1, open: o, onOpenChange: l, autoScrollOnOpen: u = !0, scrollOffset: p = 16, className: m = "" }) => {
|
|
2862
|
+
let h = c(), [g, _] = f(a), v = o ?? g, y = d(null), b = d(null), x = d(v);
|
|
2863
|
+
return s(() => {
|
|
2864
|
+
let e = x.current;
|
|
2865
|
+
if (x.current = v, !v || e || !u) return;
|
|
2866
|
+
let t = y.current, n = b.current;
|
|
2867
|
+
if (!t || !n || typeof window > "u") return;
|
|
2868
|
+
let r = !1, i = () => {
|
|
2869
|
+
if (r) return;
|
|
2870
|
+
r = !0;
|
|
2871
|
+
let e = t.getBoundingClientRect(), n = Nt(e.top, e.height, window.innerHeight, p);
|
|
2872
|
+
if (n.alignment === "none") return;
|
|
2873
|
+
let i = window.matchMedia?.("(prefers-reduced-motion: reduce)").matches;
|
|
2874
|
+
window.scrollBy({
|
|
2875
|
+
top: n.delta,
|
|
2876
|
+
behavior: i ? "auto" : "smooth"
|
|
2877
|
+
});
|
|
2878
|
+
}, a = (e) => {
|
|
2879
|
+
e.target === n && e.propertyName === "grid-template-rows" && i();
|
|
2880
|
+
};
|
|
2881
|
+
n.addEventListener("transitionend", a);
|
|
2882
|
+
let o = window.setTimeout(i, 280);
|
|
2883
|
+
return () => {
|
|
2884
|
+
n.removeEventListener("transitionend", a), window.clearTimeout(o);
|
|
2885
|
+
};
|
|
2886
|
+
}, [
|
|
2887
|
+
u,
|
|
2888
|
+
v,
|
|
2889
|
+
p
|
|
2890
|
+
]), /* @__PURE__ */ n("section", {
|
|
2891
|
+
ref: y,
|
|
2892
|
+
className: `${Mt.root} ${v ? Mt.open : ""} ${m}`,
|
|
2331
2893
|
children: [/* @__PURE__ */ n("button", {
|
|
2332
2894
|
type: "button",
|
|
2333
|
-
className:
|
|
2334
|
-
"aria-expanded":
|
|
2335
|
-
"aria-controls":
|
|
2895
|
+
className: Mt.trigger,
|
|
2896
|
+
"aria-expanded": v,
|
|
2897
|
+
"aria-controls": h,
|
|
2336
2898
|
onClick: () => {
|
|
2337
|
-
let e = !
|
|
2338
|
-
o === void 0 &&
|
|
2899
|
+
let e = !v;
|
|
2900
|
+
o === void 0 && _(e), l?.(e);
|
|
2339
2901
|
},
|
|
2340
2902
|
children: [/* @__PURE__ */ n("span", {
|
|
2341
|
-
className:
|
|
2903
|
+
className: Mt.heading,
|
|
2342
2904
|
children: [/* @__PURE__ */ t("span", {
|
|
2343
|
-
className:
|
|
2905
|
+
className: Mt.title,
|
|
2344
2906
|
children: e
|
|
2345
2907
|
}), r && /* @__PURE__ */ t("span", {
|
|
2346
|
-
className:
|
|
2908
|
+
className: Mt.subtitle,
|
|
2347
2909
|
children: r
|
|
2348
2910
|
})]
|
|
2349
2911
|
}), /* @__PURE__ */ t("span", {
|
|
2350
|
-
className:
|
|
2912
|
+
className: Mt.icon,
|
|
2351
2913
|
"aria-hidden": "true",
|
|
2352
|
-
children: /* @__PURE__ */ t(
|
|
2353
|
-
|
|
2354
|
-
|
|
2355
|
-
|
|
2356
|
-
d: "M5 7.5L10 12.5L15 7.5",
|
|
2357
|
-
stroke: "currentColor",
|
|
2358
|
-
strokeWidth: "1.8",
|
|
2359
|
-
strokeLinecap: "round",
|
|
2360
|
-
strokeLinejoin: "round"
|
|
2361
|
-
})
|
|
2914
|
+
children: /* @__PURE__ */ t(A, {
|
|
2915
|
+
name: "IconChevron",
|
|
2916
|
+
width: 20,
|
|
2917
|
+
height: 20
|
|
2362
2918
|
})
|
|
2363
2919
|
})]
|
|
2364
2920
|
}), /* @__PURE__ */ t("div", {
|
|
2365
|
-
|
|
2366
|
-
|
|
2367
|
-
|
|
2921
|
+
ref: b,
|
|
2922
|
+
id: h,
|
|
2923
|
+
className: Mt.content,
|
|
2924
|
+
"aria-hidden": !v,
|
|
2368
2925
|
children: /* @__PURE__ */ t("div", {
|
|
2369
|
-
className:
|
|
2926
|
+
className: Mt.contentInner,
|
|
2370
2927
|
children: i
|
|
2371
2928
|
})
|
|
2372
2929
|
})]
|
|
2373
2930
|
});
|
|
2374
|
-
},
|
|
2931
|
+
}, Ft = ({ children: e, containerId: t = "overlay-root" }) => {
|
|
2375
2932
|
let [n, r] = f(null);
|
|
2376
2933
|
return s(() => {
|
|
2377
2934
|
let e = document.getElementById(t);
|
|
@@ -2386,4 +2943,4 @@ var T = {
|
|
|
2386
2943
|
}, [t]), n ? p(e, n) : null;
|
|
2387
2944
|
};
|
|
2388
2945
|
//#endregion
|
|
2389
|
-
export {
|
|
2946
|
+
export { at as ConfirmModal, Pt as DSAccordion, b as DSBadge, w as DSButton, M as DSCheckbox, Se as DSDataTable, q as DSDateRange, G as DSDateTimePicker, ce as DSDropDown, De as DSDropDownMultiple, E as DSFieldLabel, D as DSFieldMessage, qe as DSFileInput, He as DSFilters, A as DSIcon, Re as DSInfoBlock, ke as DSInput, S as DSLoader, $e as DSModal, Qe as DSModalFrame, ht as DSPageLoader, Ft as DSPortal, Be as DSRadioButton, Ie as DSSearchDropDown, ne as DSSkeleton, ue as DSSort, vt as DSToast, St as DSToastProvider, Tt as DSTooltip, jt as DSVideoPlayerFrame, ot as ErrorModal, et as ModalSystemProvider, st as builtInModalRegistry, tt as defineModalRegistry, R as formatDateTimeLocalValue, Nt as getDSAccordionScrollTarget, fe as getDSDataTablePaginationItems, lt as getErrorMessage, oe as getNextEnabledOptionIndex, K as isValidDateRange, z as parseDateTimeLocalValue, Ye as resetModalStore, xt as resetToastStore, ct as useConfirmModal, dt as useConfirmModalStore, ut as useErrorModal, ft as useErrorModalStore, pt as useModals, Q as useModalsStore, Ct as useToast, bt as useToastStore, pe as validateDSDataTableData };
|