@1337exp/taoui 1.4.0 → 1.6.0

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/index.mjs CHANGED
@@ -1,21 +1,22 @@
1
- import { defineComponent, openBlock, createElementBlock, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, renderSlot, computed, normalizeStyle, inject, useId, ref, unref, watch, onBeforeUnmount, createBlock, Teleport, createVNode, Transition, withCtx, withModifiers, nextTick, Fragment, renderList, createTextVNode, onMounted, provide, resolveDynamicComponent, useCssVars, useSlots, reactive, onBeforeMount, withDirectives, vModelText, getCurrentInstance, mergeProps, TransitionGroup, onUpdated, createApp } from "vue";
2
- const _hoisted_1$M = ["type", "disabled"];
3
- const _hoisted_2$F = {
1
+ import { defineComponent, openBlock, createElementBlock, normalizeClass, createCommentVNode, toDisplayString, createElementVNode, renderSlot, computed, normalizeStyle, inject, useId, ref, unref, watch, createTextVNode, onBeforeUnmount, createBlock, Teleport, createVNode, Transition, withCtx, withModifiers, nextTick, Fragment, renderList, onMounted, provide, resolveDynamicComponent, useCssVars, useSlots, reactive, onBeforeMount, withDirectives, vModelText, getCurrentInstance, mergeProps, TransitionGroup, onUpdated, createApp } from "vue";
2
+ const _hoisted_1$N = ["type", "disabled"];
3
+ const _hoisted_2$G = {
4
4
  key: 0,
5
5
  class: "tao-button__loader"
6
6
  };
7
- const _hoisted_3$y = {
7
+ const _hoisted_3$A = {
8
8
  key: 1,
9
9
  class: "tao-button__icon"
10
10
  };
11
- const _hoisted_4$r = { class: "tao-button__content" };
12
- const _sfc_main$U = /* @__PURE__ */ defineComponent({
11
+ const _hoisted_4$u = { class: "tao-button__content" };
12
+ const _sfc_main$V = /* @__PURE__ */ defineComponent({
13
13
  ...{ name: "TaoButton" },
14
14
  __name: "TaoButton",
15
15
  props: {
16
16
  type: { default: "button" },
17
17
  size: { default: "medium" },
18
18
  variant: { default: "primary" },
19
+ tone: { default: "" },
19
20
  disabled: { type: Boolean, default: false },
20
21
  loading: { type: Boolean, default: false },
21
22
  block: { type: Boolean, default: false },
@@ -39,19 +40,20 @@ const _sfc_main$U = /* @__PURE__ */ defineComponent({
39
40
  "tao-button--disabled": __props.disabled,
40
41
  "tao-button--loading": __props.loading,
41
42
  "tao-button--block": __props.block,
42
- "tao-button--icon": !!__props.icon
43
+ "tao-button--icon": !!__props.icon,
44
+ [`tao-button--tone-${__props.tone}`]: !!__props.tone
43
45
  }
44
46
  ]]),
45
47
  type: __props.type,
46
48
  disabled: __props.disabled || __props.loading,
47
49
  onClick: handleClick
48
50
  }, [
49
- __props.loading ? (openBlock(), createElementBlock("span", _hoisted_2$F)) : createCommentVNode("", true),
50
- __props.icon ? (openBlock(), createElementBlock("span", _hoisted_3$y, toDisplayString(__props.icon), 1)) : createCommentVNode("", true),
51
- createElementVNode("span", _hoisted_4$r, [
51
+ __props.loading ? (openBlock(), createElementBlock("span", _hoisted_2$G)) : createCommentVNode("", true),
52
+ __props.icon ? (openBlock(), createElementBlock("span", _hoisted_3$A, toDisplayString(__props.icon), 1)) : createCommentVNode("", true),
53
+ createElementVNode("span", _hoisted_4$u, [
52
54
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
53
55
  ])
54
- ], 10, _hoisted_1$M);
56
+ ], 10, _hoisted_1$N);
55
57
  };
56
58
  }
57
59
  });
@@ -62,8 +64,8 @@ const _export_sfc = (sfc, props) => {
62
64
  }
63
65
  return target;
64
66
  };
