@efficiency-point/design-system 0.0.7 → 0.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DSFileInput/DSFileInput.d.ts +30 -0
- package/dist/components/DSFileInput/DSFileInput.d.ts.map +1 -0
- package/dist/components/DSInput/DSInput.d.ts +3 -0
- package/dist/components/DSInput/DSInput.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +369 -214
- package/dist/style.css +1 -1
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -195,7 +195,7 @@ var T = {
|
|
|
195
195
|
if (!e) return "";
|
|
196
196
|
let n = `${e.getFullYear()}-${N(e.getMonth() + 1)}-${N(e.getDate())}`, r = `${N(e.getHours())}:${N(e.getMinutes())}`;
|
|
197
197
|
return t === "date" ? n : t === "time" ? r : `${n}T${r}`;
|
|
198
|
-
},
|
|
198
|
+
}, I = (e, t) => {
|
|
199
199
|
if (!e) return null;
|
|
200
200
|
if (t === "time") {
|
|
201
201
|
let t = /^(\d{2}):(\d{2})$/.exec(e);
|
|
@@ -207,47 +207,47 @@ var T = {
|
|
|
207
207
|
}
|
|
208
208
|
let n = new Date(t === "date" ? `${e}T00:00` : e);
|
|
209
209
|
return Number.isNaN(n.getTime()) ? null : n;
|
|
210
|
-
},
|
|
210
|
+
}, L = (e, t) => {
|
|
211
211
|
if (!e) return "";
|
|
212
212
|
let n = `${N(e.getDate())}.${N(e.getMonth() + 1)}.${e.getFullYear()}`, r = `${N(e.getHours())}:${N(e.getMinutes())}`;
|
|
213
213
|
return t === "date" ? n : t === "time" ? r : `${n} ${r}`;
|
|
214
|
-
},
|
|
214
|
+
}, ee = (e) => {
|
|
215
215
|
let t = new Date(e.getFullYear(), e.getMonth(), 1), n = (t.getDay() + 6) % 7, r = new Date(t);
|
|
216
216
|
return r.setDate(t.getDate() - n), Array.from({ length: 42 }, (e, t) => {
|
|
217
217
|
let n = new Date(r);
|
|
218
218
|
return n.setDate(r.getDate() + t), n;
|
|
219
219
|
});
|
|
220
|
-
},
|
|
220
|
+
}, te = (e, t) => !!(e && e.getFullYear() === t.getFullYear() && e.getMonth() === t.getMonth() && e.getDate() === t.getDate()), ne = (e, t, n) => {
|
|
221
221
|
let r = P(e).getTime();
|
|
222
222
|
return !!(t && r < P(t).getTime() || n && r > P(n).getTime());
|
|
223
|
-
},
|
|
224
|
-
let C = c(), w = b ?? `ds-date-time-${x ?? C}`, T = p ? `${w}-hint` : void 0, O = m ? `${w}-error` : void 0, k = u(null), N = u(null), [P,
|
|
223
|
+
}, R = ({ value: r, onChange: i, mode: a = "date", label: o, placeholder: f, hint: p, error: m, disabled: h = !1, readOnly: g = !1, required: _ = !1, min: v, max: y, id: b, name: x, className: S = "" }) => {
|
|
224
|
+
let C = c(), w = b ?? `ds-date-time-${x ?? C}`, T = p ? `${w}-hint` : void 0, O = m ? `${w}-error` : void 0, k = u(null), N = u(null), [P, R] = d(!1), [z, B] = d(r ?? /* @__PURE__ */ new Date()), [re, V] = d(F(r, "time")), ie = l(() => ee(z), [z]), H = a !== "time", ae = a !== "date";
|
|
225
225
|
s(() => {
|
|
226
|
-
r &&
|
|
226
|
+
r && B(r), V(F(r, "time"));
|
|
227
227
|
}, [r]), s(() => {
|
|
228
228
|
let e = (e) => {
|
|
229
|
-
k.current?.contains(e.target) ||
|
|
229
|
+
k.current?.contains(e.target) || R(!1);
|
|
230
230
|
}, t = (e) => {
|
|
231
|
-
e.key === "Escape" && (
|
|
231
|
+
e.key === "Escape" && (R(!1), N.current?.focus());
|
|
232
232
|
};
|
|
233
233
|
return document.addEventListener("mousedown", e), document.addEventListener("keydown", t), () => {
|
|
234
234
|
document.removeEventListener("mousedown", e), document.removeEventListener("keydown", t);
|
|
235
235
|
};
|
|
236
236
|
}, []);
|
|
237
|
-
let
|
|
238
|
-
if (
|
|
237
|
+
let U = (e) => {
|
|
238
|
+
if (ne(e, v, y)) return;
|
|
239
239
|
let t = new Date(e);
|
|
240
|
-
t.setHours(r?.getHours() ?? 0, r?.getMinutes() ?? 0, 0, 0), i?.(t), a === "date" &&
|
|
241
|
-
},
|
|
242
|
-
if (
|
|
240
|
+
t.setHours(r?.getHours() ?? 0, r?.getMinutes() ?? 0, 0, 0), i?.(t), a === "date" && R(!1);
|
|
241
|
+
}, oe = (e) => {
|
|
242
|
+
if (V(e), !e) {
|
|
243
243
|
i?.(null);
|
|
244
244
|
return;
|
|
245
245
|
}
|
|
246
|
-
let t =
|
|
246
|
+
let t = I(e, "time");
|
|
247
247
|
if (!t) return;
|
|
248
|
-
let n = new Date(a === "datetime" ? r ??
|
|
248
|
+
let n = new Date(a === "datetime" ? r ?? z : /* @__PURE__ */ new Date());
|
|
249
249
|
n.setHours(t.getHours(), t.getMinutes(), 0, 0), !(v && n < v || y && n > y) && i?.(n);
|
|
250
|
-
},
|
|
250
|
+
}, se = f ?? (a === "date" ? "Выберите дату" : a === "time" ? "Введите время" : "Выберите дату и время"), W = [T, O].filter(Boolean).join(" ") || void 0;
|
|
251
251
|
return /* @__PURE__ */ n("div", {
|
|
252
252
|
ref: k,
|
|
253
253
|
className: `${A.wrapper} ${S}`,
|
|
@@ -270,11 +270,11 @@ var T = {
|
|
|
270
270
|
"aria-haspopup": "dialog",
|
|
271
271
|
"aria-describedby": W,
|
|
272
272
|
onClick: () => {
|
|
273
|
-
g ||
|
|
273
|
+
g || R((e) => !e);
|
|
274
274
|
},
|
|
275
275
|
children: [/* @__PURE__ */ t("span", {
|
|
276
276
|
className: r ? A.value : A.placeholder,
|
|
277
|
-
children:
|
|
277
|
+
children: L(r, a) || se
|
|
278
278
|
}), /* @__PURE__ */ t("span", {
|
|
279
279
|
"aria-hidden": "true",
|
|
280
280
|
children: "▾"
|
|
@@ -283,8 +283,8 @@ var T = {
|
|
|
283
283
|
P && !g && /* @__PURE__ */ n("div", {
|
|
284
284
|
className: A.panel,
|
|
285
285
|
role: "dialog",
|
|
286
|
-
"aria-label": o ??
|
|
287
|
-
children: [
|
|
286
|
+
"aria-label": o ?? se,
|
|
287
|
+
children: [H && /* @__PURE__ */ n(e, { children: [
|
|
288
288
|
/* @__PURE__ */ n("div", {
|
|
289
289
|
className: A.calendarHeader,
|
|
290
290
|
children: [
|
|
@@ -292,14 +292,14 @@ var T = {
|
|
|
292
292
|
type: "button",
|
|
293
293
|
className: A.nav,
|
|
294
294
|
"aria-label": "Предыдущий месяц",
|
|
295
|
-
onClick: () =>
|
|
295
|
+
onClick: () => B(new Date(z.getFullYear(), z.getMonth() - 1, 1)),
|
|
296
296
|
children: "‹"
|
|
297
297
|
}),
|
|
298
298
|
/* @__PURE__ */ t("select", {
|
|
299
299
|
className: A.monthSelect,
|
|
300
300
|
"aria-label": "Месяц",
|
|
301
|
-
value:
|
|
302
|
-
onChange: (e) =>
|
|
301
|
+
value: z.getMonth(),
|
|
302
|
+
onChange: (e) => B(new Date(z.getFullYear(), Number(e.target.value), 1)),
|
|
303
303
|
children: M.map((e, n) => /* @__PURE__ */ t("option", {
|
|
304
304
|
value: n,
|
|
305
305
|
children: e
|
|
@@ -309,14 +309,14 @@ var T = {
|
|
|
309
309
|
className: A.yearInput,
|
|
310
310
|
type: "number",
|
|
311
311
|
"aria-label": "Год",
|
|
312
|
-
value:
|
|
313
|
-
onChange: (e) =>
|
|
312
|
+
value: z.getFullYear(),
|
|
313
|
+
onChange: (e) => B(new Date(Number(e.target.value), z.getMonth(), 1))
|
|
314
314
|
}),
|
|
315
315
|
/* @__PURE__ */ t("button", {
|
|
316
316
|
type: "button",
|
|
317
317
|
className: A.nav,
|
|
318
318
|
"aria-label": "Следующий месяц",
|
|
319
|
-
onClick: () =>
|
|
319
|
+
onClick: () => B(new Date(z.getFullYear(), z.getMonth() + 1, 1)),
|
|
320
320
|
children: "›"
|
|
321
321
|
})
|
|
322
322
|
]
|
|
@@ -327,25 +327,25 @@ var T = {
|
|
|
327
327
|
}),
|
|
328
328
|
/* @__PURE__ */ t("div", {
|
|
329
329
|
className: A.days,
|
|
330
|
-
children:
|
|
331
|
-
let n =
|
|
330
|
+
children: ie.map((e) => {
|
|
331
|
+
let n = te(r, e);
|
|
332
332
|
return /* @__PURE__ */ t("button", {
|
|
333
333
|
type: "button",
|
|
334
|
-
className: `${A.day} ${e.getMonth() ===
|
|
335
|
-
disabled:
|
|
334
|
+
className: `${A.day} ${e.getMonth() === z.getMonth() ? "" : A.outside} ${n ? A.selected : ""}`,
|
|
335
|
+
disabled: ne(e, v, y),
|
|
336
336
|
"aria-pressed": n,
|
|
337
|
-
onClick: () =>
|
|
337
|
+
onClick: () => U(e),
|
|
338
338
|
children: e.getDate()
|
|
339
339
|
}, e.toISOString());
|
|
340
340
|
})
|
|
341
341
|
})
|
|
342
|
-
] }),
|
|
342
|
+
] }), ae && /* @__PURE__ */ n("label", {
|
|
343
343
|
className: A.timeLabel,
|
|
344
344
|
children: [/* @__PURE__ */ t("span", { children: "Время" }), /* @__PURE__ */ t("input", {
|
|
345
345
|
className: A.timeInput,
|
|
346
346
|
type: "time",
|
|
347
|
-
value:
|
|
348
|
-
onChange: (e) =>
|
|
347
|
+
value: re,
|
|
348
|
+
onChange: (e) => oe(e.target.value)
|
|
349
349
|
})]
|
|
350
350
|
})]
|
|
351
351
|
}),
|
|
@@ -360,20 +360,20 @@ var T = {
|
|
|
360
360
|
})
|
|
361
361
|
]
|
|
362
362
|
});
|
|
363
|
-
},
|
|
363
|
+
}, z = {
|
|
364
364
|
root: "_root_9h2e2_1",
|
|
365
365
|
legend: "_legend_9h2e2_2",
|
|
366
366
|
range: "_range_9h2e2_3"
|
|
367
|
-
},
|
|
367
|
+
}, B = (e) => !!(e.from && e.to && e.from.getTime() <= e.to.getTime()), re = ({ 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 = "" }) => {
|
|
368
368
|
let g = l ?? (e.from && e.to && e.from > e.to ? "Дата «От» не может быть позже даты «До»" : void 0), _ = (e) => {
|
|
369
|
-
i?.(e),
|
|
369
|
+
i?.(e), B(e) && r?.(e);
|
|
370
370
|
};
|
|
371
371
|
return /* @__PURE__ */ n("fieldset", {
|
|
372
|
-
className: `${
|
|
372
|
+
className: `${z.root} ${h}`,
|
|
373
373
|
disabled: f,
|
|
374
374
|
children: [/* @__PURE__ */ n("div", {
|
|
375
|
-
className:
|
|
376
|
-
children: [/* @__PURE__ */ t(
|
|
375
|
+
className: z.range,
|
|
376
|
+
children: [/* @__PURE__ */ t(R, {
|
|
377
377
|
value: e.from,
|
|
378
378
|
mode: a === "datetime" ? "datetime" : a,
|
|
379
379
|
label: o,
|
|
@@ -387,7 +387,7 @@ var T = {
|
|
|
387
387
|
...e,
|
|
388
388
|
from: t
|
|
389
389
|
})
|
|
390
|
-
}), /* @__PURE__ */ t(
|
|
390
|
+
}), /* @__PURE__ */ t(R, {
|
|
391
391
|
value: e.to,
|
|
392
392
|
mode: a === "datetime" ? "datetime" : a,
|
|
393
393
|
label: s,
|
|
@@ -404,7 +404,7 @@ var T = {
|
|
|
404
404
|
})]
|
|
405
405
|
}), c && !g && /* @__PURE__ */ t(D, { children: c })]
|
|
406
406
|
});
|
|
407
|
-
},
|
|
407
|
+
}, V = {
|
|
408
408
|
group: "_group_1st6r_1",
|
|
409
409
|
skeleton: "_skeleton_1st6r_2",
|
|
410
410
|
text: "_text_1st6r_3",
|
|
@@ -412,17 +412,17 @@ var T = {
|
|
|
412
412
|
circular: "_circular_1st6r_5",
|
|
413
413
|
animated: "_animated_1st6r_6",
|
|
414
414
|
"ds-skeleton": "_ds-skeleton_1st6r_1"
|
|
415
|
-
},
|
|
416
|
-
className: `${
|
|
415
|
+
}, ie = ({ variant: e = "text", width: n = "100%", height: r, lines: i = 1, animated: a = !0, className: o = "" }) => /* @__PURE__ */ t("span", {
|
|
416
|
+
className: `${V.group} ${o}`,
|
|
417
417
|
"aria-hidden": "true",
|
|
418
418
|
children: Array.from({ length: Math.max(1, i) }, (o, s) => /* @__PURE__ */ t("span", {
|
|
419
|
-
className: `${
|
|
419
|
+
className: `${V.skeleton} ${V[e]} ${a ? V.animated : ""}`,
|
|
420
420
|
style: {
|
|
421
421
|
width: s === i - 1 && i > 1 ? "70%" : n,
|
|
422
422
|
height: r
|
|
423
423
|
}
|
|
424
424
|
}, s))
|
|
425
|
-
}),
|
|
425
|
+
}), H = {
|
|
426
426
|
wrapper: "_wrapper_dkn63_1",
|
|
427
427
|
label: "_label_dkn63_17",
|
|
428
428
|
container: "_container_dkn63_29",
|
|
@@ -438,13 +438,13 @@ var T = {
|
|
|
438
438
|
message: "_message_dkn63_265",
|
|
439
439
|
error: "_error_dkn63_267",
|
|
440
440
|
errorState: "_errorState_dkn63_293"
|
|
441
|
-
},
|
|
441
|
+
}, ae = (e, t, n) => {
|
|
442
442
|
for (let r = 0; r < e.length; r += 1) {
|
|
443
443
|
let i = (t + r * n + e.length) % e.length;
|
|
444
444
|
if (!e[i]?.disabled) return i;
|
|
445
445
|
}
|
|
446
446
|
return -1;
|
|
447
|
-
},
|
|
447
|
+
}, U = ({ options: r, value: i, onChange: a, placeholder: o = "Выберите опцию", disabled: f = !1, stringWhileDisabled: p = !1, label: m, error: h, hint: g, className: _ = "", name: v, id: y, needMark: b = !0, maxMenuHeight: x }) => {
|
|
448
448
|
let S = c(), C = y ?? `ds-dropdown-${v ?? S}`, [w, T] = d(!1), E = u(null), D = u(null), O = u([]), k = l(() => r.find((e) => e.value === i), [r, i]), A = g ? `${C}-hint` : void 0, j = h ? `${C}-error` : void 0, M = [A, j].filter(Boolean).join(" ") || void 0, N = f && p;
|
|
449
449
|
s(() => {
|
|
450
450
|
let e = (e) => {
|
|
@@ -457,7 +457,7 @@ var T = {
|
|
|
457
457
|
};
|
|
458
458
|
}, [w]);
|
|
459
459
|
let P = (e, t) => {
|
|
460
|
-
let n =
|
|
460
|
+
let n = ae(r, e, t);
|
|
461
461
|
O.current[n]?.focus(), O.current[n]?.scrollIntoView({ block: "nearest" });
|
|
462
462
|
}, F = (e) => {
|
|
463
463
|
e.disabled || (a?.(e.value, e), T(!1), D.current?.focus());
|
|
@@ -465,21 +465,21 @@ var T = {
|
|
|
465
465
|
return /* @__PURE__ */ n("div", {
|
|
466
466
|
ref: E,
|
|
467
467
|
className: [
|
|
468
|
-
|
|
469
|
-
h ?
|
|
468
|
+
H.wrapper,
|
|
469
|
+
h ? H.errorState : "",
|
|
470
470
|
_
|
|
471
471
|
].filter(Boolean).join(" "),
|
|
472
472
|
children: [
|
|
473
473
|
m && /* @__PURE__ */ t("label", {
|
|
474
474
|
htmlFor: N ? void 0 : C,
|
|
475
|
-
className:
|
|
475
|
+
className: H.label,
|
|
476
476
|
children: m
|
|
477
477
|
}),
|
|
478
478
|
/* @__PURE__ */ t("div", {
|
|
479
|
-
className:
|
|
479
|
+
className: H.container,
|
|
480
480
|
children: N ? /* @__PURE__ */ t("div", {
|
|
481
481
|
id: C,
|
|
482
|
-
className:
|
|
482
|
+
className: H.disabledText,
|
|
483
483
|
"aria-describedby": M,
|
|
484
484
|
children: k?.label ?? o
|
|
485
485
|
}) : /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ n("button", {
|
|
@@ -487,7 +487,7 @@ var T = {
|
|
|
487
487
|
id: C,
|
|
488
488
|
type: "button",
|
|
489
489
|
name: v,
|
|
490
|
-
className:
|
|
490
|
+
className: H.trigger,
|
|
491
491
|
disabled: f,
|
|
492
492
|
"aria-haspopup": "listbox",
|
|
493
493
|
"aria-expanded": w,
|
|
@@ -503,10 +503,10 @@ var T = {
|
|
|
503
503
|
}
|
|
504
504
|
},
|
|
505
505
|
children: [/* @__PURE__ */ t("span", {
|
|
506
|
-
className: k ?
|
|
506
|
+
className: k ? H.value : H.placeholder,
|
|
507
507
|
children: k?.label ?? o
|
|
508
508
|
}), /* @__PURE__ */ t("span", {
|
|
509
|
-
className: `${
|
|
509
|
+
className: `${H.chevron} ${w ? H.chevronOpen : ""}`,
|
|
510
510
|
"aria-hidden": "true",
|
|
511
511
|
children: /* @__PURE__ */ t("svg", {
|
|
512
512
|
viewBox: "0 0 20 20",
|
|
@@ -522,7 +522,7 @@ var T = {
|
|
|
522
522
|
})]
|
|
523
523
|
}), w && /* @__PURE__ */ t("ul", {
|
|
524
524
|
id: `${C}-listbox`,
|
|
525
|
-
className:
|
|
525
|
+
className: H.menu,
|
|
526
526
|
role: "listbox",
|
|
527
527
|
"aria-label": m,
|
|
528
528
|
style: { maxHeight: x },
|
|
@@ -538,7 +538,7 @@ var T = {
|
|
|
538
538
|
role: "option",
|
|
539
539
|
"aria-selected": o,
|
|
540
540
|
disabled: e.disabled,
|
|
541
|
-
className: `${
|
|
541
|
+
className: `${H.option} ${o ? H.selected : ""}`,
|
|
542
542
|
onClick: () => F(e),
|
|
543
543
|
onKeyDown: (e) => {
|
|
544
544
|
if ((e.key === "ArrowDown" || e.key === "ArrowUp") && (e.preventDefault(), P(a + (e.key === "ArrowDown" ? 1 : -1), e.key === "ArrowDown" ? 1 : -1)), e.key === "Tab" && T(!1), e.key === "Home" || e.key === "End") {
|
|
@@ -558,35 +558,35 @@ var T = {
|
|
|
558
558
|
}),
|
|
559
559
|
g && !h && /* @__PURE__ */ t("span", {
|
|
560
560
|
id: A,
|
|
561
|
-
className:
|
|
561
|
+
className: H.message,
|
|
562
562
|
children: g
|
|
563
563
|
}),
|
|
564
564
|
h && /* @__PURE__ */ t("span", {
|
|
565
565
|
id: j,
|
|
566
|
-
className:
|
|
566
|
+
className: H.error,
|
|
567
567
|
children: h
|
|
568
568
|
})
|
|
569
569
|
]
|
|
570
570
|
});
|
|
571
|
-
},
|
|
571
|
+
}, oe = (e) => `${e.id}:${e.direction}`, se = ({ options: e, value: n, onChange: r, label: i = "Сортировка", placeholder: a = "Выберите сортировку", disabled: o = !1, className: s }) => {
|
|
572
572
|
let c = e.flatMap((e) => [{
|
|
573
|
-
value:
|
|
573
|
+
value: oe({
|
|
574
574
|
id: e.id,
|
|
575
575
|
direction: "asc"
|
|
576
576
|
}),
|
|
577
577
|
label: e.ascLabel ?? `${e.label} · по возрастанию`,
|
|
578
578
|
disabled: e.disabled
|
|
579
579
|
}, {
|
|
580
|
-
value:
|
|
580
|
+
value: oe({
|
|
581
581
|
id: e.id,
|
|
582
582
|
direction: "desc"
|
|
583
583
|
}),
|
|
584
584
|
label: e.descLabel ?? `${e.label} · по убыванию`,
|
|
585
585
|
disabled: e.disabled
|
|
586
586
|
}]);
|
|
587
|
-
return /* @__PURE__ */ t(
|
|
587
|
+
return /* @__PURE__ */ t(U, {
|
|
588
588
|
options: c,
|
|
589
|
-
value: n ?
|
|
589
|
+
value: n ? oe(n) : "",
|
|
590
590
|
label: i,
|
|
591
591
|
placeholder: a,
|
|
592
592
|
disabled: o,
|
|
@@ -658,7 +658,7 @@ var T = {
|
|
|
658
658
|
className: j,
|
|
659
659
|
"aria-busy": h,
|
|
660
660
|
children: [
|
|
661
|
-
!i && !h && !M && k.length > 0 && /* @__PURE__ */ t(
|
|
661
|
+
!i && !h && !M && k.length > 0 && /* @__PURE__ */ t(se, {
|
|
662
662
|
className: W.mobileSort,
|
|
663
663
|
options: A,
|
|
664
664
|
value: w[0] ? {
|
|
@@ -699,7 +699,7 @@ var T = {
|
|
|
699
699
|
}),
|
|
700
700
|
/* @__PURE__ */ t("tbody", { children: h ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", {
|
|
701
701
|
colSpan: e.length,
|
|
702
|
-
children: /* @__PURE__ */ t(
|
|
702
|
+
children: /* @__PURE__ */ t(ie, { lines: 3 })
|
|
703
703
|
}) }) : M ? /* @__PURE__ */ t("tr", { children: /* @__PURE__ */ t("td", {
|
|
704
704
|
className: W.state,
|
|
705
705
|
colSpan: e.length,
|
|
@@ -716,7 +716,7 @@ var T = {
|
|
|
716
716
|
className: W.cards,
|
|
717
717
|
role: "list",
|
|
718
718
|
"aria-label": m ?? p,
|
|
719
|
-
children: h ? /* @__PURE__ */ t(
|
|
719
|
+
children: h ? /* @__PURE__ */ t(ie, { lines: 4 }) : M ? /* @__PURE__ */ t("div", {
|
|
720
720
|
className: W.state,
|
|
721
721
|
children: M
|
|
722
722
|
}) : k.length === 0 ? /* @__PURE__ */ t("div", {
|
|
@@ -764,30 +764,30 @@ var T = {
|
|
|
764
764
|
let n = r.includes(t.value) ? r.filter((e) => e !== t.value) : [...r, t.value];
|
|
765
765
|
i?.(n, e.filter((e) => n.includes(e.value))), v && (C(!1), T.current?.focus());
|
|
766
766
|
}, M = (t, n) => {
|
|
767
|
-
let r =
|
|
767
|
+
let r = ae(e, t, n);
|
|
768
768
|
E.current[r]?.focus(), E.current[r]?.scrollIntoView({ block: "nearest" });
|
|
769
769
|
};
|
|
770
770
|
return /* @__PURE__ */ n("div", {
|
|
771
771
|
ref: w,
|
|
772
772
|
className: [
|
|
773
|
-
|
|
774
|
-
p ?
|
|
773
|
+
H.wrapper,
|
|
774
|
+
p ? H.errorState : "",
|
|
775
775
|
h
|
|
776
776
|
].filter(Boolean).join(" "),
|
|
777
777
|
children: [
|
|
778
778
|
f && /* @__PURE__ */ t("label", {
|
|
779
779
|
htmlFor: x,
|
|
780
|
-
className:
|
|
780
|
+
className: H.label,
|
|
781
781
|
children: f
|
|
782
782
|
}),
|
|
783
783
|
/* @__PURE__ */ n("div", {
|
|
784
|
-
className:
|
|
784
|
+
className: H.container,
|
|
785
785
|
children: [/* @__PURE__ */ n("button", {
|
|
786
786
|
ref: T,
|
|
787
787
|
id: x,
|
|
788
788
|
type: "button",
|
|
789
789
|
name: g,
|
|
790
|
-
className:
|
|
790
|
+
className: H.trigger,
|
|
791
791
|
disabled: o,
|
|
792
792
|
"aria-haspopup": "listbox",
|
|
793
793
|
"aria-expanded": S,
|
|
@@ -803,16 +803,16 @@ var T = {
|
|
|
803
803
|
}
|
|
804
804
|
},
|
|
805
805
|
children: [/* @__PURE__ */ t("span", {
|
|
806
|
-
className: D.length ?
|
|
806
|
+
className: D.length ? H.value : H.placeholder,
|
|
807
807
|
children: O || a
|
|
808
808
|
}), /* @__PURE__ */ t("span", {
|
|
809
|
-
className: `${
|
|
809
|
+
className: `${H.chevron} ${S ? H.chevronOpen : ""}`,
|
|
810
810
|
"aria-hidden": "true",
|
|
811
811
|
children: "⌄"
|
|
812
812
|
})]
|
|
813
813
|
}), S && /* @__PURE__ */ t("ul", {
|
|
814
814
|
id: `${x}-listbox`,
|
|
815
|
-
className:
|
|
815
|
+
className: H.menu,
|
|
816
816
|
role: "listbox",
|
|
817
817
|
"aria-label": f,
|
|
818
818
|
"aria-multiselectable": "true",
|
|
@@ -829,7 +829,7 @@ var T = {
|
|
|
829
829
|
role: "option",
|
|
830
830
|
"aria-selected": o,
|
|
831
831
|
disabled: i.disabled,
|
|
832
|
-
className: `${
|
|
832
|
+
className: `${H.option} ${o ? H.selected : ""}`,
|
|
833
833
|
onClick: () => j(i),
|
|
834
834
|
onKeyDown: (t) => {
|
|
835
835
|
if (t.key === "ArrowDown" || t.key === "ArrowUp") {
|
|
@@ -855,12 +855,12 @@ var T = {
|
|
|
855
855
|
}),
|
|
856
856
|
m && !p && /* @__PURE__ */ t("span", {
|
|
857
857
|
id: k,
|
|
858
|
-
className:
|
|
858
|
+
className: H.message,
|
|
859
859
|
children: m
|
|
860
860
|
}),
|
|
861
861
|
p && /* @__PURE__ */ t("span", {
|
|
862
862
|
id: A,
|
|
863
|
-
className:
|
|
863
|
+
className: H.error,
|
|
864
864
|
children: p
|
|
865
865
|
})
|
|
866
866
|
]
|
|
@@ -928,74 +928,100 @@ var T = {
|
|
|
928
928
|
})]
|
|
929
929
|
});
|
|
930
930
|
}, K = {
|
|
931
|
-
wrapper: "
|
|
932
|
-
control: "
|
|
933
|
-
input: "
|
|
934
|
-
disabledText: "
|
|
935
|
-
inputError: "
|
|
936
|
-
|
|
937
|
-
}, he = ({ value: e, onChange: r, type: i = "text", placeholder: a = "", disabled: o = !1, readOnly:
|
|
938
|
-
let
|
|
939
|
-
return
|
|
940
|
-
|
|
931
|
+
wrapper: "_wrapper_15bo7_1",
|
|
932
|
+
control: "_control_15bo7_3",
|
|
933
|
+
input: "_input_15bo7_5",
|
|
934
|
+
disabledText: "_disabledText_15bo7_5",
|
|
935
|
+
inputError: "_inputError_15bo7_11",
|
|
936
|
+
trailingAction: "_trailingAction_15bo7_13"
|
|
937
|
+
}, he = ({ value: e, onChange: r, type: i = "text", placeholder: a = "", disabled: o = !1, readOnly: l = !1, stringWhileDisabled: f = !1, label: p, error: m, hint: h, className: g = "", name: _, id: v, clearable: y = !0, required: b = !1, selectTextOnFocus: x = !1, isPassword: S = !1, passwordVisibleLabel: C = "Скрыть пароль", passwordHiddenLabel: w = "Показать пароль", onFocus: T, ...O }) => {
|
|
938
|
+
let k = c(), A = v ?? `ds-input-${_ ?? k}`, j = u(null), [M, N] = d(!1), P = h ? `${A}-hint` : void 0, F = m ? `${A}-error` : void 0, I = String(e ?? ""), L = [P, F].filter(Boolean).join(" ") || void 0, ee = S ? M ? "text" : "password" : i;
|
|
939
|
+
return s(() => {
|
|
940
|
+
S || N(!1);
|
|
941
|
+
}, [S]), /* @__PURE__ */ n("div", {
|
|
942
|
+
className: `${K.wrapper} ${g}`,
|
|
941
943
|
children: [
|
|
942
|
-
|
|
943
|
-
htmlFor:
|
|
944
|
-
required:
|
|
944
|
+
p && /* @__PURE__ */ t(E, {
|
|
945
|
+
htmlFor: A,
|
|
946
|
+
required: b,
|
|
945
947
|
disabled: o,
|
|
946
|
-
children:
|
|
948
|
+
children: p
|
|
947
949
|
}),
|
|
948
|
-
o &&
|
|
949
|
-
id:
|
|
950
|
+
o && f ? /* @__PURE__ */ t("div", {
|
|
951
|
+
id: A,
|
|
950
952
|
className: K.disabledText,
|
|
951
|
-
"aria-describedby":
|
|
952
|
-
children:
|
|
953
|
+
"aria-describedby": L,
|
|
954
|
+
children: I || a
|
|
953
955
|
}) : /* @__PURE__ */ n("div", {
|
|
954
956
|
className: K.control,
|
|
955
|
-
children: [
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
957
|
+
children: [
|
|
958
|
+
/* @__PURE__ */ t("input", {
|
|
959
|
+
ref: j,
|
|
960
|
+
id: A,
|
|
961
|
+
name: _,
|
|
962
|
+
type: ee,
|
|
963
|
+
value: I,
|
|
964
|
+
placeholder: a,
|
|
965
|
+
disabled: o,
|
|
966
|
+
readOnly: l,
|
|
967
|
+
required: b,
|
|
968
|
+
"aria-invalid": !!m,
|
|
969
|
+
"aria-describedby": L,
|
|
970
|
+
className: `${K.input} ${m ? K.inputError : ""}`,
|
|
971
|
+
onChange: (e) => {
|
|
972
|
+
if (i === "number" && !S) {
|
|
973
|
+
let t = e.target.value === "" ? "" : Number(e.target.value);
|
|
974
|
+
r?.(t, e);
|
|
975
|
+
return;
|
|
976
|
+
}
|
|
977
|
+
r?.(e.target.value, e);
|
|
978
|
+
},
|
|
979
|
+
onFocus: (e) => {
|
|
980
|
+
x && e.currentTarget.value && e.currentTarget.select(), T?.(e);
|
|
981
|
+
},
|
|
982
|
+
...O
|
|
983
|
+
}),
|
|
984
|
+
S && /* @__PURE__ */ t("button", {
|
|
985
|
+
type: "button",
|
|
986
|
+
className: K.trailingAction,
|
|
987
|
+
disabled: o,
|
|
988
|
+
"aria-label": M ? C : w,
|
|
989
|
+
"aria-pressed": M,
|
|
990
|
+
onClick: () => N((e) => !e),
|
|
991
|
+
children: M ? /* @__PURE__ */ t("svg", {
|
|
992
|
+
viewBox: "0 0 24 24",
|
|
993
|
+
"aria-hidden": "true",
|
|
994
|
+
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" })
|
|
995
|
+
}) : /* @__PURE__ */ n("svg", {
|
|
996
|
+
viewBox: "0 0 24 24",
|
|
997
|
+
"aria-hidden": "true",
|
|
998
|
+
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", {
|
|
999
|
+
cx: "12",
|
|
1000
|
+
cy: "12",
|
|
1001
|
+
r: "2.5"
|
|
1002
|
+
})]
|
|
1003
|
+
})
|
|
1004
|
+
}),
|
|
1005
|
+
!S && y && I && !o && !l && /* @__PURE__ */ t("button", {
|
|
1006
|
+
type: "button",
|
|
1007
|
+
className: K.trailingAction,
|
|
1008
|
+
"aria-label": "Очистить поле",
|
|
1009
|
+
onClick: () => {
|
|
1010
|
+
let e = j.current;
|
|
1011
|
+
e && ((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, "value")?.set)?.call(e, ""), e.dispatchEvent(new Event("input", { bubbles: !0 })), e.focus());
|
|
1012
|
+
},
|
|
1013
|
+
children: "×"
|
|
1014
|
+
})
|
|
1015
|
+
]
|
|
990
1016
|
}),
|
|
991
|
-
|
|
992
|
-
id:
|
|
993
|
-
children:
|
|
1017
|
+
h && !m && /* @__PURE__ */ t(D, {
|
|
1018
|
+
id: P,
|
|
1019
|
+
children: h
|
|
994
1020
|
}),
|
|
995
|
-
|
|
996
|
-
id:
|
|
1021
|
+
m && /* @__PURE__ */ t(D, {
|
|
1022
|
+
id: F,
|
|
997
1023
|
variant: "error",
|
|
998
|
-
children:
|
|
1024
|
+
children: m
|
|
999
1025
|
})
|
|
1000
1026
|
]
|
|
1001
1027
|
});
|
|
@@ -1077,7 +1103,7 @@ var T = {
|
|
|
1077
1103
|
onChange: (t) => d(e.id, t)
|
|
1078
1104
|
});
|
|
1079
1105
|
}
|
|
1080
|
-
if (e.type === "dropdown") return /* @__PURE__ */ t(
|
|
1106
|
+
if (e.type === "dropdown") return /* @__PURE__ */ t(U, {
|
|
1081
1107
|
label: e.label,
|
|
1082
1108
|
hint: e.hint,
|
|
1083
1109
|
placeholder: e.placeholder,
|
|
@@ -1112,7 +1138,7 @@ var T = {
|
|
|
1112
1138
|
from: null,
|
|
1113
1139
|
to: null
|
|
1114
1140
|
};
|
|
1115
|
-
return /* @__PURE__ */ t(
|
|
1141
|
+
return /* @__PURE__ */ t(re, {
|
|
1116
1142
|
hint: e.hint,
|
|
1117
1143
|
mode: e.mode,
|
|
1118
1144
|
min: e.min,
|
|
@@ -1137,11 +1163,140 @@ var T = {
|
|
|
1137
1163
|
})]
|
|
1138
1164
|
})]
|
|
1139
1165
|
});
|
|
1140
|
-
},
|
|
1166
|
+
}, J = {
|
|
1167
|
+
wrapper: "_wrapper_17rrt_1",
|
|
1168
|
+
dropzone: "_dropzone_17rrt_2",
|
|
1169
|
+
dragActive: "_dragActive_17rrt_3",
|
|
1170
|
+
disabled: "_disabled_17rrt_4",
|
|
1171
|
+
error: "_error_17rrt_5",
|
|
1172
|
+
nativeInput: "_nativeInput_17rrt_6",
|
|
1173
|
+
empty: "_empty_17rrt_7",
|
|
1174
|
+
uploadIcon: "_uploadIcon_17rrt_8",
|
|
1175
|
+
browseButton: "_browseButton_17rrt_9",
|
|
1176
|
+
files: "_files_17rrt_10",
|
|
1177
|
+
file: "_file_17rrt_10",
|
|
1178
|
+
fileName: "_fileName_17rrt_12",
|
|
1179
|
+
fileSize: "_fileSize_17rrt_13"
|
|
1180
|
+
}, ye = (e) => `${e.name}:${e.size}:${e.lastModified}`, be = (e) => e < 1024 ? `${e} Б` : e < 1048576 ? `${(e / 1024).toFixed(1)} КБ` : `${(e / 1024 / 1024).toFixed(1)} МБ`, xe = (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), Se = ({ value: r, onChange: i, multiple: a = !1, accept: o, maxSize: s, maxFiles: l, label: f, 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 }) => {
|
|
1181
|
+
let O = c(), k = y ?? `ds-file-input-${v ?? O}`, A = u(null), j = u(0), [M, N] = d(!1), P = p ? `${k}-hint` : void 0, F = m ? `${k}-error` : void 0, I = [P, F].filter(Boolean).join(" ") || void 0, L = !g && !_, ee = (e) => {
|
|
1182
|
+
let t = [], n = new Set(r.map(ye)), c = e.filter((e) => xe(e, o) ? s !== void 0 && e.size > s ? (t.push({
|
|
1183
|
+
file: e,
|
|
1184
|
+
reason: "maxSize"
|
|
1185
|
+
}), !1) : !n.has(ye(e)) && (n.add(ye(e)), !0) : (t.push({
|
|
1186
|
+
file: e,
|
|
1187
|
+
reason: "accept"
|
|
1188
|
+
}), !1)), u = a ? l : 1, d = a ? [...r, ...c] : c.slice(-1);
|
|
1189
|
+
u !== void 0 && d.length > u && (d.slice(u).forEach((e) => t.push({
|
|
1190
|
+
file: e,
|
|
1191
|
+
reason: "maxFiles"
|
|
1192
|
+
})), d = d.slice(0, u)), t.length && T?.(t), c.length && i?.(d), A.current && (A.current.value = "");
|
|
1193
|
+
};
|
|
1194
|
+
return /* @__PURE__ */ n("div", {
|
|
1195
|
+
className: `${J.wrapper} ${b}`,
|
|
1196
|
+
children: [
|
|
1197
|
+
f && /* @__PURE__ */ t(E, {
|
|
1198
|
+
htmlFor: k,
|
|
1199
|
+
required: h,
|
|
1200
|
+
disabled: g,
|
|
1201
|
+
children: f
|
|
1202
|
+
}),
|
|
1203
|
+
/* @__PURE__ */ n("div", {
|
|
1204
|
+
className: `${J.dropzone} ${M ? J.dragActive : ""} ${g ? J.disabled : ""} ${m ? J.error : ""}`,
|
|
1205
|
+
onDragEnter: (e) => {
|
|
1206
|
+
e.preventDefault(), L && ++j.current === 1 && N(!0);
|
|
1207
|
+
},
|
|
1208
|
+
onDragOver: (e) => e.preventDefault(),
|
|
1209
|
+
onDragLeave: (e) => {
|
|
1210
|
+
e.preventDefault(), --j.current <= 0 && (j.current = 0, N(!1));
|
|
1211
|
+
},
|
|
1212
|
+
onDrop: (e) => {
|
|
1213
|
+
e.preventDefault(), j.current = 0, N(!1), L && ee(Array.from(e.dataTransfer.files));
|
|
1214
|
+
},
|
|
1215
|
+
children: [/* @__PURE__ */ t("input", {
|
|
1216
|
+
ref: A,
|
|
1217
|
+
id: k,
|
|
1218
|
+
name: v,
|
|
1219
|
+
className: J.nativeInput,
|
|
1220
|
+
type: "file",
|
|
1221
|
+
multiple: a,
|
|
1222
|
+
accept: o,
|
|
1223
|
+
required: h && r.length === 0,
|
|
1224
|
+
disabled: !L,
|
|
1225
|
+
"aria-describedby": I,
|
|
1226
|
+
"aria-invalid": !!m,
|
|
1227
|
+
onChange: (e) => ee(Array.from(e.target.files ?? []))
|
|
1228
|
+
}), r.length ? /* @__PURE__ */ n(e, { children: [
|
|
1229
|
+
/* @__PURE__ */ t("ul", {
|
|
1230
|
+
className: J.files,
|
|
1231
|
+
"aria-live": "polite",
|
|
1232
|
+
children: r.map((e, a) => /* @__PURE__ */ n("li", {
|
|
1233
|
+
className: J.file,
|
|
1234
|
+
children: [
|
|
1235
|
+
/* @__PURE__ */ t("span", {
|
|
1236
|
+
className: J.fileName,
|
|
1237
|
+
title: e.name,
|
|
1238
|
+
children: e.name
|
|
1239
|
+
}),
|
|
1240
|
+
/* @__PURE__ */ t("span", {
|
|
1241
|
+
className: J.fileSize,
|
|
1242
|
+
children: be(e.size)
|
|
1243
|
+
}),
|
|
1244
|
+
L && /* @__PURE__ */ t(w, {
|
|
1245
|
+
variant: "empty",
|
|
1246
|
+
size: "sm",
|
|
1247
|
+
"aria-label": `Удалить файл ${e.name}`,
|
|
1248
|
+
onClick: () => i?.(r.filter((e, t) => t !== a)),
|
|
1249
|
+
children: "×"
|
|
1250
|
+
})
|
|
1251
|
+
]
|
|
1252
|
+
}, ye(e)))
|
|
1253
|
+
}),
|
|
1254
|
+
L && (a || r.length === 0) && /* @__PURE__ */ t(w, {
|
|
1255
|
+
className: J.browseButton,
|
|
1256
|
+
size: "sm",
|
|
1257
|
+
onClick: () => A.current?.click(),
|
|
1258
|
+
children: C
|
|
1259
|
+
}),
|
|
1260
|
+
L && !a && /* @__PURE__ */ t(w, {
|
|
1261
|
+
className: J.browseButton,
|
|
1262
|
+
size: "sm",
|
|
1263
|
+
onClick: () => A.current?.click(),
|
|
1264
|
+
children: S
|
|
1265
|
+
})
|
|
1266
|
+
] }) : /* @__PURE__ */ n("div", {
|
|
1267
|
+
className: J.empty,
|
|
1268
|
+
children: [
|
|
1269
|
+
/* @__PURE__ */ t("span", {
|
|
1270
|
+
className: J.uploadIcon,
|
|
1271
|
+
"aria-hidden": "true",
|
|
1272
|
+
children: "↑"
|
|
1273
|
+
}),
|
|
1274
|
+
/* @__PURE__ */ t("strong", { children: M ? "Отпустите файлы здесь" : x }),
|
|
1275
|
+
!M && L && /* @__PURE__ */ n(e, { children: [/* @__PURE__ */ t("span", { children: "или" }), /* @__PURE__ */ t(w, {
|
|
1276
|
+
className: J.browseButton,
|
|
1277
|
+
onClick: () => A.current?.click(),
|
|
1278
|
+
children: S
|
|
1279
|
+
})] })
|
|
1280
|
+
]
|
|
1281
|
+
})]
|
|
1282
|
+
}),
|
|
1283
|
+
p && !m && /* @__PURE__ */ t(D, {
|
|
1284
|
+
id: P,
|
|
1285
|
+
children: p
|
|
1286
|
+
}),
|
|
1287
|
+
m && /* @__PURE__ */ t(D, {
|
|
1288
|
+
id: F,
|
|
1289
|
+
variant: "error",
|
|
1290
|
+
live: !0,
|
|
1291
|
+
children: m
|
|
1292
|
+
})
|
|
1293
|
+
]
|
|
1294
|
+
});
|
|
1295
|
+
}, Ce = 0, Y = v((e) => ({
|
|
1141
1296
|
modals: [],
|
|
1142
1297
|
openModal: (t, n = {}, r = {}) => {
|
|
1143
|
-
|
|
1144
|
-
let i = `ds-modal-${
|
|
1298
|
+
Ce += 1;
|
|
1299
|
+
let i = `ds-modal-${Ce}`;
|
|
1145
1300
|
return e((e) => ({ modals: [...e.modals, {
|
|
1146
1301
|
id: i,
|
|
1147
1302
|
name: t,
|
|
@@ -1153,7 +1308,7 @@ var T = {
|
|
|
1153
1308
|
closeModal: (t) => e((e) => ({ modals: e.modals.filter((e) => e.id !== t) })),
|
|
1154
1309
|
closeTopModal: () => e((e) => ({ modals: e.modals.slice(0, -1) })),
|
|
1155
1310
|
closeAllModals: () => e({ modals: [] })
|
|
1156
|
-
})),
|
|
1311
|
+
})), we = () => Y.setState({ modals: [] }), X = {
|
|
1157
1312
|
layer: "_layer_bl99k_1",
|
|
1158
1313
|
backdrop: "_backdrop_bl99k_2",
|
|
1159
1314
|
panel: "_panel_bl99k_3",
|
|
@@ -1161,14 +1316,14 @@ var T = {
|
|
|
1161
1316
|
title: "_title_bl99k_6",
|
|
1162
1317
|
description: "_description_bl99k_7",
|
|
1163
1318
|
content: "_content_bl99k_8"
|
|
1164
|
-
},
|
|
1165
|
-
let f = c(), p = c(), m = u(null), h =
|
|
1319
|
+
}, Te = "button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex=\"-1\"])", Ee = ({ children: e, title: r, description: i, modalId: a, closeLabel: o = "Закрыть модальное окно", className: l = "", role: d = "dialog" }) => {
|
|
1320
|
+
let f = c(), p = c(), m = u(null), h = Y((e) => e.closeModal);
|
|
1166
1321
|
return s(() => {
|
|
1167
1322
|
let e = document.activeElement, t = m.current;
|
|
1168
|
-
return (t?.querySelector(
|
|
1323
|
+
return (t?.querySelector(Te) ?? t)?.focus(), () => e?.focus();
|
|
1169
1324
|
}, []), /* @__PURE__ */ n("div", {
|
|
1170
1325
|
ref: m,
|
|
1171
|
-
className: `${
|
|
1326
|
+
className: `${X.panel} ${l}`,
|
|
1172
1327
|
role: d,
|
|
1173
1328
|
"aria-modal": "true",
|
|
1174
1329
|
"aria-labelledby": r ? f : void 0,
|
|
@@ -1176,7 +1331,7 @@ var T = {
|
|
|
1176
1331
|
tabIndex: -1,
|
|
1177
1332
|
onKeyDown: (e) => {
|
|
1178
1333
|
if (e.key !== "Tab") return;
|
|
1179
|
-
let t = Array.from(m.current?.querySelectorAll(
|
|
1334
|
+
let t = Array.from(m.current?.querySelectorAll(Te) ?? []);
|
|
1180
1335
|
if (!t.length) {
|
|
1181
1336
|
e.preventDefault();
|
|
1182
1337
|
return;
|
|
@@ -1186,10 +1341,10 @@ var T = {
|
|
|
1186
1341
|
},
|
|
1187
1342
|
children: [
|
|
1188
1343
|
(r || o) && /* @__PURE__ */ n("header", {
|
|
1189
|
-
className:
|
|
1344
|
+
className: X.header,
|
|
1190
1345
|
children: [r && /* @__PURE__ */ t("h2", {
|
|
1191
1346
|
id: f,
|
|
1192
|
-
className:
|
|
1347
|
+
className: X.title,
|
|
1193
1348
|
children: r
|
|
1194
1349
|
}), /* @__PURE__ */ t(w, {
|
|
1195
1350
|
variant: "empty",
|
|
@@ -1201,31 +1356,31 @@ var T = {
|
|
|
1201
1356
|
}),
|
|
1202
1357
|
i && /* @__PURE__ */ t("p", {
|
|
1203
1358
|
id: p,
|
|
1204
|
-
className:
|
|
1359
|
+
className: X.description,
|
|
1205
1360
|
children: i
|
|
1206
1361
|
}),
|
|
1207
1362
|
/* @__PURE__ */ t("div", {
|
|
1208
|
-
className:
|
|
1363
|
+
className: X.content,
|
|
1209
1364
|
children: e
|
|
1210
1365
|
})
|
|
1211
1366
|
]
|
|
1212
1367
|
});
|
|
1213
|
-
},
|
|
1214
|
-
let n =
|
|
1368
|
+
}, De = ({ registry: e }) => {
|
|
1369
|
+
let n = Y((e) => e.modals), r = Y((e) => e.closeModal), i = Y((e) => e.closeAllModals);
|
|
1215
1370
|
return s(() => {
|
|
1216
1371
|
let e = (e) => {
|
|
1217
1372
|
if (e.key !== "Escape") return;
|
|
1218
|
-
let t =
|
|
1373
|
+
let t = Y.getState().modals.at(-1);
|
|
1219
1374
|
t?.closeOnEscape && r(t.id);
|
|
1220
1375
|
};
|
|
1221
1376
|
return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
|
|
1222
1377
|
}, [r]), !n.length || typeof document > "u" ? null : _(/* @__PURE__ */ t("div", {
|
|
1223
|
-
className:
|
|
1378
|
+
className: X.layer,
|
|
1224
1379
|
"aria-label": "Модальные окна",
|
|
1225
1380
|
children: n.map((a, o) => {
|
|
1226
1381
|
let s = e[a.name];
|
|
1227
1382
|
return s ? /* @__PURE__ */ t("div", {
|
|
1228
|
-
className:
|
|
1383
|
+
className: X.backdrop,
|
|
1229
1384
|
"aria-hidden": o !== n.length - 1 || void 0,
|
|
1230
1385
|
onMouseDown: (e) => {
|
|
1231
1386
|
e.target === e.currentTarget && a.closeOnBackdrop && r(a.id);
|
|
@@ -1239,31 +1394,31 @@ var T = {
|
|
|
1239
1394
|
}, a.id) : null;
|
|
1240
1395
|
})
|
|
1241
1396
|
}), document.body);
|
|
1242
|
-
},
|
|
1243
|
-
let o =
|
|
1397
|
+
}, Oe = ({ registry: r, children: i, lockBodyScroll: a = !0 }) => {
|
|
1398
|
+
let o = Y((e) => e.modals.length);
|
|
1244
1399
|
return s(() => {
|
|
1245
1400
|
if (!a || o === 0) return;
|
|
1246
1401
|
let e = document.body.style.overflow;
|
|
1247
1402
|
return document.body.style.overflow = "hidden", () => {
|
|
1248
1403
|
document.body.style.overflow = e;
|
|
1249
1404
|
};
|
|
1250
|
-
}, [a, o]), /* @__PURE__ */ n(e, { children: [i, /* @__PURE__ */ t(
|
|
1251
|
-
},
|
|
1405
|
+
}, [a, o]), /* @__PURE__ */ n(e, { children: [i, /* @__PURE__ */ t(De, { registry: r })] });
|
|
1406
|
+
}, ke = (e) => e, Ae = {
|
|
1252
1407
|
message: "_message_187g8_1",
|
|
1253
1408
|
actions: "_actions_187g8_2"
|
|
1254
|
-
},
|
|
1409
|
+
}, je = /* @__PURE__ */ new Map(), Me = 0, Ne = ({ modalId: e, close: r, title: i = "Подтверждение", message: a = "Продолжить действие?", confirmLabel: o = "Подтвердить", cancelLabel: s = "Отмена", tone: c = "default", requestId: l }) => {
|
|
1255
1410
|
let u = (e) => {
|
|
1256
|
-
|
|
1411
|
+
je.get(l)?.(e), je.delete(l), r();
|
|
1257
1412
|
};
|
|
1258
|
-
return /* @__PURE__ */ n(
|
|
1413
|
+
return /* @__PURE__ */ n(Ee, {
|
|
1259
1414
|
modalId: e,
|
|
1260
1415
|
title: i,
|
|
1261
1416
|
role: "alertdialog",
|
|
1262
1417
|
children: [/* @__PURE__ */ t("p", {
|
|
1263
|
-
className:
|
|
1418
|
+
className: Ae.message,
|
|
1264
1419
|
children: a
|
|
1265
1420
|
}), /* @__PURE__ */ n("div", {
|
|
1266
|
-
className:
|
|
1421
|
+
className: Ae.actions,
|
|
1267
1422
|
children: [/* @__PURE__ */ t(w, {
|
|
1268
1423
|
variant: "outline",
|
|
1269
1424
|
onClick: () => u(!1),
|
|
@@ -1275,59 +1430,59 @@ var T = {
|
|
|
1275
1430
|
})]
|
|
1276
1431
|
})]
|
|
1277
1432
|
});
|
|
1278
|
-
},
|
|
1433
|
+
}, Pe = ({ modalId: e, close: r, title: i = "Ошибка", message: a, closeLabel: o = "Закрыть" }) => /* @__PURE__ */ n(Ee, {
|
|
1279
1434
|
modalId: e,
|
|
1280
1435
|
title: i,
|
|
1281
1436
|
role: "alertdialog",
|
|
1282
1437
|
children: [/* @__PURE__ */ t("p", {
|
|
1283
|
-
className:
|
|
1438
|
+
className: Ae.message,
|
|
1284
1439
|
children: a
|
|
1285
1440
|
}), /* @__PURE__ */ t("div", {
|
|
1286
|
-
className:
|
|
1441
|
+
className: Ae.actions,
|
|
1287
1442
|
children: /* @__PURE__ */ t(w, {
|
|
1288
1443
|
onClick: r,
|
|
1289
1444
|
children: o
|
|
1290
1445
|
})
|
|
1291
1446
|
})]
|
|
1292
|
-
}),
|
|
1293
|
-
ConfirmModal:
|
|
1294
|
-
ErrorModal:
|
|
1295
|
-
}),
|
|
1296
|
-
let e =
|
|
1447
|
+
}), Fe = ke({
|
|
1448
|
+
ConfirmModal: Ne,
|
|
1449
|
+
ErrorModal: Pe
|
|
1450
|
+
}), Ie = () => {
|
|
1451
|
+
let e = Y((e) => e.openModal);
|
|
1297
1452
|
return (t = {}) => new Promise((n) => {
|
|
1298
|
-
|
|
1299
|
-
let r = `confirm-${
|
|
1300
|
-
|
|
1453
|
+
Me += 1;
|
|
1454
|
+
let r = `confirm-${Me}`;
|
|
1455
|
+
je.set(r, n), e("ConfirmModal", {
|
|
1301
1456
|
...t,
|
|
1302
1457
|
requestId: r
|
|
1303
1458
|
}, { closeOnEscape: !1 });
|
|
1304
1459
|
});
|
|
1305
|
-
},
|
|
1306
|
-
let e =
|
|
1460
|
+
}, Le = (e) => e instanceof Error ? e.message : typeof e == "string" ? e : e && typeof e == "object" && "message" in e && typeof e.message == "string" ? e.message : "Произошла неизвестная ошибка", Re = () => {
|
|
1461
|
+
let e = Y((e) => e.openModal);
|
|
1307
1462
|
return { showError: (t, n) => e("ErrorModal", {
|
|
1308
1463
|
title: n,
|
|
1309
|
-
message:
|
|
1464
|
+
message: Le(t)
|
|
1310
1465
|
}) };
|
|
1311
|
-
},
|
|
1312
|
-
let e =
|
|
1466
|
+
}, ze = v(() => ({})), Be = v(() => ({})), Ve = () => {
|
|
1467
|
+
let e = Y((e) => e.modals), t = Y((e) => e.openModal);
|
|
1313
1468
|
return {
|
|
1314
1469
|
openModal: (e, n = {}, r) => t(e, n, r),
|
|
1315
|
-
closeModal:
|
|
1316
|
-
closeTopModal:
|
|
1317
|
-
closeAllModals:
|
|
1470
|
+
closeModal: Y((e) => e.closeModal),
|
|
1471
|
+
closeTopModal: Y((e) => e.closeTopModal),
|
|
1472
|
+
closeAllModals: Y((e) => e.closeAllModals),
|
|
1318
1473
|
isOpen: (t) => e.some((e) => e.name === t),
|
|
1319
1474
|
count: e.length
|
|
1320
1475
|
};
|
|
1321
|
-
},
|
|
1322
|
-
className: `${
|
|
1476
|
+
}, He = { root: "_root_1j70j_1" }, Ue = ({ label: e = "Загрузка страницы", className: r = "" }) => /* @__PURE__ */ n("div", {
|
|
1477
|
+
className: `${He.root} ${r}`,
|
|
1323
1478
|
role: "status",
|
|
1324
1479
|
"aria-label": e,
|
|
1325
1480
|
children: [/* @__PURE__ */ t(S, { decorative: !0 }), /* @__PURE__ */ t("span", { children: e })]
|
|
1326
|
-
}),
|
|
1481
|
+
}), We = {
|
|
1327
1482
|
root: "_root_ig8lp_1",
|
|
1328
1483
|
legend: "_legend_ig8lp_2",
|
|
1329
1484
|
range: "_range_ig8lp_3"
|
|
1330
|
-
},
|
|
1485
|
+
}, Ge = [
|
|
1331
1486
|
{
|
|
1332
1487
|
value: "1",
|
|
1333
1488
|
label: "День"
|
|
@@ -1340,19 +1495,19 @@ var T = {
|
|
|
1340
1495
|
value: "3",
|
|
1341
1496
|
label: "Месяц"
|
|
1342
1497
|
}
|
|
1343
|
-
],
|
|
1498
|
+
], Ke = {
|
|
1344
1499
|
day: 1,
|
|
1345
1500
|
week: 2,
|
|
1346
1501
|
month: 3
|
|
1347
|
-
},
|
|
1348
|
-
className: `${
|
|
1502
|
+
}, qe = ({ value: e, onChange: r, label: i, hint: a, error: o, disabled: s = !1, min: c, max: l, className: u = "", periodTypeOptions: d = Ge }) => /* @__PURE__ */ n("fieldset", {
|
|
1503
|
+
className: `${We.root} ${u}`,
|
|
1349
1504
|
disabled: s,
|
|
1350
1505
|
children: [
|
|
1351
1506
|
i && /* @__PURE__ */ t("legend", {
|
|
1352
|
-
className:
|
|
1507
|
+
className: We.legend,
|
|
1353
1508
|
children: i
|
|
1354
1509
|
}),
|
|
1355
|
-
/* @__PURE__ */ t(
|
|
1510
|
+
/* @__PURE__ */ t(U, {
|
|
1356
1511
|
options: d,
|
|
1357
1512
|
value: String(e.periodType),
|
|
1358
1513
|
disabled: s,
|
|
@@ -1363,8 +1518,8 @@ var T = {
|
|
|
1363
1518
|
label: "Тип периода"
|
|
1364
1519
|
}),
|
|
1365
1520
|
/* @__PURE__ */ n("div", {
|
|
1366
|
-
className:
|
|
1367
|
-
children: [/* @__PURE__ */ t(
|
|
1521
|
+
className: We.range,
|
|
1522
|
+
children: [/* @__PURE__ */ t(R, {
|
|
1368
1523
|
value: e.startDate,
|
|
1369
1524
|
onChange: (t) => r?.({
|
|
1370
1525
|
...e,
|
|
@@ -1374,7 +1529,7 @@ var T = {
|
|
|
1374
1529
|
min: c,
|
|
1375
1530
|
max: l,
|
|
1376
1531
|
disabled: s
|
|
1377
|
-
}), /* @__PURE__ */ t(
|
|
1532
|
+
}), /* @__PURE__ */ t(R, {
|
|
1378
1533
|
value: e.endDate,
|
|
1379
1534
|
onChange: (t) => r?.({
|
|
1380
1535
|
...e,
|
|
@@ -1405,7 +1560,7 @@ var T = {
|
|
|
1405
1560
|
success: "_success_v7rog_10",
|
|
1406
1561
|
warning: "_warning_v7rog_11",
|
|
1407
1562
|
error: "_error_v7rog_12"
|
|
1408
|
-
},
|
|
1563
|
+
}, Je = ({ toast: e, onClose: r }) => {
|
|
1409
1564
|
let [i, a] = d(!1), o = u(e.duration), c = u(Date.now());
|
|
1410
1565
|
return s(() => {
|
|
1411
1566
|
if (i || e.duration <= 0) return;
|
|
@@ -1456,11 +1611,11 @@ var T = {
|
|
|
1456
1611
|
})
|
|
1457
1612
|
]
|
|
1458
1613
|
});
|
|
1459
|
-
},
|
|
1614
|
+
}, Ye = 0, Q = v((e) => ({
|
|
1460
1615
|
toasts: [],
|
|
1461
1616
|
showToast: (t) => {
|
|
1462
|
-
|
|
1463
|
-
let n = `ds-toast-${
|
|
1617
|
+
Ye += 1;
|
|
1618
|
+
let n = `ds-toast-${Ye}`;
|
|
1464
1619
|
return e((e) => ({ toasts: [...e.toasts, {
|
|
1465
1620
|
variant: "info",
|
|
1466
1621
|
duration: 5e3,
|
|
@@ -1471,17 +1626,17 @@ var T = {
|
|
|
1471
1626
|
},
|
|
1472
1627
|
removeToast: (t) => e((e) => ({ toasts: e.toasts.filter((e) => e.id !== t) })),
|
|
1473
1628
|
clearToasts: () => e({ toasts: [] })
|
|
1474
|
-
})),
|
|
1629
|
+
})), Xe = () => Q.setState({ toasts: [] }), Ze = ({ position: e = "top-right" }) => {
|
|
1475
1630
|
let n = Q((e) => e.toasts), r = Q((e) => e.removeToast);
|
|
1476
1631
|
return /* @__PURE__ */ t("div", {
|
|
1477
1632
|
className: `${Z.viewport} ${Z[e]}`,
|
|
1478
1633
|
"aria-label": "Уведомления",
|
|
1479
|
-
children: n.map((e) => /* @__PURE__ */ t(
|
|
1634
|
+
children: n.map((e) => /* @__PURE__ */ t(Je, {
|
|
1480
1635
|
toast: e,
|
|
1481
1636
|
onClose: r
|
|
1482
1637
|
}, e.id))
|
|
1483
1638
|
});
|
|
1484
|
-
},
|
|
1639
|
+
}, Qe = () => {
|
|
1485
1640
|
let e = Q((e) => e.showToast), t = Q((e) => e.removeToast), n = Q((e) => e.clearToasts), r = o((t) => e({
|
|
1486
1641
|
...t,
|
|
1487
1642
|
variant: "info"
|
|
@@ -1512,7 +1667,7 @@ var T = {
|
|
|
1512
1667
|
i,
|
|
1513
1668
|
a
|
|
1514
1669
|
]);
|
|
1515
|
-
},
|
|
1670
|
+
}, $e = {
|
|
1516
1671
|
root: "_root_2bxal_1",
|
|
1517
1672
|
tooltip: "_tooltip_2bxal_2",
|
|
1518
1673
|
"ds-tooltip-in": "_ds-tooltip-in_2bxal_1",
|
|
@@ -1520,7 +1675,7 @@ var T = {
|
|
|
1520
1675
|
bottom: "_bottom_2bxal_4",
|
|
1521
1676
|
left: "_left_2bxal_5",
|
|
1522
1677
|
right: "_right_2bxal_6"
|
|
1523
|
-
},
|
|
1678
|
+
}, et = ({ content: e, children: i, placement: o = "top", delay: l = 450, disabled: f = !1, maxWidth: p = 280, className: m = "" }) => {
|
|
1524
1679
|
let h = c(), [g, _] = d(!1), v = u(null), y = () => {
|
|
1525
1680
|
f || !e || (v.current = setTimeout(() => _(!0), l));
|
|
1526
1681
|
}, b = () => {
|
|
@@ -1542,12 +1697,12 @@ var T = {
|
|
|
1542
1697
|
onBlur: b
|
|
1543
1698
|
});
|
|
1544
1699
|
return /* @__PURE__ */ n("span", {
|
|
1545
|
-
className: `${
|
|
1700
|
+
className: `${$e.root} ${m}`,
|
|
1546
1701
|
onPointerDown: g ? b : y,
|
|
1547
1702
|
children: [x, g && /* @__PURE__ */ t("span", {
|
|
1548
1703
|
id: h,
|
|
1549
1704
|
role: "tooltip",
|
|
1550
|
-
className: `${
|
|
1705
|
+
className: `${$e.tooltip} ${$e[o]}`,
|
|
1551
1706
|
style: { maxWidth: p },
|
|
1552
1707
|
children: e
|
|
1553
1708
|
})]
|
|
@@ -1559,7 +1714,7 @@ var T = {
|
|
|
1559
1714
|
overlay: "_overlay_tgni1_4",
|
|
1560
1715
|
error: "_error_tgni1_4",
|
|
1561
1716
|
caption: "_caption_tgni1_7"
|
|
1562
|
-
},
|
|
1717
|
+
}, tt = ({ sources: e, tracks: r = [], title: i, aspectRatio: a = "16 / 9", objectFit: o = "contain", loading: s = !1, error: c, fallback: l, className: u = "", controls: f = !0, playsInline: p = !0, ...m }) => {
|
|
1563
1718
|
let [h, g] = d(!1), _ = c ?? (h ? "Не удалось воспроизвести видео" : void 0);
|
|
1564
1719
|
return /* @__PURE__ */ n("figure", {
|
|
1565
1720
|
className: `${$.root} ${u}`,
|
|
@@ -1596,4 +1751,4 @@ var T = {
|
|
|
1596
1751
|
});
|
|
1597
1752
|
};
|
|
1598
1753
|
//#endregion
|
|
1599
|
-
export {
|
|
1754
|
+
export { Ne as ConfirmModal, b as DSBadge, w as DSButton, k as DSCheckbox, ue as DSDataTable, re as DSDateRange, R as DSDateTimePicker, U as DSDropDown, de as DSDropDownMultiple, E as DSFieldLabel, D as DSFieldMessage, Se as DSFileInput, ve as DSFilters, pe as DSIcon, me as DSInfoBlock, he as DSInput, S as DSLoader, De as DSModal, Ee as DSModalFrame, Ue as DSPageLoader, ge as DSRadioButton, ie as DSSkeleton, se as DSSort, qe as DSTimePeriodPicker, Je as DSToast, Ze as DSToastProvider, et as DSTooltip, tt as DSVideoPlayerFrame, Ke as DS_PERIOD_TYPE_CODES, Pe as ErrorModal, Oe as ModalSystemProvider, Fe as builtInModalRegistry, ke as defineModalRegistry, F as formatDateTimeLocalValue, Le as getErrorMessage, ae as getNextEnabledOptionIndex, B as isValidDateRange, I as parseDateTimeLocalValue, we as resetModalStore, Xe as resetToastStore, Ie as useConfirmModal, ze as useConfirmModalStore, Re as useErrorModal, Be as useErrorModalStore, Ve as useModals, Y as useModalsStore, Qe as useToast, Q as useToastStore, le as validateDSDataTableData };
|