65
- const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-085cd74d"]]);
66
- const _sfc_main$T = /* @__PURE__ */ defineComponent({
67
+ const TaoButton = /* @__PURE__ */ _export_sfc(_sfc_main$V, [["__scopeId", "data-v-c3034f66"]]);
68
+ const _sfc_main$U = /* @__PURE__ */ defineComponent({
67
69
  ...{ name: "TaoBlock" },
68
70
  __name: "TaoBlock",
69
71
  props: {
@@ -95,24 +97,24 @@ const _sfc_main$T = /* @__PURE__ */ defineComponent({
95
97
  };
96
98
  }
97
99
  });
98
- const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-feb87e36"]]);
100
+ const TaoBlock = /* @__PURE__ */ _export_sfc(_sfc_main$U, [["__scopeId", "data-v-feb87e36"]]);
99
101
  const formFieldKey = Symbol("taoFormField");
100
- const _hoisted_1$L = { class: "tao-input-wrapper" };
101
- const _hoisted_2$E = ["for"];
102
- const _hoisted_3$x = {
102
+ const _hoisted_1$M = { class: "tao-input-wrapper" };
103
+ const _hoisted_2$F = ["for"];
104
+ const _hoisted_3$z = {
103
105
  key: 0,
104
106
  class: "tao-input__affix tao-input__affix--prefix"
105
107
  };
106
- const _hoisted_4$q = ["id", "type", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby"];
107
- const _hoisted_5$i = {
108
+ const _hoisted_4$t = ["id", "type", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby"];
109
+ const _hoisted_5$m = {
108
110
  key: 1,
109
111
  class: "tao-input__affix tao-input__affix--suffix"
110
112
  };
111
- const _hoisted_6$e = {
113
+ const _hoisted_6$g = {
112
114
  key: 1,
113
115
  class: "tao-input__error"
114
116
  };
115
- const _sfc_main$S = /* @__PURE__ */ defineComponent({
117
+ const _sfc_main$T = /* @__PURE__ */ defineComponent({
116
118
  ...{ name: "TaoInput" },
117
119
  __name: "TaoInput",
118
120
  props: {
@@ -148,12 +150,12 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
148
150
  emit("focus", event);
149
151
  }
150
152
  return (_ctx, _cache) => {
151
- return openBlock(), createElementBlock("div", _hoisted_1$L, [
153
+ return openBlock(), createElementBlock("div", _hoisted_1$M, [
152
154
  __props.label && !unref(field) ? (openBlock(), createElementBlock("label", {
153
155
  key: 0,
154
156
  class: "tao-input__label",
155
157
  for: controlId.value
156
- }, toDisplayString(__props.label), 9, _hoisted_2$E)) : createCommentVNode("", true),
158
+ }, toDisplayString(__props.label), 9, _hoisted_2$F)) : createCommentVNode("", true),
157
159
  createElementVNode("div", {
158
160
  class: normalizeClass(["tao-input-shell", {
159
161
  "tao-input-shell--focused": focused.value,
@@ -163,7 +165,7 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
163
165
  "tao-input-shell--suffix": _ctx.$slots.suffix
164
166
  }])
165
167
  }, [
166
- _ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_3$x, [
168
+ _ctx.$slots.prefix ? (openBlock(), createElementBlock("span", _hoisted_3$z, [
167
169
  renderSlot(_ctx.$slots, "prefix", {}, void 0, true)
168
170
  ])) : createCommentVNode("", true),
169
171
  createElementVNode("input", {
@@ -178,27 +180,27 @@ const _sfc_main$S = /* @__PURE__ */ defineComponent({
178
180
  onInput: handleInput,
179
181
  onBlur: handleBlur,
180
182
  onFocus: handleFocus
181
- }, null, 42, _hoisted_4$q),
182
- _ctx.$slots.suffix ? (openBlock(), createElementBlock("span", _hoisted_5$i, [
183
+ }, null, 42, _hoisted_4$t),
184
+ _ctx.$slots.suffix ? (openBlock(), createElementBlock("span", _hoisted_5$m, [
183
185
  renderSlot(_ctx.$slots, "suffix", {}, void 0, true)
184
186
  ])) : createCommentVNode("", true)
185
187
  ], 2),
186
- __props.error && __props.errorMessage ? (openBlock(), createElementBlock("span", _hoisted_6$e, toDisplayString(__props.errorMessage), 1)) : createCommentVNode("", true)
188
+ __props.error && __props.errorMessage ? (openBlock(), createElementBlock("span", _hoisted_6$g, toDisplayString(__props.errorMessage), 1)) : createCommentVNode("", true)
187
189
  ]);
188
190
  };
189
191
  }
190
192
  });
191
- const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-b522e041"]]);
192
- const _hoisted_1$K = {
193
+ const TaoInput = /* @__PURE__ */ _export_sfc(_sfc_main$T, [["__scopeId", "data-v-b522e041"]]);
194
+ const _hoisted_1$L = {
193
195
  key: 0,
194
196
  class: "tao-input-group__addon tao-input-group__addon--before"
195
197
  };
196
- const _hoisted_2$D = { class: "tao-input-group__field" };
197
- const _hoisted_3$w = {
198
+ const _hoisted_2$E = { class: "tao-input-group__field" };
199
+ const _hoisted_3$y = {
198
200
  key: 1,
199
201
  class: "tao-input-group__addon tao-input-group__addon--after"
200
202
  };
201
- const _sfc_main$R = /* @__PURE__ */ defineComponent({
203
+ const _sfc_main$S = /* @__PURE__ */ defineComponent({
202
204
  ...{ name: "TaoInputGroup" },
203
205
  __name: "TaoInputGroup",
204
206
  setup(__props) {
@@ -220,28 +222,30 @@ const _sfc_main$R = /* @__PURE__ */ defineComponent({
220
222
  onFocusin: onFocusIn,
221
223
  onFocusout: onFocusOut
222
224
  }, [
223
- _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_1$K, [
225
+ _ctx.$slots.before ? (openBlock(), createElementBlock("div", _hoisted_1$L, [
224
226
  renderSlot(_ctx.$slots, "before", {}, void 0, true)
225
227
  ])) : createCommentVNode("", true),
226
- createElementVNode("div", _hoisted_2$D, [
228
+ createElementVNode("div", _hoisted_2$E, [
227
229
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
228
230
  ]),
229
- _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_3$w, [
231
+ _ctx.$slots.after ? (openBlock(), createElementBlock("div", _hoisted_3$y, [
230
232
  renderSlot(_ctx.$slots, "after", {}, void 0, true)
231
233
  ])) : createCommentVNode("", true)
232
234
  ], 34);
233
235
  };
234
236
  }
235
237
  });
236
- const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-f06bb3b1"]]);
237
- const _hoisted_1$J = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
238
- const _hoisted_2$C = {
238
+ const TaoInputGroup = /* @__PURE__ */ _export_sfc(_sfc_main$S, [["__scopeId", "data-v-f06bb3b1"]]);
239
+ const _hoisted_1$K = ["id", "value", "placeholder", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
240
+ const _hoisted_2$D = {
239
241
  key: 0,
240
242
  class: "tao-input-number__steppers"
241
243
  };
242
- const _hoisted_3$v = ["disabled"];
243
- const _hoisted_4$p = ["disabled"];
244
- const _sfc_main$Q = /* @__PURE__ */ defineComponent({
244
+ const _hoisted_3$x = ["aria-label", "disabled"];
245
+ const _hoisted_4$s = { "aria-hidden": "true" };
246
+ const _hoisted_5$l = ["aria-label", "disabled"];
247
+ const _hoisted_6$f = { "aria-hidden": "true" };
248
+ const _sfc_main$R = /* @__PURE__ */ defineComponent({
245
249
  ...{ name: "TaoInputNumber" },
246
250
  __name: "TaoInputNumber",
247
251
  props: {
@@ -252,7 +256,9 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
252
256
  precision: {},
253
257
  disabled: { type: Boolean, default: false },
254
258
  placeholder: { default: "" },
255
- controls: { type: Boolean, default: true }
259
+ controls: { type: Boolean, default: true },
260
+ incrementLabel: { default: "Увеличить" },
261
+ decrementLabel: { default: "Уменьшить" }
256
262
  },
257
263
  emits: ["update:modelValue", "blur", "focus"],
258
264
  setup(__props, { emit: __emit }) {
@@ -390,34 +396,48 @@ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
390
396
  onFocus,
391
397
  onBlur,
392
398
  onKeydown
393
- }, null, 40, _hoisted_1$J),
394
- __props.controls ? (openBlock(), createElementBlock("div", _hoisted_2$C, [
399
+ }, null, 40, _hoisted_1$K),
400
+ __props.controls ? (openBlock(), createElementBlock("div", _hoisted_2$D, [
395
401
  createElementVNode("button", {
396
402
  type: "button",
397
403
  class: "tao-input-number__step",
398
- "aria-label": "Увеличить",
404
+ "aria-label": __props.incrementLabel,
399
405
  tabindex: "-1",
400
406
  disabled: __props.disabled || atMax.value,
401
407
  onClick: _cache[0] || (_cache[0] = ($event) => bump(1))
402
- }, " + ", 8, _hoisted_3$v),
408
+ }, [
409
+ createElementVNode("span", _hoisted_4$s, [
410
+ renderSlot(_ctx.$slots, "increment-icon", {}, () => [
411
+ _cache[2] || (_cache[2] = createTextVNode("+", -1))
412
+ ], true)
413
+ ])
414
+ ], 8, _hoisted_3$x),
403
415
  createElementVNode("button", {
404
416
  type: "button",
405
417
  class: "tao-input-number__step",
406
- "aria-label": "Уменьшить",
418
+ "aria-label": __props.decrementLabel,
407
419
  tabindex: "-1",
408
420
  disabled: __props.disabled || atMin.value,
409
421
  onClick: _cache[1] || (_cache[1] = ($event) => bump(-1))
410
- }, " − ", 8, _hoisted_4$p)
422
+ }, [
423
+ createElementVNode("span", _hoisted_6$f, [
424
+ renderSlot(_ctx.$slots, "decrement-icon", {}, () => [
425
+ _cache[3] || (_cache[3] = createTextVNode("−", -1))
426
+ ], true)
427
+ ])
428
+ ], 8, _hoisted_5$l)
411
429
  ])) : createCommentVNode("", true)
412
430
  ], 2);
413
431
  };
414
432
  }
415
433
  });
416
- const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-55b65a4d"]]);
417
- const _hoisted_1$I = ["aria-label", "disabled"];
418
- const _hoisted_2$B = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
419
- const _hoisted_3$u = ["disabled"];
420
- const _sfc_main$P = /* @__PURE__ */ defineComponent({
434
+ const TaoInputNumber = /* @__PURE__ */ _export_sfc(_sfc_main$R, [["__scopeId", "data-v-331dd958"]]);
435
+ const _hoisted_1$J = ["aria-label", "disabled"];
436
+ const _hoisted_2$C = { "aria-hidden": "true" };
437
+ const _hoisted_3$w = ["id", "value", "disabled", "aria-invalid", "aria-describedby", "aria-valuenow", "aria-valuemin", "aria-valuemax"];
438
+ const _hoisted_4$r = ["aria-label", "disabled"];
439
+ const _hoisted_5$k = { "aria-hidden": "true" };
440
+ const _sfc_main$Q = /* @__PURE__ */ defineComponent({
421
441
  ...{ name: "TaoQuantity" },
422
442
  __name: "TaoQuantity",
423
443
  props: {
@@ -426,7 +446,10 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
426
446
  max: {},
427
447
  disabled: { type: Boolean, default: false },
428
448
  allowRemove: { type: Boolean, default: true },
429
- forceMaxLimit: { type: Boolean, default: true }
449
+ forceMaxLimit: { type: Boolean, default: true },
450
+ decrementLabel: { default: "Уменьшить" },
451
+ removeLabel: { default: "Убрать" },
452
+ incrementLabel: { default: "Увеличить" }
430
453
  },
431
454
  emits: ["update:modelValue", "change", "dec", "inc", "blur", "focus"],
432
455
  setup(__props, { emit: __emit }) {
@@ -535,7 +558,7 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
535
558
  const atMax = computed(() => props.modelValue >= ceiling.value);
536
559
  const minusDisabled = computed(() => props.disabled || !props.allowRemove && atMin.value);
537
560
  const plusDisabled = computed(() => props.disabled || atMax.value);
538
- const minusLabel = computed(() => atMin.value && props.allowRemove ? "Убрать" : "Уменьшить");
561
+ const minusLabel = computed(() => atMin.value && props.allowRemove ? props.removeLabel : props.decrementLabel);
539
562
  return (_ctx, _cache) => {
540
563
  return openBlock(), createElementBlock("div", {
541
564
  class: normalizeClass(["tao-quantity", {
@@ -550,7 +573,13 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
550
573
  "aria-label": minusLabel.value,
551
574
  disabled: minusDisabled.value,
552
575
  onClick: onDec
553
- }, " − ", 8, _hoisted_1$I),
576
+ }, [
577
+ createElementVNode("span", _hoisted_2$C, [
578
+ renderSlot(_ctx.$slots, "decrement-icon", {}, () => [
579
+ _cache[0] || (_cache[0] = createTextVNode("−", -1))
580
+ ], true)
581
+ ])
582
+ ], 8, _hoisted_1$J),
554
583
  createElementVNode("input", {
555
584
  id: controlId.value,
556
585
  class: "tao-quantity__input",
@@ -570,49 +599,55 @@ const _sfc_main$P = /* @__PURE__ */ defineComponent({
570
599
  onFocus,
571
600
  onBlur,
572
601
  onKeydown
573
- }, null, 40, _hoisted_2$B),
602
+ }, null, 40, _hoisted_3$w),
574
603
  createElementVNode("button", {
575
604
  type: "button",
576
605
  class: "tao-quantity__btn tao-quantity__btn--inc",
577
- "aria-label": "Увеличить",
606
+ "aria-label": __props.incrementLabel,
578
607
  disabled: plusDisabled.value,
579
608
  onClick: onInc
580
- }, " + ", 8, _hoisted_3$u)
609
+ }, [
610
+ createElementVNode("span", _hoisted_5$k, [
611
+ renderSlot(_ctx.$slots, "increment-icon", {}, () => [
612
+ _cache[1] || (_cache[1] = createTextVNode("+", -1))
613
+ ], true)
614
+ ])
615
+ ], 8, _hoisted_4$r)
581
616
  ], 2);
582
617
  };
583
618
  }
584
619
  });
585
- const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-df6baf04"]]);
586
- const _hoisted_1$H = {
620
+ const TaoQuantity = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-c9c7c8b4"]]);
621
+ const _hoisted_1$I = {
587
622
  key: 0,
588
623
  class: "tao-card__cover"
589
624
  };
590
- const _hoisted_2$A = {
625
+ const _hoisted_2$B = {
591
626
  key: 0,
592
627
  class: "tao-card__header-title"
593
628
  };
594
- const _hoisted_3$t = { key: 0 };
595
- const _hoisted_4$o = {
629
+ const _hoisted_3$v = { key: 0 };
630
+ const _hoisted_4$q = {
596
631
  key: 2,
597
632
  class: "tao-card__title-block"
598
633
  };
599
- const _hoisted_5$h = {
634
+ const _hoisted_5$j = {
600
635
  key: 0,
601
636
  class: "tao-card__title"
602
637
  };
603
- const _hoisted_6$d = {
638
+ const _hoisted_6$e = {
604
639
  key: 1,
605
640
  class: "tao-card__sub"
606
641
  };
607
- const _hoisted_7$9 = {
642
+ const _hoisted_7$c = {
608
643
  key: 3,
609
644
  class: "tao-card__body"
610
645
  };
611
- const _hoisted_8$7 = {
646
+ const _hoisted_8$b = {
612
647
  key: 4,
613
648
  class: "tao-card__footer"
614
649
  };
615
- const _sfc_main$O = /* @__PURE__ */ defineComponent({
650
+ const _sfc_main$P = /* @__PURE__ */ defineComponent({
616
651
  ...{ name: "TaoCard" },
617
652
  __name: "TaoCard",
618
653
  props: {
@@ -644,14 +679,14 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
644
679
  }]),
645
680
  style: normalizeStyle(radiusStyle.value)
646
681
  }, [
647
- _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_1$H, [
682
+ _ctx.$slots.cover ? (openBlock(), createElementBlock("div", _hoisted_1$I, [
648
683
  renderSlot(_ctx.$slots, "cover", {}, void 0, true)
649
684
  ])) : createCommentVNode("", true),
650
685
  createElementVNode("div", {
651
686
  class: "tao-card__content",
652
687
  style: normalizeStyle(paddingStyle.value)
653
688
  }, [
654
- _ctx.$slots.headerTitle ? (openBlock(), createElementBlock("h2", _hoisted_2$A, [
689
+ _ctx.$slots.headerTitle ? (openBlock(), createElementBlock("h2", _hoisted_2$B, [
655
690
  renderSlot(_ctx.$slots, "headerTitle", {}, void 0, true)
656
691
  ])) : createCommentVNode("", true),
657
692
  _ctx.$slots.header || _ctx.$slots.headerSecondary ? (openBlock(), createElementBlock("div", {
@@ -661,22 +696,22 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
661
696
  createElementVNode("span", null, [
662
697
  renderSlot(_ctx.$slots, "header", {}, void 0, true)
663
698
  ]),
664
- _ctx.$slots.headerSecondary ? (openBlock(), createElementBlock("span", _hoisted_3$t, [
699
+ _ctx.$slots.headerSecondary ? (openBlock(), createElementBlock("span", _hoisted_3$v, [
665
700
  renderSlot(_ctx.$slots, "headerSecondary", {}, void 0, true)
666
701
  ])) : createCommentVNode("", true)
667
702
  ], 2)) : createCommentVNode("", true),
668
- _ctx.$slots.title || _ctx.$slots.sub ? (openBlock(), createElementBlock("div", _hoisted_4$o, [
669
- _ctx.$slots.title ? (openBlock(), createElementBlock("h2", _hoisted_5$h, [
703
+ _ctx.$slots.title || _ctx.$slots.sub ? (openBlock(), createElementBlock("div", _hoisted_4$q, [
704
+ _ctx.$slots.title ? (openBlock(), createElementBlock("h2", _hoisted_5$j, [
670
705
  renderSlot(_ctx.$slots, "title", {}, void 0, true)
671
706
  ])) : createCommentVNode("", true),
672
- _ctx.$slots.sub ? (openBlock(), createElementBlock("div", _hoisted_6$d, [
707
+ _ctx.$slots.sub ? (openBlock(), createElementBlock("div", _hoisted_6$e, [
673
708
  renderSlot(_ctx.$slots, "sub", {}, void 0, true)
674
709
  ])) : createCommentVNode("", true)
675
710
  ])) : createCommentVNode("", true),
676
- _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_7$9, [
711
+ _ctx.$slots.default ? (openBlock(), createElementBlock("div", _hoisted_7$c, [
677
712
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
678
713
  ])) : createCommentVNode("", true),
679
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_8$7, [
714
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_8$b, [
680
715
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
681
716
  ])) : createCommentVNode("", true)
682
717
  ], 4)
@@ -684,7 +719,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
684
719
  };
685
720
  }
686
721
  });
687
- const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-2ff3d055"]]);
722
+ const TaoCard = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["__scopeId", "data-v-2ff3d055"]]);
688
723
  const FOCUSABLE = 'a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])';
689
724
  function getFocusable(root) {
690
725
  return [...root.querySelectorAll(FOCUSABLE)].filter(
@@ -713,25 +748,28 @@ function trapTab(event, root) {
713
748
  first.focus();
714
749
  }
715
750
  }
716
- const _hoisted_1$G = ["aria-labelledby"];
717
- const _hoisted_2$z = {
751
+ const _hoisted_1$H = ["aria-labelledby"];
752
+ const _hoisted_2$A = {
718
753
  key: 0,
719
754
  class: "tao-modal__header"
720
755
  };
721
- const _hoisted_3$s = ["id"];
722
- const _hoisted_4$n = { key: 1 };
723
- const _hoisted_5$g = { class: "tao-modal__content" };
724
- const _hoisted_6$c = {
756
+ const _hoisted_3$u = ["id"];
757
+ const _hoisted_4$p = { key: 1 };
758
+ const _hoisted_5$i = ["aria-label"];
759
+ const _hoisted_6$d = { "aria-hidden": "true" };
760
+ const _hoisted_7$b = { class: "tao-modal__content" };
761
+ const _hoisted_8$a = {
725
762
  key: 1,
726
763
  class: "tao-modal__footer"
727
764
  };
728
- const _sfc_main$N = /* @__PURE__ */ defineComponent({
765
+ const _sfc_main$O = /* @__PURE__ */ defineComponent({
729
766
  ...{ name: "TaoModal" },
730
767
  __name: "TaoModal",
731
768
  props: {
732
769
  modelValue: { type: Boolean },
733
770
  title: { default: "" },
734
- closable: { type: Boolean, default: true }
771
+ closable: { type: Boolean, default: true },
772
+ closeLabel: { default: "Закрыть" }
735
773
  },
736
774
  emits: ["update:modelValue", "close"],
737
775
  setup(__props, { emit: __emit }) {
@@ -825,29 +863,35 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
825
863
  "aria-labelledby": __props.title ? unref(titleId) : void 0,
826
864
  tabindex: "-1"
827
865
  }, [
828
- __props.title || _ctx.$slots.header || __props.closable ? (openBlock(), createElementBlock("div", _hoisted_2$z, [
866
+ __props.title || _ctx.$slots.header || __props.closable ? (openBlock(), createElementBlock("div", _hoisted_2$A, [
829
867
  renderSlot(_ctx.$slots, "header", {}, () => [
830
868
  __props.title ? (openBlock(), createElementBlock("h2", {
831
869
  key: 0,
832
870
  id: unref(titleId),
833
871
  class: "tao-modal__title"
834
- }, toDisplayString(__props.title), 9, _hoisted_3$s)) : (openBlock(), createElementBlock("span", _hoisted_4$n))
872
+ }, toDisplayString(__props.title), 9, _hoisted_3$u)) : (openBlock(), createElementBlock("span", _hoisted_4$p))
835
873
  ], true),
836
874
  __props.closable ? (openBlock(), createElementBlock("button", {
837
875
  key: 0,
838
876
  type: "button",
839
877
  class: "tao-modal__close",
840
- "aria-label": "Закрыть",
878
+ "aria-label": __props.closeLabel,
841
879
  onClick: close
842
- }, " × ")) : createCommentVNode("", true)
880
+ }, [
881
+ createElementVNode("span", _hoisted_6$d, [
882
+ renderSlot(_ctx.$slots, "close-icon", {}, () => [
883
+ _cache[0] || (_cache[0] = createTextVNode("×", -1))
884
+ ], true)
885
+ ])
886
+ ], 8, _hoisted_5$i)) : createCommentVNode("", true)
843
887
  ])) : createCommentVNode("", true),
844
- createElementVNode("div", _hoisted_5$g, [
888
+ createElementVNode("div", _hoisted_7$b, [
845
889
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
846
890
  ]),
847
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$c, [
891
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_8$a, [
848
892
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
849
893
  ])) : createCommentVNode("", true)
850
- ], 8, _hoisted_1$G)
894
+ ], 8, _hoisted_1$H)
851
895
  ], 32)) : createCommentVNode("", true)
852
896
  ]),
853
897
  _: 3
@@ -856,11 +900,11 @@ const _sfc_main$N = /* @__PURE__ */ defineComponent({
856
900
  };
857
901
  }
858
902
  });
859
- const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-0cffe849"]]);
860
- const _hoisted_1$F = { class: "tao-tabs" };
861
- const _hoisted_2$y = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
862
- const _hoisted_3$r = ["id", "aria-labelledby"];
863
- const _sfc_main$M = /* @__PURE__ */ defineComponent({
903
+ const TaoModal = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["__scopeId", "data-v-67d4b1e8"]]);
904
+ const _hoisted_1$G = { class: "tao-tabs" };
905
+ const _hoisted_2$z = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"];
906
+ const _hoisted_3$t = ["id", "aria-labelledby"];
907
+ const _sfc_main$N = /* @__PURE__ */ defineComponent({
864
908
  ...{ name: "TaoTabs" },
865
909
  __name: "TaoTabs",
866
910
  props: {
@@ -924,7 +968,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
924
968
  }
925
969
  }
926
970
  return (_ctx, _cache) => {
927
- return openBlock(), createElementBlock("div", _hoisted_1$F, [
971
+ return openBlock(), createElementBlock("div", _hoisted_1$G, [
928
972
  createElementVNode("div", {
929
973
  class: "tao-tabs__list",
930
974
  role: "tablist",
@@ -949,7 +993,7 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
949
993
  }, void 0, true, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
950
994
  createTextVNode(toDisplayString(tab.label), 1)
951
995
  ], 64))
952
- ], 8, _hoisted_2$y);
996
+ ], 8, _hoisted_2$z);
953
997
  }), 128))
954
998
  ], 32),
955
999
  createElementVNode("div", {
@@ -959,12 +1003,12 @@ const _sfc_main$M = /* @__PURE__ */ defineComponent({
959
1003
  "aria-labelledby": tabId(__props.modelValue)
960
1004
  }, [
961
1005
  renderSlot(_ctx.$slots, "default", { activeTab: __props.modelValue }, void 0, true)
962
- ], 8, _hoisted_3$r)
1006
+ ], 8, _hoisted_3$t)
963
1007
  ]);
964
1008
  };
965
1009
  }
966
1010
  });
967
- const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-bf16735e"]]);
1011
+ const TaoTabs = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-bf16735e"]]);
968
1012
  function listenFocusLoss(onLoss) {
969
1013
  function onVisibilityChange() {
970
1014
  if (document.hidden) {
@@ -980,7 +1024,7 @@ function listenFocusLoss(onLoss) {
980
1024
  window.removeEventListener("pagehide", onLoss);
981
1025
  };
982
1026
  }
983
- const _sfc_main$L = /* @__PURE__ */ defineComponent({
1027
+ const _sfc_main$M = /* @__PURE__ */ defineComponent({
984
1028
  ...{ name: "TaoTooltip" },
985
1029
  __name: "TaoTooltip",
986
1030
  props: {
@@ -1142,9 +1186,9 @@ const _sfc_main$L = /* @__PURE__ */ defineComponent({
1142
1186
  };
1143
1187
  }
1144
1188
  });
1145
- const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-926dfa73"]]);
1146
- const _hoisted_1$E = { class: "tao-popover" };
1147
- const _sfc_main$K = /* @__PURE__ */ defineComponent({
1189
+ const TaoTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["__scopeId", "data-v-926dfa73"]]);
1190
+ const _hoisted_1$F = { class: "tao-popover" };
1191
+ const _sfc_main$L = /* @__PURE__ */ defineComponent({
1148
1192
  ...{ name: "TaoPopover" },
1149
1193
  __name: "TaoPopover",
1150
1194
  props: {
@@ -1302,7 +1346,7 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1302
1346
  window.removeEventListener("scroll", onViewportChange, true);
1303
1347
  });
1304
1348
  return (_ctx, _cache) => {
1305
- return openBlock(), createElementBlock("div", _hoisted_1$E, [
1349
+ return openBlock(), createElementBlock("div", _hoisted_1$F, [
1306
1350
  createElementVNode("div", {
1307
1351
  ref_key: "triggerRef",
1308
1352
  ref: triggerRef,
@@ -1331,17 +1375,17 @@ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1331
1375
  };
1332
1376
  }
1333
1377
  });
1334
- const TaoPopover = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-e4ead301"]]);
1378
+ const TaoPopover = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["__scopeId", "data-v-e4ead301"]]);
1335
1379
  const spoilerGroupKey = Symbol("taoSpoilerGroup");
1336
- const _hoisted_1$D = { class: "tao-spoiler" };
1337
- const _hoisted_2$x = ["aria-expanded", "aria-controls"];
1338
- const _hoisted_3$q = {
1380
+ const _hoisted_1$E = { class: "tao-spoiler" };
1381
+ const _hoisted_2$y = ["aria-expanded", "aria-controls"];
1382
+ const _hoisted_3$s = {
1339
1383
  key: 0,
1340
1384
  class: "tao-spoiler__title"
1341
1385
  };
1342
- const _hoisted_4$m = ["id"];
1343
- const _hoisted_5$f = { class: "tao-spoiler__content-inner" };
1344
- const _sfc_main$J = /* @__PURE__ */ defineComponent({
1386
+ const _hoisted_4$o = ["id"];
1387
+ const _hoisted_5$h = { class: "tao-spoiler__content-inner" };
1388
+ const _sfc_main$K = /* @__PURE__ */ defineComponent({
1345
1389
  ...{ name: "TaoSpoiler" },
1346
1390
  __name: "TaoSpoiler",
1347
1391
  props: {
@@ -1396,7 +1440,7 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1396
1440
  });
1397
1441
  }
1398
1442
  return (_ctx, _cache) => {
1399
- return openBlock(), createElementBlock("div", _hoisted_1$D, [
1443
+ return openBlock(), createElementBlock("div", _hoisted_1$E, [
1400
1444
  createElementVNode("button", {
1401
1445
  type: "button",
1402
1446
  class: "tao-spoiler__header",
@@ -1407,12 +1451,12 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1407
1451
  createElementVNode("span", {
1408
1452
  class: normalizeClass(["tao-spoiler__icon", { "tao-spoiler__icon--open": isOpen.value }])
1409
1453
  }, "▶", 2),
1410
- __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", _hoisted_3$q, [
1454
+ __props.title || _ctx.$slots.title ? (openBlock(), createElementBlock("span", _hoisted_3$s, [
1411
1455
  renderSlot(_ctx.$slots, "title", {}, () => [
1412
1456
  createTextVNode(toDisplayString(__props.title), 1)
1413
1457
  ], true)
1414
1458
  ])) : createCommentVNode("", true)
1415
- ], 8, _hoisted_2$x),
1459
+ ], 8, _hoisted_2$y),
1416
1460
  createVNode(Transition, {
1417
1461
  name: "tao-spoiler-slide",
1418
1462
  onBeforeEnter,
@@ -1426,10 +1470,10 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1426
1470
  id: unref(panelId),
1427
1471
  class: "tao-spoiler__content"
1428
1472
  }, [
1429
- createElementVNode("div", _hoisted_5$f, [
1473
+ createElementVNode("div", _hoisted_5$h, [
1430
1474
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
1431
1475
  ])
1432
- ], 8, _hoisted_4$m)) : createCommentVNode("", true)
1476
+ ], 8, _hoisted_4$o)) : createCommentVNode("", true)
1433
1477
  ]),
1434
1478
  _: 3
1435
1479
  })
@@ -1437,9 +1481,9 @@ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1437
1481
  };
1438
1482
  }
1439
1483
  });
1440
- const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-ccb052cf"]]);
1441
- const _hoisted_1$C = { class: "tao-spoiler-group" };
1442
- const _sfc_main$I = /* @__PURE__ */ defineComponent({
1484
+ const TaoSpoiler = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["__scopeId", "data-v-ccb052cf"]]);
1485
+ const _hoisted_1$D = { class: "tao-spoiler-group" };
1486
+ const _sfc_main$J = /* @__PURE__ */ defineComponent({
1443
1487
  ...{ name: "TaoSpoilerGroup" },
1444
1488
  __name: "TaoSpoilerGroup",
1445
1489
  props: {
@@ -1459,20 +1503,21 @@ const _sfc_main$I = /* @__PURE__ */ defineComponent({
1459
1503
  setOpen
1460
1504
  });
1461
1505
  return (_ctx, _cache) => {
1462
- return openBlock(), createElementBlock("div", _hoisted_1$C, [
1506
+ return openBlock(), createElementBlock("div", _hoisted_1$D, [
1463
1507
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
1464
1508
  ]);
1465
1509
  };
1466
1510
  }
1467
1511
  });
1468
- const TaoSpoilerGroup = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-6b172e89"]]);
1469
- const _hoisted_1$B = ["aria-label"];
1470
- const _sfc_main$H = /* @__PURE__ */ defineComponent({
1512
+ const TaoSpoilerGroup = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-6b172e89"]]);
1513
+ const _hoisted_1$C = ["aria-label"];
1514
+ const _sfc_main$I = /* @__PURE__ */ defineComponent({
1471
1515
  ...{ name: "TaoCopy" },
1472
1516
  __name: "TaoCopy",
1473
1517
  props: {
1474
1518
  text: {},
1475
1519
  successMessage: { default: "Скопировано!" },
1520
+ copyLabel: { default: "Копировать" },
1476
1521
  tip: { type: Boolean, default: true }
1477
1522
  },
1478
1523
  setup(__props) {
@@ -1574,7 +1619,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1574
1619
  createElementVNode("button", {
1575
1620
  type: "button",
1576
1621
  class: normalizeClass(["tao-copy__button", { "tao-copy__button--copied": copied.value }]),
1577
- "aria-label": copied.value ? __props.successMessage : "Копировать",
1622
+ "aria-label": copied.value ? __props.successMessage : __props.copyLabel,
1578
1623
  onClick: copy
1579
1624
  }, [..._cache[0] || (_cache[0] = [
1580
1625
  createElementVNode("svg", {
@@ -1601,7 +1646,7 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1601
1646
  "stroke-width": "2"
1602
1647
  })
1603
1648
  ], -1)
1604
- ])], 10, _hoisted_1$B)
1649
+ ])], 10, _hoisted_1$C)
1605
1650
  ], true),
1606
1651
  (openBlock(), createBlock(Teleport, { to: "body" }, [
1607
1652
  copied.value && __props.tip && __props.successMessage ? (openBlock(), createElementBlock("div", {
@@ -1617,8 +1662,8 @@ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1617
1662
  };
1618
1663
  }
1619
1664
  });
1620
- const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-1953c07e"]]);
1621
- const _sfc_main$G = /* @__PURE__ */ defineComponent({
1665
+ const TaoCopy = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-38d3381d"]]);
1666
+ const _sfc_main$H = /* @__PURE__ */ defineComponent({
1622
1667
  ...{ name: "TaoContainer" },
1623
1668
  __name: "TaoContainer",
1624
1669
  props: {
@@ -1635,8 +1680,8 @@ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1635
1680
  };
1636
1681
  }
1637
1682
  });
1638
- const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-4c0deb90"]]);
1639
- const _sfc_main$F = /* @__PURE__ */ defineComponent({
1683
+ const TaoContainer = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-4c0deb90"]]);
1684
+ const _sfc_main$G = /* @__PURE__ */ defineComponent({
1640
1685
  ...{ name: "TaoFlex" },
1641
1686
  __name: "TaoFlex",
1642
1687
  props: {
@@ -1667,7 +1712,7 @@ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1667
1712
  };
1668
1713
  }
1669
1714
  });
1670
- const _sfc_main$E = /* @__PURE__ */ defineComponent({
1715
+ const _sfc_main$F = /* @__PURE__ */ defineComponent({
1671
1716
  ...{ name: "TaoSpace" },
1672
1717
  __name: "TaoSpace",
1673
1718
  props: {
@@ -1687,7 +1732,332 @@ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1687
1732
  };
1688
1733
  }
1689
1734
  });
1690
- const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-698ca712"]]);
1735
+ const TaoSpace = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-698ca712"]]);
1736
+ const _hoisted_1$B = { class: "tao-split__pane tao-split__pane--start" };
1737
+ const _hoisted_2$x = ["aria-orientation", "aria-valuemin", "aria-valuemax", "aria-valuenow", "aria-valuetext", "aria-disabled", "tabindex"];
1738
+ const _hoisted_3$r = { class: "tao-split__pane tao-split__pane--end" };
1739
+ const _hoisted_4$n = {
1740
+ key: 0,
1741
+ class: "tao-split__shield"
1742
+ };
1743
+ const _sfc_main$E = /* @__PURE__ */ defineComponent({
1744
+ ...{ name: "TaoSplit" },
1745
+ __name: "TaoSplit",
1746
+ props: {
1747
+ modelValue: { default: 50 },
1748
+ direction: { default: "row" },
1749
+ unit: { default: "%" },
1750
+ min: { default: 0 },
1751
+ max: {},
1752
+ minEnd: { default: 0 },
1753
+ resizable: { type: Boolean, default: true },
1754
+ step: {}
1755
+ },
1756
+ emits: ["update:modelValue"],
1757
+ setup(__props, { emit: __emit }) {
1758
+ const props = __props;
1759
+ const emit = __emit;
1760
+ const rootRef = ref(null);
1761
+ const handleRef = ref(null);
1762
+ const startPx = ref(0);
1763
+ const available = ref(0);
1764
+ const isDragging = ref(false);
1765
+ const size = ref(props.modelValue);
1766
+ const isRow = computed(() => props.direction === "row");
1767
+ const stepValue = computed(() => props.step ?? (props.unit === "%" ? 1 : 8));
1768
+ const ariaOrientation = computed(() => isRow.value ? "vertical" : "horizontal");
1769
+ let dragPointer = -1;
1770
+ let dragStartPx = 0;
1771
+ let dragStartCoord = 0;
1772
+ let savedBodyCursor = "";
1773
+ let savedHtmlCursor = "";
1774
+ let savedUserSelect = "";
1775
+ let resizeObserver = null;
1776
+ let stopFocusLoss;
1777
+ function axisSize(el) {
1778
+ const rect = el.getBoundingClientRect();
1779
+ return isRow.value ? rect.width : rect.height;
1780
+ }
1781
+ function measureAvailable() {
1782
+ if (!rootRef.value || !handleRef.value) {
1783
+ return 0;
1784
+ }
1785
+ return Math.max(0, axisSize(rootRef.value) - axisSize(handleRef.value));
1786
+ }
1787
+ function toPx(value, avail) {
1788
+ if (avail <= 0) {
1789
+ return 0;
1790
+ }
1791
+ return props.unit === "%" ? value / 100 * avail : value;
1792
+ }
1793
+ function fromPx(px, avail) {
1794
+ if (props.unit === "%") {
1795
+ if (avail <= 0) {
1796
+ return 0;
1797
+ }
1798
+ return Math.round(px / avail * 1e4) / 100;
1799
+ }
1800
+ return Math.round(px);
1801
+ }
1802
+ function valuesEqual(a, b) {
1803
+ if (props.unit === "%") {
1804
+ return Math.abs(a - b) < 5e-3;
1805
+ }
1806
+ return Math.round(a) === Math.round(b);
1807
+ }
1808
+ function clampStartPx(desiredPx, avail) {
1809
+ if (avail <= 0) {
1810
+ return 0;
1811
+ }
1812
+ const minStartPx = toPx(props.min, avail);
1813
+ const minEndPx = toPx(props.minEnd, avail);
1814
+ const maxStartPx = props.max != null ? toPx(props.max, avail) : Infinity;
1815
+ if (minStartPx + minEndPx > avail) {
1816
+ return Math.min(Math.max(desiredPx, 0), avail);
1817
+ }
1818
+ const lo = minStartPx;
1819
+ const hi = Math.min(maxStartPx, avail - minEndPx);
1820
+ return Math.min(Math.max(desiredPx, lo), Math.max(lo, hi));
1821
+ }
1822
+ function commit(next) {
1823
+ if (valuesEqual(next, size.value)) {
1824
+ size.value = next;
1825
+ return;
1826
+ }
1827
+ size.value = next;
1828
+ emit("update:modelValue", next);
1829
+ }
1830
+ function applyLayout(emitIfChanged) {
1831
+ const avail = measureAvailable();
1832
+ available.value = avail;
1833
+ const clamped = clampStartPx(toPx(size.value, avail), avail);
1834
+ startPx.value = clamped;
1835
+ const next = fromPx(clamped, avail);
1836
+ if (emitIfChanged) {
1837
+ commit(next);
1838
+ }
1839
+ }
1840
+ function isRtl() {
1841
+ return !!rootRef.value && getComputedStyle(rootRef.value).direction === "rtl";
1842
+ }
1843
+ function applyDragCursor() {
1844
+ savedBodyCursor = document.body.style.cursor;
1845
+ savedHtmlCursor = document.documentElement.style.cursor;
1846
+ savedUserSelect = document.body.style.userSelect;
1847
+ const cursor = isRow.value ? "col-resize" : "row-resize";
1848
+ document.body.style.cursor = cursor;
1849
+ document.documentElement.style.cursor = cursor;
1850
+ document.body.style.userSelect = "none";
1851
+ }
1852
+ function restoreDragCursor() {
1853
+ document.body.style.cursor = savedBodyCursor;
1854
+ document.documentElement.style.cursor = savedHtmlCursor;
1855
+ document.body.style.userSelect = savedUserSelect;
1856
+ }
1857
+ function releaseDragCapture() {
1858
+ const el = handleRef.value;
1859
+ const id = dragPointer;
1860
+ if (!el || id === -1) {
1861
+ return;
1862
+ }
1863
+ if (typeof el.hasPointerCapture === "function" && !el.hasPointerCapture(id)) {
1864
+ return;
1865
+ }
1866
+ try {
1867
+ el.releasePointerCapture(id);
1868
+ } catch {
1869
+ }
1870
+ }
1871
+ function endDrag() {
1872
+ if (!isDragging.value) {
1873
+ return;
1874
+ }
1875
+ isDragging.value = false;
1876
+ releaseDragCapture();
1877
+ dragPointer = -1;
1878
+ restoreDragCursor();
1879
+ applyLayout(true);
1880
+ }
1881
+ function setStartFromDelta(delta) {
1882
+ const avail = measureAvailable();
1883
+ available.value = avail;
1884
+ const nextPx = clampStartPx(dragStartPx + delta, avail);
1885
+ startPx.value = nextPx;
1886
+ commit(fromPx(nextPx, avail));
1887
+ }
1888
+ function onPointerDown(event) {
1889
+ if (!props.resizable || event.button !== 0 || !handleRef.value) {
1890
+ return;
1891
+ }
1892
+ dragPointer = event.pointerId;
1893
+ isDragging.value = true;
1894
+ dragStartPx = startPx.value;
1895
+ dragStartCoord = isRow.value ? event.clientX : event.clientY;
1896
+ applyDragCursor();
1897
+ event.preventDefault();
1898
+ try {
1899
+ handleRef.value.setPointerCapture(event.pointerId);
1900
+ } catch {
1901
+ }
1902
+ }
1903
+ function onPointerMove(event) {
1904
+ if (!isDragging.value || event.pointerId !== dragPointer) {
1905
+ return;
1906
+ }
1907
+ const coord = isRow.value ? event.clientX : event.clientY;
1908
+ let delta = coord - dragStartCoord;
1909
+ if (isRow.value && isRtl()) {
1910
+ delta = -delta;
1911
+ }
1912
+ setStartFromDelta(delta);
1913
+ }
1914
+ function onPointerEnd(event) {
1915
+ if (!isDragging.value) {
1916
+ return;
1917
+ }
1918
+ if (dragPointer !== -1 && event.pointerId !== dragPointer) {
1919
+ return;
1920
+ }
1921
+ endDrag();
1922
+ }
1923
+ function onLostPointerCapture() {
1924
+ endDrag();
1925
+ }
1926
+ function ariaMax() {
1927
+ const avail = available.value;
1928
+ if (avail <= 0) {
1929
+ return props.max ?? (props.unit === "%" ? 100 - props.minEnd : 0);
1930
+ }
1931
+ const maxByEnd = fromPx(Math.max(0, avail - toPx(props.minEnd, avail)), avail);
1932
+ if (props.max == null) {
1933
+ return maxByEnd;
1934
+ }
1935
+ return Math.min(props.max, maxByEnd);
1936
+ }
1937
+ const ariaValueMin = computed(() => props.min);
1938
+ const ariaValueMax = computed(() => ariaMax());
1939
+ const ariaValueNow = computed(() => size.value);
1940
+ const ariaValueText = computed(() => props.unit === "%" ? `${size.value}%` : `${Math.round(size.value)}px`);
1941
+ function onKeydown(event) {
1942
+ if (!props.resizable) {
1943
+ return;
1944
+ }
1945
+ const avail = measureAvailable();
1946
+ available.value = avail;
1947
+ if (event.key === "Home") {
1948
+ event.preventDefault();
1949
+ const nextPx2 = clampStartPx(toPx(props.min, avail), avail);
1950
+ startPx.value = nextPx2;
1951
+ commit(fromPx(nextPx2, avail));
1952
+ return;
1953
+ }
1954
+ if (event.key === "End") {
1955
+ event.preventDefault();
1956
+ const nextPx2 = clampStartPx(toPx(ariaMax(), avail), avail);
1957
+ startPx.value = nextPx2;
1958
+ commit(fromPx(nextPx2, avail));
1959
+ return;
1960
+ }
1961
+ const primary = isRow.value && (event.key === "ArrowLeft" || event.key === "ArrowRight") || !isRow.value && (event.key === "ArrowUp" || event.key === "ArrowDown");
1962
+ const secondary = isRow.value && (event.key === "ArrowUp" || event.key === "ArrowDown") || !isRow.value && (event.key === "ArrowLeft" || event.key === "ArrowRight");
1963
+ if (!primary && !secondary) {
1964
+ return;
1965
+ }
1966
+ event.preventDefault();
1967
+ let dir = event.key === "ArrowRight" || event.key === "ArrowDown" ? 1 : -1;
1968
+ if (isRow.value && isRtl() && (event.key === "ArrowLeft" || event.key === "ArrowRight")) {
1969
+ dir = -dir;
1970
+ }
1971
+ const nextModel = size.value + dir * stepValue.value;
1972
+ const nextPx = clampStartPx(toPx(nextModel, avail), avail);
1973
+ startPx.value = nextPx;
1974
+ commit(fromPx(nextPx, avail));
1975
+ }
1976
+ watch(
1977
+ () => props.modelValue,
1978
+ (value) => {
1979
+ if (isDragging.value) {
1980
+ return;
1981
+ }
1982
+ if (!valuesEqual(value, size.value)) {
1983
+ size.value = value;
1984
+ applyLayout(false);
1985
+ }
1986
+ }
1987
+ );
1988
+ watch(
1989
+ () => [props.unit, props.direction, props.min, props.max, props.minEnd, props.resizable],
1990
+ () => {
1991
+ if (!isDragging.value) {
1992
+ applyLayout(true);
1993
+ }
1994
+ }
1995
+ );
1996
+ onMounted(() => {
1997
+ applyLayout(false);
1998
+ resizeObserver = new ResizeObserver(() => {
1999
+ if (isDragging.value) {
2000
+ return;
2001
+ }
2002
+ applyLayout(true);
2003
+ });
2004
+ if (rootRef.value) {
2005
+ resizeObserver.observe(rootRef.value);
2006
+ }
2007
+ stopFocusLoss = listenFocusLoss(endDrag);
2008
+ });
2009
+ onBeforeUnmount(() => {
2010
+ endDrag();
2011
+ resizeObserver == null ? void 0 : resizeObserver.disconnect();
2012
+ resizeObserver = null;
2013
+ stopFocusLoss == null ? void 0 : stopFocusLoss();
2014
+ });
2015
+ return (_ctx, _cache) => {
2016
+ return openBlock(), createElementBlock("div", {
2017
+ ref_key: "rootRef",
2018
+ ref: rootRef,
2019
+ class: normalizeClass(["tao-split", [
2020
+ `tao-split--${__props.direction}`,
2021
+ {
2022
+ "tao-split--fixed": !__props.resizable,
2023
+ "tao-split--dragging": isDragging.value
2024
+ }
2025
+ ]]),
2026
+ style: normalizeStyle({ "--tao-split-start": `${startPx.value}px` })
2027
+ }, [
2028
+ createElementVNode("div", _hoisted_1$B, [
2029
+ renderSlot(_ctx.$slots, "start", {}, void 0, true)
2030
+ ]),
2031
+ createElementVNode("div", {
2032
+ ref_key: "handleRef",
2033
+ ref: handleRef,
2034
+ class: "tao-split__handle",
2035
+ role: "separator",
2036
+ "aria-orientation": ariaOrientation.value,
2037
+ "aria-valuemin": ariaValueMin.value,
2038
+ "aria-valuemax": ariaValueMax.value,
2039
+ "aria-valuenow": ariaValueNow.value,
2040
+ "aria-valuetext": ariaValueText.value,
2041
+ "aria-disabled": __props.resizable ? void 0 : true,
2042
+ tabindex: __props.resizable ? 0 : -1,
2043
+ onPointerdown: onPointerDown,
2044
+ onPointermove: onPointerMove,
2045
+ onPointerup: onPointerEnd,
2046
+ onPointercancel: onPointerEnd,
2047
+ onLostpointercapture: onLostPointerCapture,
2048
+ onKeydown,
2049
+ onDragstart: _cache[0] || (_cache[0] = withModifiers(() => {
2050
+ }, ["prevent"]))
2051
+ }, null, 40, _hoisted_2$x),
2052
+ createElementVNode("div", _hoisted_3$r, [
2053
+ renderSlot(_ctx.$slots, "end", {}, void 0, true)
2054
+ ]),
2055
+ isDragging.value ? (openBlock(), createElementBlock("div", _hoisted_4$n)) : createCommentVNode("", true)
2056
+ ], 6);
2057
+ };
2058
+ }
2059
+ });
2060
+ const TaoSplit = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-f44196dc"]]);
1691
2061
  const _hoisted_1$A = { class: "tao-icon" };
1692
2062
  const _sfc_main$D = /* @__PURE__ */ defineComponent({
1693
2063
  ...{ name: "TaoIcon" },
@@ -1780,6 +2150,7 @@ const _sfc_main$C = /* @__PURE__ */ defineComponent({
1780
2150
  const TaoLoader = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-75a40018"]]);
1781
2151
  const _hoisted_1$z = { class: "tao-image" };
1782
2152
  const _hoisted_2$w = ["src", "alt", "loading"];
2153
+ const _hoisted_3$q = { class: "tao-image__placeholder" };
1783
2154
  const _sfc_main$B = /* @__PURE__ */ defineComponent({
1784
2155
  ...{ name: "TaoImage" },
1785
2156
  __name: "TaoImage",
@@ -1787,7 +2158,8 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1787
2158
  src: { default: "" },
1788
2159
  alt: { default: "" },
1789
2160
  pixelated: { type: Boolean, default: false },
1790
- lazy: { type: Boolean, default: false }
2161
+ lazy: { type: Boolean, default: false },
2162
+ placeholderText: { default: "No image available" }
1791
2163
  },
1792
2164
  emits: ["load", "error"],
1793
2165
  setup(__props, { emit: __emit }) {
@@ -1818,20 +2190,20 @@ const _sfc_main$B = /* @__PURE__ */ defineComponent({
1818
2190
  onLoad: handleLoad,
1819
2191
  onError: handleError
1820
2192
  }, null, 42, _hoisted_2$w)) : renderSlot(_ctx.$slots, "default", {}, () => [
1821
- _cache[0] || (_cache[0] = createElementVNode("div", { class: "tao-image__placeholder" }, "No image available", -1))
2193
+ createElementVNode("div", _hoisted_3$q, toDisplayString(__props.placeholderText), 1)
1822
2194
  ], true, 1)
1823
2195
  ]);
1824
2196
  };
1825
2197
  }
1826
2198
  });
1827
- const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-522fe4da"]]);
2199
+ const TaoImage = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-e7c911e5"]]);
1828
2200
  const _hoisted_1$y = ["for"];
1829
2201
  const _hoisted_2$v = ["id", "checked", "disabled", "aria-checked", "aria-invalid", "aria-describedby"];
1830
2202
  const _hoisted_3$p = {
1831
2203
  key: 0,
1832
2204
  class: "tao-checkbox__label"
1833
2205
  };
1834
- const _hoisted_4$l = {
2206
+ const _hoisted_4$m = {
1835
2207
  key: 1,
1836
2208
  class: "tao-checkbox__label"
1837
2209
  };
@@ -1907,7 +2279,7 @@ const _sfc_main$A = /* @__PURE__ */ defineComponent({
1907
2279
  onChange: onInputChange
1908
2280
  }, null, 40, _hoisted_2$v),
1909
2281
  _cache[0] || (_cache[0] = createElementVNode("span", { class: "tao-checkbox__box" }, null, -1)),
1910
- __props.label ? (openBlock(), createElementBlock("span", _hoisted_3$p, toDisplayString(__props.label), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$l, [
2282
+ __props.label ? (openBlock(), createElementBlock("span", _hoisted_3$p, toDisplayString(__props.label), 1)) : (openBlock(), createElementBlock("span", _hoisted_4$m, [
1911
2283
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
1912
2284
  ])),
1913
2285
  renderSlot(_ctx.$slots, "post", { text: __props.label }, void 0, true)
@@ -1922,6 +2294,7 @@ const _hoisted_1$x = {
1922
2294
  };
1923
2295
  const _hoisted_2$u = { class: "tao-tag__text" };
1924
2296
  const _hoisted_3$o = ["aria-label"];
2297
+ const _hoisted_4$l = { "aria-hidden": "true" };
1925
2298
  const _sfc_main$z = /* @__PURE__ */ defineComponent({
1926
2299
  ...{ name: "TaoTag" },
1927
2300
  __name: "TaoTag",
@@ -1974,12 +2347,18 @@ const _sfc_main$z = /* @__PURE__ */ defineComponent({
1974
2347
  class: "tao-tag__close",
1975
2348
  "aria-label": __props.closeLabel,
1976
2349
  onClick: withModifiers(onClose, ["stop"])
1977
- }, " ✕ ", 8, _hoisted_3$o)) : createCommentVNode("", true)
2350
+ }, [
2351
+ createElementVNode("span", _hoisted_4$l, [
2352
+ renderSlot(_ctx.$slots, "close-icon", {}, () => [
2353
+ _cache[0] || (_cache[0] = createTextVNode("✕", -1))
2354
+ ], true)
2355
+ ])
2356
+ ], 8, _hoisted_3$o)) : createCommentVNode("", true)
1978
2357
  ], 6);
1979
2358
  };
1980
2359
  }
1981
2360
  });
1982
- const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-5bd7ca79"]]);
2361
+ const TaoTag = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-f353f529"]]);
1983
2362
  const _hoisted_1$w = {
1984
2363
  key: 1,
1985
2364
  class: "tao-divider-text"
@@ -2216,7 +2595,7 @@ const _sfc_main$v = /* @__PURE__ */ defineComponent({
2216
2595
  }
2217
2596
  });
2218
2597
  const TaoTextarea = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-2534c0c4"]]);
2219
- const _hoisted_1$t = ["tabindex"];
2598
+ const _hoisted_1$t = ["tabindex", "aria-label"];
2220
2599
  const _hoisted_2$q = { class: "tao-scroll-top__content" };
2221
2600
  const RIPPLE_DURATION = 750;
2222
2601
  const _sfc_main$u = /* @__PURE__ */ defineComponent({
@@ -2229,7 +2608,8 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
2229
2608
  zIndex: { default: 1e3 },
2230
2609
  boundary: { default: 300 },
2231
2610
  hasOutline: { type: Boolean, default: true },
2232
- tabindex: { default: 0 }
2611
+ tabindex: { default: 0 },
2612
+ ariaLabel: { default: "Наверх" }
2233
2613
  },
2234
2614
  setup(__props) {
2235
2615
  const props = __props;
@@ -2316,7 +2696,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
2316
2696
  style: normalizeStyle(mainStyle),
2317
2697
  tabindex: props.tabindex,
2318
2698
  class: normalizeClass(["tao-scroll-top", { "tao-scroll-top--no-outline": !props.hasOutline }]),
2319
- "aria-label": "Наверх",
2699
+ "aria-label": props.ariaLabel,
2320
2700
  onClick: withModifiers(onClick, ["prevent"])
2321
2701
  }, [
2322
2702
  createElementVNode("div", _hoisted_2$q, [
@@ -2343,7 +2723,7 @@ const _sfc_main$u = /* @__PURE__ */ defineComponent({
2343
2723
  };
2344
2724
  }
2345
2725
  });
2346
- const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-ce902f42"]]);
2726
+ const TaoScrollTop = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-59678649"]]);
2347
2727
  const _hoisted_1$s = { class: "tao-progress" };
2348
2728
  const _hoisted_2$p = {
2349
2729
  key: 0,
@@ -2354,11 +2734,11 @@ const _hoisted_4$j = {
2354
2734
  key: 0,
2355
2735
  class: "tao-progress__percentage"
2356
2736
  };
2357
- const _hoisted_5$e = {
2737
+ const _hoisted_5$g = {
2358
2738
  key: 1,
2359
2739
  class: "tao-progress__side"
2360
2740
  };
2361
- const _hoisted_6$b = {
2741
+ const _hoisted_6$c = {
2362
2742
  key: 0,
2363
2743
  class: "tao-progress__percentage"
2364
2744
  };
@@ -2413,9 +2793,9 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
2413
2793
  }, null, 6)
2414
2794
  ], 4)
2415
2795
  ]),
2416
- _ctx.$slots.right || showEndPercent.value ? (openBlock(), createElementBlock("div", _hoisted_5$e, [
2796
+ _ctx.$slots.right || showEndPercent.value ? (openBlock(), createElementBlock("div", _hoisted_5$g, [
2417
2797
  renderSlot(_ctx.$slots, "right", {}, void 0, true),
2418
- showEndPercent.value ? (openBlock(), createElementBlock("span", _hoisted_6$b, toDisplayString(endPercentLabel.value), 1)) : createCommentVNode("", true)
2798
+ showEndPercent.value ? (openBlock(), createElementBlock("span", _hoisted_6$c, toDisplayString(endPercentLabel.value), 1)) : createCommentVNode("", true)
2419
2799
  ])) : createCommentVNode("", true)
2420
2800
  ], 6)
2421
2801
  ]);
@@ -2660,14 +3040,17 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
2660
3040
  const TaoSlider = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-24a38782"]]);
2661
3041
  const _hoisted_1$q = { class: "tao-file-drop" };
2662
3042
  const _hoisted_2$n = { class: "tao-file-drop__row" };
2663
- const _hoisted_3$j = ["accept", "multiple"];
2664
- const _hoisted_4$i = {
3043
+ const _hoisted_3$j = ["aria-label"];
3044
+ const _hoisted_4$i = { "aria-hidden": "true" };
3045
+ const _hoisted_5$f = ["accept", "multiple"];
3046
+ const _hoisted_6$b = {
2665
3047
  key: 0,
2666
3048
  class: "tao-file-drop__list"
2667
3049
  };
2668
- const _hoisted_5$d = { class: "tao-file-drop__name" };
2669
- const _hoisted_6$a = { class: "tao-file-drop__meta" };
2670
- const _hoisted_7$8 = ["aria-label", "onClick"];
3050
+ const _hoisted_7$a = { class: "tao-file-drop__name" };
3051
+ const _hoisted_8$9 = { class: "tao-file-drop__meta" };
3052
+ const _hoisted_9$4 = ["aria-label", "onClick"];
3053
+ const _hoisted_10$4 = { "aria-hidden": "true" };
2671
3054
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
2672
3055
  ...{ name: "TaoFileDrop" },
2673
3056
  __name: "TaoFileDrop",
@@ -2677,6 +3060,9 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2677
3060
  accept: { default: "*" },
2678
3061
  multiple: { type: Boolean, default: false },
2679
3062
  showClear: { type: Boolean, default: false },
3063
+ clearLabel: { default: "Очистить файлы" },
3064
+ removeLabel: { default: "Убрать «{name}»" },
3065
+ formatSize: {},
2680
3066
  list: { type: Boolean, default: true }
2681
3067
  },
2682
3068
  emits: ["update:modelValue", "files", "clear-request"],
@@ -2743,7 +3129,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2743
3129
  el.type = "file";
2744
3130
  }
2745
3131
  }
2746
- function formatSize(bytes) {
3132
+ function defaultFormatSize(bytes) {
2747
3133
  if (bytes < 1024) {
2748
3134
  return `${bytes} Б`;
2749
3135
  }
@@ -2756,6 +3142,9 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2756
3142
  const value = mb < 10 ? mb.toFixed(1) : String(Math.round(mb));
2757
3143
  return `${value.replace(".", ",")} МБ`;
2758
3144
  }
3145
+ function sizeLabel(bytes) {
3146
+ return props.formatSize ? props.formatSize(bytes) : defaultFormatSize(bytes);
3147
+ }
2759
3148
  function fileKey(file, index) {
2760
3149
  return `${file.name}-${file.size}-${file.lastModified}-${index}`;
2761
3150
  }
@@ -2773,9 +3162,15 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2773
3162
  key: 0,
2774
3163
  type: "button",
2775
3164
  class: "tao-file-drop__clear",
2776
- "aria-label": "Очистить файлы",
3165
+ "aria-label": __props.clearLabel,
2777
3166
  onClick: requestClear
2778
- }, " ✕ ")) : createCommentVNode("", true),
3167
+ }, [
3168
+ createElementVNode("span", _hoisted_4$i, [
3169
+ renderSlot(_ctx.$slots, "clear-icon", {}, () => [
3170
+ _cache[1] || (_cache[1] = createTextVNode("✕", -1))
3171
+ ], true)
3172
+ ])
3173
+ ], 8, _hoisted_3$j)) : createCommentVNode("", true),
2779
3174
  createElementVNode("label", {
2780
3175
  class: normalizeClass(["tao-file-drop__zone", [`tao-file-drop__zone--${__props.size}`, { "tao-file-drop__zone--dragging": isDragging.value }]]),
2781
3176
  onDragover: handleDragOver,
@@ -2783,7 +3178,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2783
3178
  onDrop: handleDrop
2784
3179
  }, [
2785
3180
  renderSlot(_ctx.$slots, "default", {}, () => [
2786
- _cache[1] || (_cache[1] = createTextVNode("Перетащите файл сюда или нажмите, чтобы выбрать", -1))
3181
+ _cache[2] || (_cache[2] = createTextVNode("Перетащите файл сюда или нажмите, чтобы выбрать", -1))
2787
3182
  ], true),
2788
3183
  createElementVNode("input", {
2789
3184
  ref_key: "fileInput",
@@ -2795,23 +3190,29 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2795
3190
  onChange: handleFileSelect,
2796
3191
  onClick: _cache[0] || (_cache[0] = withModifiers(() => {
2797
3192
  }, ["stop"]))
2798
- }, null, 40, _hoisted_3$j)
3193
+ }, null, 40, _hoisted_5$f)
2799
3194
  ], 34)
2800
3195
  ]),
2801
- __props.list && __props.modelValue.length ? (openBlock(), createElementBlock("ul", _hoisted_4$i, [
3196
+ __props.list && __props.modelValue.length ? (openBlock(), createElementBlock("ul", _hoisted_6$b, [
2802
3197
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.modelValue, (file, index) => {
2803
3198
  return openBlock(), createElementBlock("li", {
2804
3199
  key: fileKey(file, index),
2805
3200
  class: "tao-file-drop__file"
2806
3201
  }, [
2807
- createElementVNode("span", _hoisted_5$d, toDisplayString(file.name), 1),
2808
- createElementVNode("span", _hoisted_6$a, toDisplayString(formatSize(file.size)), 1),
3202
+ createElementVNode("span", _hoisted_7$a, toDisplayString(file.name), 1),
3203
+ createElementVNode("span", _hoisted_8$9, toDisplayString(sizeLabel(file.size)), 1),
2809
3204
  createElementVNode("button", {
2810
3205
  type: "button",
2811
3206
  class: "tao-file-drop__remove",
2812
- "aria-label": `Убрать «${file.name}»`,
3207
+ "aria-label": __props.removeLabel.replace("{name}", file.name),
2813
3208
  onClick: ($event) => removeAt(index)
2814
- }, " ✕ ", 8, _hoisted_7$8)
3209
+ }, [
3210
+ createElementVNode("span", _hoisted_10$4, [
3211
+ renderSlot(_ctx.$slots, "remove-icon", {}, () => [
3212
+ _cache[3] || (_cache[3] = createTextVNode("✕", -1))
3213
+ ], true)
3214
+ ])
3215
+ ], 8, _hoisted_9$4)
2815
3216
  ]);
2816
3217
  }), 128))
2817
3218
  ])) : createCommentVNode("", true)
@@ -2819,19 +3220,18 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
2819
3220
  };
2820
3221
  }
2821
3222
  });
2822
- const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-f97c4e91"]]);
3223
+ const TaoFileDrop = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-570fc1bb"]]);
2823
3224
  const _hoisted_1$p = ["aria-expanded"];
2824
- const _hoisted_2$m = {
2825
- key: 1,
2826
- "aria-label": "Меню"
2827
- };
2828
- const _hoisted_3$i = ["onClick", "onMouseenter"];
2829
- const _hoisted_4$h = { key: 1 };
3225
+ const _hoisted_2$m = ["aria-label"];
3226
+ const _hoisted_3$i = { "aria-hidden": "true" };
3227
+ const _hoisted_4$h = ["onClick", "onMouseenter"];
3228
+ const _hoisted_5$e = { key: 1 };
2830
3229
  const _sfc_main$q = /* @__PURE__ */ defineComponent({
2831
3230
  ...{ name: "TaoDropdownMenu" },
2832
3231
  __name: "TaoDropdownMenu",
2833
3232
  props: {
2834
- actions: { default: () => [] }
3233
+ actions: { default: () => [] },
3234
+ menuLabel: { default: "Меню" }
2835
3235
  },
2836
3236
  emits: ["selected"],
2837
3237
  setup(__props, { emit: __emit }) {
@@ -2962,7 +3362,16 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2962
3362
  "aria-expanded": isOpen.value,
2963
3363
  onClick: toggleMenu
2964
3364
  }, [
2965
- _ctx.$slots.button ? renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (openBlock(), createElementBlock("span", _hoisted_2$m, "⋮"))
3365
+ _ctx.$slots.button ? renderSlot(_ctx.$slots, "button", {}, void 0, true, 0) : (openBlock(), createElementBlock("span", {
3366
+ key: 1,
3367
+ "aria-label": __props.menuLabel
3368
+ }, [
3369
+ createElementVNode("span", _hoisted_3$i, [
3370
+ renderSlot(_ctx.$slots, "icon", {}, () => [
3371
+ _cache[0] || (_cache[0] = createTextVNode("⋮", -1))
3372
+ ], true)
3373
+ ])
3374
+ ], 8, _hoisted_2$m))
2966
3375
  ], 8, _hoisted_1$p),
2967
3376
  (openBlock(), createBlock(Teleport, { to: "body" }, [
2968
3377
  isOpen.value ? (openBlock(), createElementBlock("div", {
@@ -2988,8 +3397,8 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2988
3397
  id: action.id,
2989
3398
  ico: action.ico,
2990
3399
  text: action.name
2991
- }, void 0, true, 0) : (openBlock(), createElementBlock("span", _hoisted_4$h, toDisplayString(action.name), 1))
2992
- ], 42, _hoisted_3$i);
3400
+ }, void 0, true, 0) : (openBlock(), createElementBlock("span", _hoisted_5$e, toDisplayString(action.name), 1))
3401
+ ], 42, _hoisted_4$h);
2993
3402
  }), 128))
2994
3403
  ], 36)) : createCommentVNode("", true)
2995
3404
  ]))
@@ -2997,7 +3406,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
2997
3406
  };
2998
3407
  }
2999
3408
  });
3000
- const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-420a7e63"]]);
3409
+ const TaoDropdownMenu = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-42bc0a2a"]]);
3001
3410
  const _hoisted_1$o = ["aria-invalid", "aria-describedby"];
3002
3411
  const _hoisted_2$l = ["id", "value", "placeholder", "type", "inputmode", "pattern", "onInput", "onKeydown", "onFocus"];
3003
3412
  const _sfc_main$p = /* @__PURE__ */ defineComponent({
@@ -3281,7 +3690,8 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
3281
3690
  options: { default: () => [] },
3282
3691
  placeholder: { default: "Выберите" },
3283
3692
  disabled: { type: Boolean, default: false },
3284
- error: { type: Boolean, default: false }
3693
+ error: { type: Boolean, default: false },
3694
+ clearText: { default: "Очистить" }
3285
3695
  },
3286
3696
  emits: ["update:modelValue", "change"],
3287
3697
  setup(__props, { emit: __emit }) {
@@ -3487,10 +3897,12 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
3487
3897
  onKeydown: onTriggerKeydown
3488
3898
  }, [
3489
3899
  createElementVNode("span", _hoisted_2$k, toDisplayString(((_a = selected.value) == null ? void 0 : _a.label) ?? __props.placeholder), 1),
3490
- _cache[2] || (_cache[2] = createElementVNode("span", {
3491
- class: "tao-select__chevron",
3900
+ createElementVNode("span", {
3901
+ class: normalizeClass(["tao-select__chevron", { "tao-select__chevron--custom": _ctx.$slots.chevron }]),
3492
3902
  "aria-hidden": "true"
3493
- }, null, -1))
3903
+ }, [
3904
+ renderSlot(_ctx.$slots, "chevron", {}, void 0, true)
3905
+ ], 2)
3494
3906
  ], 42, _hoisted_1$m),
3495
3907
  (openBlock(), createBlock(Teleport, { to: "body" }, [
3496
3908
  open.value ? (openBlock(), createElementBlock("div", {
@@ -3537,14 +3949,18 @@ const _sfc_main$m = /* @__PURE__ */ defineComponent({
3537
3949
  onMousedown: _cache[1] || (_cache[1] = withModifiers(() => {
3538
3950
  }, ["prevent"])),
3539
3951
  onClick: clear
3540
- }, " Очистить ", 32)) : createCommentVNode("", true)
3952
+ }, [
3953
+ renderSlot(_ctx.$slots, "clear", {}, () => [
3954
+ createTextVNode(toDisplayString(__props.clearText), 1)
3955
+ ], true)
3956
+ ], 32)) : createCommentVNode("", true)
3541
3957
  ], 4)) : createCommentVNode("", true)
3542
3958
  ]))
3543
3959
  ], 2);
3544
3960
  };
3545
3961
  }
3546
3962
  });
3547
- const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-42551757"]]);
3963
+ const TaoSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-c5d6cdd3"]]);
3548
3964
  const _hoisted_1$l = ["id", "aria-expanded", "aria-activedescendant", "aria-invalid", "aria-describedby", "disabled", "placeholder", "value"];
3549
3965
  const _hoisted_2$j = {
3550
3966
  key: 0,
@@ -3560,6 +3976,8 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
3560
3976
  placeholder: { default: "Начните вводить" },
3561
3977
  disabled: { type: Boolean, default: false },
3562
3978
  error: { type: Boolean, default: false },
3979
+ emptyText: { default: "Ничего не найдено" },
3980
+ clearText: { default: "Очистить" },
3563
3981
  allowCreate: { type: Boolean, default: false }
3564
3982
  },
3565
3983
  emits: ["update:modelValue", "change", "create"],
@@ -3960,10 +4378,12 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
3960
4378
  onBlur,
3961
4379
  onKeydown: onInputKeydown
3962
4380
  }, null, 40, _hoisted_1$l),
3963
- _cache[1] || (_cache[1] = createElementVNode("span", {
3964
- class: "tao-combobox__chevron",
4381
+ createElementVNode("span", {
4382
+ class: normalizeClass(["tao-combobox__chevron", { "tao-combobox__chevron--custom": _ctx.$slots.chevron }]),
3965
4383
  "aria-hidden": "true"
3966
- }, null, -1))
4384
+ }, [
4385
+ renderSlot(_ctx.$slots, "chevron", {}, void 0, true)
4386
+ ], 2)
3967
4387
  ], 544),
3968
4388
  (openBlock(), createBlock(Teleport, { to: "body" }, [
3969
4389
  open.value ? (openBlock(), createElementBlock("div", {
@@ -3980,7 +4400,11 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
3980
4400
  class: "tao-combobox__list",
3981
4401
  role: "listbox"
3982
4402
  }, [
3983
- !rows.value.length ? (openBlock(), createElementBlock("li", _hoisted_2$j, "Ничего не найдено")) : createCommentVNode("", true),
4403
+ !rows.value.length ? (openBlock(), createElementBlock("li", _hoisted_2$j, [
4404
+ renderSlot(_ctx.$slots, "empty", {}, () => [
4405
+ createTextVNode(toDisplayString(__props.emptyText), 1)
4406
+ ], true)
4407
+ ])) : createCommentVNode("", true),
3984
4408
  (openBlock(true), createElementBlock(Fragment, null, renderList(rows.value, (row, index) => {
3985
4409
  return openBlock(), createElementBlock("li", {
3986
4410
  id: `${listId}-row-${index}`,
@@ -3999,9 +4423,11 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
3999
4423
  onClick: ($event) => activateRow(row),
4000
4424
  onMouseenter: ($event) => !(row.kind === "option" && row.option.disabled) && (activeIndex.value = index)
4001
4425
  }, [
4002
- row.kind === "create" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
4426
+ row.kind === "create" ? renderSlot(_ctx.$slots, "create", {
4427
+ text: row.text
4428
+ }, () => [
4003
4429
  createTextVNode("Добавить «" + toDisplayString(row.text) + "»", 1)
4004
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4430
+ ], true, 0) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
4005
4431
  createTextVNode(toDisplayString(row.option.label), 1)
4006
4432
  ], 64))
4007
4433
  ], 42, _hoisted_3$g);
@@ -4012,14 +4438,18 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
4012
4438
  type: "button",
4013
4439
  class: "tao-combobox__clear",
4014
4440
  onMousedown: withModifiers(markPicking, ["prevent"])
4015
- }, " Очистить ", 32)) : createCommentVNode("", true)
4441
+ }, [
4442
+ renderSlot(_ctx.$slots, "clear", {}, () => [
4443
+ createTextVNode(toDisplayString(__props.clearText), 1)
4444
+ ], true)
4445
+ ], 32)) : createCommentVNode("", true)
4016
4446
  ], 4)) : createCommentVNode("", true)
4017
4447
  ]))
4018
4448
  ], 2);
4019
4449
  };
4020
4450
  }
4021
4451
  });
4022
- const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-60be67d0"]]);
4452
+ const TaoCombobox = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-2281e009"]]);
4023
4453
  const ISO_DATE = /^(\d{4})-(\d{2})-(\d{2})$/;
4024
4454
  function formatTaoDateIso(parts) {
4025
4455
  return `${String(parts.y).padStart(4, "0")}-${String(parts.m).padStart(2, "0")}-${String(parts.d).padStart(2, "0")}`;
@@ -4149,20 +4579,28 @@ function buildTaoDateGrid(year, month) {
4149
4579
  }
4150
4580
  const _hoisted_1$k = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
4151
4581
  const _hoisted_2$i = { class: "tao-date__value" };
4152
- const _hoisted_3$f = ["aria-label"];
4153
- const _hoisted_4$f = { class: "tao-date__header" };
4154
- const _hoisted_5$c = { class: "tao-date__month" };
4155
- const _hoisted_6$9 = {
4582
+ const _hoisted_3$f = {
4583
+ class: "tao-date__icon",
4584
+ "aria-hidden": "true"
4585
+ };
4586
+ const _hoisted_4$f = ["aria-label"];
4587
+ const _hoisted_5$d = { class: "tao-date__header" };
4588
+ const _hoisted_6$a = ["aria-label"];
4589
+ const _hoisted_7$9 = { "aria-hidden": "true" };
4590
+ const _hoisted_8$8 = { class: "tao-date__month" };
4591
+ const _hoisted_9$3 = ["aria-label"];
4592
+ const _hoisted_10$3 = { "aria-hidden": "true" };
4593
+ const _hoisted_11$2 = {
4156
4594
  class: "tao-date__weekdays",
4157
4595
  "aria-hidden": "true"
4158
4596
  };
4159
- const _hoisted_7$7 = {
4597
+ const _hoisted_12$1 = {
4160
4598
  class: "tao-date__grid",
4161
4599
  role: "grid"
4162
4600
  };
4163
- const _hoisted_8$6 = ["aria-label", "aria-selected", "disabled", "onClick"];
4164
- const _hoisted_9$2 = { class: "tao-date__footer" };
4165
- const _hoisted_10$1 = ["disabled"];
4601
+ const _hoisted_13$1 = ["aria-label", "aria-selected", "disabled", "onClick"];
4602
+ const _hoisted_14$1 = { class: "tao-date__footer" };
4603
+ const _hoisted_15 = ["disabled"];
4166
4604
  const _sfc_main$k = /* @__PURE__ */ defineComponent({
4167
4605
  ...{ name: "TaoDate" },
4168
4606
  __name: "TaoDate",
@@ -4173,7 +4611,11 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4173
4611
  error: { type: Boolean, default: false },
4174
4612
  min: { default: void 0 },
4175
4613
  max: { default: void 0 },
4176
- locale: { default: "ru-RU" }
4614
+ locale: { default: "ru-RU" },
4615
+ todayText: { default: "Сегодня" },
4616
+ clearText: { default: "Очистить" },
4617
+ prevMonthLabel: { default: "Предыдущий месяц" },
4618
+ nextMonthLabel: { default: "Следующий месяц" }
4177
4619
  },
4178
4620
  emits: ["update:modelValue", "change"],
4179
4621
  setup(__props, { emit: __emit }) {
@@ -4394,32 +4836,34 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4394
4836
  onKeydown: onTriggerKeydown
4395
4837
  }, [
4396
4838
  createElementVNode("span", _hoisted_2$i, toDisplayString(displayLabel.value || __props.placeholder), 1),
4397
- _cache[4] || (_cache[4] = createElementVNode("svg", {
4398
- class: "tao-date__icon",
4399
- viewBox: "0 0 16 16",
4400
- width: "16",
4401
- height: "16",
4402
- "aria-hidden": "true",
4403
- focusable: "false"
4404
- }, [
4405
- createElementVNode("rect", {
4406
- x: "2",
4407
- y: "3",
4408
- width: "12",
4409
- height: "11",
4410
- rx: "1.5",
4411
- fill: "none",
4412
- stroke: "currentColor",
4413
- "stroke-width": "1.4"
4414
- }),
4415
- createElementVNode("path", {
4416
- d: "M5 1.5v3M11 1.5v3M2 6.5h12",
4417
- fill: "none",
4418
- stroke: "currentColor",
4419
- "stroke-width": "1.4",
4420
- "stroke-linecap": "round"
4421
- })
4422
- ], -1))
4839
+ createElementVNode("span", _hoisted_3$f, [
4840
+ renderSlot(_ctx.$slots, "icon", {}, () => [
4841
+ _cache[4] || (_cache[4] = createElementVNode("svg", {
4842
+ viewBox: "0 0 16 16",
4843
+ width: "16",
4844
+ height: "16",
4845
+ focusable: "false"
4846
+ }, [
4847
+ createElementVNode("rect", {
4848
+ x: "2",
4849
+ y: "3",
4850
+ width: "12",
4851
+ height: "11",
4852
+ rx: "1.5",
4853
+ fill: "none",
4854
+ stroke: "currentColor",
4855
+ "stroke-width": "1.4"
4856
+ }),
4857
+ createElementVNode("path", {
4858
+ d: "M5 1.5v3M11 1.5v3M2 6.5h12",
4859
+ fill: "none",
4860
+ stroke: "currentColor",
4861
+ "stroke-width": "1.4",
4862
+ "stroke-linecap": "round"
4863
+ })
4864
+ ], -1))
4865
+ ], true)
4866
+ ])
4423
4867
  ], 42, _hoisted_1$k),
4424
4868
  (openBlock(), createBlock(Teleport, { to: "body" }, [
4425
4869
  open.value ? (openBlock(), createElementBlock("div", {
@@ -4434,61 +4878,67 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4434
4878
  style: normalizeStyle(panelStyle.value),
4435
4879
  onKeydown: onPanelKeydown
4436
4880
  }, [
4437
- createElementVNode("div", _hoisted_4$f, [
4881
+ createElementVNode("div", _hoisted_5$d, [
4438
4882
  createElementVNode("button", {
4439
4883
  type: "button",
4440
4884
  class: "tao-date__nav",
4441
- "aria-label": "Предыдущий месяц",
4885
+ "aria-label": __props.prevMonthLabel,
4442
4886
  onClick: _cache[0] || (_cache[0] = ($event) => goMonth(-1))
4443
- }, [..._cache[5] || (_cache[5] = [
4444
- createElementVNode("svg", {
4445
- viewBox: "0 0 24 24",
4446
- width: "14",
4447
- height: "14",
4448
- "aria-hidden": "true",
4449
- focusable: "false"
4450
- }, [
4451
- createElementVNode("path", {
4452
- fill: "none",
4453
- stroke: "currentColor",
4454
- "stroke-width": "2.2",
4455
- "stroke-linecap": "round",
4456
- "stroke-linejoin": "round",
4457
- d: "M14.5 5 8 12l6.5 7"
4458
- })
4459
- ], -1)
4460
- ])]),
4461
- createElementVNode("p", _hoisted_5$c, toDisplayString(monthLabel.value), 1),
4887
+ }, [
4888
+ createElementVNode("span", _hoisted_7$9, [
4889
+ renderSlot(_ctx.$slots, "prev-icon", {}, () => [
4890
+ _cache[5] || (_cache[5] = createElementVNode("svg", {
4891
+ viewBox: "0 0 24 24",
4892
+ width: "14",
4893
+ height: "14",
4894
+ focusable: "false"
4895
+ }, [
4896
+ createElementVNode("path", {
4897
+ fill: "none",
4898
+ stroke: "currentColor",
4899
+ "stroke-width": "2.2",
4900
+ "stroke-linecap": "round",
4901
+ "stroke-linejoin": "round",
4902
+ d: "M14.5 5 8 12l6.5 7"
4903
+ })
4904
+ ], -1))
4905
+ ], true)
4906
+ ])
4907
+ ], 8, _hoisted_6$a),
4908
+ createElementVNode("p", _hoisted_8$8, toDisplayString(monthLabel.value), 1),
4462
4909
  createElementVNode("button", {
4463
4910
  type: "button",
4464
4911
  class: "tao-date__nav",
4465
- "aria-label": "Следующий месяц",
4912
+ "aria-label": __props.nextMonthLabel,
4466
4913
  onClick: _cache[1] || (_cache[1] = ($event) => goMonth(1))
4467
- }, [..._cache[6] || (_cache[6] = [
4468
- createElementVNode("svg", {
4469
- viewBox: "0 0 24 24",
4470
- width: "14",
4471
- height: "14",
4472
- "aria-hidden": "true",
4473
- focusable: "false"
4474
- }, [
4475
- createElementVNode("path", {
4476
- fill: "none",
4477
- stroke: "currentColor",
4478
- "stroke-width": "2.2",
4479
- "stroke-linecap": "round",
4480
- "stroke-linejoin": "round",
4481
- d: "M9.5 5 16 12l-6.5 7"
4482
- })
4483
- ], -1)
4484
- ])])
4914
+ }, [
4915
+ createElementVNode("span", _hoisted_10$3, [
4916
+ renderSlot(_ctx.$slots, "next-icon", {}, () => [
4917
+ _cache[6] || (_cache[6] = createElementVNode("svg", {
4918
+ viewBox: "0 0 24 24",
4919
+ width: "14",
4920
+ height: "14",
4921
+ focusable: "false"
4922
+ }, [
4923
+ createElementVNode("path", {
4924
+ fill: "none",
4925
+ stroke: "currentColor",
4926
+ "stroke-width": "2.2",
4927
+ "stroke-linecap": "round",
4928
+ "stroke-linejoin": "round",
4929
+ d: "M9.5 5 16 12l-6.5 7"
4930
+ })
4931
+ ], -1))
4932
+ ], true)
4933
+ ])
4934
+ ], 8, _hoisted_9$3)
4485
4935
  ]),
4486
- createElementVNode("div", _hoisted_6$9, [
4936
+ createElementVNode("div", _hoisted_11$2, [
4487
4937
  (openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (day) => {
4488
4938
  return openBlock(), createElementBlock("span", { key: day }, toDisplayString(day), 1);
4489
4939
  }), 128))
4490
4940
  ]),
4491
- createElementVNode("div", _hoisted_7$7, [
4941
+ createElementVNode("div", _hoisted_12$1, [
4492
4942
  (openBlock(true), createElementBlock(Fragment, null, renderList(cells.value, (cell) => {
4493
4943
  return openBlock(), createElementBlock("button", {
4494
4944
  key: cell.iso,
@@ -4507,42 +4957,58 @@ const _sfc_main$k = /* @__PURE__ */ defineComponent({
4507
4957
  onMousedown: _cache[2] || (_cache[2] = withModifiers(() => {
4508
4958
  }, ["prevent"])),
4509
4959
  onClick: ($event) => selectDay(cell.iso)
4510
- }, toDisplayString(cell.day), 43, _hoisted_8$6);
4960
+ }, toDisplayString(cell.day), 43, _hoisted_13$1);
4511
4961
  }), 128))
4512
4962
  ]),
4513
- createElementVNode("div", _hoisted_9$2, [
4963
+ createElementVNode("div", _hoisted_14$1, [
4514
4964
  createElementVNode("button", {
4515
4965
  type: "button",
4516
4966
  class: "tao-date__link",
4517
4967
  disabled: !todayEnabled.value,
4518
4968
  onClick: _cache[3] || (_cache[3] = ($event) => selectDay(todayIso.value))
4519
- }, " Сегодня ", 8, _hoisted_10$1),
4969
+ }, [
4970
+ renderSlot(_ctx.$slots, "today", {}, () => [
4971
+ createTextVNode(toDisplayString(__props.todayText), 1)
4972
+ ], true)
4973
+ ], 8, _hoisted_15),
4520
4974
  valueIso.value ? (openBlock(), createElementBlock("button", {
4521
4975
  key: 0,
4522
4976
  type: "button",
4523
4977
  class: "tao-date__link",
4524
4978
  onClick: clear
4525
- }, "Очистить")) : createCommentVNode("", true)
4979
+ }, [
4980
+ renderSlot(_ctx.$slots, "clear", {}, () => [
4981
+ createTextVNode(toDisplayString(__props.clearText), 1)
4982
+ ], true)
4983
+ ])) : createCommentVNode("", true)
4526
4984
  ])
4527
- ], 44, _hoisted_3$f)) : createCommentVNode("", true)
4985
+ ], 44, _hoisted_4$f)) : createCommentVNode("", true)
4528
4986
  ]))
4529
4987
  ], 2);
4530
4988
  };
4531
4989
  }
4532
4990
  });
4533
- const TaoDate = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-f4a9cddd"]]);
4991
+ const TaoDate = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-771836c8"]]);
4534
4992
  const _hoisted_1$j = ["id", "aria-expanded", "aria-invalid", "aria-describedby", "disabled"];
4535
4993
  const _hoisted_2$h = { class: "tao-date-range__value" };
4536
- const _hoisted_3$e = ["aria-label"];
4537
- const _hoisted_4$e = { class: "tao-date__header" };
4538
- const _hoisted_5$b = { class: "tao-date__month" };
4539
- const _hoisted_6$8 = {
4994
+ const _hoisted_3$e = {
4995
+ class: "tao-date-range__icon",
4996
+ "aria-hidden": "true"
4997
+ };
4998
+ const _hoisted_4$e = ["aria-label"];
4999
+ const _hoisted_5$c = { class: "tao-date__header" };
5000
+ const _hoisted_6$9 = ["aria-label"];
5001
+ const _hoisted_7$8 = { "aria-hidden": "true" };
5002
+ const _hoisted_8$7 = { class: "tao-date__month" };
5003
+ const _hoisted_9$2 = ["aria-label"];
5004
+ const _hoisted_10$2 = { "aria-hidden": "true" };
5005
+ const _hoisted_11$1 = {
4540
5006
  class: "tao-date__weekdays",
4541
5007
  "aria-hidden": "true"
4542
5008
  };
4543
- const _hoisted_7$6 = ["aria-label", "aria-selected", "disabled", "onMouseenter", "onClick"];
4544
- const _hoisted_8$5 = { class: "tao-date__footer" };
4545
- const _hoisted_9$1 = ["disabled"];
5009
+ const _hoisted_12 = ["aria-label", "aria-selected", "disabled", "onMouseenter", "onClick"];
5010
+ const _hoisted_13 = { class: "tao-date__footer" };
5011
+ const _hoisted_14 = ["disabled"];
4546
5012
  const _sfc_main$j = /* @__PURE__ */ defineComponent({
4547
5013
  ...{ name: "TaoDateRange" },
4548
5014
  __name: "TaoDateRange",
@@ -4553,7 +5019,11 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
4553
5019
  error: { type: Boolean, default: false },
4554
5020
  min: { default: void 0 },
4555
5021
  max: { default: void 0 },
4556
- locale: { default: "ru-RU" }
5022
+ locale: { default: "ru-RU" },
5023
+ todayText: { default: "Сегодня" },
5024
+ clearText: { default: "Очистить" },
5025
+ prevMonthLabel: { default: "Предыдущий месяц" },
5026
+ nextMonthLabel: { default: "Следующий месяц" }
4557
5027
  },
4558
5028
  emits: ["update:modelValue", "change"],
4559
5029
  setup(__props, { emit: __emit }) {
@@ -4828,32 +5298,34 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
4828
5298
  onKeydown: onTriggerKeydown
4829
5299
  }, [
4830
5300
  createElementVNode("span", _hoisted_2$h, toDisplayString(displayLabel.value || __props.placeholder), 1),
4831
- _cache[3] || (_cache[3] = createElementVNode("svg", {
4832
- class: "tao-date-range__icon",
4833
- viewBox: "0 0 16 16",
4834
- width: "16",
4835
- height: "16",
4836
- "aria-hidden": "true",
4837
- focusable: "false"
4838
- }, [
4839
- createElementVNode("rect", {
4840
- x: "2",
4841
- y: "3",
4842
- width: "12",
4843
- height: "11",
4844
- rx: "1.5",
4845
- fill: "none",
4846
- stroke: "currentColor",
4847
- "stroke-width": "1.4"
4848
- }),
4849
- createElementVNode("path", {
4850
- d: "M5 1.5v3M11 1.5v3M2 6.5h12",
4851
- fill: "none",
4852
- stroke: "currentColor",
4853
- "stroke-width": "1.4",
4854
- "stroke-linecap": "round"
4855
- })
4856
- ], -1))
5301
+ createElementVNode("span", _hoisted_3$e, [
5302
+ renderSlot(_ctx.$slots, "icon", {}, () => [
5303
+ _cache[3] || (_cache[3] = createElementVNode("svg", {
5304
+ viewBox: "0 0 16 16",
5305
+ width: "16",
5306
+ height: "16",
5307
+ focusable: "false"
5308
+ }, [
5309
+ createElementVNode("rect", {
5310
+ x: "2",
5311
+ y: "3",
5312
+ width: "12",
5313
+ height: "11",
5314
+ rx: "1.5",
5315
+ fill: "none",
5316
+ stroke: "currentColor",
5317
+ "stroke-width": "1.4"
5318
+ }),
5319
+ createElementVNode("path", {
5320
+ d: "M5 1.5v3M11 1.5v3M2 6.5h12",
5321
+ fill: "none",
5322
+ stroke: "currentColor",
5323
+ "stroke-width": "1.4",
5324
+ "stroke-linecap": "round"
5325
+ })
5326
+ ], -1))
5327
+ ], true)
5328
+ ])
4857
5329
  ], 42, _hoisted_1$j),
4858
5330
  (openBlock(), createBlock(Teleport, { to: "body" }, [
4859
5331
  open.value ? (openBlock(), createElementBlock("div", {
@@ -4868,56 +5340,62 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
4868
5340
  style: normalizeStyle(panelStyle.value),
4869
5341
  onKeydown: onPanelKeydown
4870
5342
  }, [
4871
- createElementVNode("div", _hoisted_4$e, [
5343
+ createElementVNode("div", _hoisted_5$c, [
4872
5344
  createElementVNode("button", {
4873
5345
  type: "button",
4874
5346
  class: "tao-date__nav",
4875
- "aria-label": "Предыдущий месяц",
5347
+ "aria-label": __props.prevMonthLabel,
4876
5348
  onClick: _cache[0] || (_cache[0] = ($event) => goMonth(-1))
4877
- }, [..._cache[4] || (_cache[4] = [
4878
- createElementVNode("svg", {
4879
- viewBox: "0 0 24 24",
4880
- width: "14",
4881
- height: "14",
4882
- "aria-hidden": "true",
4883
- focusable: "false"
4884
- }, [
4885
- createElementVNode("path", {
4886
- fill: "none",
4887
- stroke: "currentColor",
4888
- "stroke-width": "2.2",
4889
- "stroke-linecap": "round",
4890
- "stroke-linejoin": "round",
4891
- d: "M14.5 5 8 12l6.5 7"
4892
- })
4893
- ], -1)
4894
- ])]),
4895
- createElementVNode("p", _hoisted_5$b, toDisplayString(monthLabel.value), 1),
5349
+ }, [
5350
+ createElementVNode("span", _hoisted_7$8, [
5351
+ renderSlot(_ctx.$slots, "prev-icon", {}, () => [
5352
+ _cache[4] || (_cache[4] = createElementVNode("svg", {
5353
+ viewBox: "0 0 24 24",
5354
+ width: "14",
5355
+ height: "14",
5356
+ focusable: "false"
5357
+ }, [
5358
+ createElementVNode("path", {
5359
+ fill: "none",
5360
+ stroke: "currentColor",
5361
+ "stroke-width": "2.2",
5362
+ "stroke-linecap": "round",
5363
+ "stroke-linejoin": "round",
5364
+ d: "M14.5 5 8 12l6.5 7"
5365
+ })
5366
+ ], -1))
5367
+ ], true)
5368
+ ])
5369
+ ], 8, _hoisted_6$9),
5370
+ createElementVNode("p", _hoisted_8$7, toDisplayString(monthLabel.value), 1),
4896
5371
  createElementVNode("button", {
4897
5372
  type: "button",
4898
5373
  class: "tao-date__nav",
4899
- "aria-label": "Следующий месяц",
5374
+ "aria-label": __props.nextMonthLabel,
4900
5375
  onClick: _cache[1] || (_cache[1] = ($event) => goMonth(1))
4901
- }, [..._cache[5] || (_cache[5] = [
4902
- createElementVNode("svg", {
4903
- viewBox: "0 0 24 24",
4904
- width: "14",
4905
- height: "14",
4906
- "aria-hidden": "true",
4907
- focusable: "false"
4908
- }, [
4909
- createElementVNode("path", {
4910
- fill: "none",
4911
- stroke: "currentColor",
4912
- "stroke-width": "2.2",
4913
- "stroke-linecap": "round",
4914
- "stroke-linejoin": "round",
4915
- d: "M9.5 5 16 12l-6.5 7"
4916
- })
4917
- ], -1)
4918
- ])])
5376
+ }, [
5377
+ createElementVNode("span", _hoisted_10$2, [
5378
+ renderSlot(_ctx.$slots, "next-icon", {}, () => [
5379
+ _cache[5] || (_cache[5] = createElementVNode("svg", {
5380
+ viewBox: "0 0 24 24",
5381
+ width: "14",
5382
+ height: "14",
5383
+ focusable: "false"
5384
+ }, [
5385
+ createElementVNode("path", {
5386
+ fill: "none",
5387
+ stroke: "currentColor",
5388
+ "stroke-width": "2.2",
5389
+ "stroke-linecap": "round",
5390
+ "stroke-linejoin": "round",
5391
+ d: "M9.5 5 16 12l-6.5 7"
5392
+ })
5393
+ ], -1))
5394
+ ], true)
5395
+ ])
5396
+ ], 8, _hoisted_9$2)
4919
5397
  ]),
4920
- createElementVNode("div", _hoisted_6$8, [
5398
+ createElementVNode("div", _hoisted_11$1, [
4921
5399
  (openBlock(true), createElementBlock(Fragment, null, renderList(weekdays.value, (day) => {
4922
5400
  return openBlock(), createElementBlock("span", { key: day }, toDisplayString(day), 1);
4923
5401
  }), 128))
@@ -4950,30 +5428,38 @@ const _sfc_main$j = /* @__PURE__ */ defineComponent({
4950
5428
  }, ["prevent"])),
4951
5429
  onMouseenter: ($event) => onDayEnter(cell.iso),
4952
5430
  onClick: ($event) => selectDay(cell.iso)
4953
- }, toDisplayString(cell.day), 43, _hoisted_7$6);
5431
+ }, toDisplayString(cell.day), 43, _hoisted_12);
4954
5432
  }), 128))
4955
5433
  ], 32),
4956
- createElementVNode("div", _hoisted_8$5, [
5434
+ createElementVNode("div", _hoisted_13, [
4957
5435
  createElementVNode("button", {
4958
5436
  type: "button",
4959
5437
  class: "tao-date__link",
4960
5438
  disabled: !todayEnabled.value,
4961
5439
  onClick: selectToday
4962
- }, " Сегодня ", 8, _hoisted_9$1),
5440
+ }, [
5441
+ renderSlot(_ctx.$slots, "today", {}, () => [
5442
+ createTextVNode(toDisplayString(__props.todayText), 1)
5443
+ ], true)
5444
+ ], 8, _hoisted_14),
4963
5445
  committed.value ? (openBlock(), createElementBlock("button", {
4964
5446
  key: 0,
4965
5447
  type: "button",
4966
5448
  class: "tao-date__link",
4967
5449
  onClick: clear
4968
- }, "Очистить")) : createCommentVNode("", true)
5450
+ }, [
5451
+ renderSlot(_ctx.$slots, "clear", {}, () => [
5452
+ createTextVNode(toDisplayString(__props.clearText), 1)
5453
+ ], true)
5454
+ ])) : createCommentVNode("", true)
4969
5455
  ])
4970
- ], 44, _hoisted_3$e)) : createCommentVNode("", true)
5456
+ ], 44, _hoisted_4$e)) : createCommentVNode("", true)
4971
5457
  ]))
4972
5458
  ], 2);
4973
5459
  };
4974
5460
  }
4975
5461
  });
4976
- const TaoDateRange = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-3d067081"]]);
5462
+ const TaoDateRange = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-4394053c"]]);
4977
5463
  const _hoisted_1$i = ["for"];
4978
5464
  const _hoisted_2$g = ["id", "checked", "disabled", "aria-checked"];
4979
5465
  const _hoisted_3$d = {
@@ -5292,15 +5778,15 @@ const _hoisted_4$b = {
5292
5778
  class: "tao-segmented-option__icon",
5293
5779
  "aria-hidden": "true"
5294
5780
  };
5295
- const _hoisted_5$a = {
5781
+ const _hoisted_5$b = {
5296
5782
  key: 1,
5297
5783
  class: "tao-segmented-option__label"
5298
5784
  };
5299
- const _hoisted_6$7 = {
5785
+ const _hoisted_6$8 = {
5300
5786
  key: 2,
5301
5787
  class: "tao-segmented-option__sr"
5302
5788
  };
5303
- const _hoisted_7$5 = {
5789
+ const _hoisted_7$7 = {
5304
5790
  key: 3,
5305
5791
  class: "tao-segmented-option__count"
5306
5792
  };
@@ -5385,12 +5871,12 @@ const _sfc_main$e = /* @__PURE__ */ defineComponent({
5385
5871
  createTextVNode(toDisplayString(__props.icon), 1)
5386
5872
  ], true)
5387
5873
  ])) : createCommentVNode("", true),
5388
- hasLabel.value ? (openBlock(), createElementBlock("span", _hoisted_5$a, [
5874
+ hasLabel.value ? (openBlock(), createElementBlock("span", _hoisted_5$b, [
5389
5875
  renderSlot(_ctx.$slots, "default", {}, () => [
5390
5876
  createTextVNode(toDisplayString(__props.label), 1)
5391
5877
  ], true)
5392
- ])) : __props.ariaLabel ? (openBlock(), createElementBlock("span", _hoisted_6$7, toDisplayString(__props.ariaLabel), 1)) : createCommentVNode("", true),
5393
- countLabel.value ? (openBlock(), createElementBlock("span", _hoisted_7$5, toDisplayString(countLabel.value), 1)) : createCommentVNode("", true)
5878
+ ])) : __props.ariaLabel ? (openBlock(), createElementBlock("span", _hoisted_6$8, toDisplayString(__props.ariaLabel), 1)) : createCommentVNode("", true),
5879
+ countLabel.value ? (openBlock(), createElementBlock("span", _hoisted_7$7, toDisplayString(countLabel.value), 1)) : createCommentVNode("", true)
5394
5880
  ])
5395
5881
  ], 10, _hoisted_1$e);
5396
5882
  };
@@ -5407,13 +5893,16 @@ const _hoisted_4$a = {
5407
5893
  key: 1,
5408
5894
  class: "tao-alert__message"
5409
5895
  };
5896
+ const _hoisted_5$a = ["aria-label"];
5897
+ const _hoisted_6$7 = { "aria-hidden": "true" };
5410
5898
  const _sfc_main$d = /* @__PURE__ */ defineComponent({
5411
5899
  ...{ name: "TaoAlert" },
5412
5900
  __name: "TaoAlert",
5413
5901
  props: {
5414
5902
  type: { default: "info" },
5415
5903
  title: { default: "" },
5416
- closable: { type: Boolean, default: false }
5904
+ closable: { type: Boolean, default: false },
5905
+ closeLabel: { default: "Закрыть" }
5417
5906
  },
5418
5907
  emits: ["close"],
5419
5908
  setup(__props, { emit: __emit }) {
@@ -5437,22 +5926,28 @@ const _sfc_main$d = /* @__PURE__ */ defineComponent({
5437
5926
  key: 0,
5438
5927
  type: "button",
5439
5928
  class: "tao-alert__close",
5440
- "aria-label": "Закрыть",
5929
+ "aria-label": __props.closeLabel,
5441
5930
  onClick: _cache[0] || (_cache[0] = ($event) => emit("close"))
5442
- }, " × ")) : createCommentVNode("", true)
5931
+ }, [
5932
+ createElementVNode("span", _hoisted_6$7, [
5933
+ renderSlot(_ctx.$slots, "close-icon", {}, () => [
5934
+ _cache[1] || (_cache[1] = createTextVNode("×", -1))
5935
+ ], true)
5936
+ ])
5937
+ ], 8, _hoisted_5$a)) : createCommentVNode("", true)
5443
5938
  ], 10, _hoisted_1$d);
5444
5939
  };
5445
5940
  }
5446
5941
  });
5447
- const TaoAlert = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-4c89fa1f"]]);
5942
+ const TaoAlert = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-1a1dbef3"]]);
5448
5943
  const _hoisted_1$c = { key: 0 };
5449
5944
  const _hoisted_2$a = ["aria-sort"];
5450
5945
  const _hoisted_3$9 = ["onClick"];
5451
5946
  const _hoisted_4$9 = { key: 1 };
5452
5947
  const _hoisted_5$9 = { key: 0 };
5453
5948
  const _hoisted_6$6 = ["colspan"];
5454
- const _hoisted_7$4 = ["onClick"];
5455
- const _hoisted_8$4 = {
5949
+ const _hoisted_7$6 = ["onClick"];
5950
+ const _hoisted_8$6 = {
5456
5951
  key: 0,
5457
5952
  class: "tao-table__loading",
5458
5953
  "aria-busy": "true"
@@ -5605,11 +6100,11 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
5605
6100
  ], true)
5606
6101
  ], 4);
5607
6102
  }), 128))
5608
- ], 8, _hoisted_7$4);
6103
+ ], 8, _hoisted_7$6);
5609
6104
  }), 128))
5610
6105
  ])
5611
6106
  ], 2),
5612
- __props.loading ? (openBlock(), createElementBlock("div", _hoisted_8$4, [
6107
+ __props.loading ? (openBlock(), createElementBlock("div", _hoisted_8$6, [
5613
6108
  renderSlot(_ctx.$slots, "loading", {}, () => [
5614
6109
  createVNode(TaoLoader, { size: 36 })
5615
6110
  ], true)
@@ -5649,15 +6144,17 @@ const _hoisted_2$9 = {
5649
6144
  class: "tao-pagination__total"
5650
6145
  };
5651
6146
  const _hoisted_3$8 = { class: "tao-pagination__pages" };
5652
- const _hoisted_4$8 = ["disabled"];
5653
- const _hoisted_5$8 = ["aria-label", "disabled", "onClick"];
5654
- const _hoisted_6$5 = {
6147
+ const _hoisted_4$8 = ["aria-label", "disabled"];
6148
+ const _hoisted_5$8 = { "aria-hidden": "true" };
6149
+ const _hoisted_6$5 = ["aria-label", "disabled", "onClick"];
6150
+ const _hoisted_7$5 = {
5655
6151
  key: 1,
5656
6152
  class: "tao-pagination__ellipsis",
5657
6153
  "aria-hidden": "true"
5658
6154
  };
5659
- const _hoisted_7$3 = ["aria-current", "aria-label", "disabled", "onClick"];
5660
- const _hoisted_8$3 = ["disabled"];
6155
+ const _hoisted_8$5 = ["aria-current", "aria-label", "disabled", "onClick"];
6156
+ const _hoisted_9$1 = ["aria-label", "disabled"];
6157
+ const _hoisted_10$1 = { "aria-hidden": "true" };
5661
6158
  const _sfc_main$b = /* @__PURE__ */ defineComponent({
5662
6159
  ...{ name: "TaoPagination" },
5663
6160
  __name: "TaoPagination",
@@ -5670,7 +6167,12 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
5670
6167
  showTotal: { type: Boolean, default: true },
5671
6168
  size: { default: "medium" },
5672
6169
  jump: { default: 5 },
5673
- ariaLabel: { default: "Пагинация" }
6170
+ ariaLabel: { default: "Пагинация" },
6171
+ prevLabel: { default: "Назад" },
6172
+ nextLabel: { default: "Вперёд" },
6173
+ pageLabel: { default: "Страница {page}" },
6174
+ jumpPrevLabel: { default: "Назад на {n} страниц" },
6175
+ jumpNextLabel: { default: "Вперёд на {n} страниц" }
5674
6176
  },
5675
6177
  emits: ["update:page", "change"],
5676
6178
  setup(__props, { emit: __emit }) {
@@ -5703,20 +6205,32 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
5703
6205
  "aria-label": __props.ariaLabel
5704
6206
  }, [
5705
6207
  __props.showTotal ? (openBlock(), createElementBlock("p", _hoisted_2$9, [
5706
- __props.total === 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
5707
- createTextVNode("0 из 0")
5708
- ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
5709
- createTextVNode(toDisplayString(from.value) + "–" + toDisplayString(to.value) + " из " + toDisplayString(__props.total), 1)
5710
- ], 64))
6208
+ renderSlot(_ctx.$slots, "total", {
6209
+ from: from.value,
6210
+ to: to.value,
6211
+ total: __props.total
6212
+ }, () => [
6213
+ __props.total === 0 ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
6214
+ createTextVNode("0 из 0")
6215
+ ], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
6216
+ createTextVNode(toDisplayString(from.value) + "–" + toDisplayString(to.value) + " из " + toDisplayString(__props.total), 1)
6217
+ ], 64))
6218
+ ], true)
5711
6219
  ])) : createCommentVNode("", true),
5712
6220
  createElementVNode("div", _hoisted_3$8, [
5713
6221
  createElementVNode("button", {
5714
6222
  type: "button",
5715
6223
  class: "tao-pagination__btn",
5716
- "aria-label": "Назад",
6224
+ "aria-label": __props.prevLabel,
5717
6225
  disabled: __props.disabled || current.value <= 1,
5718
6226
  onClick: _cache[0] || (_cache[0] = ($event) => goTo(current.value - 1))
5719
- }, " ‹ ", 8, _hoisted_4$8),
6227
+ }, [
6228
+ createElementVNode("span", _hoisted_5$8, [
6229
+ renderSlot(_ctx.$slots, "prev-icon", {}, () => [
6230
+ _cache[2] || (_cache[2] = createTextVNode("‹", -1))
6231
+ ], true)
6232
+ ])
6233
+ ], 8, _hoisted_4$8),
5720
6234
  (openBlock(true), createElementBlock(Fragment, null, renderList(items.value, (item) => {
5721
6235
  return openBlock(), createElementBlock(Fragment, {
5722
6236
  key: item.type === "page" ? item.page : item.id
@@ -5725,33 +6239,39 @@ const _sfc_main$b = /* @__PURE__ */ defineComponent({
5725
6239
  key: 0,
5726
6240
  type: "button",
5727
6241
  class: "tao-pagination__btn tao-pagination__btn--jump",
5728
- "aria-label": item.id === "left" ? `Назад на ${__props.jump} страниц` : `Вперёд на ${__props.jump} страниц`,
6242
+ "aria-label": item.id === "left" ? __props.jumpPrevLabel.replace("{n}", String(__props.jump)) : __props.jumpNextLabel.replace("{n}", String(__props.jump)),
5729
6243
  disabled: __props.disabled,
5730
6244
  onClick: ($event) => goTo(item.id === "left" ? current.value - __props.jump : current.value + __props.jump)
5731
- }, " … ", 8, _hoisted_5$8)) : item.type === "ellipsis" ? (openBlock(), createElementBlock("span", _hoisted_6$5, "…")) : (openBlock(), createElementBlock("button", {
6245
+ }, " … ", 8, _hoisted_6$5)) : item.type === "ellipsis" ? (openBlock(), createElementBlock("span", _hoisted_7$5, "…")) : (openBlock(), createElementBlock("button", {
5732
6246
  key: 2,
5733
6247
  type: "button",
5734
6248
  class: normalizeClass(["tao-pagination__btn", { "tao-pagination__btn--current": item.page === current.value }]),
5735
6249
  "aria-current": item.page === current.value ? "page" : void 0,
5736
- "aria-label": `Страница ${item.page}`,
6250
+ "aria-label": __props.pageLabel.replace("{page}", String(item.page)),
5737
6251
  disabled: __props.disabled,
5738
6252
  onClick: ($event) => goTo(item.page)
5739
- }, toDisplayString(item.page), 11, _hoisted_7$3))
6253
+ }, toDisplayString(item.page), 11, _hoisted_8$5))
5740
6254
  ], 64);
5741
6255
  }), 128)),
5742
6256
  createElementVNode("button", {
5743
6257
  type: "button",
5744
6258
  class: "tao-pagination__btn",
5745
- "aria-label": "Вперёд",
6259
+ "aria-label": __props.nextLabel,
5746
6260
  disabled: __props.disabled || current.value >= pageCount.value,
5747
6261
  onClick: _cache[1] || (_cache[1] = ($event) => goTo(current.value + 1))
5748
- }, " › ", 8, _hoisted_8$3)
6262
+ }, [
6263
+ createElementVNode("span", _hoisted_10$1, [
6264
+ renderSlot(_ctx.$slots, "next-icon", {}, () => [
6265
+ _cache[3] || (_cache[3] = createTextVNode("›", -1))
6266
+ ], true)
6267
+ ])
6268
+ ], 8, _hoisted_9$1)
5749
6269
  ])
5750
6270
  ], 10, _hoisted_1$b);
5751
6271
  };
5752
6272
  }
5753
6273
  });
5754
- const TaoPagination = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-fd69be36"]]);
6274
+ const TaoPagination = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-a890810c"]]);
5755
6275
  const _hoisted_1$a = { class: "tao-empty" };
5756
6276
  const _hoisted_2$8 = {
5757
6277
  key: 0,
@@ -5830,8 +6350,10 @@ const _hoisted_2$7 = {
5830
6350
  };
5831
6351
  const _hoisted_3$6 = ["id"];
5832
6352
  const _hoisted_4$6 = { key: 1 };
5833
- const _hoisted_5$6 = { class: "tao-drawer__content" };
5834
- const _hoisted_6$4 = {
6353
+ const _hoisted_5$6 = ["aria-label"];
6354
+ const _hoisted_6$4 = { "aria-hidden": "true" };
6355
+ const _hoisted_7$4 = { class: "tao-drawer__content" };
6356
+ const _hoisted_8$4 = {
5835
6357
  key: 1,
5836
6358
  class: "tao-drawer__footer"
5837
6359
  };
@@ -5842,7 +6364,8 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5842
6364
  modelValue: { type: Boolean },
5843
6365
  title: { default: "" },
5844
6366
  side: { default: "right" },
5845
- closable: { type: Boolean, default: true }
6367
+ closable: { type: Boolean, default: true },
6368
+ closeLabel: { default: "Закрыть" }
5846
6369
  },
5847
6370
  emits: ["update:modelValue", "close"],
5848
6371
  setup(__props, { emit: __emit }) {
@@ -5951,14 +6474,20 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5951
6474
  key: 2,
5952
6475
  type: "button",
5953
6476
  class: "tao-drawer__close",
5954
- "aria-label": "Закрыть",
6477
+ "aria-label": __props.closeLabel,
5955
6478
  onClick: close
5956
- }, " × ")) : createCommentVNode("", true)
6479
+ }, [
6480
+ createElementVNode("span", _hoisted_6$4, [
6481
+ renderSlot(_ctx.$slots, "close-icon", {}, () => [
6482
+ _cache[0] || (_cache[0] = createTextVNode("×", -1))
6483
+ ], true)
6484
+ ])
6485
+ ], 8, _hoisted_5$6)) : createCommentVNode("", true)
5957
6486
  ])) : createCommentVNode("", true),
5958
- createElementVNode("div", _hoisted_5$6, [
6487
+ createElementVNode("div", _hoisted_7$4, [
5959
6488
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
5960
6489
  ]),
5961
- _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_6$4, [
6490
+ _ctx.$slots.footer ? (openBlock(), createElementBlock("div", _hoisted_8$4, [
5962
6491
  renderSlot(_ctx.$slots, "footer", {}, void 0, true)
5963
6492
  ])) : createCommentVNode("", true)
5964
6493
  ], 8, _hoisted_1$8)
@@ -5970,7 +6499,7 @@ const _sfc_main$8 = /* @__PURE__ */ defineComponent({
5970
6499
  };
5971
6500
  }
5972
6501
  });
5973
- const TaoDrawer = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-6a0c0e98"]]);
6502
+ const TaoDrawer = /* @__PURE__ */ _export_sfc(_sfc_main$8, [["__scopeId", "data-v-14730fe9"]]);
5974
6503
  const _hoisted_1$7 = ["title"];
5975
6504
  const _hoisted_2$6 = { class: "tao-avatar__face" };
5976
6505
  const _hoisted_3$5 = ["src", "alt"];
@@ -5989,7 +6518,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
5989
6518
  alt: { default: "" },
5990
6519
  size: { default: "medium" },
5991
6520
  dot: { type: [Boolean, String], default: false },
5992
- count: { default: void 0 }
6521
+ count: { default: void 0 },
6522
+ fallbackLabel: { default: "Аватар" },
6523
+ notificationsLabel: { default: "{count} уведомлений" },
6524
+ dotLabels: { default: () => ({}) }
5993
6525
  },
5994
6526
  setup(__props) {
5995
6527
  const props = __props;
@@ -6034,7 +6566,7 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
6034
6566
  }
6035
6567
  return String(props.count);
6036
6568
  });
6037
- const dotLabel = {
6569
+ const defaultDotLabel = {
6038
6570
  success: "в сети",
6039
6571
  danger: "занят",
6040
6572
  warning: "отошёл",
@@ -6042,13 +6574,13 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
6042
6574
  neutral: "не в сети"
6043
6575
  };
6044
6576
  const label = computed(() => {
6045
- const base = props.alt || props.name || "Аватар";
6577
+ const base = props.alt || props.name || props.fallbackLabel;
6046
6578
  const extra = [];
6047
6579
  if (dotTone.value) {
6048
- extra.push(dotLabel[dotTone.value]);
6580
+ extra.push(props.dotLabels[dotTone.value] ?? defaultDotLabel[dotTone.value]);
6049
6581
  }
6050
6582
  if (badge.value) {
6051
- extra.push(`${badge.value} уведомлений`);
6583
+ extra.push(props.notificationsLabel.replace("{count}", badge.value));
6052
6584
  }
6053
6585
  return extra.length ? `${base}, ${extra.join(", ")}` : base;
6054
6586
  });
@@ -6079,11 +6611,8 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
6079
6611
  };
6080
6612
  }
6081
6613
  });
6082
- const TaoAvatar = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-cb4ec893"]]);
6083
- const _hoisted_1$6 = {
6084
- class: "tao-breadcrumb",
6085
- "aria-label": "Хлебные крошки"
6086
- };
6614
+ const TaoAvatar = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__scopeId", "data-v-03b60017"]]);
6615
+ const _hoisted_1$6 = ["aria-label"];
6087
6616
  const _hoisted_2$5 = { class: "tao-breadcrumb__list" };
6088
6617
  const _hoisted_3$4 = {
6089
6618
  key: 0,
@@ -6103,11 +6632,15 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6103
6632
  ...{ name: "TaoBreadcrumb" },
6104
6633
  __name: "TaoBreadcrumb",
6105
6634
  props: {
6106
- items: {}
6635
+ items: {},
6636
+ ariaLabel: { default: "Хлебные крошки" }
6107
6637
  },
6108
6638
  setup(__props) {
6109
6639
  return (_ctx, _cache) => {
6110
- return openBlock(), createElementBlock("nav", _hoisted_1$6, [
6640
+ return openBlock(), createElementBlock("nav", {
6641
+ class: "tao-breadcrumb",
6642
+ "aria-label": __props.ariaLabel
6643
+ }, [
6111
6644
  createElementVNode("ol", _hoisted_2$5, [
6112
6645
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item, index) => {
6113
6646
  return openBlock(), createElementBlock("li", {
@@ -6128,11 +6661,11 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
6128
6661
  ]);
6129
6662
  }), 128))
6130
6663
  ])
6131
- ]);
6664
+ ], 8, _hoisted_1$6);
6132
6665
  };
6133
6666
  }
6134
6667
  });
6135
- const TaoBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-48cf9bb5"]]);
6668
+ const TaoBreadcrumb = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-94ab1f67"]]);
6136
6669
  const _hoisted_1$5 = ["aria-label"];
6137
6670
  const _hoisted_2$4 = {
6138
6671
  class: "tao-counter__row",
@@ -6216,16 +6749,13 @@ const _sfc_main$5 = /* @__PURE__ */ defineComponent({
6216
6749
  });
6217
6750
  const TaoCounter = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-6b746f2f"]]);
6218
6751
  const _hoisted_1$4 = { class: "tao-carousel__row" };
6219
- const _hoisted_2$3 = ["disabled"];
6220
- const _hoisted_3$3 = ["aria-label"];
6221
- const _hoisted_4$3 = ["disabled"];
6222
- const _hoisted_5$3 = {
6223
- key: 0,
6224
- class: "tao-carousel__dots",
6225
- role: "group",
6226
- "aria-label": "Слайды"
6227
- };
6228
- const _hoisted_6$3 = ["aria-label", "aria-current", "onClick"];
6752
+ const _hoisted_2$3 = ["aria-label", "disabled"];
6753
+ const _hoisted_3$3 = { "aria-hidden": "true" };
6754
+ const _hoisted_4$3 = ["aria-label"];
6755
+ const _hoisted_5$3 = ["aria-label", "disabled"];
6756
+ const _hoisted_6$3 = { "aria-hidden": "true" };
6757
+ const _hoisted_7$3 = ["aria-label"];
6758
+ const _hoisted_8$3 = ["aria-label", "aria-current", "onClick"];
6229
6759
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6230
6760
  ...{ name: "TaoCarousel" },
6231
6761
  __name: "TaoCarousel",
@@ -6237,7 +6767,11 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6237
6767
  autoplay: { default: 0 },
6238
6768
  loop: { type: Boolean, default: false },
6239
6769
  dots: { type: Boolean, default: false },
6240
- ariaLabel: { default: "Лента" }
6770
+ ariaLabel: { default: "Лента" },
6771
+ prevLabel: { default: "Назад" },
6772
+ nextLabel: { default: "Вперёд" },
6773
+ dotsLabel: { default: "Слайды" },
6774
+ slideLabel: { default: "Слайд {n} из {count}" }
6241
6775
  },
6242
6776
  emits: ["update:modelValue", "change"],
6243
6777
  setup(__props, { emit: __emit }) {
@@ -6528,27 +7062,30 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6528
7062
  key: 0,
6529
7063
  type: "button",
6530
7064
  class: "tao-carousel__nav",
6531
- "aria-label": "Назад",
7065
+ "aria-label": __props.prevLabel,
6532
7066
  disabled: atStart.value,
6533
7067
  onClick: goPrev
6534
- }, [..._cache[0] || (_cache[0] = [
6535
- createElementVNode("svg", {
6536
- viewBox: "0 0 24 24",
6537
- width: "16",
6538
- height: "16",
6539
- "aria-hidden": "true",
6540
- focusable: "false"
6541
- }, [
6542
- createElementVNode("path", {
6543
- fill: "none",
6544
- stroke: "currentColor",
6545
- "stroke-width": "2.2",
6546
- "stroke-linecap": "round",
6547
- "stroke-linejoin": "round",
6548
- d: "M14.5 5 8 12l6.5 7"
6549
- })
6550
- ], -1)
6551
- ])], 8, _hoisted_2$3)) : createCommentVNode("", true)
7068
+ }, [
7069
+ createElementVNode("span", _hoisted_3$3, [
7070
+ renderSlot(_ctx.$slots, "prev-icon", {}, () => [
7071
+ _cache[0] || (_cache[0] = createElementVNode("svg", {
7072
+ viewBox: "0 0 24 24",
7073
+ width: "16",
7074
+ height: "16",
7075
+ focusable: "false"
7076
+ }, [
7077
+ createElementVNode("path", {
7078
+ fill: "none",
7079
+ stroke: "currentColor",
7080
+ "stroke-width": "2.2",
7081
+ "stroke-linecap": "round",
7082
+ "stroke-linejoin": "round",
7083
+ d: "M14.5 5 8 12l6.5 7"
7084
+ })
7085
+ ], -1))
7086
+ ], true)
7087
+ ])
7088
+ ], 8, _hoisted_2$3)) : createCommentVNode("", true)
6552
7089
  ], true),
6553
7090
  createElementVNode("div", {
6554
7091
  ref_key: "track",
@@ -6567,7 +7104,7 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6567
7104
  onClickCapture
6568
7105
  }, [
6569
7106
  renderSlot(_ctx.$slots, "default", {}, void 0, true)
6570
- ], 42, _hoisted_3$3),
7107
+ ], 42, _hoisted_4$3),
6571
7108
  renderSlot(_ctx.$slots, "next", {
6572
7109
  disabled: atEnd.value,
6573
7110
  go: goNext
@@ -6576,27 +7113,30 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6576
7113
  key: 0,
6577
7114
  type: "button",
6578
7115
  class: "tao-carousel__nav",
6579
- "aria-label": "Вперёд",
7116
+ "aria-label": __props.nextLabel,
6580
7117
  disabled: atEnd.value,
6581
7118
  onClick: goNext
6582
- }, [..._cache[1] || (_cache[1] = [
6583
- createElementVNode("svg", {
6584
- viewBox: "0 0 24 24",
6585
- width: "16",
6586
- height: "16",
6587
- "aria-hidden": "true",
6588
- focusable: "false"
6589
- }, [
6590
- createElementVNode("path", {
6591
- fill: "none",
6592
- stroke: "currentColor",
6593
- "stroke-width": "2.2",
6594
- "stroke-linecap": "round",
6595
- "stroke-linejoin": "round",
6596
- d: "M9.5 5 16 12l-6.5 7"
6597
- })
6598
- ], -1)
6599
- ])], 8, _hoisted_4$3)) : createCommentVNode("", true)
7119
+ }, [
7120
+ createElementVNode("span", _hoisted_6$3, [
7121
+ renderSlot(_ctx.$slots, "next-icon", {}, () => [
7122
+ _cache[1] || (_cache[1] = createElementVNode("svg", {
7123
+ viewBox: "0 0 24 24",
7124
+ width: "16",
7125
+ height: "16",
7126
+ focusable: "false"
7127
+ }, [
7128
+ createElementVNode("path", {
7129
+ fill: "none",
7130
+ stroke: "currentColor",
7131
+ "stroke-width": "2.2",
7132
+ "stroke-linecap": "round",
7133
+ "stroke-linejoin": "round",
7134
+ d: "M9.5 5 16 12l-6.5 7"
7135
+ })
7136
+ ], -1))
7137
+ ], true)
7138
+ ])
7139
+ ], 8, _hoisted_5$3)) : createCommentVNode("", true)
6600
7140
  ], true)
6601
7141
  ]),
6602
7142
  renderSlot(_ctx.$slots, "dots", {
@@ -6604,13 +7144,18 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6604
7144
  count: snapCount.value,
6605
7145
  go: goTo
6606
7146
  }, () => [
6607
- showDots.value ? (openBlock(), createElementBlock("div", _hoisted_5$3, [
7147
+ showDots.value ? (openBlock(), createElementBlock("div", {
7148
+ key: 0,
7149
+ class: "tao-carousel__dots",
7150
+ role: "group",
7151
+ "aria-label": __props.dotsLabel
7152
+ }, [
6608
7153
  (openBlock(true), createElementBlock(Fragment, null, renderList(snapCount.value, (n) => {
6609
7154
  return openBlock(), createElementBlock("button", {
6610
7155
  key: n,
6611
7156
  type: "button",
6612
7157
  class: normalizeClass(["tao-carousel__dot", { "tao-carousel__dot--active": n - 1 === index.value }]),
6613
- "aria-label": `Слайд ${n} из ${snapCount.value}`,
7158
+ "aria-label": __props.slideLabel.replace("{n}", String(n)).replace("{count}", String(snapCount.value)),
6614
7159
  "aria-current": n - 1 === index.value ? "true" : void 0,
6615
7160
  onClick: ($event) => goTo(n - 1)
6616
7161
  }, [
@@ -6621,15 +7166,15 @@ const _sfc_main$4 = /* @__PURE__ */ defineComponent({
6621
7166
  }, () => [
6622
7167
  _cache[2] || (_cache[2] = createElementVNode("span", { class: "tao-carousel__pip" }, null, -1))
6623
7168
  ], true)
6624
- ], 10, _hoisted_6$3);
7169
+ ], 10, _hoisted_8$3);
6625
7170
  }), 128))
6626
- ])) : createCommentVNode("", true)
7171
+ ], 8, _hoisted_7$3)) : createCommentVNode("", true)
6627
7172
  ], true)
6628
7173
  ], 36);
6629
7174
  };
6630
7175
  }
6631
7176
  });
6632
- const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-4f6de725"]]);
7177
+ const TaoCarousel = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-239073ed"]]);
6633
7178
  const _hoisted_1$3 = ["aria-label"];
6634
7179
  const _hoisted_2$2 = ["aria-label"];
6635
7180
  const _hoisted_3$2 = {
@@ -6671,11 +7216,12 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6671
7216
  props: {
6672
7217
  items: { default: () => [] },
6673
7218
  vertical: { type: Boolean, default: true },
6674
- ariaLabel: { default: "Стадии" }
7219
+ ariaLabel: { default: "Стадии" },
7220
+ statusLabels: { default: () => ({}) }
6675
7221
  },
6676
7222
  setup(__props) {
6677
7223
  const props = __props;
6678
- const statusText = {
7224
+ const fallbackStatusText = {
6679
7225
  wait: "ожидание",
6680
7226
  work: "в работе",
6681
7227
  ok: "готово",
@@ -6688,7 +7234,8 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6688
7234
  return item.status ?? "wait";
6689
7235
  }
6690
7236
  function itemLabel(item) {
6691
- return `${item.label ?? item.key}, ${statusText[statusOf(item)]}`;
7237
+ const status = statusOf(item);
7238
+ return `${item.label ?? item.key}, ${props.statusLabels[status] ?? fallbackStatusText[status]}`;
6692
7239
  }
6693
7240
  return (_ctx, _cache) => {
6694
7241
  return openBlock(), createElementBlock("ul", {
@@ -6762,7 +7309,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
6762
7309
  };
6763
7310
  }
6764
7311
  });
6765
- const TaoStages = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-fefa5c65"]]);
7312
+ const TaoStages = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-b62db56d"]]);
6766
7313
  const TOAST_POSITIONS = [
6767
7314
  "topRight",
6768
7315
  "topLeft",
@@ -6776,7 +7323,8 @@ const toastDefaults = {
6776
7323
  position: "topCenter",
6777
7324
  timeout: 3e3,
6778
7325
  closable: true,
6779
- progress: true
7326
+ progress: true,
7327
+ closeLabel: "Закрыть уведомление"
6780
7328
  };
6781
7329
  const toasts = ref([]);
6782
7330
  const toastsByPosition = computed(() => {
@@ -6887,6 +7435,7 @@ const _hoisted_10 = {
6887
7435
  key: 2,
6888
7436
  class: "tao-toast__actions"
6889
7437
  };
7438
+ const _hoisted_11 = ["aria-label"];
6890
7439
  const _sfc_main$2 = /* @__PURE__ */ defineComponent({
6891
7440
  ...{ name: "TaoToastItem" },
6892
7441
  __name: "TaoToastItem",
@@ -7055,9 +7604,9 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7055
7604
  key: 0,
7056
7605
  type: "button",
7057
7606
  class: "tao-toast__close",
7058
- "aria-label": "Закрыть уведомление",
7607
+ "aria-label": unref(toastDefaults).closeLabel,
7059
7608
  onClick: close
7060
- }, " × ")) : createCommentVNode("", true),
7609
+ }, " × ", 8, _hoisted_11)) : createCommentVNode("", true),
7061
7610
  __props.toast.progress && __props.toast.timeout ? (openBlock(), createElementBlock("span", {
7062
7611
  key: 1,
7063
7612
  class: "tao-toast__progress",
@@ -7067,7 +7616,7 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
7067
7616
  };
7068
7617
  }
7069
7618
  });
7070
- const TaoToastItem = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-7c4692c0"]]);
7619
+ const TaoToastItem = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-3909ff09"]]);
7071
7620
  const _hoisted_1$1 = { class: "tao-toast-slot__inner" };
7072
7621
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
7073
7622
  ...{ name: "TaoToastViewport" },
@@ -7776,8 +8325,9 @@ const components = [
7776
8325
  TaoSpoilerGroup,
7777
8326
  TaoCopy,
7778
8327
  TaoContainer,
7779
- _sfc_main$F,
8328
+ _sfc_main$G,
7780
8329
  TaoSpace,
8330
+ TaoSplit,
7781
8331
  TaoIcon,
7782
8332
  TaoLoader,
7783
8333
  TaoImage,
@@ -7848,7 +8398,7 @@ export {
7848
8398
  TaoEmpty,
7849
8399
  TaoFieldset,
7850
8400
  TaoFileDrop,
7851
- _sfc_main$F as TaoFlex,
8401
+ _sfc_main$G as TaoFlex,
7852
8402
  TaoFormField,
7853
8403
  TaoIcon,
7854
8404
  TaoImage,
@@ -7872,6 +8422,7 @@ export {
7872
8422
  TaoSkeleton,
7873
8423
  TaoSlider,
7874
8424
  TaoSpace,
8425
+ TaoSplit,
7875
8426
  TaoSpoiler,
7876
8427
  TaoSpoilerGroup,
7877
8428
  TaoStages,